2010年软考程序员考前练习试题及答案解析(1)6
13.设变量 m,n,a,b,c,d均为以执行(m=a==)||(n=c==d)后,m,n的值是( )
A.0,0
B.0,1
C.l,0
D.1,1
【解析】计算(m=a==b)||(n=c==d)的过程是先计算逻辑或的左运算分量(m=a==b)的值,由于赋位运算符的优先级比关系运算符==的优先级低,又先计算 a==b。因 a,b均为0后,所以比较结果值为1。将1赋给变量m,使变量m的值变为1 。同时这个赋值运算的结果也是1,这样逻辑运算的左运算分量的值为1。由于逻辑或运算的左运算分量值为1,按照C语言对逻辑或运算优化计算的规定,不再计算逻辑或的右运算分量,而直接得到逻辑或运算的结果为1 。由于逻辑或的右运算分量不曾计算过,所以变量n的值也不为变化。这样,上述表达式计算后,变量m的情为1,变量n的值为0。所以解答是C。
【参考答案】C
14.设a为5,执行下列计算后,b的值不为2的是( )
A. b=a/2
B. b=6-(--a)
C. b=a%2
D. b=a< 3?3:2
【解析】因两个整型数据相除,结果是整数,当a的值为5时,计算表达式b=a/2后,使b的值为2。计算表达式b=6-(--a)是先计算子表达式(--a)的,先让a的值减1变成4,并以减1后的a为子表达式的结果,所以子表达式的结果为4,最后使b的值为2。在计算表达式b= a%2时,求余运算a%2的结果为1,最后使变量b的值为1。计算表达式b=a< 3?3:2时,先计算条件表达式a< 3?3:2,以2为结果,最后也使变量b的值为人所以解答是C。
【参考答案】C
15.执行语句"x=(a=3,b=a--);"后,X,a,b的值依次为( )
A.3,3,2
B.2,3,2
C.3,2,3
D.2,3,3
【解析】计算表达式x=(a=3,b=a--)时,先计算赋值号右端圆括号内的逗号表达式。远号表达式要求各子表达式顺序计算,并以最后予表达式的值为整个逗号表达式的结果。所以该表达式计算时,先让变量a的值为3,a--的值是a当时的值,以该值为结果赋给变量b,并以该值为远号表达式的值赋给变量x,然后a的值被减少1。所以计算该表达式后,使变量x,a,b的值依次为3,2,3。所以解答是C。
【参考答案】C
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>