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 中断或转移代码流程

嵌套与组合

控制结构可互相嵌套.


注意事项

  1. switch 穿透:若省略 break,代码会继续执行后续 case
  2. 循环条件:避免死循环(如 while(1) 需搭配 break)。
  3. goto 慎用:可能导致代码逻辑混乱,仅在跳出多层循环等少数场景使用。
posted @ 2025-04-15 09:27  故渊Y  阅读(87)  评论(0)    收藏  举报