一下选项中非法的字符常量是 A,‘\102’ B'\65' C'\xff' D'\019'

A ,B ,C是怎么回事啊

'\019'是非法的字符常量。

字符常量有两种表示方法:一种是用该字符的图形符号,如'b','y','*'。另外还可以用字符的ASCII码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法。

具体方法有两种形式:一种是用字符的八进制ASCII码,表示为:\0dd。dd是八进制值(0可以省略)。另一种使用字符的十六进制ASCII码值,表示为\0xhh或0Xhh这里hh是两位十六进制值。本题中D)选项‘\019'使用是八进制表示,不应该出现9,所以错误。

扩展资料:

八进制以8为基数,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。

八进制广泛应用于计算机系统,如PDP-8,ICL 1900和IBM大型机使用12位、24位或36位。八进制是这些基础,因为他们的最理想的二进制字缩写大小能被3整除(每个八进制数字代表三个二进制数字)。四、八到十二个数字可以简明地显示整个机器。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-03
AB的\后面就是十进制数,C的\X后面是十六进制数,D的\0后面是八进制数,所以选D
第2个回答  推荐于2017-10-06
转义字符,即反斜杠加数字或字母的形式(例如'\n'是换行符),转义字符本身就是一个字符。ABCD全是转义字符,D错误之处就在于它的数字部分019,在C语言里,一个数字是不需要以0开头的,一旦以0开头了,那么这个0所代表的意义是指八进制,例如01,是指八进制的1,因为八进制里是没有数字8和9的,所以09这样写是错误的,同理,D项的019这样写就错了,如果改为017那么就正确了。
同样的,C项以x开头代表了xff这个数是16进制,16进制里是有f的,数值上等于十进制里的15,如果C项改为xgg那么就错了,就是因为16进制里没有这个g。
数字前什么都不加,例如A和B项的102,65,C语言默认为十进制。追问

A,B是不是代表的是字符f ,A 啊

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