【计算机类职业资格】二级C语言-174及答案解析.doc
《【计算机类职业资格】二级C语言-174及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-174及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-174 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:51,分数:100.00)1.下面函数的功能是_。 sss(s,t) char*s,*t; while(*s) return(*s-*t); (分数:2.00)A.将字符串 s 复制到字符串 t 中B.比较两个字符串的大小C.求字符串的长度D.将字符串 s 接续到字符串 t 中2.下面能正确进行字符串赋值的是_。(分数:2.00)A.char s5=“ABCDE“);B.char s5=“A“,“B“,“C“,“D“,“E“;C.char*s;s=“ABCDE“;D.char*s;printf(“
2、%s“,s);3.字符串“/“ABCDEF“/”的长度是_。(分数:2.00)A.15B.10C.7D.84.若有 char s34=“AAA“,“BBB“,“CCC“;说明语句,则与它等价的语句是_。(分数:2.00)A.char*s=“AAA“,“BBB“,“CCC“;B.char*s3=“AAA“,“BBB“,“CCC“;C.char s5=“AAA“,“BBB“,“CCC“;D.char s4=“AAA“,“BBB“,“CCC“;5.已知 char*s,下面正确的语句是_。(分数:2.00)A.s=“ABCDEF“;B.*s=“ABCDEF“;C.*s=“ABCDEF“;D.*s=“A
3、“;6.若有以下说明,则_不是对 strcpy 库函数的正确的调用。strcpy 库函数用于复制一个字符串:char*strl=“abcd“,str210,*str3=“hijklmn“,*str42,*str5=“aaaa“;(分数:2.00)A.strcpy(str2,str1)B.strcpy(str3,str1)C.strcpy(str4,str1)D.strcpy(str5,str1)7.下面的程序用来输出两个字符串前 7 个字符中对应相等的字符及其位置号,程序空白处应该填写的是_。 #includestdio.h main() char s1=“chinese“,s2=“japne
4、se“; int i; for(i=0;s1i!=“/0“i+) if(s1i=s2i (分数:2.00)A.putchar(s2i);putcha(i)B.puts(sli,i)C.printf(“%c%d/n“,s2i,i)D.printf(“%c“,s1i);printf(“%d/n“,i)8.若已包括头文件stdio.h和string.h,运行下面程序段时输出结果是_。 int i=0; char s110=“ABCD“,s210=“EFG“; strcat(s1,s2); while(s2i+!=“/0“) s2i=s1i; puts(s2);(分数:2.00)A.ABCB.ABCD
5、EFC.EBCDEFGD.CBD9.下面各语句行中,能正确进行赋值字符串操作的是_。(分数:2.00)A.char s5=“a“,“b“,“c“,“d,“,“e“;B.char*s;gets(s);C.char*s;*s*=“ABCDEF“;D.char s5;scanf(“%s“,10.若二维数组 a 有 m 列,则在 aij前的元素个数为_。(分数:2.00)A.i*m+j-1B.i*m+jC.j*m+iD.i*m+j+111.若输入 bcdefgh、m、abcdefg,以下程序的输出结果为_。 #includestdio.h #includestring.h main() int i;
6、char string20,str320; for(i=0;i3;i+)gets(stri); if(strcmp(str0,str1)0) strcpy(string,str0); else strcpy(string,str1); if(strcmp(str2,string)0) strcpy(string,str2); pfintf(“%s“,string); (分数:2.00)A.bcdefghBmC.abcdefgD.bcdefgh 或 abcdefg12.若已包括头文件stdio.h和string.h,运行下面程序段时输出结果是_。 int i=0; char s110=“ABCD
7、“,s210=“EFG“; strcat(s1,s2); while(s2i+!=“/0“) s2i=s1i; puts(s2);(分数:2.00)A.ABCB.ABCDEFC.EBCDEFGD.CBD13.对下述程序的判断中,正确的是_。 #includestdio.h void main() char *p,s256; p=s; while(strcmp(s,“the end“) printf(“Input the string:“); gets(s); while(*p) putchar(*p+); (分数:2.00)A.此程序循环接收字符串并输出,直到接收到字符串“the end”为止
8、B.此程序循环接收字符串,接收到字符串“the end”则输出,否则程序终止C.此程序循环接收字符串并输出,直到接收字符串“the end”为止,但因为代码有错误,程序不能正常工作D.此程序循环接收字符串并将其连接在一起,直到接收字符串“the end”为止,输出连接在一起的字符串14.若已包括头文件stdio.h和string.h,运行下面程序的输出结果是_。 char s110=“12345“,s210=“089“,s3=“67“; strcat(strcpy(s1,s2),s3); puts(s1);(分数:2.00)A.08967B.0894567C.089567D.08956715.
9、设已执行预编译命令#includestring.h,以下程序段的输出结果是_。 char s=“abcdefg“; printf(“%d/n“,strlen(s);(分数:2.00)A.7B.8C.9D.1016.下述程序的输出结果是_。 #includestdio.h main() char a=“a“,“b“,“c“,“d“,“e“,“f“,“/0“; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%d“,i,j); (分数:2.00)A.7,7B.7,6C.6,6D.6,717.下面程序的输出是_。 #includestdio.h #incl
10、udestring.h main() char p1=“WHO“,p2=“who“,str50=“xyz“; strcpy(str+1,strcat(p1,p2); printf(“%s“,str); (分数:2.00)A.xyzWHOwhoB.zWHOwhoC.zWHOwhoD.xWHOwho18.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 inti,现要将字符串“ABCDE“赋给 s1,下述语句错误的是_。(分数:2.00)A.strcpy(s1,s2);B.strcpy(s1,“ABCDE“);C.s1=“ABCDE“;D.for(i=0;i6;
11、i+)s1i=s2i;19.下面各语句行中,不能正确进行操作的语句或声明是_。(分数:2.00)A.char st45=“ABCDE“;B.char s5=“A“,“B“,“C“,“D“,“E“;C.char*s;s=“ABCDE“;D.char*s; scanf(“%s“,s);20.下面各语句行中,不能正确进行操作的语句或声明是_。(分数:2.00)A.char str14;str=“I love you!“;B.char*a=“I love you!“;C.char*a;a=“I love you!“;D.char str14=“I love you!“;21.设有说明语句:chara=
12、“/72“;则变量 a_。(分数:2.00)A.包含 1 个字符B.包含 2 个字符C.包含 3 个字符D.说明不合法22.已知有声明“char a6,*p=a;”,现需要在程序运行过程中将字符串“Hello“保存到 a 数组中,则下列选项中能正确完成此操作的表达式是_。(分数:2.00)A.a6=“Hello“B.a=“Hello“C.p=“Hello“D.strcpy(a,“Hello“)23.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是_。(分数:2.00)A.char s10=“abcdefg“;B.char t=“abcdefg“,*s=t;C.char s10;s=“
13、abcdefg“;D.char s10;strcpy(s,“abcdefg“);24.若有数组 A 和 B 的声明“static char A=“ABCDEF“,B=“A“,“B“,“c“,“D“,“E“,“F“;”,则数组A 和数组 B 的长度分别是_。(分数:2.00)A.7,6B.6,7C.6,6D.7,725.有以下程序: main() char S=“/065/t/xe4/n“; printf(%d,%d/n“,strlen(s),sizeof(s); 执行后输出结果是_。(分数:2.00)A.赋初值的字符串有错B.6,7C.5,6D.6,626.函数调用:strcat(strcpy
14、(s1,s2),s3)的功能是_。(分数:2.00)A.将串 s1 复制到串 s2 中后再连接到串 s3 之后B.将串 s1 连接到串 s2 中后再复制到串 s3 之后C.将串 s2 复制到串 s1 中后再将串 s3 连接到 s1 之后D.将串 s2 连接到串 s1 中后再将串 s1 复制到 s3 中27.已知有预处理命令“#includestdio.h”和声明“char s10=“Thank you“;int i;”,要求输出字符串“Thank you”,以下选项中不能达到该要求的语句是_。(分数:2.00)A.puts(s);B.printf(“%s“,s10);C.for(i=0;Si!
15、=“/0“;i+)printf(“%c“,si);D.for(i=0;si!=“/0“;i+)putchar(si);28.设有如下程序: #includestdio.h main() char s128=“/0“),*p=s; while(strcmp(s,“END“) gets(s);while(*p)putchar(*p+); gets 函数每次输入一个字符串。以下关于该程序运行时输出结果的叙述中正确的是_。(分数:2.00)A.所有输入的字符串都能被完整输出B.所有输入的字符串都不能被完整输出C.只能完整输出第一个字符串D.只能完整输出最后一个字符串29.下述语句中,可以在字符串 s1
16、 和 s2 不相等时输出“XYZ”的是_。(分数:2.00)A.if(*s1! =*s2)puts(“XYZ“);B.if(!strcmp(s1,s2)puts(“XYZ“);C.if(s1!=s2)puts(“XYZ“);D.if(strcmp(s1,s2)puts(“XYZ“);30.设有如下定义: char*s2=“abed“,“ABCD“); 则以下说法错误的是_。(分数:2.00)A.s 数组元素的值分别是“abed“和“ABCD“两个字符串的首地址B.s 是指针数组名,它含有两个元素分别指向字符型一维数组C.s 数组的两个元素分别存放的是含有 4 个字符的一维字符数组中的元素D.s
17、 数组的两个元素中各自存放了字符“a“和“A“的地址31.有以下程序: #includestdio.h main() char Chr20; scanf(“%s“, printf(“%s/n“,Chr); 运行上面的程序,输入字符串 Microsoft Visual Studio,则程序的执行结果是_。(分数:2.00)A.Microsoft Visual StudioBMC.MicrosoftD.Microsoft Visual Studio32.下列一维数组说明中,不正确的是_。(分数:2.00)A.int N;scanf(“%d“,int bN;B.float a=1,6,6,0,2;C
18、.#define S 10D.int aS+5;33.下列程序的输出结果为_。 main() union un char*name; int age; int pay; )s; s.name=“zhaoming“; s.age=32; s.pay=3000; printf(“%d/n“.s.age); (分数:2.00)A.32B.3000C.0D.不确定34.有以下程序: #includestdio.h main() int a=1,2,3,4),y,*p= -p;y=*p;printf(“y=%d/n“,y); 程序的运行结果是_。(分数:2.00)A.y=0B.y=1C.y=2D.y=3
19、35.以下程序段的输出结果为_。 static char a=“programme“; char*p; p=a; for(p=a;pa+8;p+=2) putchar(*p);(分数:2.00)A.programmeB.pormC.有语法错误D.prog36.下面程序的输出结果是_。 #includestdio.h main() int a=1,2,3,4,5,6,7,8,7,10,*p; p=a; printf(“%d/n“,*p+8); (分数:2.00)A.0B.1C.10D.937.下面程序段的运行结果是_。 #includestdio.h void main() char str=“
20、ABC“,*p=str; printf(“%d/n“,*(p+3); (分数:2.00)A.67B.0C.字符“C“的地址D.字符“C“38.执行下列程序后,输入 456空格789空格123回车,输出结果是_。 #includestdio.h main() char m80; int c,i; scanf(“%d“, scanf(“%c“, scanf(“%s“, printf(“%d,%c,%s/n“,c,i,m); (分数:2.00)A.456,789,123B.456, ,789C.4,5,6D.4,56,78939.下列程序的输出结果是_。 #includestdio.h void f
21、un(int*a,int*b) int *k; k=a;a=b;b=k; main() int a=1,b=2,*x= fun(x,y); printf(“%d%d“,a,b); (分数:2.00)A.2 1B.1 2C.编译出错D.0 040.设有如下定义: struct sk int m; float x; data,*q; 若要使 q 指向 data 中的 m 域,正确的赋值语句是_。(分数:2.00)A.q=B.*q=data.m;C.q=(struct sk*)D.q=(struct sk*)data.m;41.若输入“abcdef”、“abdef”,以下程序的输出结果为_。 #in
22、cludestdio.h #includestring.h main() int n; char s120,s220,*p1,*p2; scanf(“%s“,s1); scanf(“%s“,s2); p1=s1; p2=s2; n=strcmp(p1,p2); printf(“%d/n“,n);)(分数:2.00)A.-1B.0C.“abcdef“D.“abdef“42.若说明 int *p,n;则通过语句 scanf 能够正确读入数据的程序段是_。(分数:2.00)A.p=scanf(“%d“,B.p=scanf(“%d“,*p);C.scanf(“%d“,n);D.p=scanf(“%d“
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 174 答案 解析 DOC
