C语言:第一题为什么选C,还有为什么ABD是正确的,正确的原因是什么

如题所述

A 字符型变量, 存储是ascii码, 而'1'的ascii码值就是49
B 这个不正确. int型, 如果是32位,那么最大的数字是2^31-1
C 输出两个空格加上536, 凑足5位. 也就是 536 这个正确.
D unsigned short为16位,占2字节. 正确.
所以答案错了, 这个选B
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-29
A. 正确. 字符和整型是可以按照ASCII码进行互换的, 字符'1' 的ascii码是49, 所以正确
B. 错误. int按照4字节算的话, 最大能表示的数字(按照无符号型)是(2^32)-1, 它能够表示的数字个数是2^32
C. 正确. a是短整型, 能够完全存放536这个数字, printf指定输出宽度为5, 所以左边会出现两个空格
D. 正确. short本身就是两个字节, 前面的unsigned只是将他修饰为无符号, 并不会对他所占空间造成影响
第2个回答  2017-12-29
答案应该是B吧,int型(4字节)所能表示的最大数字是2147483647,对应的二进制是
0111 1111 1111 1111 1111 1111 1111 1111,即2^31-1,因为最高位0表示符号位,0为正,1为负
如果是unsigned int类型,最大能表示的值也是1111 1111 1111 1111 1111 1111 1111 1111,
即2^32-1,也不是2^32啊。其他ACD选项都是对的。

第3个回答  2017-12-29
首先,题主说正确答案应该是C,但我并不这么认为。
我认为B是错的。int类型最大值为 2^32-1
A是正确的,‘1’的ASCII码十进制为49
C:%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出

D:unsigned short跟short占字节是一样的,只不过是无符号的。
第4个回答  2017-12-31
℃你觉得就说句话宿舍电话