前言
这份笔记完整梳理 C 语言程序三大核心控制结构,先讲解顺序结构基础逻辑,重点拆解分支结构的运算符、if 与 switch 语法,后续补充循环结构全套核心知识点。内容由浅入深,覆盖关系、逻辑运算、短路特性、分支语法规范、循环三要素、三类循环用法与跳转语句,适合零基础夯实流程控制基础,配套练习题同步巩固理论,便于快速掌握 C 语言程序执行逻辑。
(一)顺序结构
程序按照从上至下的顺序逐次执行。
示例逻辑(三角形周长、面积计算流程图) 开始 → 从终端读取三边长 → 计算周长 → 计算半长 → 计算面积 → 输出周长和面积 → 结束

(二)分支结构
分支分为两种基础形式:
- 单分支:条件为真执行语句,条件为假直接跳过
- 双分支:条件为真执行语句 1,条件为假执行语句 2
1. 关系运算符及关系表达式
运算符:> < >= <= == !=
- 关系表达式运算结果:逻辑真 / 逻辑假
- C 语言规定:0 为假,非 0 即为真
如:100 → 真 1 → 真
0 → 假
注意:== 判断相等,习惯将常量写在左边,防止误写成赋值=
2. 逻辑运算符与逻辑表达式
运算结果:逻辑真 / 逻辑假,规则同上(0 假,非 0 真)
| && | 逻辑与 | 全真为真,一假为假;既要… 又要…(并且) |
| || | 逻辑或 | 一真为真,全假为假;要么… 要么…(或) |
| ! | 逻辑非 | 真取非为假,假取非为真 |
示例:-6<j<-2 等价于 -6 < j && j < -2
真值表
a && b 逻辑与
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
a || b 逻辑或
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
表达式截断(短路)特性
&&:第一个表达式结果为假,第二个表达式不会执行
||:第一个表达式结果为真,第二个表达式不会执行
! 逻辑非
!表达式;
!100; // 结果:假
!0; // 结果:真
3. 分支语句
(1)if简单分支
形式 1:单分支
if (表达式)
{
语句;
}
形式 2:双分支 if-else
if (表达式)
{
语句1;
}
else
{
语句2;
}
执行规则:表达式结果为真,执行 if 内语句;表达式为假,执行 else 内语句
重要注意事项
(2)if阶梯分支
if (表达式1)
{
语句1;
}
else if (表达式2)
{
语句2;
}
else if (表达式3)
{
语句3;
}
else
{
语句4;
}
(3)if嵌套分支
if (表达式1)
{
if (表达式2)
{
if (表达式3)
{
}
}
else
{
}
}
else
{
语句;
}
注意:嵌套分支不要嵌套太深,建议最多嵌套 5 层,否则代码可读性很差
(4)switch分支
语法格式
switch (表达式)
{
case 常量: 语句1; break;
case 常量: 语句2; break;
case 常量: 语句3; break;
case 常量: 语句4; break;
default: 语句; break;
}
核心注意点
(三)循环结构
1. 循环三要素
- 循环变量初始化:定义 / 给控制循环的变量赋初始值,写在循环外部
- 循环条件:判断要不要继续循环,条件为真则执行循环体
- 循环变量更新:每次循环结束修改变量,避免死循环
2. 三种循环语法
(1) while 先判断,后执行(0 次或多次)
while(条件表达式){
循环体;
变量更新;
}
特点:条件不成立,循环体一次都不运行。
(2)do-while 先执行,后判断(至少执行 1 次)
do{
循环体;
变量更新;
}while(条件表达式); //末尾分号不能丢
适用场景:必须先执行一次操作(菜单输入、密码校验)。
(3)for 结构紧凑,已知循环次数首选
for(初始化;条件;更新){
循环体;
}
执行顺序:初始化→判断条件→成立执行循环体→更新变量→再次判断条件 三部分均可省略:for(;;) 代表无限死循环。
3. 跳转关键字
- break
- 跳出当前一层循环,直接结束循环;
- 同时可用于 switch 跳出分支。
- continue
- 仅跳过本次循环剩余代码,直接进入下一轮条件判断,不会终止整个循环。
- goto(不推荐):可跳出多层循环,破坏代码结构,工程尽量不用。
4. 循环嵌套
- 循环内部再写循环,外层循环走 1 次,内层循环完整跑完一轮;
- break/continue只作用于离它最近的一层循环,无法直接跳出多层。
5. 易错点
总结
流程控制是 C 语言程序逻辑的核心,顺序结构为基础执行模式;分支依靠关系、逻辑表达式判断选择执行路径,if 适配多区间判断,switch 仅支持整型常量匹配;所有循环均离不开初始化、条件、更新三要素,三种循环各有适用场景。break、continue 实现循环局部跳转,编写代码时需规避分号误用、浮点数判等、死循环等问题,合理嵌套分支与循环,能实现绝大多数程序逻辑需求。
网硕互联帮助中心






评论前必须登录!
注册