授業/C言語基礎/switch文
をテンプレートにして作成
開始行:
*if文を用いた場合分け [#l5ecd070]
まずは、if文で場合分けするプログラムを考えてみましょう(...
#geshi(c){{
int i;
printf("数字を入力してください:\n");
scanf("%1d", &i);
if (i == 0) {
printf("ゼロ\n");
} else if (i == 1) {
printf("一\n");
} else if (i == 2) {
printf("二\n");
} else {
printf("三以上\n");
}
}}
このプログラムは、入力された数字によって、出力するメッセ...
このような場合分けを行う処理は、よく出てきます。
しかし、if文による場合分けでは、同じような条件式を何度も...
そこで、場合分けを行うときに同じような条件式を何度も書か...
*switch文を用いた場合分け [#e9c501dc]
if文による場合分けにおいて、if文の条件文が、次の条件を満...
-条件式の左辺がすべて同じ
-関係演算子がすべて ==
-条件式の右辺がすべて整数の定数
switch文は、次の形をしています。
#geshi(c){{
switch (条件式の左辺) {
case 定数1:
処理1
case 定数2:
処理2
...
default:
いずれの場合にも当てはまらないときの処理
}
}}
switch文は、条件式の左辺を計算し、その値が定数iに等しいと...
どの定数にも当てはまらない場合には、''default:'' の次に書...
ここで、条件式の左辺の値が定数iに等しいとき、処理i以後の...
if文による場合分けと同じように、処理i''だけ''を実行したい...
上のプログラム1をswitch文に書き換えると、次のようになりま...
#geshi(c){{
int i;
printf("数字を入力してください:\n");
scanf("%1d", &i);
switch (i) {
case 0:
printf("ゼロ\n");
break;
case 1:
printf("一\n");
break;
case 2:
printf("二\n");
break;
default:
printf("三以上\n");
}
}}
繰り返しますが、''break文''が入っていることに注意してくだ...
break文がないと、それ以後の処理がすべて実行されます。
**演習1 [#jab13f03]
プログラム2を作成し、実行結果を確認せよ。
**演習2 [#qda3b0b2]
プログラム2からすべてのbreak文を削除し、実行結果を確認せ...
*複数の場合で同じ処理をするswitch文 [#zb36cc5e]
switch文において、break文がないと、それ以後の処理がすべて...
これを利用して、複数の場合で同じ処理をするswitch文を作る...
次のプログラムは1から6までの整数をランダムに生成し、その...
#geshi(c){{
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
int r;
srand((unsigned int) time(NULL));
r = rand() % 6 + 1;
printf("%d\n", r);
switch (r) {
case 1:
case 6:
printf("当たり\n");
break;
default:
printf("はずれ\n");
}
}
}}
*演習3 [#a8be8ed8]
プログラム3を作成し、実行結果を確認せよ。
*文字による場合分け [#vd885e11]
文字は文字コードで表されていますので、整数として扱うこと...
したがって、switch文のcaseに文字を使うことができます(プ...
#geshi(c){{
char c;
int n;
printf("トランプのカードに使われる英字を入力してくださ...
scanf("%c", &c);
switch (c) {
case 'A':
n = 1;
break;
case 'J':
n = 11;
break;
case 'Q':
n = 12;
break;
case 'K':
n = 13;
break;
default:
n = -1;
}
if (n > 0) {
printf("%d\n", n);
} else {
printf("トランプには使われません\n");
}
}}
**演習4 [#hacb33d6]
プログラム4を作成し、実行結果を確認せよ。
*まとめ [#m9f5cc56]
if文による場合分けにおいて、if文の条件が一定の条件を満た...
switch文は一致したケース以後の処理を全て行います。
したがって、全ての処理を実行しないときは''break文''を使っ...
break文の位置やケースの順序を工夫することによって、複数の...
終了行:
*if文を用いた場合分け [#l5ecd070]
まずは、if文で場合分けするプログラムを考えてみましょう(...
#geshi(c){{
int i;
printf("数字を入力してください:\n");
scanf("%1d", &i);
if (i == 0) {
printf("ゼロ\n");
} else if (i == 1) {
printf("一\n");
} else if (i == 2) {
printf("二\n");
} else {
printf("三以上\n");
}
}}
このプログラムは、入力された数字によって、出力するメッセ...
このような場合分けを行う処理は、よく出てきます。
しかし、if文による場合分けでは、同じような条件式を何度も...
そこで、場合分けを行うときに同じような条件式を何度も書か...
*switch文を用いた場合分け [#e9c501dc]
if文による場合分けにおいて、if文の条件文が、次の条件を満...
-条件式の左辺がすべて同じ
-関係演算子がすべて ==
-条件式の右辺がすべて整数の定数
switch文は、次の形をしています。
#geshi(c){{
switch (条件式の左辺) {
case 定数1:
処理1
case 定数2:
処理2
...
default:
いずれの場合にも当てはまらないときの処理
}
}}
switch文は、条件式の左辺を計算し、その値が定数iに等しいと...
どの定数にも当てはまらない場合には、''default:'' の次に書...
ここで、条件式の左辺の値が定数iに等しいとき、処理i以後の...
if文による場合分けと同じように、処理i''だけ''を実行したい...
上のプログラム1をswitch文に書き換えると、次のようになりま...
#geshi(c){{
int i;
printf("数字を入力してください:\n");
scanf("%1d", &i);
switch (i) {
case 0:
printf("ゼロ\n");
break;
case 1:
printf("一\n");
break;
case 2:
printf("二\n");
break;
default:
printf("三以上\n");
}
}}
繰り返しますが、''break文''が入っていることに注意してくだ...
break文がないと、それ以後の処理がすべて実行されます。
**演習1 [#jab13f03]
プログラム2を作成し、実行結果を確認せよ。
**演習2 [#qda3b0b2]
プログラム2からすべてのbreak文を削除し、実行結果を確認せ...
*複数の場合で同じ処理をするswitch文 [#zb36cc5e]
switch文において、break文がないと、それ以後の処理がすべて...
これを利用して、複数の場合で同じ処理をするswitch文を作る...
次のプログラムは1から6までの整数をランダムに生成し、その...
#geshi(c){{
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
int r;
srand((unsigned int) time(NULL));
r = rand() % 6 + 1;
printf("%d\n", r);
switch (r) {
case 1:
case 6:
printf("当たり\n");
break;
default:
printf("はずれ\n");
}
}
}}
*演習3 [#a8be8ed8]
プログラム3を作成し、実行結果を確認せよ。
*文字による場合分け [#vd885e11]
文字は文字コードで表されていますので、整数として扱うこと...
したがって、switch文のcaseに文字を使うことができます(プ...
#geshi(c){{
char c;
int n;
printf("トランプのカードに使われる英字を入力してくださ...
scanf("%c", &c);
switch (c) {
case 'A':
n = 1;
break;
case 'J':
n = 11;
break;
case 'Q':
n = 12;
break;
case 'K':
n = 13;
break;
default:
n = -1;
}
if (n > 0) {
printf("%d\n", n);
} else {
printf("トランプには使われません\n");
}
}}
**演習4 [#hacb33d6]
プログラム4を作成し、実行結果を確認せよ。
*まとめ [#m9f5cc56]
if文による場合分けにおいて、if文の条件が一定の条件を満た...
switch文は一致したケース以後の処理を全て行います。
したがって、全ての処理を実行しないときは''break文''を使っ...
break文の位置やケースの順序を工夫することによって、複数の...
ページ名: