以下选项中可作为C语言合法整数的是______。

请解释下其他的为什么错,多谢

以下选项中可作为C语言合法整数的是0Xffa。

在C语言中,整数常量可以用十进制、八进制和十六进制来表示,选项A为二进制表示,故选项A不正确;选项B是八进制表示法,但在八进制数巾,各个位数只能为数字0到7中的一个,而在选项B中,有一个数字8,故选项B不正确:选项C为十六进制表示法正确;选项D中也为十六进制表示法,但十六进制数以ox开头,故选项D不正确,所以,4个选项中选项c符合题意。

扩展资料:

C语言能以权简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
A不对,因为C语言没有后缀为字母B的整型常量。C语言不支持二进制整型常量。
B不对,因为0开头的是8进制数,8进制数字只能是0~7,可是中间出现了数字8。
C不对,数值必须以数字开头,16进制数以0x开头,但这个是字母x开头的。
D是合法的16进制整数。本回答被提问者和网友采纳
第2个回答  2009-08-31
只有答案C正确。
A)不是数的表示法,二进制数确实不能直接用在C语言源程序中,但是10110也不能说就是二进制数,也可以是“一万零一百一十”,不过错并不仅在这,还在于后面的B,所以它啥也不是。
B)只能说是一个由数字字符组成的串(没有引号),在日常生活中虽可以当作386这个数,但是C有规定,以0开头的数是八进制,这样再看它就不符合C的规定了,因为八进制数只能由“01234567”这内个数组成,并且前面必须加0以示区分。
C)0X开头是十六进制数,转换为十进制是4090是C的int型数。
D)有点迷惑人,但是前面没有0,不是十六进制的数,只是一个标识符。
第3个回答  2009-08-27
C
A c语言中没二进制
B 0代表八进制 所以数字最大不超过八
D 前加个o代表十六进制
第4个回答  2023-12-27
C语言中的数值常量有整型常量和实型常量两种,其中整型常量的表示有三种形式:八进制、十进制和十六进制。八进制数以数字0开头,后跟0~7数字序列,如022和-016都是合法的八进制整型常量;十进制数以正负号开头(正号可以省略),后跟0~9数字序列,如198,-12都是合法的十进制整型常量;十六进制数以0x开头,后跟0~9或A~F数字序列,如0x13,-0x1C都是合法的十六进制整型常量。实型常量有两种表示方法:普通形式,一般用小数表示,小数点不能省略,如3.14;指数形式,指数的表示通过‘e’或‘E’后跟一个整数表示以10为底的幂,C语言规定‘e’或‘E’的前后都必须有数字,并且后边的必须为整数。B选项是一个非法的八进制整型数据,C选项‘e’后边不是整数,而D选项‘e’后边没有数字,这都是不合法的实型常量。