SlideShare une entreprise Scribd logo
1  sur  14
C言語入門
~ 条件分岐について ~
(switch case)
本日の目標
• 条件分岐(switch)について覚える
• if文とswitch文を使い分けられる
1
switch は if の親戚
if と switch の違い 3
#include <stdio.h>
int main(void)
{
int user;
scanf("%d", &user);
if (user == 0) {
printf("グーです。¥n");
} else if (user == 1) {
printf("チョキです。¥n");
} else if (user == 2) {
printf("パーです。¥n");
} else {
printf("無効です。¥n");
}
return 0;
}
#include <stdio.h>
int main(void)
{
int user;
scanf("%d", &user);
switch (user) {
case 0:
printf("グーです。¥n");
break;
case 1:
printf(“グーです。¥n");
break;
case 2:
printf("グーです。¥n");
break;
default:
printf("無効です。¥n");
break;
}
return 0;
}
if文 を使った場合 switch文 を使った場合
default は else と同義
#include <stdio.h>
int main(void)
{
int res;
printf("整数を入力してください。¥n");
scanf("%d", &res);
switch (res) {
case 1:
printf("1が入力されました。¥n");
break;
case 2:
printf("2が入力されました。¥n");
break;
default:
printf("1か2を入力してください。¥n");
break;
}
return 0;
}
switch文 を使う 4
「やさしいC」 p.134
入力するプログラム(Sample5.c)
break は必ず書く
#include <stdio.h>
int main(void)
{
int res;
printf("整数を入力してください。¥n");
scanf("%d", &res);
switch (res) {
case 1:
printf("1が入力されました。¥n");
case 2:
printf("2が入力されました。¥n");
default:
printf("1か2を入力してください。¥n");
}
return 0;
}
break を書かないと… 5
「やさしいC」 p.136
入力するプログラム(Sample5.c)
「2」を入力したときに、
「2が入力されました。」
「1か2を入力してください。」
と表示されてしまう
あえて break を書かないこともあるが、
バグを混入させる危険性があるので
必ず break を書くこと
if文 と switch文 の
使い分け
switch文 が使えるとき
• 条件が「x == 1」「x == 2」のように、
“ある変数(式)”と同じかどうか調べると
き
7
switch文 が使えないとき
• 「x == 1」「y == 2」のように、比較対
象の ”変数(式)” が一定でないとき
• 「x < 1」のように、不等号による比較の
とき
• 「x < 1 && y < 1」のように、複数条件
あるとき
8
switch文 を使った方が良いとき
前提:先のスライドの条件
• ある変数とたくさんの値を比較する場合
• if - else if が三つ以上続く場合
9
演習問題
演習問題①(switch文を使う)
• 単位の変換を行う
(ファイル名:ex09-01.c)
– 距離と単位を入力し、すべての距離をmmに換算して出力してください。
– 入力される距離の単位は
• k … キロメートル
• m … メートル
• c … センチメートル
• 入力例
– 1
– k
• 出力例
– 1000000 mm
11
演習問題② (switch文を使う)
• 逆ポーランド記法の計算機をつくる
(ファイル名:ex09-02.c)
– ふたつの値と演算子(+, -, *, /)を入力し、
計算結果を表示する
– ヒント:値は整数型、演算子は文字型
例:
入力「1」「2」「+」 → 1 + 2 → 出力「3」
入力「10」「20」「*」 → 10 * 20 → 出力「200」
12
演習問題③ (switch文を使う)
• じゃんけんゲームをつくる
(ファイル名:ex09-03.c)
– 0:グー、1:チョキ、2:パー
– 勝敗を表示する
(勝ち or 負け or あいこ)
13
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int me; // 自分(入力する)
int cpu; // コンピュータ
srand(time(NULL));
cpu = rand() % 3;
// ここに処理を書く
return 0;
}

Contenu connexe

En vedette

ドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向でドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向で
yaju88
 

En vedette (18)

8_C言語入門 - 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)8_C言語入門 - 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
 
6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について
 
5_C言語入門 - 変数について
5_C言語入門 - 変数について5_C言語入門 - 変数について
5_C言語入門 - 変数について
 
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
 
11_C言語入門 - 繰り返し処理について
11_C言語入門 - 繰り返し処理について11_C言語入門 - 繰り返し処理について
11_C言語入門 - 繰り返し処理について
 
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
 
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
 
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
 
4_C言語入門 - n進数と基数変換について
4_C言語入門 - n進数と基数変換について4_C言語入門 - n進数と基数変換について
4_C言語入門 - n進数と基数変換について
 
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
 
3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本
 
PHPとJavaScriptにおけるオブジェクト指向を比較する
PHPとJavaScriptにおけるオブジェクト指向を比較するPHPとJavaScriptにおけるオブジェクト指向を比較する
PHPとJavaScriptにおけるオブジェクト指向を比較する
 
Quick tour of PHP from inside
Quick tour of PHP from insideQuick tour of PHP from inside
Quick tour of PHP from inside
 
ドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向でドラえもんの世界をオブジェクト指向で
ドラえもんの世界をオブジェクト指向で
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
C言語講習会資料(前半)
C言語講習会資料(前半)C言語講習会資料(前半)
C言語講習会資料(前半)
 

Similaire à 9_C言語入門 - 条件分岐について(switch case) (7)

プログラマ講習第3回
プログラマ講習第3回プログラマ講習第3回
プログラマ講習第3回
 
講座C入門
講座C入門講座C入門
講座C入門
 
プログラマ講習第2回
プログラマ講習第2回プログラマ講習第2回
プログラマ講習第2回
 
X hago2 shortcoding 20110827
X hago2 shortcoding 20110827X hago2 shortcoding 20110827
X hago2 shortcoding 20110827
 
#5:プログラミングの基本
#5:プログラミングの基本#5:プログラミングの基本
#5:プログラミングの基本
 
Rust使ってみた
Rust使ってみたRust使ってみた
Rust使ってみた
 
Okinawapm #1
Okinawapm #1Okinawapm #1
Okinawapm #1
 

Dernier

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Dernier (8)

東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

9_C言語入門 - 条件分岐について(switch case)