C语言中11 00等于多少,国家二级C语言机试函数和数组模拟试卷11(11页)-原创力文档...

国家二级C语言机试(函数和数组)模拟试卷11

(总分:52.00,做题时间:90分钟)

一、 选择题(总题数:26,分数:52.00)

1.下列叙述中正确的是

(分数:2.00)

A.两个连续的单引号()是合法的字符常量

B.可以对字符串进行关系运算

C.两个连续的双引号(\)是合法的字符串常量 √

D.空字符串不占用内存,其内存空间大小是0

解析:解析:两个连续的双引号:\,是一个字符串常量,称为“空串”。

2.以下选项中,能正确进行字符串赋值的是

(分数:2.00)

A.char s[5]={'A','B','C','D','E'};

?档牡猪尽??居; √

C.char s[4][5]={ABCDE};

D.char*s;gets(s);

解析:解析:对于选项A)字符串中无法存放字符串结束标志'\0',选项C)每行仅仅存放5个字符,同样的不能存放字符串结束标志,选项D)中指针变量s没有实际的内存空间,无法存放输入的字符串。因此正确的选项为B),相当于char*s:????,把字符串常量的首地址存放到指针变量中存储。

3.有以下程序 #include<stdio.h> int fun(char s[]){char*p=s; while(*P!=0)p++; return(p-s);}

慭湩?灻楲瑮?%d\屮,fun(;}程序运行后的输出结果是

(分数:2.00)

A.6

B.7 √

C.1

D.0

解析:解析:函数fun的主要功能是计算字符串中实际字符的个数,因此主函数中调用fun得到结果为7。

4.若有以下程序段挠慨?瑳孲崴?崲笽慜屡,扜扢,”ccccc,d},*strp[4]; int i: for(i=0;i<4;i++)strp[i]=str[i];不能正确引用字符串的选项是

(分数:2.00)

A.strp √

B.str[0]

C.strp[3]

D.*strp

解析:解析:程序段中定义指针数组*strp,含有4个元素,for循环strp分别保存了二维数组str中的4个字符串的首地址,因此strp为二级地址,不能保存字符串的首地址,*strp或者strp[0]中存放了字符串慜屡的首地址。所以不能正确引用字符串的为选项A)。

5.以下叙述中正确的是

(分数:2.00)

A.下面的语句用赋初值方式来定义字符串,其中,“'\?岯是必须的char str1[]={'s','t','r','1','\0');

B.有定义语句:档牡猠牴嬱?獜牴就;,数组str1将包含4个元素 √

C.字符串常量“str1”的类型是:字符串数据类型

D.字符数组的每个元素可存放一个字符,并且最后一个元素必须是“'\0'”字符

解析:解析:选项B)中除了字符串中实际字符之外,还要存储字符串结束标志,应为5个元素。在c语言中没有字符串数据类型,因此选项C)不正确,选项D)字符数组不一定必须存放字符串,因此没有规定最后 一个元素为字符串结束标志。.

6.以下叙述中正确的是

(分数:2.00)

?档牡挠孡崳??屻屁,?层,CCC};是不合语法的

B.字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组 √

?档牡挠孡孝崵笽?,?层,CCC};是不合语法的

?档牡挪孡崳笽?,?层,CCC};是不合语法的

解析:解析:字符串数组,也就是二维字符数组,其中每个元素为一个字符串,选项B)的说法正确。选项A)和C)对于ca的定义是正确的。选项D)定义一个指针数组,可以保存多个字符串的首地址。

7.以下叙述中正确的是

(分数:2.00)

A.函数调用“strlen(s);”会返回字符串s实际占用内存的大小(以字节为单位)

B.两个字符串可以用关系运算符进行大小比较

C.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和

D.C语言本身没有提供对字符串进行整体操作的运算符 √

解析:解析:C语言中没有运算符可以处理字符串,要调用“string”库中的函数来处理字符串,其中strlen函数主要测试字符串中实际字符的个数,比实际占用的内存至少要少一个。Strcat(s1,s2)函数用于连接两个字符串,是把字符串s2连接到s1的后面。

8.以下叙述中正确的是

(分数:2.00)

A.不能用字符串常量对字符数组名进行整体赋值操作 √

B.字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素

C.“char str[7]=”string!”;”在语法上是合法的,运行也是安全的

D.“char*str;瑳??汥潬;”与“char str[];瑳??汥潬;”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值