今日の人気記事

  1. printf関数の変換指定子
  2. コンパイルと実行 - GNU Compiler Collection(gcc) - Linux環境
  3. int main(void) - プログラムの基本
  4. while文 - 繰り返し処理
  5. 入力した自然数の各桁の数字の和を計算する

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

基本構文 の人気記事

  1. printf関数の変換指定子
  2. 条件演算子(3項演算子)「? :」
  3. 関数のプロトタイプ宣言
  4. 変数の値を出力 - printf 関数
  5. while文 - 繰り返し処理
  6. エスケープシーケンス - 特殊文字
  7. int main(void) - プログラムの基本
  8. else if文 - 複数の条件式 - 条件分岐
  9. 配列の要素を出力(表示)する
  10. break文 - ループから抜ける

関連記事(一部広告含む)