首页 > 计算机 > 计算机二级 正文

下列程序的输出结果是(  )。main()(int i=1,j=2,k=3;

时间:2021-07-13 03:48:55 解答: 191 次

问题:

[单选] 下列程序的输出结果是(  )。

main()

(int i=1,j=2,k=3;

if(i++==1&&(++j==3==||k++==

3))

printf(”%d%d%d\n”,i,j,k);

)

A . 1 2 3

B . 2 3 4

C . 2 2 3

D . 2 3 3

正确答案:

D

参考解析:

D。【解析】本题考查自增运算符“++”、逻辑与运算符“&&”和逻辑或运算符“||”。自增运算符“十十”出现在变量之前,表示先使变量的值加1,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,再使用变量的值加1。当逻辑与运算符“&&”两边的运算对象都为真时,逻辑表达的值才为真;当逻辑或运算符“||”只要一个值为l,值就为l。根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时J的值等于3,所以表达式++j一3成立,即表达式的值为l;1与任何数都为进行或(||)运算,结果都为1,因此k一3的表达式i++是先运算后自加,因此运算时i为l,所以i十+一1成立,自加1后i一2。if语句的条件为真即“1”,所以输出i、j、k的值分别是2,3,3。

请充值VIP继续使用(未注册用户支付后会自动注册登录)

×

95元 29元

VIP截止日期:2024-12-30 23:50:42

←请使用支付宝扫码支付

95元 29元

VIP截止日期:2024-12-30 23:50:42

←请使用微信扫码支付