关于c语言编程选择题:下列数据中哪些不属于字符常量的是? A.'\xff' b.'\160' c.'070' d.070

问题描述:

关于c语言编程选择题:下列数据中哪些不属于字符常量的是? A.'\xff' b.'\160' c.'070' d.070

此题的正确答案是C,分析如下:A.'\xff'以反斜杠('\')开头,表明是转义字符,第二位为'x',按规定后跟两个字符'ff'表示两位十六进制数,也就是说此字符的ASCII码对应十六进制数0xff,即十进制数255,因此是有效的字符常量;B.'\160'与A类似,也是以转义字符开头,不过这次直接是三个数字'160’,按规定表示三位八进制数,即此字符的ASCII码对应八进制数0160,十进制为112,也是有效的字符常量;C.'070'需要注意的是该字符并非以反斜杠开头,因此不是转义字符,而是三个单独的字符'0'、'7'和'0'连接在一起的字符串!因此不是字符常量;D.070和C的区别是没有用''括起来,因此实际上是一个整型数,又因为以0开头,故而是八进制数,转换为十进制后是56;实际上这本身虽然是一个整型数,但却是一个合法的字符常量,因为计算机存储字符型数据本质上存储的是其ASCII码,直接将ASCII码赋给字符常量这是允许的,因此该选项也是有效的字符常量.