for、continue
メニューを表示するにはスワイプしてください
forループ
forループは、カウンタの初期化、ループを抜けるための条件、およびカウンタの更新を組み合わせている。
main.c
123for (initialization; condition; update) { // Loop body }
前回のレッスンの例(配列要素の表示)をforループを使って書き換える。
Main.c
123456789101112#include <stdio.h> int main() { int array[] = { 3, 6, 2, 134, 45, 2, 564, 8, 3, 531 }; for (int i = 0; i < 10; i++) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); } return 0; }
update counter には、任意の有効な式を使用可能。これにより、カウンターは (++x * 3) - 5 のような任意の有効なルールに基づいて変化可能。また、カウンターは数値ではなく文字で増加させることも可能。
Main.c
123456789#include <stdio.h> int main() { for (char ch = 'a'; ch <= 'z'; ch++) { printf("ASCII value for %c is %d\n", ch, ch); } return 0; }
注意
文字はメモリ上で数値として格納されていることに注意。
ループの一部(カウンタの初期化など)を省略しても、プログラムはコンパイル可能。ただし、セミコロン ; は必須。
Main.c
1234567891011#include <stdio.h> int main() { int i = 0; // without counter initialization for (printf("It`s count initialization, but printf...\n"); i <= 4; i++) { printf("i = %d\n", i); } return 0; }
ループ内で部分を区切るためにカンマ , を使用可能:
Main.c
123456789101112#include <stdio.h> int main() { int i; int n; for (i = 0, n = 5; i <= 5; i++, n++) { printf("i = %d\t n = %d\n", i, n); } return 0; }
continue
ループ内では、break と continue の両方のコマンドが便利。break 文はループからの即時脱出、continue コマンドは次の反復処理へのスキップを促す。
負の整数を除外するプログラム例として、continue 演算子を利用:
Main.c
123456789101112131415161718#include <stdio.h> int main() { int array[] = { 124, 235, -321, 32, 54, -549, 23445, 5534, -433 }; printf("Positive elements of array:\n"); for (int i = 0; i < 10; i++) { if (array[i] < 0) { continue; } printf("%d ", array[i]); } return 0; }
次の演算子もカウンターを更新する式として機能することができる。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 6
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 4. 章 6