【计算机类职业资格】国家二级(C语言)机试模拟试卷146及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷146及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷146及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 146 及答案解析(总分: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.叶子结点
2、总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍4.软件生命周期中的活动不包括( )。(分数:2.00)A.市场调研B.需求分析C.软件测试D.软件维护5.某系统总体结构图如下图所示: (分数:2.00)A.7B.6C.3D.26.程序调试的任务是( )。(分数:2.00)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是( )。(分数:2.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建
3、立数据字典8.数据库系统的三级模式不包括( )。(分数:2.00)A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.交C.投影D.并10.下列选项中属于面向对象设计方法主要特征的是( )。(分数:2.00)A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是( )。(分数:2.00)A.算法正确的程序可以有零个输入B.算法正确的程序最终一定会结束C.算法正确的程序可以有零个输出D.算法正确的程序对于相同的输入一定有相同的结果12.以下叙述中正确的是( )。(分数:2.00)A.C 语句必须在一行内写完B.C 程序
4、中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.简单 C 语句必须以分号结束13.以下选项中关于 C 语言常量的叙述错误的是( )。(分数:2.00)A.经常被使用的变量可以定义成常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量14.以下选项中,不合法的 C 语言用户标识符是( )。(分数:2.00)A.a_bB.AaBcC.a-bD._115.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是( )。(分数:2.00)A.x=y=5;B.x=n25;C.x+n=i
5、;D.x=5=4+1;16.设有定义:int a;float b;执行 scanf(“2df“,&a,&b);语句时,若从键盘输入 8765430回车则 a 和 b 的值分别是( )。(分数:2.00)A.87 和 60B.876 和 5430C.87 和 5430D.76 和 543017.有以下定义语句,编译时会出现编译错误的是( )。(分数:2.00)A.char a=x2d;B.char a=n;C.char a=a;D.char a=“aa“;18.当变量 c 的值不为 2、4、6 时,值也为“真“的表达式是( )。(分数:2.00)A.(c=2&c=6)&(c21=1)B.(c=2
6、)|(c=4)|(c=6)C.(c=2&c=6)&!(c2)D.(c=2&c=6)|(c!=3)|(c!=5)19.有以下计算公式 (分数:2.00)A.if(x=0)y=sqrt(x); if(x0)y=sqrt(-x);B.if(x=0)y=sqrt(x); else y=sqrt(-x);C.y=sqrt(x); if(x0)y=sqrt(-x);D.y=sqrt(x=0?x:-x);20.有以下程序:#includestdiohmain()int y=10;while(y-);printf(“y=dn“,y);程序执行后的输出结果是( )。(分数:2.00)A.y=-1B.y=0C.y
7、=1D.while 构成无限循环21.有以下程序:#includestdiohmain()int i;for(i=1;i=40;i+)if(i+5=0)if(+i8=0)printf(“d“,i);printf(“n“);程序执行后的输出结果是( )。(分数:2.00)A.5B.24C.32D.4022.有以下程序:#includestdiohmain()ints;scanf(“d“,&s);while(s0)switch(s)case1:printf(“d“,s+5);case2:printf(“d“,s+4);break;case3:printf(“d“,s+3);default:prin
8、tf(“d“,s+1);break;scanf(“d“,&s);运行时,若输入 1 2 3 4 5 0回车,则输出结果是( )。(分数:2.00)A.66656B.6566456C.66666D.666665623.以下叙述中错误的是( )。(分数:2.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式24.有以下程序:#includestdiohvoid fun(char*c,int
9、 d)*c=*c+1;d=d+1;printf(“c,c,“,*c,d);main()char b=a,a=A;fun(&b,a);printf(“c,cn“,b,a);程序运行后的输出结果是( )。(分数:2.00)A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B25.下列选项中,能正确定义数组的语句是( )。(分数:2.00)A.int num02008;B.int num;C.int N=2008;D.#deftne N2008 int BumN;int BumN;26.以下函数实现按每行 8 个输出 w 所指数组中的数据:#includestdiohvoid f
10、un(int*w,int n)int i;for(i=0;in;i+)_printf(“d“,wi);printf(“n“);在横线处瘦填入的话句是( )。(分数:2.00)A.if(i8=0)printf(“n“);B.if(i8=0)continue;C.if(i8=0)printf(“n“);D.if(i8=0)continue;27.有以下程序:#includestdiohvoid fun(char*c)while(*c)if(*c=a&*c=z)*c=*c-(a-A);e+;main()char s81;gets(s);fun(s);puts(s);当执行程序时从键盘上输入Hello
11、 Beijing回车,则程序运行后的输出结果是( )。(分数:2.00)A.hello beijingB.Hello BeijingC.HELLO BEIJINGD.hELLO Beijing28.有以下程序:#includestdiohmain()int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1;inti,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=J+1;k4;k+)if(ajiaki)t=aji;aji=aki;aki=t;*按列排序*for(i=0;i4;i+)printf(“d,“,aii);程序运行后的输出结果是(
12、)。(分数:2.00)A.1,6,2,1,B.8,7,3,1,C.4,7,5,2,D.1,6,5,7,29.有以下程序(strcat 函数用于连接两个字符串):#includestdioh#includestringhmain()char a20=“ABCD0EFG0“,b=“IJK“;strcat(a,b);printf(“sn“,a);程序运行后的输出结果是( )。(分数:2.00)A.IJKB.ABCDE0FG0IJKC.ABCDIJKD.EFGUK30.有以下程序段:char name20;int nun;scanf(“name=s Bum=d“,name,&num);当执行上述程序段
13、,并从键盘输入:name=Lili num=1001回车后,name 的值为( )。(分数:2.00)A.name=LiliRum=1001B.name=LiliC.Lili Rum=D.Lili31.有以下程序:#includestdiohmain()char ch=“uvwxyz“,*pc;pc=ch;printf(“cn“,*(pc+5);程序运行后的输出结果是( )。(分数:2.00)A.zB.0C.元素 ch5的地址D.字符 y 的地址32.有以下程序:#includestdiohmain()char s=“012xy“;int i,n=0;for(i=0;Si!=0;i+)if(s
14、i=a&si=z)n+;printf(“dn“,n);程序运行后的输出结果是( )。(分数:2.00)A.0B.2C.3D.533.有以下程序:#includestdiohint fun(int n)if(n=1)return1;elsereturn(n+fun(n-1);main()int x;seanf(“d“,&x);x=fun(x);printf(“dn“,x);执行程序时,给变量 x 输入10,程序运行后的输出结果是( )。(分数:2.00)A.55B.54C.65D.4534.有以下程序:#includestdiohint f(int m)static int n=0;n+=m;r
15、eturn n;main()int n=0;printf(“d,“,f(+n);printf(“dn“,f(n+);程序运行后的输出结果是( )。(分数:2.00)A.3,3B.1,1C.2,3D.1,235.设有以下语句:typedef struct TTehar c;int a4;CIN;则下面叙述中正确的是( )。(分数:2.00)A.CIN 是 struct TT 类型的变量B.TT 是 struet 类型的变量C.可以用 TT 定义结构体变量D.可以用 CIN 定义结构体变量36.有以下程序:#includestdiohstruet ordint x,y;dt2=1,2,3,4;ma
16、in()struct ord*p=dt;printf(“d,“,+(p-x);printf(“dn“,+(p-y);程序运行后的输出结果是( )。(分数:2.00)A.3,4B.4,1C.2,3D.1,237.有以下程序:#includestdioh#define SUB(A)(a)-(a)main()int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(“dn“,d);程序运行后的输出结果是( )。(分数:2.00)A.0B.-12C.-20D.1038.有以下程序:#includestdiohmain()int a=2,b;b=a2:printf(“dn“,b);程序
17、运行后的输出结果是( )。(分数:2.00)A.2B.4C.6D.839.下列关于 C 语言文件的叙述中正确的是( )。(分数:2.00)A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件D.文件由字符序列组成,其类型只能是文本文件40.有以下程序:#includestdiohmain()FILE*fp;int a10=1,2,3,0,0,i;fp=fopen(“d2dat“,“wb“);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,f
18、p);felose(fp);fp=fopen(“d2dat“,“rb“);fread(a,sizeof(int),10,fp);felose(fp);for(i=0;i10;i+)printf(“d,“,ai);程序运行后的输出结果是( )。(分数:2.00)A.1,2,3,0,0,0,0,0,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,1,2,3,0,0,二、程序填空题(总题数:1,分数:2.00)41.下列给定程序中,函数 fun 的功能是:将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数
19、字字符串和非数字字符串原有的次序。例如,s 所指的字符串为“dei35adh3kjsdf7”,执行后结果为“defadhajsdt3537”。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1C 中。不得增行或删行,也不得更改程序的结构!#includestdiohvoid fun(char*s)int i,j=0,k=0;char t180,t280;for(i=0;si!=0;i+)if(si=0&si=9)*found*t2j=si;【1】;else t1k+=si;t2j=0;t 1k=0;*found*for(i=0;ik;i+
20、)【2】;*found*for(i=0;i【3】;i+)sk+i=t2i;main()char s80=“ba3a54j7sd567sdffs“;printf(“nThe original string is:sn“,s);fun(8);pfinff(“nThe result is:sn“,s);(分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中函数 fun 的功能是:从整数 10 到 55 之间,查找能被 3 整除且有一位上的数值是 5 的数,把这些数放在 b 所指的数组中,这些数的个数作为函数值返回。规定函数中 a1 放个位数,a2 放十位数。请改正程序中
21、的错误,使它能得出正确的结果。注意:部分源程序在文件 MODI1C 中,不得增行或删行,也不得更改程序的结构!#includestdiohint fun(int*b)int k,a1,a2,i=0;for(k=10;k=55;k+)*found*a2=k10;a1=k-az*10;if(k3=0&a2=5)|(k3=0&a1=5)bi=k;i+;*found*return k;main()int a100,k,m;m=fun(a);printf(“The result is:n“);for(k=0;km;k+)printf(“4d“,ak);printf(“n“);(分数:2.00)_四、程序
22、设计题(总题数:1,分数:2.00)43.请编写函数 fun,其功能是分别统计形参 t 所指二维数组中字母 A 和 C 的个数。注意:部分源程序存在 PROG1C 中,请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序:#includestdioh#includestdlibh#define M14void NONO();void fun(char(*t)M,int*a,int*c)void get(char(*s)M)int i,j;for(i=0;iM;i+)for(j=0;JM;j+)sij=65+rand()12;printf(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 146 答案 解析 DOC
