【摘要】:C语言中,一个表达式可以由多个运算符和操作数组成,一个操作数既可以是常量、变量,也可以是由运算符和数据组成的表达式。这样,在一个大的表达式中,就可以包括若干个较小的表达式,较小的表达式又可由更小的表达式组成,这种表达式的嵌套结构就决定了运算符的嵌套使用。在分析复杂表达式时,可先按运算符的优先级和结合性,利用加圆括号的方式将相应部分一层层地括起来,再由外及里逐步分析表达式的构成。
2.6.2 运算符嵌套
C语言中,一个表达式可以由多个运算符和操作数组成,一个操作数(也称为运算分量)既可以是常量、变量,也可以是由运算符和数据组成的表达式。这样,在一个大的表达式中,就可以包括若干个较小的表达式,较小的表达式又可由更小的表达式组成,这种表达式的嵌套结构就决定了运算符的嵌套使用。
例2-5 如2.4.4小节中的例子,判断给定的某一年是否是闰年。
如果某年能被4整除但不能被100整除,或者能被400整除,那么这一年就是闰年。
编写程序如下:
其中,第9行比较长,含义是:year如能被4整除但同时不能被100整除,或者能被400整除时,那么year就是闰年,否则就不是闰年。
表达式
leap=year%4= =0&&year%100!=0||year%400==0
中有多种运算符,由于算术运算符%的优先级比关系运算符==和!=的优先级高,而后者又比
逻辑运算符&&和||的优先级高,并且&&比||的优先级高,而赋值运算符=的优先级最低,因此,这个表达式等价于:
leap=((year%4)= =0)&&((year%100)!=0)||((year%400)= =0)
总体上,整个表达式是赋值表达式,其右分量是逻辑或表达式。这个逻辑或的左分量是逻辑与表达式,而该逻辑与的左分量、右分量都是关系表达式。
在分析复杂表达式时,可先按运算符的优先级和结合性,利用加圆括号的方式将相应部分一层层地括起来,再由外及里逐步分析表达式的构成。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。