题目
以下选项中可作为C语言合法整数的是( )。A. 10110BB. 0386C. 0XffaD. x2a2
以下选项中可作为C语言合法整数的是( )。
A. 10110B
B. 0386
C. 0Xffa
D. x2a2
题目解答
答案
C. 0Xffa
解析
本题考查C语言中合法整数的表示形式,需掌握不同进制数的书写规则:
- 十进制:不能以
0开头(除非是0本身); - 八进制:以
0开头,后续只能包含0-7; - 十六进制:以
0X或0x开头,后续可包含0-9和A-F(大小写均可)。
关键点:识别各选项的进制前缀,并验证后续字符是否符合规则。
选项分析
A. 10110B
- 问题:
B不是有效数字。 - 规则:C语言无二进制整数的直接表示(需用
0b前缀,但非标准)。 - 结论:非法。
B. 0386
- 问题:八进制数中包含
8(无效字符)。 - 规则:八进制只能包含
0-7。 - 结论:非法。
C. 0Xffa
- 验证:
- 前缀
0X表示十六进制; - 后续字符
f、f、a均在0-9和A-F范围内。
- 前缀
- 结论:合法。
D. x2a2
- 问题:缺少十六进制前缀
0X或0x。 - 规则:十六进制必须以
0X或0x开头。 - 结论:非法。