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文」をみていきます。