【计算机类职业资格】国家二级(C语言)机试模拟试卷147及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷147及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷147及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 147及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性2.下列叙述中正确的是( )。(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对3.软件测
2、试的目的是( )。(分数:2.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书5.软件生命周期是指( )。(分数:2.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程6.面向对象方法中,继承是指( )。(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之
3、间共享属性和操作的机制7.层次型、网状型和关系型数据库划分原则是( )。(分数:2.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(分数:2.00)A.一对一B.一对多C.多对多D.多对一9.数据库设计中反映用户对数据要求的模式是( )。(分数:2.00)A.内模式B.概念模式C.外模式D.设计模式10.有三个关系 R、S 和 T如下: (分数:2.00)A.自然连接B.差C.交D.并11.计算机能直接执行的程序是( )。(分数:2.00)A.源程序B.目标程
4、序C.汇编程序D.可执行程序12.以下叙述中正确的是( )。(分数:2.00)A.C语言规定必须用 main作为主函数名,程序将从此开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言程序将从源程序中第一个函数开始执行D.mmn的各种大小写拼写形式都可以作为主函数名,如 MAIN,Main 等13.以下选项中可用做 C程序合法实数的是( )。(分数:2.00)A.30e02B.1eoC.E9D.912E14.下列定义变量的语句中错误的是( )。(分数:2.00)A.int_int;B.double int_;C.char For;D.float US$;15.
5、表达式:(int)(double)92)-92 的值是( )。(分数:2.00)A.0B.3C.4D.516.设变量均已正确定义,若要通过 scanf(“dcdc“,&a1,&c1,&a2,&c2);语句为变量 a1和 a2赋数值 10和 20,为变量 c1和 c2赋字符 X和 Y。以下所示的输入形式中正确的是( )。(注:代表空格字符)(分数:2.00)A.10X回车 20Y回车B.10X20Y回车C.10X回车 20Y回车D.10X20Y回车17.以下选项中不能作为 C语言合法常量的是( )。(分数:2.00)A.01e+6B.cdC.aD.01118.if语句的基本形式是:if(表达式)
6、语句,以下关于“表达式”值的叙述中正确的是( )。(分数:2.00)A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值19.有如下嵌套的 if语句:if(ab)if(ae) k=a;else k=c;elseif(bc)k=b;else k=c;以下选项中与上述 if语句等价的语句是( )。(分数:2.00)A.k=(ab)?(bc)?a:b):(bc)?b:c);B.k=(ab)?(ae)?a:c):(bc)?b:c);C.k=(ab)?a:b;k=(bc)?b:c;D.k=(ab)?a:b;k=(ac)a:c;20.有以下程序:#includestdiohmain()i
7、nt k=5;while(-k)printf(“d“,k-=3);printf(“n“);程序执行后的输出结果是( )。(分数:2.00)A.1B.2C.4D.死循环21.有以下程序:#includestdiohmain()int i,j;for(i-3;i=1;i-)for(j=1;j=2;j+)printf(“d“,i+j);printf(“n“);程序运行后的输出结果是( )。(分数:2.00)A.4 3 2 5 4 3B.4 5 3 4 2 3C.2 3 3 4 4 5D.2 3 3 4 2 322.有以下程序:#includestdiohmain()int k=5,n=0;doswi
8、tch(k)case1:case3:n+=1;k-;break;default:n=0;k-;ease2:case4:n+=2;k-;break;printf(“d“,n);while(k0&n5);程序运行后的输出结果是( )。(分数:2.00)A.02356B.0235C.235D.235623.以下关于 return语句的叙述中正确的是( )。(分数:2.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句C.定义成 void类型的函数中可以有带返回值的 return语句D.没有 return语句的自定义函数在执行结束时不能
9、返回到调用处24.已定义以下函数:int fun(int*p)return*p;fun 函数的返回值是( )。(分数:2.00)A.一个整数B.不确定的值C.形参 P中存放的值D.形参 P的地址值25.以下程序段完全正确的是( )。(分数:2.00)A.int*p;seanf(“d“,&p);B.int*p;searrf(“d“,P);C.int k,*p=&k;seanf(“d“,p);D.int k,*p;*p=&k;seanf(“d“,p);26.设有定义:double a10,*s=a;以下能够代表数组元素 a3的是( )。(分数:2.00)A.(*s)3B.*(s+3)C.*s3D.
10、*s+327.有以下程序:#includestdiohvoid f(int*q)im i=0;for(;i5;i+)(*q)+;main()int a5=1,2,3,4,5,i;f(a);for(i=0;i5;i+)printf(“d,“,ai);程序运行后的输出结果是( )。(分数:2.00)A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,28.有以下程序:#includestdiohint fun(int(*s)4,int n,int k)int m,i;m=s0k;for(i=1;in;i+)if(sikm)m=sik;return m;m
11、ain()int a44=1,2,3,4,11,12,13,14,2l,22,23,24,3l,32,33,34;printf(“dn“,fun(a,4,0);程序运行后的输出结果是( )。(分数:2.00)A.4B.34C.31D.3229.以下选项中正确的语句组是( )。(分数:2.00)A.char*s;s=“BOOK!“;B.char*s;s=“BOOK!“;C.char s10;s=“BOOK!“;D.char s;s=“BOOK!“;30.若有定义语句:char*s1=“OK“,*s2=“ok“;以下选项中,能够输出“OK”的语句是( )。(分数:2.00)A.if(strcmp(
12、s1,s2)!=0)puts(s2);B.if(strcmp(s1,s2)!=0)puts(s1);C.if(strcmp(s1,s2)=1)puts(s1);D.if(strcmp(s1,s2)=0)puts(s1);31.有以下程序:#ineludestdiohvoid fur,(char*p)+p;printf(“sn“,*p);main()char*a=“Morning“,“Afternoon“,“Evening“,“Night“;fun(a);程序运行后的输出结果是( )。(分数:2.00)A.AfternoonB.fternoonC.MorningD.orning32.有以下程序,
13、程序中库函数 islower(ch)用以判断 ch中的字母是否为小写字母:#includestdioh#includectypehvoid fun(char*p)int i=0;while(pi)if(pi=&islower(pi-1)pi-1=pi-1-a+A;i+;main()char s1100=“ab cd EFG!“;fun(s1);printf(“sn“,s1);程序运行后的输出结果是( )。(分数:2.00)A.ab cd EFg!B.Ab Cd EFg!C.ab cd EFG!D.aB cD EFG!33.有以下程序:#includestdiohint f(int x)int
14、y;if(x=0|x=1)return(3);y=x*x-f(x-2);return y;main()int z;z=f(3);printf(“dn“,z);程序运行后的输出结果是( )。(分数:2.00)A.0B.9C.6D.834.有以下程序:#includestdiohint fun(int x,int n)static int sum=0,i;for(i=0;in;i+)sum+=xi;return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(“dn“,s);程序执行后的输出结果是( )。(分数:
15、2.00)A.55B.50C.45D.6035.有以下结构体说明、变量定义和赋值语句:struet STDchar name10;int age;char sex;s5,*ps;ps=&s0;则以下 scaanf函数调用语句有错误的是( )。(分数:2.00)A.seanf(“s“,s0name);B.seanf(“d“,&s0age);C.scanf(“c“,&(ps-sex);D.seanf(“d“,ps-age);36.若有以下语句:typedef struetSint g;char h;T;以下叙述中正确的是( )。(分数:2.00)A.可用 S定义结构体变量B.可用 T定义结构体变量
16、C.S是 struct类型的变量D.T是 struct S类型的变量37.有以下程序:#includestdioh#includestringhstruet Aint a;char b10;double c:;struct A f(struet A t);main()struet A a=1001,“ZhangDa“,10980;a=f(a);printf(“d,s,61fn“,aa,ab,ac);struet A f(struet A t)ta=1002:strcpy(tb,“ChangRong“);tc=12020;return t;程序运行后的输出结果是( )。(分数:2.00)A.10
17、02,ZhangDa,12020B.1002,ChangRong,12020C.1001,ChangRong,10980D.1001,ZhangDa,1098038.设有宏定义:#define IsDIV(k,n)(kn=1)?1:0)且变量 m已正确定义并赋值,则宏调用:IsDIV(m,5)&IsDIV(m,7)为真时所要表达的是( )。(分数:2.00)A.判断 m是否能被 5和 7整除B.判断 m被 5和 7整除是否都余 1C.判断 m被 5或者 7整除是否余 1D.判断 m是否能被 5或者 7整除39.有以下程序:#includestdiohmain()int a=1,b=2,c=3,
18、x;x=(ab)&c;printf(“dn“,x);程序运行后的输出结果是( )。(分数:2.00)A.3B.1C.2D.040.有以下程序:#includestdiohmain()FILE*fp;int k,n,a6=1,2,3,4,5,6;fp=fopen(“d2dat“,“w“);fprintf(fp,“dddn“,a0,a1,a2);fprintf(fp,“dddn“,a3,a4,a5);felose(fp);fp=fopen(“d2dat“,“r“);fscanf(fp,“dd“,&k,&n);printf(“ddn“,k,n);fclose(fp);程序运行后的输出结果是( )。(
19、分数:2.00)A.1 2B.1 4C.123 4D.123 456二、程序填空题(总题数:1,分数:2.00)41.下列给定程序中,函数 fun的功能是:在形参 ss所指字符串数组中查找与形参 t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss 所指字符串数组中共有 N个内容不同的字符串,且串长小于 M。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1C 中。不得增行或删行,也不得更改程序的结构!#includestdioh#includestringh#define N5#define M
20、8int fun(char(*ss)M,char*t)int i;*found*for(i=0;i【1】;i+)*found*if(stremp(ssi,t)=0)return【2】;return-1;main()char chNM=“if“,“while“,“switch“,“int“,“for“,tM;int n,i;printf(“nThe original stringnn“);for(i=0;iN;i+)puts(ehi);printf(“n“);printf(“nEnter a string for search:“);gets(t);n=fun(ch,t);*found*if(n
21、=【3】)printf(“nDont found!n“);else printf(“nThe position isdn“,n);(分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.给定程序 modilc 的主函数中,将 a、b、c 三个结点链成一个单向链表,并给各结点的数据域赋值,函数 fun()的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数 fun中指定部位的错误,使它能得出正确的结果。注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。试题程序:#includestdiohtypedef struet listint data;strue
22、t list*next;LIST;int fun(UST*h)LIST*p;*found*int t;p=h;*found*while(*p)*found*t=t+pdata;p=(*p)next;return t;main()LIST a,b,c,*h;adata=34;bdata=51;cdata=87;Cnext=0;h=&a;a)next=&b;bnext=&c;printf(“总和=dn“,fun(h);(分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.请编写函数 fun,其功能是:判断 t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于 2)。例
23、如字符串:uvwxyz 满足要求;而字符串:uvxwyz 不满足要求。注意:部分源程序存放在PROGlC 中,请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun指定的部位填入所编写的若干语句。试题程序:#includestdioh#includestringhvoid NONO();int fun(char*t)main()char s26;printf(“请输入一个字母组成的字符串:“);gets(s);if(fun(s)printf(“s 是由连续字母组成的字符串n“,s);else pfinff(“s 不是由连续字母组成的字符串!n“,s);NONO();void NONO
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 147 答案 解析 DOC
