若有说明语句:char c = '\72';则变量c( )。
a. 包含1个字符
b. 包含2个字符
c. 包含3个字符
d. 说明不合法,c的值不确定 展开
答案:A
解析:
首先,char是计算机编程语言(c、c++、java、VFP,pascal等等)中可容纳单个字符的一种基本数据类型,它可以把其他类型计算机文件中的代码转换为字符,因为是单个字符所以储存空间也是1字符。
“\”表示计算机编程语言中的【转义字符】,转义字符后面的数字只能是八进制数字,而八进制数只能用到0~7八个数字。
'\72'=58,对应ASCII值为58的字符为冒号,字符常量最大为1个字节。
因此该题选A。
扩展资料
char*和char[]用法区别分析
本质上来说,char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以:
当char *s = "hello";后,不能使用s[0]='a';语句进行赋值。这是将提示内存不能为"written"。
当用char s[]="hello";后,完全可以使用s[0]='a';进行赋值,这是常规的数组操作。
也可以使用p[0] = 'a';因为这是p ==s,都是指向数组的指针。
char *s = (char *)malloc(n);//其中n为要开辟空间的大小,定义的也是一个指向数组的指针。
参考资料:百度百科-char
参考资料:百度百科-转义字符
参考资料:百度百科-ASCII
所以 不可能 包含2个字符, 也不可能 包含3个字符。b和c可以排除了。
'\72' -- ,字符常量 通常 用单引号括起来,所以单引号是对的,没有疑问。
平时看到的 字符常量 有 'a', 'B','3','\0';'\n' ...,那么 '\72' 对不对呢 ?
这里要记住,用反斜杠带数字,是 八进制数,八进制数 只能用到数字 0,1,2,3,4,5,6,7
如果出现 8,9 就不合法,现在 72 是 合法的。
另外,字符常量 最大占 1 个字节,数值不能超出 ASCII 码最大值。 八进制数 072 显然没超出。所以 排除了 d.
答案 是 a. 包含1个字符。
是个转义字符
转义字符 ,是这个符号 冒号 :