【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷141及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 141 及答案解析(总分: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、 2 的节点多 1 个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.在
3、逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典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.关于 C 语言常量的叙述中错误的是( )。(分数:2.00)A.经常被使用的变量可以定义成常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量12.以下
4、关于 C 语言的相关叙述中正确的是( )。(分数:2.00)A.简单 C 语句必须以分号结束B.C 程序中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.C 语句必须在一行内写完13.以下关于算法的叙述中错误的是( )。(分数:2.00)A.算法正确的程序可以有零个输入B.算法正确的程序可以有零个输出C.算法正确的程序最终一定会结束D.算法正确的程序对于相同的输入一定有相同的结果14.关于 C 语言的用户标识符中,不合法的是( )。(分数:2.00)A.a_1B.Xa3cC.A 一一 xD._115.关于 C 语言的赋值语句,合法的是( )。(分数:2.00)A.a=b=
5、1;B.e=n3;C.x+y=u;D.x=2=6+2;16.在使用 scanf(2df,&a,&b);语句并从键盘输入 123 456 后,a 和 b 的值分别是( )。(分数:2.00)A.12 和 30B.123 和 4560C.12 和 4560D.12 和 345 6017.下列 C 语言语句会出现错误的是( )。(分数:2.00)A.char a=123B.char a=n;C.char a=a;D.char =x2d;18.下列表达式的值当变量 c 的值不为 2、4、6 时也为“真”的是( )。(分数:2.00)A.(c=2&c=6)&(c2!=1)B.(c=2)(c=4)(c=6
6、)C.c=2&c=6)&!(c2)D.(c=2&c=6)(c!=3)(c!=5)19.C 语句中不能够正确计算下述公式的程序段是( )f= (分数:2.00)A.if(x=0) f=sqrt(x); if(x0) f=sqrt(x);B.if(x=0) f=sqrt(x); else f=sqrt(x);C.f=sqrt(x) if(x0) f=sqrt(x);D.f=sqrt(x=0?x:x);20.有以下程序: #include main() int m=20; while(m); printf(y=dn,m); 程序执行后的输出结果是( )。(分数:2.00)A.m=1B.m=0C.m=
7、1D.while 构成无限循环21.有以下程序: #include main() int i; for(i=1;i=40;i+) if(i+5=0) if(i+8=0)print(d,i) printf(d,i); 程序执行后的输出结果是( )(分数:2.00)A.17B.24C.32D.1222.有以下程序: #include main() int s; scanf(d,&s); while(s0) switch(s) case 1:printf(d,s+5) case 2:printf(d,s+4);break; case 3:printf(d,s+3); case 4:printf(d,
8、s+2); default:printf(d,s+1);break; scanf(d,&s) 运行时,若输入 123450回车则输出的结果是(分数:2.00)A.6.56655e+008B.6.56646e+006C.6.66665e+006D.6.66666e+00623.关于 return 语句叙述中错误的是( )。(分数:2.00)A.函数的 return 语句中可以没有表达式B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义为 void 类型D.用户定义的函数中可以没有 return 语句24.有
9、以下程序:#includestdiohvoid fun(char *c,int d) *c=*c+1;d=d+1;printf(c,c,*c,d);main()char x=1,y=A;fun(&x,y);printf(c,cn,x,y)(分数:2.00)A.2,B,2,AB.2,B,B,AC.1,B,B,1D.1,B,a,B25.下列选项中,能正确定义数组的语句是( )。(分数:2.00)A.int a010B.int b;C.int N=10; int cN;D.#define N 10 int dN26.以下函数实现按每行 5 个输出 a 所指数组中的数据: #include void
10、fun(int*a,int n) int i; for(i=0;in;i+) printf(d,ai); printf(n); 在横线处应填入的语句是( )。(分数:2.00)A.if(i5=0)printf(n);B.if(i5=0)continue;C.if(i5=0)prinff(n);D.if(i5=0)continue;27.有以下程序: #include void if(char*c) while(*c) if(*c=a&*c=z) *c=*c 一(a一A); c+; main() char s21; gets(s); ff(s); puts(s); 当执行程序时从键盘上输入 He
11、llo World,则程序运行后的输出结果是( )。(分数:2.00)A.hello world;B.Hello WorldC.HELLO WORLDD.hELLO World28.有以下程序:#includestdiohmain()int a44=1,2,3,4,2,4,3,1,1,7,1,5,5,6,7,8;int i,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);程序运行后的输出结果是( )。(分数:2.00
12、)A.1,4,3,8,B.1,7,3,1,C.4,7,5,8,D.1,2,5,4,29.有以下程序(strcat 函数用于连接两个字符串): #nclude #include main() char s20=Welcome0to0,t=Beijing; strcat(s,t); printf(sn,s); 程序运行后的输出结果是( )。(分数:2.00)A.Welcome to BeijingB.Welcome0to0BeijingC.WelcomeBeijingD.Beijing30.有以下程序段: char name20; int Bum; scanf(name=s num=d,name,
13、&hum); 当执行上述程序段,并从键盘输入:name=David num=101 后,name 的值为( )。(分数:2.00)A.name=DavidB.name=David num=101C.DavidD.David Bum=10131.有以下程序: #include main() char ch=12345,*P; p=ch; printf(cn,*(p+3); 程序运行后的输出结果是( )。(分数:2.00)A.2B.3C.4D.一个地址值32.有以下程序: #include main() char s=012abc; int i,n=0; for(i=0;si!=0;i+) if(
14、sia&si=z) n+; printf(dn,n); 程序运行后的输出结果是( )。(分数:2.00)A.0B.3C.5D.633.有以下程序: #include int fun(int n) if(n=1) return 1; else return(n+fun(n 一 1); main() int y; scanf(d,&y); y=fun(y); printf(dn,y); 执行程序时,输入5,程序运行后的输出结果是( )。(分数:2.00)A.5B.10C.15D.2034.有以下程序: #include int fun(int m) static int n=( ); n+=m r
15、eturn n; main() int i=l; pfintf(d,fun(i+); printf(dn,fun(+i); 程序运行后的输出结果是( )。(分数:2.00)A.1,4B.1,1C.2,4D.2,235.有以下程序: #include struct S int a,b;st2=3,4,5,6; main() struct S*p=st; printf(d,+(p 一a); printf(dn,+(p 一b); 程序运行后的输出结果是( )。(分数:2.00)A.3,4B.4,5C.3,5D.4,636.设有以下语句:typedef struct Schar c;int a4;PN
16、;则下面叙述中正确的是( )。(分数:2.00)A.PN 是 struct S 类型的变量B.S 是 struct 类型的变量C.可以用 S 定义结构体变量D.可以用 PN 定义结构体变量 37.有以下程序: #include #define SUB(x)(x)一(x) main() int a=l,b=2,c=3,s; s=SUB(a+b)*c; printf(dn,s); 程序运行后的输出结果是( )。(分数:2.00)A.0B.一 6C.一 1D.338.有以下程序: #include main() int x=1,y; V=x2: printf(dn,y); 程序运行后的输出结果是(
17、)。(分数:2.00)A.1B.2C.4D.839.下列关于文件概念的叙述中正确的是( )。(分数:2.00)A.文件由 ASC码组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由字符序列组成,其类型只能是文本文件D.文件由数据序列组成,可以构成二进制文件或文本文件40.有以下程序: #include main() FILE*fp; int a10=a,b,C,d,i; fp=fopen(d2dat,wb); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp);fclose(fp); fp=fopen
18、(d2dat,rb); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i10;i+) printf(d,a i); 程序运行后的输出结果是( )。(分数:2.00)A.a,b,c,d,B.a,b,C,d,0,a,b,c,dC.a,b,c,d,a,b,c,d,D.a,b,C,d,a,b,c,d,0二、程序填空题(总题数:1,分数:2.00)41.下列给定程序中,函数 fun 的功能是:把数组中的元素按“最小、最大、次小、次大的顺序排列。 例如,若 a 所指数组中的数据最初排列为:1、2、3、4、5、6、7、8、9;则按规则移动后,数据排列为:1、
19、9、2、8、3、7、4、6、5。形参 n 中存放 a 所指数组中数据的个数。 规定 fun 函数中的 max 存放当前所找的最大值,px 存放当前所找最大值的下标。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1C 中。不得增行或删行,也不得更改程序的结构! #include #define N 9 void fun(int aint n) int i,j,max,min,px,pn,t; for(i=0;in 一 i;j+=2) *found* max=min=【1】 px=pn=i; for(j=i+1;jn;j+) *foun
20、d* if(max【2】) max=aj;px=j; *found* if(min【3】) max=aj;pn=j; if(pn!=i), t=ai;ai=min;apn=t; if(px=i)px=pn; if(px!=i+1) t=ai+1;ai+1=max;apx=t; main() int bN=9,1,4,2,3,6,5,8,7,i; printf(nThe original data:n); for(i=0;iN;i+)printf(4d,bi); printf(n); fun(b,N); printf(nThe data after moving:hn); for(i=0;iN;
21、i+)printf(4d,bi); printf(n); (分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中函数 fun 的功能是:将 tt 所指字符串中的小写字母全部改为对应的大写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“AB,CD”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MOD11C 中,不得增行或删行,也不得更改程序的结构!#includestdioh#includestringhchar*fun(char tt)int i;for(i=0;tti;i+)*found*if(a=tti)(tti=z)*found
22、*tti+=32;return(tt);main()char tt81;printf(nPlease enter a str:ng:);gets(tt);printf(nThe result string is:ns,fun(tt);(分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.请编写函数 fun,其功能是分别统计形参 t 所指二维数组中字母#和*的个数。注意:部分源程序存在PROG1C 中,请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。试题程序:#includestdioh#includestdlibh#defin
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 141 答案 解析 DOC
