流程控制
内容简介
流程控制决定代码执行顺序,主要包括条件判断和循环。没有流程控制,程序只能从上到下一次性执行。
用法
if / else
int score = 85;
if (score >= 90) {
printf("A\n");
} else if (score >= 60) {
printf("Pass\n");
} else {
printf("Fail\n");
}switch
int command = 1;
switch (command) {
case 1:
printf("start\n");
break;
case 2:
printf("stop\n");
break;
default:
printf("unknown\n");
break;
}while
int i = 0;
while (i < 5) {
printf("%d ", i);
i++;
}for
for (int i = 0; i < 5; i++) {
printf("%d ", i);
}do while
int i = 0;
do {
printf("%d ", i);
i++;
} while (i < 5);最佳代码实践
- 分支条件尽量写得明确,例如
score >= 60,不要依赖隐式含义。 switch的每个case默认都写break,除非明确需要贯穿执行。- 循环要保证有终止条件,避免死循环。
- 循环中
continue和break可以使用,但不要让控制流变得难读。
错误用法
int i = 0;
while (i < 10) {
printf("%d\n", i);
// 错误:忘记 i++,会无限循环
}switch (command) {
case 1:
printf("start\n");
case 2:
printf("stop\n"); // 可能被意外执行
}注意事项
do while至少执行一次,while可能一次都不执行。goto能跳转到同一函数内的标签,但会破坏可读性,初学阶段不建议使用。
学习路径
- 上一节:CandCpp运算符
- 当前阶段:CandCPP基础
- 下一节:CandCpp数组