[← 演習のページへ戻る]
サンプルプログラム 1 の内容一つの整数を読み込み,それが 18 ならば「ぴったりです」と表示する.それ以外の場合は,18 よりも小さいか大きいかを表示したうえで, 入力のやり直しを求める. 1: #include <stdio.h> 2: 3: int main(void){ 4: int x; 5: 6: do { 7: printf("整数を一つ入力してください:"); 8: scanf("%d", &x); 9: if ( x < 18 ){ 10: printf("小さいです\n"); 11: } 12: else if ( x > 18 ){ 13: printf("大きいです\n"); 14: } 15: else{ 16: printf("ぴったりです\n"); 17: } 18: } while( x != 18 ); 19: 20: return 0; 21: } 6-18 行目:do{ ... } while ( x != 18 );5: 6: do { 7: printf("整数を一つ入力してください:"); 8: scanf("%d", &x); 9: if ( x < 18 ){ 10: printf("小さいです\n"); 11: } 12: else if ( x > 18 ){ 13: printf("大きいです\n"); 14: } 15: else{ 16: printf("ぴったりです\n"); 17: } 18: } while( x != 18 ); 19:このサンプルプログラムでは,読み込んだ整数 x が 18 でない場合, 同じ処理,つまり,再び整数を読み込んでその値に応じた出力を行うという処理を繰り返すことになります. この繰り返すというところがポイントです. 前回学んだ if 文でも x が 18 かどうかの判定はできますが,それでは 1 回きりになってしまいます. C 言語では, ある内容をまずは 1 回実行してみて, ある条件が成立している間は,それを繰り返す という場合には do - while 文 というものを使います. do - while 文は次のかたちで書きます:
つまり,x が 18 でなければ, do{ の後から } while の前までを何度でも繰り返します. 逆に,条件が不成立となれば(x が 18 と等しいならば),この繰り返しは終了です. 7-17 行目:do{ ... } while で繰り返す内容5: 6: do { 7: printf("整数を一つ入力してください:"); 8: scanf("%d", &x); 9: if ( x < 18 ){ 10: printf("小さいです\n"); 11: } 12: else if ( x > 18 ){ 13: printf("大きいです\n"); 14: } 15: else{ 16: printf("ぴったりです\n"); 17: } 18: } while( x != 18 ); 19:内容自体は前回の復習レベルなので,あえて説明するまでもないとは思いますが,
|