第29题  下列哪一项是不合法的字符常量­

­      A    ′\0′

­      B    ′\\n′

­      C    ′x′

­      D    ′\106′

答案  B

解析    考查八进制和十六进制转义序列。

A 合法,′\0′叫做空字符,充当字符串结尾标记。

B 不正确,多了一个反斜线,就凭这点认定它错误,这是命题意图。但根据C标准,这种形式也是合法的,属于命题不严谨,这里不再解释,二级考生不必深究。

C 合法,最常见的字符常量。D 合法,八进制转义字符。

知识点

① 形如′a′、′x′ 这种带有单引号的单个字符,是最常见的字符常量,还可用简单转义序列八进制转义序列十六进制转义序列来表示字符常量。

简单转义序列完整列表(凡未列出的都是非法的)如下:

c_choice11-01

八进制转义序列由反斜线\后面紧跟1−3位八进制数字组成,如′\0′、′\27′、′\101′。

十六进制转义序列由\x后面紧跟若干位十六进制数字组成,如′\x2′、′\x39′、′\x1a′、′\x5F′,其中的x必须小写,但十六进制数字a至f大小写均可。

⑤ 八进制、十六进制转义字符的值不能超出unsigned char类型的取值范围。在VC++2010中,unsigned char类型的取值范围是0至255。

练习题

试为自己设计一道孪生题,举一反三。

孪生题  下列哪一项是不合法的字符常量­

­      A    ′\103′

­      B    ′\a′

­      C    ′\x24′

­      D    ′\\n′

答案  D

解析    A 合法,八进制转义字符;B 合法,简单转义字符,即警告符;C 合法,十六进制转义字符;D解释同上。

赞赏

返回