C语言中,很多if语句并列时系统将如何执行?

Python013

C语言中,很多if语句并列时系统将如何执行?,第1张

依次判断,依次执行。

比如:

if()

{ }

if()

{ }

会依次判断条件来决定是否执行。

例如:

if(/*判断条件*/)

{

if(/*判断条件*/)

cout<<"这是嵌套if语句"

}

if(/*判断条件*/)    cout<<"这是第一条if语句"//这时候分号在cout的后面

if(/*判断条件*/)    cout<<"这是第二条if语句"//这时候分号在cout的后面

if语句的语法如下所示(if和else是C#的关键字):

if(booleanExpression)

statement-1

else

statement-2

如果booleanExpression(布尔表达式)求值为true,就运行statement-1否则运行statement-2。else关键字和后续的statement-2是可选的。如果没有else子句,而且booleanExpression求值为false,那么什么也不会发生,程序继续执行if语句之后的代码。注意,布尔表达式必须放在圆括号中,否则无法编译。

以上内容参考:百度百科-if语句

{if

(x

>=

100

&&

x

<=

0)这句话绝对成立不了的~改成||

前面else{

随便赋值一个字符就行

}

switch

(y)

{

case'A':

printf("你的成绩是A\n")

break

case'B':

printf("你的成绩是B\n")

break

case'C':

printf("你的成绩是C\n")

break

case'D':

printf("你的成绩是D\n")

break

case'E':

printf("你的成绩是E\n")

break

default:printf("输入不合法")break

}

最后加一句default就好了~

&&(++j==3||k++==3 你的理解有错误,在C语言中,逻辑运算采用的是短路运算规则,所谓的短路就是比如逻辑与&&运算符,先计算左边的操作数,如果算出来的结果为0,那么整个辑逻表达式的结果就为0,因此就没必要计算右边的表达式了。

同理++j==3||k++==3中间的||是按位或运算,因此先计算左边的表达式++j==3这个结果是真,也就是1,那么整个按位或的运算结果就肯定是真,也就是1,因此也就没必要再计算k++=3这个表达式,因此k的值并没有被+1,而是原来的3,所以程序最后输出233

现在明白了吧?