C语言基本笔记(8)—— 控制结构
C语言的控制结构分为四类:顺序结构、选择结构、循环结构和跳转结构。
顺序结构
代码默认按顺序执行,逐行从上到下运行。
示例:
int a = 10;
int b = 20;
int sum = a + b; // 按顺序执行
选择结构
根据条件判断执行不同分支。
(1) if 语句
// 单分支
if (条件) {
// 条件为真时执行
}
// 双分支
if (条件) {
// 条件为真时执行
} else {
// 条件为假时执行
}
// 多分支
if (条件1) {
// ...
} else if (条件2) {
// ...
} else {
// ...
}
(2) switch 语句
switch (表达式) {
case 常量1:
// 匹配常量1时执行
break; // 可选(防止穿透)
case 常量2:
// 匹配常量2时执行
break;
default:
// 无匹配时执行
}
循环结构
重复执行代码块直到条件不满足。
(1) for 循环
for (初始化; 循环条件; 迭代操作) {
// 循环体,循环条件为真时执行
}
// 示例
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
(2) while 循环
while (循环条件) {
// 循环体(先判断条件,条件为真时执行)
}
// 示例
int i = 0;
while (i < 10) {
printf("%d\n", i);
i++;
}
(3) do-while 循环
do {
// 循环体(先执行一次,再判断条件,循环条件为真时再次执行)
} while (循环条件);
// 示例
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 10);
跳转结构
直接控制代码执行流程。
(1) break
跳出当前循环或 switch 语句。
for (int i = 0; i < 10; i++) {
if (i == 5) break; // 当i=5时终止循环
}
(2) continue
跳过当前循环的剩余代码,进入下一轮循环。
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) continue; // 跳过偶数
printf("%d\n", i); // 只打印奇数
}
(3) return
退出函数并返回值。
int add(int a, int b) {
return a + b; // 结束函数并返回结果
}
(4) goto
无条件跳转到指定标签(慎用,易破坏代码结构)。
goto label; // 跳转到标签处
// ...
label:
// 代码块
控制结构对比表
| 类型 | 关键字 | 典型应用场景 |
|---|---|---|
| 顺序结构 | 无 | 默认执行顺序 |
| 选择结构 | if, switch |
条件分支判断 |
| 循环结构 | for, while, do |
重复执行代码块 |
| 跳转结构 | break, continue, return, goto |
中断或转移代码流程 |
嵌套与组合
控制结构可互相嵌套.
注意事项
switch穿透:若省略break,代码会继续执行后续case。- 循环条件:避免死循环(如
while(1)需搭配break)。 goto慎用:可能导致代码逻辑混乱,仅在跳出多层循环等少数场景使用。
浙公网安备 33010602011771号