c语言if语句双重条件?

Python018

c语言if语句双重条件?,第1张

if((KEY_1 != RESET) &&(KEY_2 == RESET)) { // 满足租条件

}

C语言中if语句用法:

1、一般格式为:if (表达式) 语句 1 [ else 语句2 ]。

值得注意的是,else子句是可选的。当括号中的表达式的值为真值时,程序执行语句1,否则将执行语句2。

2、多个if嵌套使用。

(1)最近原则。当出现多个if语句嵌套在一起的时候,else子句与最临近的if语句匹配,就像题主给出的这道题目,else子句与第二个if语句匹配。

(2)强制匹配情况。如果将本题目稍作调整,在第二个if语句前面加上一个花括号“{”,同时在第一个printf语句后加一个花括号“}”,那么else语句就与第一个if匹配。

{

扩展资料:

if语句使用的注意事项:

1、if(条件表达式)其后没有分号。

一般来说,有"{}"有没有";",有";"就没有"{}"

2、if语句所控制的语句如果是一条语句,我们可以不写大括号;

如果控制的是两条以上的语句,必须加大括号。

if语句的控制体没有加大括号是其后跟的一条语句。

建议:永远加上大括号。避免不必要的错误。

c语言中,条件运算符的法则:

由高到低是:!(非),&&(与),||(或)

&&左边为0则不看右边运算,||左边为1不看右边!

例:

main()

{

int a=1,b=2,c=3,d

d=!b>a&&c||c>2

printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d)

}

运行结果:a=1

b=0

c=3

d=1

程序执行说明:先执行!b>a即0>a,结果为0(b=0)

再执行0&&c结果为0,执行c>2结果为1

0||1结果为1

因为执行顺序为右结合,所以将整个表达式的结果给 d为1

}

条件运算符:

(表达式1)?(表达式2):(表达式3)

运算规划:如果表达式1为真,返回表达式2的结果,否则返回表达式3的结果

例如:

A=1,B=2

(A>B)?A:B

返回值为2

注意表达式是右结合的.

例:

A=1,B=2,C=3

(A>B)?A:B?C:B

相当于(A>B)?A:(B?C:B)

返回值为3