計算技術研究会 C言語講座 第二回 制御構文 if , switch 前回の復習 • 前回はSDKの導入とprintfを使って画面に 文字を表示させました。 • 現段階でよく分からない事は前回のpptを参 考にしたり、先輩に聞いてください。 if • if(条件式){…} 条件式を満たす時に カッコ内の命令を実行する。 a==0 NO YES b++ – 条件式の例 a == 2, b >= 2, c != 3 条件1&&条件2 →and 条件2||条件2 →or • if(条件式){..A..}else{..B..} 条件式を満たす場合Aを 満たさない場合はBを実行する。 参考 • a=a+1よりもa+=1と書いた方が賢く見えるよ • a+=1とa++と++aの違い • a+=1はaの値を1増やす • a++は「b=a++」のような場合、 「aの値をbに代入した後、1増やす」 • ++aは「b=++a」のような場合、 「aの値を1増やしてから、bに代入する」 #include <stdio.h> int main(void){ int input; 例. 降水確率を入力して 天気を表示するプログラム printf("降水確率を入力して下さい:"); scanf("%d",&input); if(input < 0 || 100 < input) { printf("0~100の数字を入力して下さい。\n"); } if(input <= 60){ printf(“晴れています。\n"); }else{ printf("雨が降っています。\n"); } return 0; } やってみよう • 今作ったプログラムを利用して、 降水確率が40%以下・40%~80%・80%以上の 3つの場合について天気を表示するようにし みましょう。 • ヒント if{ ・・・ }else if{ ・・・ }else if{ ・・・ #include <stdio.h> int main(void){ int input; 解答例 printf("降水確率を入力して下さい:"); scanf("%d",&input); if(input < 0 || 100 < input) { printf("0~100の数字を入力して下さい。\n"); } if(input <= 40){ printf(“晴れています。\n"); }else if(input <= 80){ printf(“曇っています。傘を持っていきましょう。\n"); }else if(input <= 100){ printf("雨が降っています。\n"); } return 0; } #include <stdio.h> 3つの数を入力して 最大値を表示するプログラム int main(void){ int a,b,c; printf("1つ目の整数を入力して下さい。:"); scanf("%d",&a); printf("2つ目の整数を入力して下さい。:"); scanf("%d",&b); printf("3つ目の整数を入力して下さい。:"); scanf("%d",&c); if( a > b ){ if(a > c){ printf("最大値は%d\n",a); }else{ printf("最大値は%d\n",c); } }else{ if(b > c){ printf("最大値は%d\n",b); }else{ printf("最大値は%d\n",c); } } return 0; } switch a default 1 b++ 2 b+=2 3 b=3 b=c • switch(式){ case 値1: ←コロン 処理1 break; case 値2: 処理2 break; default: 処理3 } 例 #include <stdio.h> int main(void){ アルファベット1文字を入力して その文字で始まる単語を表示するプログラム char input; printf("アルファベットを1文字入力して下さい:"); scanf("%c",&input); switch(input){ case ‘a’: //文字は‘ ‘(Shift+7)で囲ってください。 printf("Alpha\n"); break; case ‘b’: printf("Bravo\n"); break; case ‘c’: printf("Charlie\n"); break; default: printf("文字ではないか、登録されていない文字です。\n"); } return 0; } やってみよう2 • 月を整数(int型)で入力して、その英単語を表 示するプログラムを作ってみましょう。 • 例 月を整数で入力して下さい。:8 8月 → August #include <stdio.h> int main(void){ int month; printf("月を整数で入力して下さい。:"); scanf("%d",&month); switch(month){ case 1: printf("%d月→January\n",month); break; ・ ・ (省略) ・ case 12: printf("%d月→December\n",month); break; default: printf("1~12の範囲で入力してください。\n"); } return 0; } 解答例
© Copyright 2024 ExpyDoc