【计算机类职业资格】国家二级(C语言)机试模拟试卷153及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷153及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷153及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 153及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.算法的空间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数2.对于循环队列,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(分数:2.00)A.循
2、环队列B.栈C.队列D.二叉树4.下列选项中不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装B.自顶向下C.模块化D.逐步求精5.面向对象方法中,继承是指( )。(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制6.以下叙述中正确的是( )。(分数:2.00)A.程序设计的任务就是编写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上三种说法都不完整7.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.可行性分析报告B.软件需求
3、规格说明书C.概要设计说明书D.集成测试计划8.软件详细设计产生的图如下: (分数:2.00)A.N-S图B.PAD图C.程序流程图D.E-R图9.在黑盒测试方法中,设计测试用例的主要依据是( )。(分数:2.00)A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序程序流程10.有三个关系 R,S 和 T如下: (分数:2.00)A.选择B.投影C.交D.并11.下面是有关 C语言字符数组的描述,其中错误的是( )。(分数:2.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串12.计算机
4、能直接执行的程序是( )。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序13.以下选项中,能用作用户标识符的是( )。(分数:2.00)A.voidB.8_8C._0_D.unsigned14.若有以下程序段: int r=8; printf(“dn“,r1); 输出结果是( )。(分数:2.00)A.16B.8C.4D.215.有以下定义语句,编译时会出现编译错误的是( )。(分数:2.00)A.char a=aB.char a=n;C.char a=aa;D.char a=x2d16.有以下程序: #includestdioh main() char c1,c2; c1
5、=A+8一4; c2=A+8一5; printf(“c dn“,c1,c2); 已知字母 A的 ASCII码为 65,程序运行后的输出结果是( )。(分数:2.00)A.E 68B.D 69C.E DD.输出无定值17.有如下语句: k=ab?(bc?1:0):0;, 以下程序段中,与上述语句功能相同的是( )。(分数:2.00)A.if(ab)&(bc)k=1; else k=0;B.if(ab)(bc),k=1; else k=0;C.if(a=b)k=0; else if(b=c)k=1;D.if(ab)k=1; else if(bc)k=1; else k=0;18.设有定义:int
6、a=1,b=2,c=3;,以下语句中执行效果与其他三个不同的是( )。(分数:2.00)A.if(ab)c=a,a=b,b=c;B.if(ab)c=a,a=b,b=cC.if(ab)c=a;a=b;b=c;D.if(ab)c=a;a=b;b=c19.有以下程序: #includestdioh main() int n=2,k=0; while(k+&n+2); printf(“d dn“,k,n); 程序运行后的输出结果是( )。(分数:2.00)A.0 2B.1 3C.5 7D.1 220.以下函数中,findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能
7、。 #define MIN 一 2147483647 int findmax(int x,int n) int i,max; for(i=0;in;i+) max=MIN; if(maxxi)max=xi; return max; 造成错误的原因是( )。(分数:2.00)A.定义语句 int i,max;中 max未赋初值B.赋值语句 max=MIN;中,不应给 max赋 MIN值C.语句 if(maxxi)max=xi;中判断条件设置错误D.赋值语句 max=MIN;放错了位置21.有以下程序: #includestdioh main() int a=2,3,5,4),i; for(i=0
8、;i4;i+) switch(i2) case 0:switch(ai2) case 0:ai+;break; case 1:ai一一; break; case 1:ai=0; for(i=0;i4;i+) printf(“d“,ai); printf(“n“); 程序运行后的输出结果是( )。(分数:2.00)A.3344B.2050C.3040D.030422.下列函数的功能是( )。 fun(char *a,char *b) while(*b= *a)!=0 a+;b+; (分数:2.00)A.将 a所指字符串赋给 b所指空间B.使指针 b指向 a所指字符串C.将 a所指字符串和 b所指
9、字符串进行比较D.检查 a和 b所指字符串中是否有023.有以下程序: #includestdioh main() int case;float printF; printf(“请输入 2个数:“); scanf(“d f“,&case,&printF); printf(“d fn“,case,printF); 该程序编译时产生错误,其出错原因是( )。(分数:2.00)A.定义语句出错,case 是关键字,不能用作用户自定义标识符B.定义语句出错,printF 不能用作用户自定义标识符C.定义语句无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 case的值24
10、.有以下程序: #includestdioh main() int c=0,k; for(k=1;k3;k+) switch(k) default:c+=k; case 2:c+;break; case 4:c+=2;break; printf(“dn“,c); 程序运行后的输出结果是( )。(分数:2.00)A.3B.5C.7D.925.设有定义:char *c;,以下选项中能够使字符型指针 c正确指向一个字符串的是( )。(分数:2.00)A.char str=“string“;c=str;B.scanf(“s“,c);C.c=getchar():D.*c=“string“;26.有以下程
11、序: #includestdioh #includestringh main() char a10=“abcd“; printf(“d,dn“,strlen(a),sizeof(a); 程序运行后的输出结果是( )。(分数:2.00)A.7,4B.4,10C.8,8D.10,1027.有以下程序: #includestdioh main() char s=“012xy“;int i,n=0; for(i=0;si!=0;i+) if(si=a&si=z) n+; printf(“dn“,n); 程序运行后的输出结果是( )。(分数:2.00)A.0B.2C.3D.528.若有定义语句:int
12、a410,*p,*q4;且 0i4,则错误的赋值是( )。(分数:2.00)A.p=aB.qi=aiC.p=aiD.p=a2129.有以下程序: #includestdioh #includestringh main() char str20=“One *World“,“One*Dream!“),*p=str1; printf(“d,“,strlen(p); printf(“sn“,p); 程序运行后的输出结果是( )。(分数:2.00)A.9,One*WorldB.9,One*Dream!C.10,One*Dream!D.10,One*World30.有以下程序:#includestdioh
13、void fun(int p) int d=2; p=d+; printf(“d“,p);main() int a=1: fun(a); printf(“dn“,a);程序运行后的输出结果是( )。(分数:2.00)A.32B.12C.21D.2231.有以下程序:#includestdiohint f(int n) static int a=1: n+=a+; return n;main() int a=3,s; s=f(a);s=s+f(a); printf(“dn“,s); 程序运行以后的输出结果是( )。(分数:2.00)A.7B.8C.9D.1032.设有定义:double a10,
14、*s=a;,以下能够代表数组元素 a3的是( )。(分数:2.00)A.(*s)3B.*(s+3)C.*s3D.*s+333.下列关于 return语句的叙述中,正确的是( )。(分数:2.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句C.定义成 void类型的函数中可以有带返回值的 return语句D.没有 return语句的自定义函数在执行结束时不能返回到调用处34.在源程序的开始处加上“#includestdioh”进行文件引用的原因,以下叙述正确的是( )。(分数:2.00)A.stdio文件中包含标准输入输出函数的
15、函数说明,通过引用此文件以便能正确使用 printf、scanf 等函数B.将 stdioh 中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行C.将 stdioh 中标准输入输出函数的源程序插入到引用处,以便进行编译链接D.将 stdioh 中标准输入输出函数的二进制代码插入到引用处,以便进行编译链接35.设有以下函数: void fun(int n,char*s) 则下面对函数指针的定义和赋值均是正确的是( )。(分数:2.00)A.void(*pf)();pf=fun;B.void *pf();pf=fun;C.void *pf();*pf=fun;D.void(*pf)(i
16、nt char);pf=&fun;36.有以下程序: #includestdioh main() int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(“d,d,d,dn“,m,n,*p,*q); 程序运行后的输出结果是( )。(分数:2.00)A.1,2,1,2B.1,2,2,1C.2,1,2,1D.2,1,1,237.有以下程序: #includestdioh #define f(x)x*x*x main() int a=3,s,t; s=f(a+1); t=f(a+1); printf(“d,dn“,s,t); 程序运行后的输出结果是( )。(分
17、数:2.00)A.10,64B.10,10C.64,10D.64,6438.下面结构体的定义语句中,错误的是( )。(分数:2.00)A.struct ordint x;int y;int z;structord a;B.struct ordint x;int y;int z;structord a;C.struct ordint x;int y;int z;a;D.structint x;int y;int z;a;39.有以下程序: #includestdioh #includestringh struct A int a;char b10;double c; ;struct A f(st
18、ruct A t); main() struct A a=1001,“ZhangDa“,10980; a=f(a); printf(“d,s,61fn“,aa,ab,ac); struct A f(struct A t) ta=1002; strcpy(tb,“ChangRong“); tc=12020; return t; 程序运行后的输出结果是( )。(分数:2.00)A.1001,ZhangDa,10980B.1002,ZhangDa,12020C.1001,ChangRong,10980D.1002,ChangRong,1202040.以下叙述中正确的是( )。(分数:2.00)A.当
19、对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1个数据D.C语言中的文件是流式文件,因此只能顺序存取数据二、程序填空题(总题数:1,分数:2.00)41.下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序: #
20、includestdioh #includestdlibh #define N 8 typedef struct list int data; struct list*next; SLIST; void fun(SLIST *h) SLIST *p,*q; p=h 一next; if(p!=NULL) q=p一next; while(q!=NULL) if(p 一data=q 一data) p 一next=q 一next; *found* free(【1】); *found* q=p 一【2】; else p=q; *found* q=q 一【3】; SLIST *creatlist(int
21、*a) SLIST *h,*p,*q;int i; h=p=(SLIST *)malloc(sizeof(SLIST); for(i=0;iN;i+) q=(SLIST *)malloc(sizeof(SLIST); q 一data=ai;p 一next=q;p=q; p 一next=0; return h; void outlist(SLIST *h) SLIST *p; p=h 一next; if(p=NULL) printf(“The list is NULL!n“);else printf(“nHead“); do printf(“一d“,p 一data); p=p 一next; wh
22、ile(p!=NULL);printf(“一Endn“); main() SLIST *head; int aN=1,2,2,3,4,4,4,5; head=creatlist(a); printf(“The list before deleting:n“); outlist(head); fun(head); printf(“The list after deleting:n“); outlist(head); (分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中,函数 fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若 num1和 n
23、um2分别为 49和 21,则输出的最大公约数为 7;若 num1和 num2分别为 27和 81,则输出的最大公约数为 27。 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdioh int fun(int aint b) int r,t; if(ab) *found* t=a;b=a;a=t; r=ab; while(r!=0) a=b;b=r;r=ab; *found* return(a); main() int num1,num2,a; printf(“Input num
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 153 答案 解析 DOC
