【计算机类职业资格】国家二级(C语言)机试模拟试卷122及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷122及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷122及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 122 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.线性表常采用的两种存储结构是( )。(分数:2.00)A.散列方法和索引方式B.链表存储结构和数组C.顺序存储结构和链式存储结构D.线性存储结构和非线性存储结构2.软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和( )。(分数:2.00)A.阶段性报告B.需求分析C.需求总结D.都不正确3.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。(分数:2.00)A.需求分析B.详细设计C.软件
2、设计D.概要设计4.对建立良好的程序设计风格,下面描述正确的是( )。(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无5.下列工具中,不属于结构化分析的常用工具的是( )。(分数:2.00)A.数据流图B.数据字典C.判定树D.NS 图6.在软件生产过程中,需求信息的来源是( )。(分数:2.00)A.程序员B.项目经理C.设计人员D.软件用户7.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为( )。(分数:2.00)A.并运算B.交运算C.差运算D.积运算
3、8.设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值 B 在序列中的序号是( )。(分数:2.00)A.1B.3C.7D.99.数据库的故障恢复一般是由( )来执行恢复。(分数:2.00)A.电脑用户B.数据库恢复机制C.数据库管理员D.系统普通用户10.下列选项中,不属于数据模型所描述的内容的是( )。(分数:2.00)A.数据类型B.数据操作C.数据结构D.数据约束11.程序设计的任务包括( )。(分数:2.00)A.编写程序代码并上机调试B.确定所用数据结构C.确定所用算法D.以上选项均正确12.下列合法的标识
4、符是( )。(分数:2.00)A.123B.#256C.a55D.abhj1_2_313.以下程序的运行结果是( )。 #includestdioh main() int a=3,b=4,c=8,d=4,m=1,n=3; printf(“dn“,(m=ab)&(n=cd);(分数:2.00)A.0B.1C.2D.314.以下选项中,能用作数据常量的是( )。(分数:2.00)A.o18B.o11C.08e25D.25L15.有下列程序: main() int m,n,p; scanf(“m=dn=dp=d“,&m,&n,&p); printf(“dddn“,m,n,p);若想从键盘上输入数据,
5、使变量 m 中的值为 123,n 中的值为456,p 中的值为 789,则正确的输入是( )(分数:2.00)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 78916.以下关于 long、int 和 short 类型数据占用内存大小的叙述中正确的是( )。(分数:2.00)A.均占 4 个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由 C 语言编译系统决定17.有以下程序 #includestdioh main() int k=5,n=0; while(k0) switch(k) defa
6、ult:break; case 1 : n+=k: case 2 : case 3 : n+=k: k-; printf(“dn“,n);程序运行后的输出结果是(分数:2.00)A.0B.4C.6D.718.有以下程序段 int j; float y; char name50; scanf(“2dfs“,&j,&y,name);当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为( )。(分数:2.00)A.555660B.5660C.77770D.566777019.若变量己正确定义,有以下程序段: i=0; do printf(“d,“,i);while(i+); p
7、rintf(“dn“,i);其输出结果是( )。(分数:2.00)A.0,0B.0,1C.1,1D.程序进入无限循环20.设有条件表达式:(EXP)?i+;j-,则以下表达式中(EXP)完全等价的是( )。(分数:2.00)A.(EXP=0)B.(EXP!=0)C.(EXP=1)D.(EXP!=1)21.有以下程序 #includestdioh main() int y=9; for(;y0;y-) if(y3=0)printf(“d“,-y);程序的运行结果是( )。(分数:2.00)A.741B.963C.852D.87542122.若要求从键盘读入含有空格字符的字符串,应使用函数( )。
8、(分数:2.00)A.getc()B.gets()C.getchar()D.scanf()23.当 a=4,b=5,c=7,d=6 时,执行下面一段程序: if(ab) if(cd)x=1; else if(ac) if(bc)x=2: else x=3; else x=4: else x=5;程序执行后,x 的值为( )。(分数:2.00)A.1B.2C.3D.424.在 C 语言程序中,以下说法正确的是( )。(分数:2.00)A.函数的定义和函数的调用均不可以嵌套B.函数的定义不可嵌套,但函数的调用可以嵌套C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义和函数的调用均可以嵌套
9、25.以下程序运行后的输出结果是( )。 #includestdioh main() void reverse(int a,int n) int b10=10,9,8,7,6,5,4,3,2,1;int i,s=0; int i,t; reverse(b,10); for(i=0;in2;i+) for(i=0;i3;i+)s+=bi; t=ai;ai=an1i;an1i=t;printf(“dn“,s);(分数:2.00)A.27B.6C.25D.3026.设 y 为整型变量,a=6,a 的地址为 E2000,b=14,b 的地址为 E2001;执行语句 b=&a;(分数:2.00)A.E2
10、000B.E2001C.6D.1427.若有以下程序段: struct st main() int n; struct st*p; int*m; p=s; ; int a=2,b=3,c=5; struct st s3=(10 1,&a,102,&c,103,&b;则以下表达式中值为 5 的是( )。(分数:2.00)A.(*p)mB.*(p+1)mC.*(p+)nD.(p+)(*m)28.在下列叙述中,错误的是( )。(分数:2.00)A.C 语言中,二维数组或多维数组是按行存放的B.赋值表达式 b12=a23是正确的C.char a1;a0=A与 int a1;a0=A等价D.数组名后的方
11、括号内可以为常量表达式,也可以为变量29.若已包括头文件stdioh和stringh,运行下而程序的输出结果是( )。 char s110=“12345“,s210=“089“,S3=“67“; strcat(strcpy(s1,s2),s3); puts(s1);(分数:2.00)A.08967B.0894567C.089567D.08956730.下列说法正确的是( )。(分数:2.00)A.auto 和 register 将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外B.将变量其定义为 static 类型,则其初值默认为随机值C.typedef 说明符并不会为对象预留存留
12、空间D.如果一个对象被声明为 register,则对它应用一无运算符&,意在取得其存储的地址31.以下有关宏的描述不正确的是( )。(分数:2.00)A.宏定义不做晤法检查B.双引号中出现的宏名不进行替换C.宏名无类型D.宏名必须用大写字母表示32.以下程序段的输出结果为( )。 static char a=“programme“; char *p; p=a; for(p=a;pa+8;p+=2) putchar(*p);(分数:2.00)A.programmeB.pormC.有语法错误D.prog33.下列关于 C 语言数据文件的叙述中正确的是( )。(分数:2.00)A.文件由 ASCII
13、 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件34.已知 char*s,下面正确的语句是( )。(分数:2.00)A.s=“ABCDEF“;B.*s=“ABCDEF“;C.*s=“ABCDEF“;D.*s=A;35.下列程序的运行结果是( )。 #includestdioh void main() void fun(int*s,int*p) int a=2,3,4,5,k,x; static int t=3;
14、for(k=0;k4;k+) *p=st; fun(a,&x); t-; printf(“d,”,x); (分数:2.00)A.5,4,3,2,B.2,3,4,5,C.2,2,2,2,D.5,5,5,5,36.以下函数 findmin 拟实现在数组中查找最小值并作为函数值返回,但程序中有错导致不能实现预定功能 #define MAX 2147483647 int findmin(int x,int n) int i,min; min=MAX; for(i=0;in;i+) if(minxi) min=xi; return min;造成错误的原因是( )。(分数:2.00)A.定义语句 int
15、i,min;中 min 未赋初值B.赋值语句 min=MAN;中,不应给 min 赋 MAX 值C.语句 if(minXi)min=Xi;中判断条件设置错误D.赋值语句 min=MAX;放错了位置37.以下程序的输出结果是( )。 #includestdioh main() struct st p=aa; int x;int*y;*p; printf(“dn“,+(px); int dt4=1,2,3,4; struct st aa4=2,&dt0,3,&dt0,4, &dt0,5,&dt0,;(分数:2.00)A.1B.2C.3D.438.有以下定义和语句: struct students
16、int num;char name20;char c; struct int gradel;int grade2; s; ; struct students w*pw; *pw=w:下列赋值语句不正确的是( )。(分数:2.00)A.wnum=1002;B.wgradel=85;C.pwnum=1002;D.wsgrade2=85;39.设有以下语句: char x=3,y=6,z; z=xy2;则 z 的二进制值是( )。(分数:2.00)A.00010100B.00011011C.00011100D.0001100040.有以下程序: #includestdioh main() FILE*
17、pf; char*s1=“China“,*s2=“Beijing“; pf=fopen(“abcdat“,“wb+“); fwrite(s2,7,1,pf); rewind(pf); *文件位置指针回到文件开头* fwrite(s1,5,1,pf); fclose(pf);以上程序执行后 abcdat 文件的内容是( )。(分数:2.00)A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina二、程序填空题(总题数:1,分数:2.00)41.给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返回。 (分数:2.00)_三、程序修改题(总题数:
18、1,分数:2.00)42.给定程序 MODI1C 中函数 fun 的功能是:从整数 1 到 55 之间,选出能被 3 整除、且有一位上的数是5 的那些数,并把这些数放在 b 所指的数组中,这些数的个数作为函数值返回。规定,函数中 a1 放个位数,a2 放十位数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 #includestdioh int fun(int*b) int k,a1,a2,i=0; for(k=10;k=55;k+) *found* a2=k10: a1=ka2*10; if(k3=0&a2=5)(k3=0&
19、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)_四、程序设计题(总题数:1,分数:2.00)43.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 S 中,请编写函数 fun,它的功能是:把分数最低的学生数据放在 b 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。注意:部分源程序在文件 PROG1C 文件
20、中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #includestdioh #defiDe N 16 typedef struct char num10; int s; STREC; int fun(STREC*a,STREC*b) main() STREC sN=“GA05“,85,“GA03“,76),“GA02“,69,“GA04“,85,“GA01“,91,“GA07“,72,“GA08“,64,“GA06“,87,“GA015“,85,“GA013“,91),“GA012“,64,“GA014“,91,“GA011“,91)
21、,“GA017“,64,“GA018“,64,“GA016“,72; STREC hN; int i,n;FILE*out; n=fun(s,h); printf(“Thed lowest score:n“,n); for(i=0;in;i+) printf(“s 4dn“,hinum,his); printf(“n“); out=fopen(“outdat“,“W“); fprintf(out,“dn“,n); for(i=0;in;i+) fprintf(out,“4dn“,his); fclose(out);(分数:2.00)_国家二级(C 语言)机试模拟试卷 122 答案解析(总分:8
22、6.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.线性表常采用的两种存储结构是( )。(分数:2.00)A.散列方法和索引方式B.链表存储结构和数组C.顺序存储结构和链式存储结构 D.线性存储结构和非线性存储结构解析:解析:线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。2.软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和( )。(分数:2.00)A.阶段性报告B.需求分析 C.需求总结D.都不正确解析:解析:软件需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求获取的日的
23、是确定对同标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。编写需求规格说明书作为需求分析的阶段成果,可以为朋户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。3.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。(分数:2.00)A.需求分析 B.详细设计C.软件设计D.概要设计解析:解析:软件
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 122 答案 解析 DOC
