***分支循环语句***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 语句家族**
- 单 if:
if(条件) 语句; - if…else:二选一
例题: 判断奇偶
int n = 0;
scanf(“%d”, &n);
if(n % 2 == 1)
printf(“奇数\n”);
else
printf(“偶数\n”);
- if…else if…else:多分支
- 嵌套 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;}关键点:
- case 后面只能写整型常量,不能写范围
break:跳出 switch,不加 break 会发生 case 穿透- 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`,要用`&&`连接     