254 字
1 分钟
【C】流程控制
2026-05-19

顺序结构#

按书写顺序依次执行语句。

选择结构#

if#

if (条件) {
// 条件非 0 时执行
}
if (条件) {
} else {
}
if (条件1) {
} else if (条件2) {
} else {
}
  • 条件为整型表达式,0 为假,非 0 为真
  • else最近的未配对 if 结合

switch#

switch (表达式) {
case 常量1:
// ...
break;
case 常量2:
// ...
break;
default:
// 无匹配 case 时执行
break;
}
  • 表达式 与各 case 标签类型须兼容(一般为整型)
  • case 顺序任意;default 可不在末尾,但建议放最后
  • break 时会贯穿到下一个 case(有时故意利用,多数情况应写 break
  • default 与最后一个 break 建议写上,逻辑更清晰

循环结构#

while#

while (条件) {
// 循环体
}
while (1) { // 死循环,需 break 或 return 退出
}

先判断条件,再执行循环体。

do…while#

do {
// 循环体
} while (条件);

至少执行一次循环体,再判断条件。

for#

for (初始化; 条件; 更新) {
// 循环体
}
for (;;) { // 死循环
}

三部分均可省略,但分号不能少。

goto#

loop_start:
if (i >= 5) goto loop_end;
printf("%d ", i);
i++;
goto loop_start;
loop_end:

一般不推荐滥用 goto,会使控制流难读;但在多层循环统一跳出等场景偶尔使用。

循环控制#

语句作用
break跳出最内层switch 或循环
continue跳过本次循环剩余语句,进入下一次迭代
return结束当前函数,可带返回值
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

【C】流程控制
https://lysj.work/posts/studynotes/c/c流程控制/
作者
Sekiro
发布于
2026-05-19
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录