C言語 繰り返し文
2016.07.03
この記事は最終更新日から1年以上が経過しています。
今回も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; }
結果
入力した数だけ繰り返す
例文:
#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; }
結果
入力した数まで合計する
例文:
#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; }
結果
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; }
結果
慣用的な条件で使用
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; }
結果
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; }
結果
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; }
結果
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; }
結果