2010年软考程序员考前练习试题及答案解析(2)2
19.设整型变量i的值为3,则计算表达式i---i后表达式的值为( )
A.0
B.l
C.2
D.表达式出错
【解析】有些运算符只有一个字符,也有许多运算符由两个字符组成。特别是有些字符既可是单个字符的运算符,又能组成双字符的运算符。编译系统在识别源程序时,通常是尽量多地读八字符,能组成多字符单词的先尽量组成多字符单词。所以表达式i---i,被编译器理解为(i--)-i。另外,当表达式中某变量有后缀自增和自减运算时,先按变量的原值计算表达式,然后再对变量进行自增和自减运算。同样地,当表达式中某变量有前缀自增和自减运算时,先对变量进行自增和自减运算,然后再按变量的新值计算表达式。按这个约定,求表达式(i--)-i是计算i-i的值为0,然后再对i作自减运算。这样,表达式(i--)-i的值为0。所以解答是A。
【参考答案】A
20.设整型变量 a、b、c均为2,表达式 a+++b+++c++ 的结果是( )
A.6
B.9
C.8
D.表达式出错
【解析】与上一小题解答的理由相同,表达式a+++b+++c++被系统理解成:((a++)+(b++))+c++)。表达式"变量++"的值是变量的原来值,所以在变量a、b.c均为2的前题下,执行上述表达式,得到结果为6。所以解答是A。
【参考答案】A
21.若已定义 x和 y为double类型,则表达式: x=l, y=x+3/2结果是( )
A.l
B.2
C.2.0
D.2.5
【解析】由于变量x和y都是double类型,表达式 x=l, y=x+3/2是先计算 x=1,由于 1是整型的,x是double类型的,该计算先将整数1转换成double类型的1.0,并将1.0赋给变量x。计算 y=X+3/2是先求 3/2的值,因是两整数相除,结果是整型值 1,然后在计算 X+1时,也先将 1转换成 1.0,然后求得 X+l的值为2.0,最后将该值赋给变量 y,并得到整个表达式的值为2.0.所以解答是C。
【参考答案】C
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>