このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2016.07.03

C言語 繰り返し文

c-lan

今回もC言語の繰り返し文について、つらつらと。

for文 (for statement)

for文 構文

for(初期化の式1; 繰り返すかどうかの式2; 変化のための式3;) {
  文1;
  文2;
  ...
}

例文:

#include <stdio.h>
int main(void)
{
  int i;
  
  for(i = 1; i <= 5; i++) {
    printf("%d番目繰り返し中。¥n", i);
  }
  printf("繰り返し終了。¥n");

  return 0;
}

結果
スクリーンショット 2016-08-14 12.30.41

入力した数だけ繰り返す

例文:

#include <stdio.h>
int main(void)
{
  int num;
  int i;

  printf("いくつ*を出力しますか?¥n");
  scanf("%d", &num);

  for(i = 1; i <= num; i++) {
    printf("*");
  }
  printf("¥n");

  return 0;
}

結果

スクリーンショット 2016-08-14 12.32.52

入力した数まで合計する

例文:

#include <stdio.h>

int main(void)
{
  int num, sum;
  int i;

  num = 0;
  sum = 0;
  
  printf("いくつまで合計を求めますか?¥n");

  scanf("%d", &num);

  for(i = 1; i <= num; i++) {
    sum += 1;
  }
  printf("1から%dまでの合計値は%dです。¥n", num, sum);

  return 0;
}

結果
スクリーンショット 2016-08-14 12.37.48

while文(while statement)

while文 構文

while(条件) {
  文;
  ...
}

例文:

#include <stdio.h>

int main(void)
{
  int i = 0;

  while(i <= 5) {
    printf("%d番目繰り返し中。¥n", i);
    i++;
  }
  printf("繰り返し終了。¥n");

  return 0;
}

結果

スクリーンショット 2016-08-14 13.40.07

慣用的な条件で使用

0が入力された時点で終了する例:

#include <stdio.h>

int main(void)
{
  int num = 1;

  while(num) {
    printf("整数を入力してください。(0で終了)¥n");
    scanf("%d", &num);

    printf("%dが入力されました。¥n", num);
  }
  printf("繰り返し終了。¥n");

  return 0;
}

結果
スクリーンショット 2016-08-14 13.42.46

do~while文 (do-while statement)

do~while文 構文

do {
  文1
  ... (ブロック内の処理を順に繰り返し)
} while(条件); (条件が真であれば繰り返しを継続)

例文:

#include <stdio.h>

int main(void)
{
  int i = 1;

  do {
    printf("%d番目繰り返し中。¥n", i);
    i++;
  } while(i <= 5);

  printf("繰り返し終了。¥n");

  return 0;
}

結果

スクリーンショット 2016-08-14 13.52.09

break文 (break statement)

break文 構文

break;

break文は「処理の流れを強制的に終了し、そのブロックから抜ける」処理を行う文となります。

例文:

#include <stdio.h>

int main(void)
{
  int res;
  int i;

  printf("何番目でループを終了しますか?(1~10)¥n");
  scanf("%d", &res);

  for(i = 1; i <= 10; i++) {
    printf("%d番目繰り返し中。¥n", i);
    if(i == res)
      break;
  }
  printf("繰り返し終了。¥n");

  return 0;
}

結果

スクリーンショット 2016-08-14 13.53.37

continue文 (continue statement)

continue文 構文

continue;

continue文は「繰り返し文内の処理を飛ばし、ブロックの先頭位置に戻って次の処理を続ける」処理を行う文となります。

例文:

#include <stdio.h>

int main(void)
{
  int res;
  int i;

  printf("何番目の処理を飛ばしますか?(1~10)¥n");
  scanf("%d", &res);

  for(i = 1; i <= 10; i++) {
    if(i == res)
      continue;
    
    printf("%d番目繰り返し中。¥n", i);
  }
  
  printf("繰り返し終了。¥n");

  return 0;
}

結果

スクリーンショット 2016-08-14 13.54.47

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。