一道计算机二级C语言真题 求解 如图 这是笔试题 所以不要直接给我个答案 说让我运行程序

没有过程的就不要回答了
2024-11-07 10:57:25
推荐回答(4个)
回答(1):

这个题的考点就是 移位运算符('<<' 和 '>>')

<< 是左移运算符
>> 是右移运算符
运算符后的数字就表示需要移动的位数

比如,a<<2,就表示把a的2进制值向左移动2位。
简单的说,每向左移动一次,相当于在原来的十进制值乘以2。

因此这个题,相当于将a向左移动3位,答案就是12*2*2*2=96

回答(2):

a<<2 表示a 左移两位,数值上相当于a的十进制数乘以4
a<a>>n 数值上相当于a的十进制数除以2的n次方
所以答案楼主自己算吧。。。

回答(3):

a的二进制为 0000 0000 0000 1100
左移2位后: 0000 0000 0011 0000
左移1位后: 0000 0000 0110 0000,十进制即为:96

回答(4):

12换成二进制为1100,
所以a<<2表示a右移两位,为110000,然后再将110000右移一位,为1100000.所以c=1100000.
1100000转换成十进制为96.答案为D

请采纳。不懂得可以问我,我做过二级C语言的兼职老师