|
C语言有一个特殊的运算符,岁两路判断很有用。该运算符是?和:的组合,需要有三个操作数。该运算符经常称为条件运算符。该条件运算符使用的一般形式如下:
条件表达式?表达式1:表达式2
首先计算条件表达式,如果其结果为非零,就计算表达式1,且表达式1的结果作为整个表达式的值返回。否则,就计算表达式2,且其结果作为整个表达式的值返回。例如:
if(x=0)
flag=0;
else
flag=1;
可以写成:
flag=(x<0)?0:1
条件运算符也可以嵌套,用来计算更复杂的赋值判断。例如,让我们来看看某家用产品营销人员的周薪。如果x为某营销人员一周所卖的产品数量,那么他的周薪计算如下:
salary={4x+100 x<40
300 400
4.5x+150 x>40
这个复杂的灯饰可以写成:
salary=(x!=40)?((x<40)?(4*x+100):(4.5*x+150)):300;
当使用条件运算符时,代码更简洁,而且可能也更高效。但是,可读性更差。当需要嵌套不止一个条件运算符时,最好使用if语句。
编写多路选择语句的一些建议
请特别注意复杂的多路选择语句,应能让读者容易理解该语句的逻辑。下面一些建议有助于提供语句的可读性,方便语句的维护。
应避免使用复合的负逻辑语句,只要有可能,就使用正逻辑语句。
尽量使用逻辑表达式简单。着可以利用嵌套的if语句来实现。
应首先编写常见的或期望的条件。
应首先使用最可能的条件。着可以省去不必要的测试,从而提高程序的效率。
选择if语句还是switch语句是个人的偏好。当当可选路径有3-10条时,最好使用switch语句。
应适当地采用代码缩排。
应养成在switch语句中使用default子句的习惯。
应把具有类似动作的case归为一组。
凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com