この記事では、C言語のwhile文
の使い方や応用例、注意点について解説します。
また、無限ループに注意したり、条件式の更新を忘れないようにするポイントも紹介します。
初心者の方にもわかりやすく解説していきますので、ぜひ読み進めてみてください。
while文とは
プログラミングにおいて、while文
は特定の条件が真である限り、繰り返し処理を行うための制御構造です。
条件が真である間は、指定されたブロック内の処理が繰り返し実行されます。
while文の概要
while文
は、条件式が真である限り、繰り返し処理を行います。
条件式が偽になると、while文
の実行は終了します。
条件式は、真偽値を返す式であり、真である場合にはループが継続し、偽である場合にはループが終了します。
while文の基本構文
while文
の基本構文は以下の通りです。
while (条件式) {
// 繰り返し実行する処理
}
条件式が真である限り、ブロック内の処理が繰り返し実行されます。
条件式が偽になると、while文
の実行は終了し、次の処理に進みます。
このブロック内には、繰り返し実行する処理を記述します。
while文の使い方
while文の条件式
while文
は、指定した条件が真である限り、繰り返し処理を行います。
条件式は、真偽値を返す式であり、その結果によって繰り返しの継続または終了が決まります。
while (条件式) {
// 条件式が真の場合に実行される処理
}
while文のブロック内の処理
while文
のブロック内には、条件式が真の場合に実行される処理を記述します。
このブロック内の処理が繰り返し実行されます。
int i = 0;
while (i < 5) {
printf("%d\n", i);
i++;
}
上記の例では、変数i
が0から始まり、5未満の間、printf関数
を用いてi
の値を表示し、i
を1ずつ増やしています。
while文の制御フロー
while文
の制御フローは、条件式の評価結果によって決まります。
条件式が真の場合は、ブロック内の処理が実行され、その後再び条件式が評価されます。
条件式が偽の場合は、while文
の実行が終了し、次の処理に進みます。
int i = 0;
while (i < 5) {
printf("%d\n", i);
i++;
}
printf("ループ終了後の処理\n");
上記の例では、変数i
が0から始まり、5未満の間、printf関数
を用いてi
の値を表示し、i
を1ずつ増やしています。
ループ終了後には、printf関数
を用いて「ループ終了後の処理」というメッセージを表示しています。
※ while文
は、条件式が常に真となる無限ループになる可能性があるため、注意が必要です。
適切な条件式と制御フローを設計することが重要です。
while文の応用例
while文を使った繰り返し処理
while文
は、指定した条件が真である限り、繰り返し処理を行うために使用されます。
繰り返し処理を行う際には、while文
を活用することで効率的なプログラムを作成することができます。
以下は、1から10までの数値を順番に表示するプログラムの例です。
#include <stdio.h>
int main() {
int i = 1;
while (i <= 10) {
printf("%d\n", i);
i++;
}
return 0;
}
このプログラムでは、変数i
を初期値1で初期化し、while文
の条件式であるi <= 10
が真である限り、繰り返し処理が行われます。
繰り返し処理の中では、printf関数
を使って変数i
の値を表示し、i
をインクリメントしています。
このようにwhile文
を使うことで、指定した回数だけ処理を繰り返すことができます。
while文を使った入力の受け取り
while文
は、ユーザーからの入力を受け取る際にも活用することができます。
以下は、ユーザーが0を入力するまで、入力された数値を合計していくプログラムの例です。
#include <stdio.h>
int main() {
int sum = 0;
int num;
while (1) {
printf("数値を入力してください(0を入力すると終了):");
scanf("%d", &num);
if (num == 0) {
break;
}
sum += num;
}
printf("合計:%d\n", sum);
return 0;
}
このプログラムでは、変数sum
を初期値0で初期化し、while文
の条件式である1
(真)が成り立つ限り、繰り返し処理が行われます。
繰り返し処理の中では、ユーザーに数値の入力を促すメッセージを表示し、scanf関数
を使って入力された数値を変数num
に格納します。
その後、入力された数値が0であれば、break文
を使ってwhile文
から抜け出します。
0以外の場合は、変数sum
に入力された数値を加算します。
最後に、合計値を表示します。
while文を使ったデータの処理
while文
は、データの処理においても有用です。
以下は、配列に格納されたデータを順番に処理するプログラムの例です。
#include <stdio.h>
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int i = 0;
while (i < 5) {
printf("%d\n", numbers[i]);
i++;
}
return 0;
}
このプログラムでは、配列numbers
に1から5までの数値が格納されています。
変数i
を初期値0で初期化し、while文
の条件式であるi < 5
が成り立つ限り、繰り返し処理が行われます。
繰り返し処理の中では、配列numbers
の要素を順番に表示しています。
変数i
をインクリメントすることで、次の要素にアクセスしています。
このようにwhile文
を使うことで、配列などのデータを順番に処理することができます。
以上が、while文
の応用例の一部です。
while文
は、繰り返し処理やデータの処理など、様々な場面で活用することができます。
適切に使いこなすことで、効率的なプログラムを作成することができます。