制御構造 一覧表
もちろんです。それぞれの制御構造について詳しく解説します。
### if:
`if` 文は、指定された条件が真の場合にコードブロックを実行します。条件が偽の場合、コードブロックはスキップされます。
```c
int x = 10;
if (x > 5) {
// xが5より大きい場合に実行される
printf("xは5より大きい\n");
}
```
### else:
`else` キーワードは、`if` 文の条件が偽の場合に実行される別のコードブロックを指定します。
```c
int x = 3;
if (x > 5) {
// xが5より大きい場合に実行される
printf("xは5より大きい\n");
} else {
// xが5以下の場合に実行される
printf("xは5以下\n");
}
```
### switch:
`switch` 文は、指定された式の値に基づいて複数の `case` 文の中から一致するものを見つけ、対応するコードブロックを実行します。
```c
int day = 2;
switch (day) {
case 1:
printf("月曜日\n");
break;
case 2:
printf("火曜日\n");
break;
// ...他の曜日に対するcase文...
default:
printf("その他の曜日\n");
}
```
### case:
`case` キーワードは、`switch` 文内で使用され、特定の値に一致する場合に実行されるコードブロックを指定します。
```c
int day = 3;
switch (day) {
case 1:
printf("月曜日\n");
break;
case 2:
printf("火曜日\n");
break;
case 3:
printf("水曜日\n");
break;
// ...他の曜日に対するcase文...
default:
printf("その他の曜日\n");
}
```
### default:
`default` キーワードは、`switch` 文でどの `case` にも一致しない場合に実行されるコードブロックを指定します。通常、`default` は `switch` 文の最後に記述されます。
```c
int day = 7;
switch (day) {
case 1:
printf("月曜日\n");
break;
case 2:
printf("火曜日\n");
break;
// ...他の曜日に対するcase文...
default:
printf("その他の曜日\n");
}
```
### while:
`while` ループは、指定された条件が真の場合にコードブロックを繰り返し実行します。
```c
int i = 0;
while (i < 5) {
// iが5未満の間、このコードブロックが実行される
printf("%d\n", i);
i++;
}
```
### do-while:
`do-while` ループは、条件が真の場合にコードブロックを繰り返し実行しますが、条件の評価はループの最後に行われます。
```c
int i = 0;
do {
// このコードブロックが実行される
printf("%d\n", i);
i++;
} while (i < 5);
```
### for:
`for` ループは、初期化、条件、更新の3つのステップを指定して、指定された条件が真の場合にコードブロックを繰り返し実行します。
```c
for (int i = 0; i < 5; i++) {
// iが5未満の間、このコードブロックが実行される
printf("%d\n", i);
}
```
### break:
`break` ステートメントは、ループやswitch文から抜け出すために使用されます。ループ内で `break` が呼ばれると、そのループが終了し、次の文が実行されます。
```c
for (int i = 0; i < 10; i++) {
if (i == 5) {
// iが5になったらループを抜ける
break;
}
printf("%d\n", i);
}
```
### continue:
`continue` ステートメントは、ループ内で呼ばれると、それ以降のコードブロックをスキップして、次のループイテレーションに進みます。
```c
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
// iが偶数の場合、次のイテレーションに進む
continue;
}
printf("%d\n", i);
}
```
### return:
`return` ステートメントは、関数から値を返すために使用されます。関数が値を返さない場合でも、`return` を使用して関数を終了させることができます。
```c
int add(int a, int b) {
return a + b; // aとbの和を返す
}
```
### goto:
`goto` ステートメントは、プログラム内でラベルにジャンプするために使用されます。ただし、`goto` の使用はプログラムの可読性を損ねる可能性があるため、慎重に使用するべきです。
```c
int x = 0;
start:
printf("%d\n", x);
x++;
if (x < 5) {
goto start; // startラベルにジャンプ
}
```




