考研的备考中,对于历年真题的复习,也是提升考试分数的重要方法。为了让大家更好的积累学习,小编为大家整理了历年考研真题,下面是关于“nt a=-1 ,b=4,k; k=(++a<0)&&!(b--<=0);”,希望对大家有更好的帮助。
3、int a=-1 ,b=4,k; k=(++a<0)&&!(b--<=0);printf("%d %d %d\n",k,a,b);后的输出结果是( )。
A、1 0 4
B、1 0 3
C、0 0 3
D、0 0 4
3、试题答案:D
试题解析:
【考点】本题考查逻辑运算符的短路现象。
【解析】表达式k=(++a<0)&&!(b--<=0)中,++a表示a先加1,在使用a,b--表示先使用b,再使b加1。在逻辑表达式中(++a<0)&&!(b--<=0)就是(0<0)&&(4<=0),其中(0<0)为假,则表达式为假(短路现象),不执行后面的表达式!(b--<=0)。故k=0、a=0、b=4,本题选D。
在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行。逻辑运算符的短路现象:如果&&(||)运算符左侧的子表达式为false(true),则不会检查右侧的表达式。因为只要有一个子表达式为false(true),则整个表达式都为false(true),所以再检查剩余的表达式会浪费CPU时间。这被称为短路评估。
以上“nt a=-1 ,b=4,k; k=(++a<0)&&!(b--<=0);”,更多关于考研真题内容将不断更新。