
***分支循环语句***C 语言程序有三大基础结构顺序、分支和循环。顺序结构指代码自上而下依次执行分支语句用于做判断与选择循环语句用于重复执行代码。将二者与break、continue以及逻辑运算符配合使用就能实现绝大多数基础逻辑。要学好语句首先要掌握构成语句的基本符号也就是“操作符”。操作符主要分为三类1. 关系操作符2. 逻辑操作符3. 三目操作符。1. 关系运算符、、、、等于、!不等于C 语言规则0 代表假非 0 代表真❌ 易错坑不能写成18 a 36。C 语言会先计算18 a得到 0 或 1再用这个结果与 36 比较。✅ 正确写法18 a a 362. 逻辑运算符!逻辑取反逻辑与并且两边都为真时结果才为真||逻辑或或者只要一边为真结果就为真短路特性重点考点左边表达式为假时右边直接不执行短路||左边表达式为真时右边直接不执行短路示例int i0, a0, b2, c3, d4;i a b d;a 先取值 0为假发生短路后面的 b、d 不再执行运行结束后a1b2c3d4i03. 三目运算符条件运算符格式条件 ? 表达式1 : 表达式2要3个操作对象条件成立执行表达式 1不成立执行表达式 2例intminutes0;scanf(%d,minutes);printf(心情%s\n,minutes1?秒回有戏:minutes10?还行ta可能在忙:minutes60?ta没看信息打游戏:别等了);第二.循环篇语句的分岔口** 1. if 语句家族**单 ifif(条件) 语句;if…else二选一例题 判断奇偶int n 0;scanf(“%d”, n);if(n % 2 1)printf(“奇数\n”);elseprintf(“偶数\n”);if…else if…else多分支嵌套 if重要规则else 总是和离它最近、还没有配对的 if 匹配缩进不决定配对关系例题闰年的判断intyear0;scanf(%d,year);if(year%40year%100!0||year%4000)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要用连接     