2.下列数据中__是C语言规定的合法数据常量。 答案是D请问ABC哪错了?

2.下列数据中__是C语言规定的合法数据常量。 答案是D请问ABC哪错了?
A) 01010011B
B) 0X37GF
C)07182
D) 0X87AF

按照c语言的整型常量表达形式来一一对应可以找到错误。

首先,4个答案以0开头的有2个,以0x开头的有2个。分开讨论。
c语言的整型常量以0开头的是8进制,其中单个数字位不超过8,数字范围是0-7。A答案数字结尾是B,这个是错误的,C答案中间有个8,这个超出了数字的范围。
c语言的整型常量以0x开头的是16进制,其中单个数字位不超过16也就是0-9,A-F,B答案里G超过了数字的范围,所以是错误的。
答案A是比较混淆的,但是C语言中没有二进制的整型常量。
1、十进制整型常量
此种格式的整型常量只能出现 0~9 的数字,且可带正、负号。比如:
0 1 364 28 -34

2、八进制整型常量
此种格式的整型常量以数字0开头的八进制数字串。其中数字为 0~7。例如:
0111十进制 73、 011十进制 9、 0123十进制 83、

3、十六进制整型常量
此种格式的整型常量以0x或0X(x是大写)开头的十六进制数字串。其中每个数字可以是 0~9、a~f或 A~
F 中的数字或英文字母。例如:
0x11十进制 17、 0Xa5十进制 165、 0x5a十进制 90
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-03
AC不能以0开头,0x代表十六进制,不会出现g(只有0-f),d正确追问

AC为什么不能以0开头

追答

整数就是不能以0开头呗,bd的0是特殊符号不是数字,所以可能以0开头

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网