C中的条件是什么及其运算符优先级最低

北京哪里治白癜风 https://m.39.net/pf/a_6712024.html

条件运算符和条件表达式

在C++中提供了一个条件运算符为“?:”,它是一种三目运算符(又称为三元运算符),即要求有三个运算对象。由条件运算符构成的条件表达式的一般格式为:

<表达式1>?<表达式2>:<表达式3>

条件运算符的执行过程为:先计算表达式1的值,如果表达式1的值为非0(真),则计算表达式2的值,条件表达式的值就是表达式2的值;如果表达式1的值为0(假),则计算表达式3的值,条件表达式的值就是表达式3的值。其中,表达式1一般为关系表达式或逻辑表达式,但也可为其他表达式。

超实用性的Python零基础入门到进阶视频源码淘宝¥2购买已下架

当if语句的两个分支中都执行给同一个变量赋值的赋值语句时,可以用条件表达式来替代if语句,所以也可以用条件表达式构成分支结构程序。

编写程序,输入两个整数a和b,输出其中较大的一个数。程序文件名为example2_6.cpp。

程序如下:

程序执行后提示输入两个数据,然后输出。结果如图2.8所示。

图2.8 的运行结果

注意:条件运算符的优先级高于赋值运算符和逗号运算符,低于算术运算符、关系运算符和逻辑运算符。所以,赋值表达式max=(a>b)?a:b中,括号可以不要,即可写成max=a>b?a:b。

逗号运算符和逗号表达式

在C++中,逗号可作为运算符,称为逗号运算符。用逗号运算符将多个表达式连接起来的式子称为逗号表达式。逗号表达式的一般格式为:

<表达式1>,<表达式2>,…,<表达式n>

逗号表达式的求解过程为:按从左到右的顺序依次求出各表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。逗号运算符的优先级是最低的。

例如:

intb=1,c=2,d=3;

则逗号表达式:

a=4+4,b=b*b+c,d=d*a+b

其求值过程为:先将8赋给a,再将3赋给b,最后一个表达式d=3*8+3=27,整个逗号表达式的值为27。

注意:并非所有的逗号都构成逗号表达式。例如:

max(a+b,c-d)

“a+b,c-d”并不是一个逗号表达式,它表示max()函数的两个参数,用逗号来分隔两个参数。

好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个


转载请注明:http://www.aierlanlan.com/grrz/7251.html