【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷11及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷11及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(函数和数组)模拟试卷11及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数和数组)模拟试卷 11及答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.下列叙述中正确的是(分数:2.00)A.两个连续的单引号(“)是合法的字符常量B.可以对字符串进行关系运算C.两个连续的双引号(“)是合法的字符串常量D.空字符串不占用内存,其内存空间大小是 02.以下选项中,能正确进行字符串赋值的是(分数:2.00)A.char s5=A,B,C,D,E;B.char*s=“ABCDE“;C.char s45=“ABCDE“;D.char*s;gets(s);3.有以下程序 #includestdioh int
2、fun(char s)char*p=s; while(*P!=0)p+; return(p-s); main()printf(“dn“,fun(“0ABCDEF“);程序运行后的输出结果是(分数:2.00)A.6B.7C.1D.04.若有以下程序段 char str412=“aa“,“bbb“,”ccccc“,“d“,*strp4; int i: for(i=0;i4;i+)strpi=stri;不能正确引用字符串的选项是(分数:2.00)A.strpB.str0C.strp3D.*strp5.以下叙述中正确的是(分数:2.00)A.下面的语句用赋初值方式来定义字符串,其中,“0“是必须的 c
3、har str1=s,t,r,1,0);B.有定义语句:char str1=“str1“;,数组 str1将包含 4个元素C.字符串常量“str1”的类型是:字符串数据类型D.字符数组的每个元素可存放一个字符,并且最后一个元素必须是“0”字符6.以下叙述中正确的是(分数:2.00)A.char ca35=“A“,“BB“,“CCC“;是不合语法的B.字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组C.char ca5=“A“,“BB“,“CCC“;是不合语法的D.char*ca3=“A“,“BB“,“CCC“;是不合语法的7.以下叙述中正确的是(分数:2.00)A.函数调用“str
4、len(s);”会返回字符串 s实际占用内存的大小(以字节为单位)B.两个字符串可以用关系运算符进行大小比较C.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和D.C语言本身没有提供对字符串进行整体操作的运算符8.以下叙述中正确的是(分数:2.00)A.不能用字符串常量对字符数组名进行整体赋值操作B.字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有 5个元素C.“char str7=”string!”;”在语法上是合法的,运行也是安全的D.“char*str;str=“Hello“;”与“char str;str=“Hello“;”效果是一样的9.以下叙述中正确
5、的是(分数:2.00)A.语句“char str10=“string!“;”和“char str10=“string!“;”并不等价B.对于一维字符数组,不能使用字符串常量来赋初值C.对于字符串常量“string!“,系统已自动在最后加入了“0”字符,表示串结尾D.在语句 char str=“string!“;中,数组 str的大小等于字符串的长度10.设有定义 char str=“Hello“;则语句 printf(“dd“,sizeof(str),strlen(str);的输出结果是(分数:2.00)A.6 6B.6 5C.5 5D.5 611.设有定义语句: char*aa2=“abcd
6、“,“ABCD“;则以下叙述正确的是(分数:2.00)A.aa数组的两个元素只能存放含有 4个字符的一维数组的首地址B.aa数组的值分别是字符串“abcd“和“ABCD“C.aa是指针变量,它指向含有两个元素的字符型数组D.aa0存放了字符串“abcd“的首地址12.以下选项中,没有编译错误的是(分数:2.00)A.char str3=d,e,b,u,g,0;B.char strl5=“pass“,str26;str2=str1;C.char name10;name=“china“;D.char str4;str4=“hello world“;13.有以下程序 main() char a510
7、=“one“,“two“,“three“,“four“,“five“; int i,j; char t: for(i=0;i4;i+) for(j=i+1;j5;j+) if(ai0aj0) t=ai0;ai0=aj0;aj0=t; puts(a1); 程序运行后的输出结果是(分数:2.00)A.fwoB.owoC.twoD.fix14.设有定义: char s81;int i=0;以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是(分数:2.00)A.while(si+=getchar()!=n);si=0;B.scanf(“s“,s);C.gets(s);D.do
8、scanf(“c“,&si);while(si+!=n);si=0;15.设有定义: char p=1,2,3),*q=p;以下不能计算出一个 char型数据所占字节数的表达式是(分数:2.00)A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p0)16.有以下程序 #includestdioh #includestringh void main() char str20=“One*World“,“One*Dream!“,*p=str1; printf(“d,“,strlen(p); printf(“sn“,p);程序运行后的输出结果是(分数:2.0
9、0)A.9,One*Dream!B.10,One*Dream!C.9,One*WorldD.10,One*World17.有以下程序 #includestdioh void main() char s=“012xy08s34f4w2“; int i,n=0; for(i=0;si!=0;i+) if(si=0&si=9)n+; printf(“dn“,n);程序运行后的输出结果是(分数:2.00)A.0B.7C.3D.818.以下不能将 s所指字符串正确复制到 t所指存储空间的是(分数:2.00)A.for(i=0;ti=si;i+);B.while(*t=*s)t+;s+;C.for(i=0
10、,j=0;ti+=sj+;);D.do*t+=*s+;while(*s);19.下列语句组中,正确的是(分数:2.00)A.char*s;s=“Olympic“;B.char s7;s=“Olympic“;C.char*s;s=“Olympic“);D.char s7;s=“Olympic“;20.有以下程序 main() char ch=“uvwxyz“,*pc; pc=ch;printf(“cn“,*(pc+5); 程序运行后的输出结果是(分数:2.00)A.0B.元素 ch5的地址C.zD.字符 y的地址21.有以下程序 #includestdioh void main() char s
11、=“012xy“;int i,n=0; for(i=0;si!=0;i+) if(si=a&si=z)n+; printf(“dn“,n);程序运行后的输出结果是(分数:2.00)A.0B.3C.5D.222.以下能正确定义字符串的语句是(分数:2.00)A.char str=“x43“;B.char str=“0“;C.char str=“;D.char str=064;23.以下关于字符串的叙述中正确的是(分数:2.00)A.两个字符串中的字符个数相同时才能进行字符串大小的比较B.可以用关系运算符对字符串的大小进行比较C.空串比空格打头的字符串小D.C语言中有字符串类型的常量和变量24.若
12、要求从键盘读入含有空格字符的字符串,应使用函数(分数:2.00)A.getc()B.gets()C.getchar()D.scanf()25.有以下程序,执行后的结果是 #includestdioh main() char s=“abcde“; s+=2; printf(“dn“,s0); (分数:2.00)A.输出字符 C的 ASCII码B.输出字符 cC.输出字符 a的 ASCII码D.程序出错26.有下列程序,程序执行后的输出结果是 fun(char P10) int n=0,i; for(i=0;i7;i+) if(pi0=T)n+; return n; main()char str1
13、0=“Mon“,“Tue“,“Wed“,“Thu“,“Fri“,“Sat,“Sun“; printf(“dn“,fun(str) ;(分数:2.00)A.1B.3C.0D.2国家二级 C语言机试(函数和数组)模拟试卷 11答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.下列叙述中正确的是(分数:2.00)A.两个连续的单引号(“)是合法的字符常量B.可以对字符串进行关系运算C.两个连续的双引号(“)是合法的字符串常量 D.空字符串不占用内存,其内存空间大小是 0解析:解析:两个连续的双引号:“,是一个字符串常量,称为“空串”。2.以下选项中,能
14、正确进行字符串赋值的是(分数:2.00)A.char s5=A,B,C,D,E;B.char*s=“ABCDE“; C.char s45=“ABCDE“;D.char*s;gets(s);解析:解析:对于选项 A)字符串中无法存放字符串结束标志0,选项 C)每行仅仅存放 5个字符,同样的不能存放字符串结束标志,选项 D)中指针变量 s没有实际的内存空间,无法存放输入的字符串。因此正确的选项为 B),相当于 char*s:s=“ABCDE“,把字符串常量的首地址存放到指针变量中存储。3.有以下程序 #includestdioh int fun(char s)char*p=s; while(*P!
15、=0)p+; return(p-s); main()printf(“dn“,fun(“0ABCDEF“);程序运行后的输出结果是(分数:2.00)A.6B.7 C.1D.0解析:解析:函数 fun的主要功能是计算字符串中实际字符的个数,因此主函数中调用 fun得到结果为7。4.若有以下程序段 char str412=“aa“,“bbb“,”ccccc“,“d“,*strp4; int i: for(i=0;i4;i+)strpi=stri;不能正确引用字符串的选项是(分数:2.00)A.strp B.str0C.strp3D.*strp解析:解析:程序段中定义指针数组*strp,含有 4个元素
16、,for 循环 strp分别保存了二维数组 str中的4个字符串的首地址,因此 strp为二级地址,不能保存字符串的首地址,*strp 或者 strp0中存放了字符串“aa“的首地址。所以不能正确引用字符串的为选项 A)。5.以下叙述中正确的是(分数:2.00)A.下面的语句用赋初值方式来定义字符串,其中,“0“是必须的 char str1=s,t,r,1,0);B.有定义语句:char str1=“str1“;,数组 str1将包含 4个元素 C.字符串常量“str1”的类型是:字符串数据类型D.字符数组的每个元素可存放一个字符,并且最后一个元素必须是“0”字符解析:解析:选项 B)中除了字
17、符串中实际字符之外,还要存储字符串结束标志,应为 5个元素。在 c语言中没有字符串数据类型,因此选项 C)不正确,选项 D)字符数组不一定必须存放字符串,因此没有规定最后一个元素为字符串结束标志。6.以下叙述中正确的是(分数:2.00)A.char ca35=“A“,“BB“,“CCC“;是不合语法的B.字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组 C.char ca5=“A“,“BB“,“CCC“;是不合语法的D.char*ca3=“A“,“BB“,“CCC“;是不合语法的解析:解析:字符串数组,也就是二维字符数组,其中每个元素为一个字符串,选项 B)的说法正确。选项 A)和
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 函数 数组 模拟 试卷 11 答案 解析 DOC
