公司动态
C语言中的流程控制1(分支结构)
昨天我们了解了常用的输入输出函数今天我们来了解C语言中的流程控制。程序默认都是顺序结构从上到下一行一行执行。但现实里很多场景需要做判断这时就要用到分支结构。先说说关系运算符和逻辑运算符这是所有判断的基础。 !这类关系运算结果只有1真和0假。逻辑运算符三个并且、||或者、!取反。这里有个很关键的特性——截断特性。左边条件为假右边代码直接不运行||左边条件为真右边不再运算写代码的时候很容易踩坑。还有三目运算符条件 ? 表达式1 : 表达式2简单的二选一判断可以简化代码。重头戏是if分支语句。最基础的if-else很好理解二选一。进阶有两种写法阶梯分支、嵌套分支。阶梯分支就是if … else if … else适合多种条件依次判断比如划分成绩等级。嵌套分支就是if里面再套一层if适合条件分层判断。举个例子先判断是不是三位数在三位数的前提下再判断是否是水仙花数。这里踩过不少坑else总是和离它最近、没有匹配else的if配对如果不加大括号if只能控制紧跟的一行代码大括号千万不能偷懒漏写。然后学习了switch语句。switch适合某个变量和固定常量匹配的场景。几个硬性规则我们应该记住switch括号内只能是整型不能写小数浮点case后面必须是常量不能放变量break非常关键不加break会发生穿透匹配成功后会持续执行后续所有casedefault是可选分支所有case都不匹配时执行。switch同样支持嵌套case里面可以继续写switch不过日常写代码用得不多。简单总结一下怎么选择分支少量条件判断用if-else多区间连续判断优先阶梯if变量匹配固定常量首选switch。理论看着不难但上手敲代码一堆小bug。比如闰年判断、水仙花数程序经常因为大括号错位、逻辑运算符写错导致结果出错。纸上看懂和键盘敲出来完全是两回事还是得多写练习巩固。