c语言 字符串不足用零代替,19年3月二级C--字符型数据部分习题

1.char a=' \072 '; 表示的是ASCII中等于72的那个字符,即为" : "。

2.转义字符常量' \xx '可以把' \ '后面的数字转化为ASCII中对应的字符,' \72 '就是' : '。

3.C语言中,字符常量是以单引号括起来的单个字符,或为以" \ "与三位八进制数值或两位十六进制数值代替的单个字符。

4.以下程序段的输出结果是:

char s[]="\141\141abc\t"

printf ( %d\n' , str1en(s));

A.9    B.12    C.13    D. 14

题考的是对转义字符的理解,在C语言中规定:用反斜杠开头后面跟个字母代表一 个控制字符: 用入代表字符”\”, 用代表撇号字符:用反斜杠后面跟1到3个八进制数代表ASCII码为该八进制数的字符:用\x后面跟1到2个十六进制数代表ASCII码为该十六进制数的字符。

本题答案为A。

5.有以下程序

main( )

{ char a,b,c, *d;

a=’\’; b='\xbc ';

c=’\0xab' ; d="\0127" ;

printf( %c%c%c%c\n ,a, b,c, *d);

}

编译时出现错误,以下叙述中正确的是_

A.程序中只有a=' \ ' :语句不正确

B. b=' \xbc’,语句不正确

C.d="\0127" ;语句不正确

D.a='\’ ;和c=' \0xab' ;语句都不正确

本题的考查点是字符常量。

C中的字符常量是用单引号(即撇号)括起来的一个字符。如'a’、'x'、'D’、’?’、'$ ' 等都是字符常量。除了以上形式的字符常量外,C还允许用种特殊形式的字符常量, 就是以一个“\“开头的字符序列。 ’\ddd ' 表示1到3位8进制数所代表的字符,不足3位就在前面加0;’\xhh' 表示1到2位16进制数所代表的字符。而a=' \ ' 和c=' \0xab’是不正确的。

故本题答案为D。

6.转义字符常量是以一个反斜线开头后跟一个特定的字符,用来代表某个特定的ASCII字符,反斜线后直接跟数字表示八进制(八进制不用0开头)。

反斜杠后的十六进制数可以有小写字母x开头,不允许大写字母X,也不允许0x开头。

7.C语言中,没有字符串类型的常量和变量,只有字符型的常量和变量,我们可以通过定义字符型的数组和指针来得到字符串。

对于字符的比较,不可以用关系运算符,只能用字符串比较函数strcmp( )进行比较。字符串比较函数的比较规则是对两个字符串从左至右逐个字符比较,直到出现不同的字符或遇到' \0 '为止,对两个字符串并没有长度的限制。

无任何字符的字符串叫空串,用""表示空串的长度为零,它小于一切非空字符串。

8.两个连续的双引号,""也是一个字符串常量,称为空串,但要占用一个字符的存储空间来存放' \0 '。

9.在c语言中,转义字符' \0 '对应的ASCII码值为0,数字字符' 0 '对应的ASCII码值为48。

10.在c语言中没有转义字符' \c ',' \a '代表响铃,' \b'代表退格符,' \r '代表回车符。

11.在c语言中,不能用字符串常量对字符数组名进行整体赋值操作。

12.表达式9+' 0 '值是字符9的ASCII码。

13.语句printf ("%d\n”, str1en(" \t\“\nY' \065\08AB")),的输出结果是____。

A.7  B.8  C.9  D.6

本题的考查点是转义字符和str1en函数。

转义字符总是以一个反斜线开头后跟一个特定的字符,其中“\”后可跟1~3位八进制数或在“\”后跟字母x及1~2位十六进制数,用来代表某一个特定的ASCII字符。Strlen(s)计算出以s为起始地址的字符串的长度,并作为函数值返回。这一长度不包括串尾的结束标志\0'。所以只需计算ht、丫、小\n、Y、\065这些字符常量的长度之和,\08AB不符合要求。 每个转义字符代表一一个字符,所以输出长度为6。

故本题答案为D。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值