c语言什么时候适合用三目运算什么时候适合用阶梯判断

最近在看linux内核源码程序,看的越多发现前辈们的水平有多高,自己有了一些心得,现在记录下来,希望对后面自己编程有所启迪。

今天重点是以下几点:

(1)什么情况下适合使用三目运算符"条件? 表达式1:表达式2"

答:大家都知道c语言中条件分支判断最常用的事if()、if()-else、if()-else if()-else这三种,这三种能够实现100%的分支判断需求,但是c语言还支持三目运算符,三目运算符在某些情况下比以上三种写出的代码更加容易理解,因此在某些特定情况下使用三目运算符写出的分支判断语句更好。这里说的"某些特定情况"就是"条件为真或者假,表达式1和表达式2只有一行代码的情况" 。当然了,三目运算还支持嵌套,也就是表达式1和表达式2也可以是一个三目运算符,无论嵌不嵌套,表达式1和表达式2都只有一行代码。而且三目运算符写出的代码其实是一行更加间接明了。

(2)什么情况下适合switch-case-default阶梯判断呢?

答:c语言中的阶梯判断的条件判断是两种种特殊的关系运算就是"=="和"!="的情况,大家都知道条件判断有各种运算,例如逻辑运算、关系运算、算术运算、位运算等。如果涉及到关系运算中的"=="和"!="的情况,使用switch-case-default阶梯判断更适合,写出的代码质量也越高,也越容易阅读理解。

总是,if相关条件判断能使用与100%的条件判断情况,三目运算适合表达式只有一行的情况,阶梯判断适合条件为特殊条件关系("=="和"!=")的情况。当使用三目运算和阶梯运算写代码更适合时,写出的代码质量更好。

(3)如何理解一对花括号{}代表的作用域。在一对花括号中定义的变量虽然也是属于临时栈变量但是在这个{}之外的作用域是无法访问的,但是在内部花括号可以访问外面定义的临时栈变量。而且只有代码运行走出所在{}作用域临时分配的栈变量才会被收回,所以千万别小看花括号代表的作用域。

(4)最后,在看函数的时候,函数参数相当于完成了变量定义并写入了一种未知的确切数值,只有当函数被调用完成传参的时候才知道确切的数值是多少。

相关推荐
程序员Rock20 小时前
上位机开发-MODBUS面试常见问题
c语言·c++·面试·职场和发展·上位机
blevoice1 天前
抖抖燃脂机单 AC6966B 主控调试踩坑:Type-C 整机供电喇叭无声排障
c语言·开发语言·单片机
小小晓.1 天前
C++小白记:C风格字符串和数组用法
c语言·开发语言·c++
深念Y1 天前
开发者如何清理和迁移C盘堆积的垃圾
c语言·开发语言
十月的皮皮1 天前
STM32从零到量产开发:四路继电器工业控制模块开发实战笔记(小白视角)
c语言·笔记·stm32·stm32cubemx·hal库
不正经学生1 天前
C 语言函数深入剖析(基础篇)—— 从零理解函数的每一个细节
c语言·开发语言·数据结构·算法·c#
天空'之城1 天前
C 语言工业级通用组件手写 10:字节序转换
c语言·字节序·大小端·嵌入式通信·工业级组件
C++ 老炮儿的技术栈2 天前
OpenCV 实现社保卡透视矫正:Hough 直线提取四角并转正证件图像
c语言·c++·人工智能·opencv·算法·计算机视觉·c
我叫洋洋2 天前
C ++ [ hello world ]
c语言·c++·算法
天空'之城2 天前
C 语言工业级通用组件手写 09:CRC32 数据校验
c语言·嵌入式开发·数据校验·crc32·工业级组件