while文 - 繰り返し処理
当ページのリンクには広告が含まれています。
スポンサーリンク
繰り返し処理を行う while文を紹介します。
while文
while文は同じ処理を繰り返し実行する構文です。
for文は繰り返す回数がわかっている場合に便利な構文ですが、繰り返す回数がわからない場合にはwhile文を使う方がいいでしょう。
while(条件式) 処理;
while文は、このように「条件式」を使って記述します。条件式が真(true)であれば、ずーっと「処理」を繰り返し行います。
条件式が偽(false)であれば、1回も「処理」が行われません。do 〜 while文と比較してみましょう。
処理が複数行ある場合は波括弧「{」と「}」の間に「処理」を記述します。
while(条件式) {
処理1;
処理2;
…
}
それではサンプルプログラムをみてみましょう。
サンプルプログラム①
「1+2」「1+2+3」「1+2+3+4」…と数値の和を計算していき、その和が100を超えるまで繰り返し処理を行うサンプルプログラムです。
#include <stdio.h>
int main(void){
/* 変数の宣言 */
int i = 1;
int sum = 0;
/* 繰り返し処理 */
while(sum<100) {
// 和の計算と出力
sum = sum + i;
printf("(i, sum) = (%d, %d)", i, sum);
// 変数を +1
i = i + 1;
}
return 0;
}
実行結果です。
(i, sum) = (1, 1) (i, sum) = (2, 3) (i, sum) = (3, 6) (i, sum) = (4, 10) (i, sum) = (5, 15) (i, sum) = (6, 21) (i, sum) = (7, 28) (i, sum) = (8, 36) (i, sum) = (9, 45) (i, sum) = (10, 55) (i, sum) = (11, 66) (i, sum) = (12, 78) (i, sum) = (13, 91) (i, sum) = (14, 105)
14まで足し合わせていくと、100を超えるようですね。
サンプルプログラム②
カウンタ変数を宣言し、for文と同じような繰り返し処理を行うサンプルプログラムです。
#include <stdio.h>
int main(void){
/* カウンタ変数の宣言 */
int i = 0;
/* 繰り返し処理 */
while(i<10) {
printf("Hello! %d\n", i);
// カウンタ変数を +1
i = i + 1;
}
return 0;
}
実行結果です。
Hello! 0 Hello! 1 Hello! 2 Hello! 3 Hello! 4 Hello! 5 Hello! 6 Hello! 7 Hello! 8 Hello! 9
このようにfor文と同じような処理を行うこともできます。
次はfor文やwhile文と同じように繰り返し処理を実行する構文「do 〜 while文」をみていきます。