C 语言核心控制逻辑 —— 分支语句与循环语句
前言C语言程序默认按照从上到下的顺序执行但是单纯顺序执行无法实现复杂逻辑。分支语句实现选择性执行循环语句实现重复执行二者是构建程序逻辑的基础。本文结合代码实例梳理if、switch、for、while、do while语句用法与常见坑点。一、分支语句选择结构分支语句根据条件真假选择执行不同代码块。1. if语句基础语法if(条件){语句;}elseif(条件){语句;}else{语句;}条件为非0判定为真条件为0判定为假。若大括号省略if仅控制紧随其后第一条语句建议永远带上大括号避免逻辑错误。悬空else规则else匹配离它最近、未配对的if。示例三角形类型判断if((abc)(acb)(bca)){if(abbc)printf(Equilateral triangle!\n);elseif(ab||ac||bc)printf(Isosceles triangle!\n);elseprintf(Ordinary triangle!\n);}else{printf(Not a triangle!\n);}2. switch语句适合多分支常量判断场景替代冗长的else if。switch(整型表达式){case常量1:语句;break;case常量2:语句;break;default:语句;break;}⚠️重点switch括号内只能是整型char/short/int不能使用浮点、字符串case后必须是常量不能写变量break用来跳出switch缺少break会发生穿透现象default处理所有case都不匹配的情况位置不限。二、循环语句重复结构循环可以重复执行一段代码由循环条件控制何时退出。1. while循环while(条件){循环体;}执行逻辑先判断条件条件成立才执行循环体有可能一次都不执行。典型用途持续读取输入while(scanf(%d,x)!EOF)。2. for循环使用频率最高for(初始化;判断条件;更新){循环体;}执行顺序初始化 → 判断条件 → 循环体 → 更新循环往复。适合已知循环次数场景例如输出100~200素数、分数累加求和。示例交替分数求和作业代码for(i1;i100;i){sumsumflag*1.0/i;flag-flag;}3. do while循环do{循环体;}while(条件);先执行循环体再判断条件循环体至少执行1次。适合需要先运行一次再判断的场景。三、循环控制关键字break直接终止当前循环跳出循环continue结束本次循环立刻进入下一轮条件判断不会跳出循环。四、嵌套结构分支内部可以嵌套循环循环内部也可以嵌套分支多层循环也允许互相嵌套。素数判断就是典型嵌套外层遍历数字内层循环判断能否整除。五、常见易错点总结整数除法陷阱1/2结果为0浮点运算必须写1.0/2死循环循环条件永远为真忘记更新循环变量if不带大括号造成作用域错误switch忘记break引发case穿透循环边界写错例如i100和i100混淆。结语分支与循环是所有编程语言通用基础逻辑。熟练掌握三种循环、两类分支才能实现筛选、迭代、查找等功能。后续复杂算法最大公约数、素数筛选等全部建立在控制语句之上。

相关新闻

最新新闻

日新闻

周新闻

月新闻