*C言語* 〜17時限目〜 while文の仕組みについて・・・
〜目次〜
while文の仕組みについて
C言語では、指定した文を繰り返すことのできる構文が3つあると紹介しました。
その中の2つ目として、
while文(while statement)
という構文があります。
書き方としては以下の通りです。
while(条件){
文;
・・・
}
while文では、
条件が真である限り指定した文が繰り返し処理されます。
実際にwhile文を使ったコードを記述してみます。
sample35.c
ーsample35の実行画面ー
1番目の繰り返しです。
2番目の繰り返しです。
3番目の繰り返しです。
4番目の繰り返しです。
5番目の繰り返しです。
繰り返し処理が終わりました。
このブロック内では、
条件が偽に近ずくように、変数iの値を増やしています。
一般的に、繰り返し文では、
繰り返しをするかしないかを判断するための条件が、
変換するようにしておかないと、
永遠に繰り返し処理が行われてしまいます。
例えば以下のようなコードを実行した場合
int i = 1;
while (i <= 5){
printf("%d番目の繰り返しです。\n", i);
}
このコードはwhile文の条件の中に変数iを増やす「i++」などの
文がないものです。
なので、while文は何度繰り返しても条件が偽になることがありません。
そのため、永久に繰り返されてしまい、プログラムが終了しません。
条件の記述には注意して記述してください。
条件の記述を省略する
ifやwhile文などで慣用的に使われている、
条件の書き方についてみてみます。
以下のコードを記述してどんなコードなのかを考えてみてください。
sample36.c
ーsample36の実行画面ー
整数を入力してください。(0で終了)
5
5が入力されました。
整数を入力してください。(0で終了)
7
7が入力されました。
整数を入力してください。(0で終了)
3
3が入力されました。
整数を入力してください。(0で終了)
0
0が入力されました。
繰り返し処理が終わりました。
このコードはユーザーが入力した整数を繰り返し出力するものです。
この繰り返し文はユーザーが0を入力した時点で終了します。
C言語では、真か偽かを内部的には整数値で処理しています。
0以外の整数値 → 真
0 → 偽
となっているのです。
do 〜 while文の仕組みについて
C言語の3つ目の繰り返し文である、
do 〜 while文(do~while statement)
についてみていきます。
この構文では、最後に指定した条件が真である限り
ブロック内の処理を繰り返します。
記述の仕方は以下の通りです。
do{
文1;
・・・
}while(条件);
do 〜 while文とwhile文とで異なる部分として、
条件を判断する前にブロック内の処理を行う
というところです。
while文では、
繰り返し処理の最初に条件が偽であれば、
一度もブロック内の処理は行われません。
一方で、do 〜 while文では、
最低一回は必ずブロック内の処理が行われます。
sample35のコードをdo 〜 while文を使い、
記述してみます。
sample37.c
ーsample37の実行画面ー
1番目の繰り返しです。
2番目の繰り返しです。
3番目の繰り返しです。
4番目の繰り返しです。
5番目の繰り返しです。
繰り返し処理が終わりました。
これはsample35と同じ実行画面になっています。
このように様々な構文を使って記述することができる場合があります。
色々な記述の仕方を覚えていきましょう。
〜END〜