C语言的9种控制语句是构建程序流程控制的核心语句,以下是具体说明及分类:
一、条件语句
if-else语句 根据条件表达式的真假执行不同代码块,是分支控制的基础语句。
```c
if (a > b) {
max = a;
} else {
max = b;
}
```
if-else if-else语句
支持多条件判断,按顺序评估条件表达式,第一个为真时执行对应代码块。
```c
if (a > b) {
// 执行a相关的代码
} else if (a == b) {
// 执行a等于b时的代码
} else {
// 执行a小于b时的代码
}
```
switch语句
多分支选择结构,根据表达式值匹配对应的case标签执行代码块。
```c
switch (day) {
case 1: printf("Monday\n"); break;
case 2: printf("Tuesday\n"); break;
// 其他case...
default: printf("Invalid day\n");
}
```
二、循环控制语句
for循环
重复执行代码块,需指定初始化、条件判断和迭代部分,可替代while循环。
```c
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
```
while循环
先执行代码块,再判断条件,条件为真时继续循环。
```c
while (i < 10) {
printf("%d\n", i);
i++;
}
```
do-while循环
先执行代码块,再判断条件,条件为真时继续循环,保证循环体至少执行一次。
```c
do {
printf("%d\n", i);
i++;
} while (i < 10);
```
三、流程控制语句
continue语句
跳过当前循环体,直接进入下一次循环判断。
```c
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) continue; // 跳过偶数
printf("%d\n", i);
}
```
break语句
终止当前循环或switch语句,跳出最内层循环。
```c
for (int i = 0; i < 10; i++) {
if (i == 5) break; // 当i=5时退出循环
printf("%d\n", i);
}
```
goto语句
无条件跳转至指定标签,但会破坏代码结构可读性,建议谨慎使用。
```c
error: 无效输入
if (scanf("%d", &num) != 1) {
goto error;
}
```
四、函数返回语句
return语句:
用于从函数返回值并终止函数执行。
```c
int add(int a, int b) {
return a + b;
}
```
总结
C语言的控制语句通过条件判断、循环执行和流程控制实现复杂逻辑。建议优先使用结构化编程(如if-else、for/while)替代goto语句,以提高代码可读性和维护性。