【计算机类职业资格】国家二级(C语言)机试模拟试卷151及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷151及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷151及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 151 及答案解析(总分: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.队列按“先进后出”进行数据操作D.队列按“先进先出”进行数据操作4.
2、对下列二叉树进行前序遍历的结果为( )。 (分数:2.00)A.ABCDEFGHB.ABDGEHCFC.GDBEHACFD.GDHEBFCA5.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n(n 一 1)2B.简单插入排序为 nC.希尔排序为 nD.快速排序为 n26.为了使模块尽可能独立,要求( )。(分数:2.00)A.内聚程度要尽量高,耦合程度要尽量强B.内聚程度要尽量高,耦合程度要尽量弱C.内聚程度要尽量低,耦合程度要尽量弱D.内聚程度要尽量低,耦合程度要尽量强7.下列选项中不属于软件生命周期开发阶段任务的是(
3、 )。(分数:2.00)A.软件测试B.概要设计C.软件维护D.Y#细设计8.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对9.在学校中,“班级”与“学生”两个实体集之间的联系属于( )关系。(分数:2.00)A.一对一B.一对多C.多对一D.多对多10.软件调试的目的是( )。(分数:2.00)A.发现错误B.改善软件的性能C.改正错误D.验证软件的正确性11.C 语言源程序名的后缀是( )。(分数:2.00)A.exeB.cC.objD.
4、cp12.若函数中有定义语句:int a;,则( )。(分数:2.00)A.系统将自动给 a 赋初值 0B.这时 a 中的值是和随机数C.系统将自动给 a 赋初值-1D.这 a 中无任何值13.以下选项中,合法的一组 C 语言数值常量是( )。(分数:2.00)A.028 5e-3 -0xfB.12 OXa23 45e0C.177 4c15 OabcD.0x8A 10,000 3E514.下列语句组中,不正确的是( )。(分数:2.00)A.char*s;s=“Olympic“;B.char s=“Olympic“;C.char*s;s=“Olympic“;D.char s=“Olympic“
5、;15.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。(分数:2.00)A.scanf(“d“,a,b,c);B.scanf(“ddd“,a,b,c);C.scanfi(“d“,p);D.scanf(“d“,&p);16.有以下程序,其中u 表示按无符号整数输出( )。 main() unsigned int x=0xFFFF;*x 的初值为十六进制数* printf(“un“,x); 程序运行后的输出结果是( )。(分数:2.00)A.-1B.65535C.32767D.0xFFFF17.设变量 x 和 y 均已正确定义并赋值,以下
6、 if 语句中,在编译时将产生错误信息的是( )(分数:2.00)A.if(x+);B.if(xy&y!=0);C.if(xy)x-else y+;D.if(y18.以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式为( )。(分数:2.00)A.x2=1B.x2C.x2!=0D.x2=019.若 x,idi 和 k 都是 int 型变量,则计算表达式 x=(i=4,j=16,k=32)后,x 的值为( )。(分数:2.00)A.4B.16C.32D.5220.在下列选项中,没有构成死循环的是( )。(分数:2.00)A.int i=100; while(1) i=i0+1; if(
7、i100)break; B.for(;);C.int k=10000; dok+;)while(k10000);D.int s=36; while(s) -s:21.在 printf 的格式字符中,e 格式字符的作用是( )。(分数:2.00)A.以十六进制无符号形式输出整数B.以带符号的十进制形式输出整数C.以指数形式输出实数D.以字符形式输出,且只输出一个字符22.以下选项中正确的语句组是( )。(分数:2.00)A.char s; s=“HELLO!“;B.char *s; s=“HELLO!“;C.char s10 s=“HELLO!“;D.char *s; s=“HELLO!“;23
8、.字符串“”ABCDEF“的长度是( )。(分数:2.00)A.11B.10C.5D.324.下列说法正确的是( )。(分数:2.00)A.int(*def)10;-def 指向一个指针,该指针指向 10 个整型变量构成的数组B.int*(*gh10);-gh 指向一个指针,该指针指向 10 个整型变量构成的数组C.int*(*gh10);-gh 是一个指针,指向由 10 个指向整型变量的指针构成的数组D.A,C 均正确25.若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是( )。(分数:2.00)A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体
9、存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元26.设有如下定义: struct sk int m; float x; data,*q; 若要使 q 指向 data 中的 m 域,正确的赋值语句是( )。(分数:2.00)A.q=&datam;B.*q=datam;C.q=(struct sk*)&datam;D.q=(struct sk*)datam;27.有以下程序: int f1(double a) main() return a*a; double w; int f2(int x,int y) w=f2(21,40); double a,b; a=
10、f1(x); b=fl(y); return a+b; 程序执行后,变量 w 的值是( )。(分数:2.00)A.2021B.20C.200D.0028.若语句“t=fun(fun(x,y,a),(a+b,a+c),x+y+z);”对 fun 函数的调用正确,则 fun 函数的形参个数为( )。(分数:2.00)A.3B.4C.5D.629.设 x 为整型变量,n=14,n 的地址为 4000;m=6,m 的地址为 2000;执行语句 x=&n 后的结果为( )。(分数:2.00)A.14B.6C.2000D.400030.若有说明“int m34=3,9,7,85),(*q)4;”和赋值语句
11、“q=m;”,则对数组元素“miD(其中 0x);p=p-y; 程序的运行结果是( )。(分数:2.00)A.20,30,B.30,17C.15,30,D.20,15,36.有以下程序: #include main() 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,fp); fclose(fp); fp=fopen(“d2dat“,“rb“); fread(a,sizeof(int),10,fp; fclose(fp); for(i=
12、0;iA.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,37.定义结构体数组 struct stu int num; char name20; x5=1,“ZHAO“,2,“QIAN“,3,“SUN“,4,“LEE“,5,“ZHOU“; for(i=1;iA.2A3N4E50B.1H213U4EC.1A2N3E40D.1A2N3E4038.union dt int a;char b;double c; data; 以下叙述中错误的是(分数:2.00)A.data
13、 的每个成员起始地址都相同B.变量 data 所占内存字节数与成员 C 所占字节数相等C.程序段:dataa=5;printf(“fn“,datac);输出结果为 5000000D.data 可以作为函数的实参39.设 x=021,y=012,则 z=xy 的值是( )。(分数:2.00)A.1B.0C.00011011D.1100001040.fgets(str,n,fp)函数从文件中读入一个字符串,以下错误的叙述是( )。(分数:2.00)A.字符串读入后会自动加入0B.fp 是指向该文件的文件型指针C.fgets 函数将从文件中最多读入 n 个字符D.fgets 函数将从文件中最多读入
14、n-1 个字符二、程序填空题(总题数:1,分数:2.00)41.给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返回。 例如,当形参 n 的值为 10时,函数返回:-0204491。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1C 中。不得增行或删行,也不得更改程序的结构! #includestdioh double fun(int n) int i,k;double s,t; s=0; *found* k=_1_; for(i=1;i=n;i+) *found* t=_2_; s=s+k*(2*i1)
15、*(2*i+1)(t*t); *found* k=k*_3_: return s; main() int n=-1; while(n0) printf(“Please input(n0):“); scanf(“d“,&n); printf(“n The result is:fn“,fhn(n);(分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.给定程序 MODIlC 中函数 fun 的功能是:从低位开始取出长整型变量 S 中奇数位上的数,依次构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如。当 s 中的数为:7654321 时t 中的数为:7531。请改正程序中的
16、错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #includestdioh *found* void fun(long s,long t) long s1=10; *t=s10; while(s0) s=s100; *t=s10*s1+*t; *found* s1=s1*100; main() long s,t; printf(“nPlease enter s:“);scanf(“1d“,&s); fun(s,&t); printf(“The result is:ldn“,t);(分数:2.00)_四、程序设计题(总题数:1,分数:2.0
17、0)43.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*A*BC*DEF*G。在编写函数时,不得使用 C 语言提供的字符串函数。 注意:部分源程序在文件 PROGlC 文件中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #includestdioh void fun(char*a) main() char s81;void NONO();printf(“Enter a strin
18、g:n“);gets(s); fun(s); printf(“The string after deleted:n“);puts(s); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * FILE*in,*out; int i;char s81; in=fopen(“indat“,“r“); out=fopen(“outdat“,“w“); for(i=0;i10;i+) fscanf(in,“s“,s); fun(s); fprintf(out,“sn“,s); fclose(in); fclose(out); (分数:2.00)_国
19、家二级(C 语言)机试模拟试卷 151 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.无序线性表B.线性链表C.二叉链表D.顺序存储的有序表 解析:解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。2.下列叙述中,不属于设计准则的是( )。(分数:2.00)A.提高模块独立性B.使模块的作用域在该模块的控制域中C.设计成多入口、多出口模块 D.设计功能可预测的模块解析:解析:大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些
20、准则是:提高模块独立性;模块规模适中;深度、宽度、扇出和扇入适当;使模块的作用域在该模块的控制域中;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的模块。3.下列队列的描述中,正确的是( )。(分数:2.00)A.队列属于非线性表B.队列在队尾删除数据C.队列按“先进后出”进行数据操作D.队列按“先进先出”进行数据操作 解析:解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。4.对下列二叉树进行前序遍历的结果为( )。 (分数
21、:2.00)A.ABCDEFGHB.ABDGEHCF C.GDBEHACFD.GDHEBFCA解析:解析:遍历就是不重复地访问一叉树的所有结点。二叉树遍历的方法有 3 种:前序遍历、中序遍历和后序遍历。记住 3 种遍历的顺序:前序,访问根按前序遍历左子树按前序遍历右子树:中序,按中序遍历左子树访问根按中序遍历右子树;后序,按后序遍历左子树按后序遍历右子树访问根。所以对该二叉树的中序遍历结果为 ABDGEHCF。5.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n(n 一 1)2 B.简单插入排序为 nC.希尔排序为 nD
22、.快速排序为 n2解析:解析:在最坏情况下,冒泡排序所需要的比较次数为 n(n-1)2;简单插入排序所需要的比较次数为 n(n-1)2;希尔排序所需要的比较次数为 O(n 15 );堆排序所需要的比较次数为 O(nlog 2 n)。6.为了使模块尽可能独立,要求( )。(分数:2.00)A.内聚程度要尽量高,耦合程度要尽量强B.内聚程度要尽量高,耦合程度要尽量弱 C.内聚程度要尽量低,耦合程度要尽量弱D.内聚程度要尽量低,耦合程度要尽量强解析:解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互
23、关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。7.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护 D.Y#细设计解析:解析:软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其中开发阶段包括概要设计、详细设计、实现和测试。8.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 151 答案 解析 DOC
