☰
分支与循环语句
2026/11/6 2:00:26 网站建设 项目流程
***分支循环语句***

C 语言程序有三大基础结构:顺序、分支和循环。顺序结构指代码自上而下依次执行;分支语句用于做判断与选择,循环语句用于重复执行代码。将二者与break、continue以及逻辑运算符配合使用,就能实现绝大多数基础逻辑。

要学好语句,首先要掌握构成语句的基本符号,也就是“操作符”。
操作符主要分为三类:1. 关系操作符;
2. 逻辑操作符;
3. 三目操作符。

1. 关系运算符:

>、<、>=、<=、==(等于)、!=(不等于)

C 语言规则:0 代表假,非 0 代表真

❌ 易错坑:不能写成18 <= a <= 36。C 语言会先计算18 <= a,得到 0 或 1,再用这个结果与 36 比较。

✅ 正确写法:18 <= a && a <= 36
2. 逻辑运算符:
!:逻辑取反

&&:逻辑与(并且),两边都为真时结果才为真

||:逻辑或(或者),只要一边为真,结果就为真
短路特性(重点考点)

&&:左边表达式为假时,右边直接不执行(短路)

||:左边表达式为真时,右边直接不执行(短路)

示例:
int i=0, a=0, b=2, c=3, d=4;
i = a++ && ++b && d++;
a++ 先取值 0,为假,发生短路,后面的 ++b、d++ 不再执行
运行结束后:a=1,b=2,c=3,d=4,i=0

3. 三目运算符(条件运算符):
格式:条件 ? 表达式1 : 表达式2(要3个操作对象);
条件成立执行表达式 1,不成立执行表达式 2
例:

intminutes=0;scanf("%d",&minutes);printf("心情:%s\n",minutes<=1?"秒回!有戏":minutes<=10?"还行,ta可能在忙":minutes<=60?"ta没看信息,打游戏":"别等了");

第二.循环篇(语句的分岔口);
** 1. if 语句家族**

  1. 单 if:if(条件) 语句;
  2. if…else:二选一

例题: 判断奇偶
int n = 0;
scanf(“%d”, &n);
if(n % 2 == 1)
printf(“奇数\n”);
else
printf(“偶数\n”);

  1. if…else if…else:多分支
  2. 嵌套 if
    重要规则:else 总是和离它最近、还没有配对的 if 匹配,缩进不决定配对关系!
    例题:闰年的判断
intyear=0;scanf("%d",&year);if(year%4==0&&year%100!=0||year%400=0)printf("闰年\n");elseprintf("不是闰年\n");

2. switch 语句

switch(整型表达式){case常量1:语句;break;case常量2:语句;break;default:// 所有case都不匹配时执行语句;break;}

关键点:

  1. case 后面只能写整型常量,不能写范围
  2. break:跳出 switch,不加 break 会发生 case 穿透
  3. default 位置不强制放最后,推荐放末尾

示例:输入整数,输出除以 3 的余数

``

nt n = 0;
scanf(“%d”, &n);
switch(n % 3)
{
case 0:
printf(“余数是0\n”);
break;
case 1:
printf(“余数是1\n”);
break;
case 2:
printf(“余数是2\n”);
break;

## 三、循环语句(重复执行) ### 1. while 循环 格式:`while(条件) { 循环体; }` 特点:**先判断,后执行**,条件不成立,一次都不跑 输出1~10 int i = 1; while(i <= 10) { printf("%d ", i); i++; } ### 2. for 循环(最常用) 格式:`for(初始化; 判断条件; 更新) { 循环体; }` 适合已知循环次数场景 ### 3. do while 循环 格式:`do {循环体; } while(条件);` 特点:**先执行一次,再判断**,循环至少执行一遍 ### 4. break 和 continue - `break`:直接跳出当前循环 /switch,终止循环 - `continue`:跳过本次循环剩下代码,直接进入下一轮条件判断 > > 注意:`continue`在 while 里容易忘记变量更新,造成死循环;在 for 里会自动走到第三部分更新 ## 五、易错点总结(笔记重点) 1. `=`赋值 和 `==`判断相等,非常容易写混 2. if 嵌套:else 匹配最近的 if,缩进不能决定逻辑 3. switch 忘记 break,引发 case 穿透 4. while 循环 continue 后忘记 i++,直接死循环 5. 逻辑与或的短路问题,面试选择题高频考点 6. 不能连续写 `10 < a < 20`,要用`&&`连接![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bbda1664c2db455f97e1942feb21a572.jpeg#pic_center) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/36ec28d06e5c45f381e033bb36638654.jpeg#pic_center) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/45831e92658c4795b1f4f278a5aa82d4.jpeg#pic_center) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/23ae206ed7004a1a813e7b363dba095c.jpeg#pic_center) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/42f5af07eac04c8e94108f1f87509699.jpeg#pic_center) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/fd63edb1575c4e74a765336084d9af69.jpeg#pic_center)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询