【计算机类职业资格】国家二级(C语言)机试模拟试卷124及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷124及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷124及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 124及答案解析(总分: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.详细设计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.cp12.
4、若函数中有定义语句:int a;,则( )。(分数:2.00)A.系统将自动给 a赋初值 0B.这时 a中的值是和随机数C.系统将自动给 a赋初值1D.这 a中无任何值13.以下选项中,合法的一组 C语言数值常量是( )。(分数:2.00)A.028 5e3 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“;15.若在定义语句:in
5、t a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。(分数:2.00)A.scanf(“d“,a,b,c);B.scanf(“ddd“,a,b,c);C.scanf(“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均已正确定义并赋值,以下 if语句中,在编译时将产生错误信息
6、的是( )。(分数:2.00)A.if(x+);B.if(xy&y!=0);C.if(xy)x-else y+;D.if(y0);else x+;18.以下选项中,当 x为大于 1的奇数时,值为 0的表达式为( )。(分数:2.00)A.x2=1B.x2C.x2!=0D.x2=019.若 x,i,j 和 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(i100)break;
7、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.字符串“ABCDEFV“的长度是(
8、)。(分数: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.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D
9、.函数的形参和实参分别占用不同的存储单元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=f1(x); b=f1(y); return
10、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;”和赋值语句“q=m;”,则对数组元素“mij(其中 0=i3,0=i4
11、)”值的正确引用为( )。(分数:2.00)A.(q+i)jB.*qijC.*(*qi+j)D.*(*(q+i)+j)31.有以下程序: void ss(char*s,char t) while(*s) if(*s=t)*s=ta+A; s+; main() char str1100=“abcddfefdbd“,c=d; ss(str1,c);printf(“sn“,str1); 程序运行后的输出结果是( )。(分数:2.00)A.ABCDDEFEDBDB.abcDDfefDbDC.abCAAfefAbAD.Abcddfefdbd32.下述语句中,在字符串 s1和 s2相等时显示”they a
12、re Equal”的是( )。(分数:2.00)A.if(*s1=*s2) puts(“they are Equal“);B.if(!strcmp(s1,s2) puts(“they are Equal“);C.if(s1=s2) puts(“they are Equal“);D.if(strcmp(s1,s2) puts(“they are Equal“);33.设有说明 int(*ptr)M;其中的标识符 ptr是( )。(分数:2.00)A.M个指向整型变量的指针B.指向 M个整型变量的函数指针C.一个指向具有 M个整型元素的一维数组的指针D.具有 M个指针元素的一维指针数组,每个元素都
13、只能指向整型变量34.在 C语言中,变量的隐含存储类别是( )。(分数:2.00)A.autoB.staticC.externD.无存储类别35.有以下程序: #lncludestdioh struct tt int x;struct tt*y;*p; struct tt a4=20,a+1,15,a+2,30,a+3,17,a; main() int i; p=a; for(i=1;i=2;i+)printf(“d,“,px);p=Py;) 程序的运行结果是( )。(分数:2.00)A.20,30,B.30,17C.15,30,D.20,15,36.有以下程序: #includestdioh
14、 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=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
15、,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;i5;i+) printf(“dc“,xinum,xiname2); 程序执行后的输出结果是( )。(分数:2.00)A.2A3N4E50B.1H213U4EC.1A2N3E40D.1A2N3E4038.union dt int a;char b;double c; data;以下叙述中错误的是(分数:2.00)A.da
16、ta的每个成员起始地址都相同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函数将从文件中最多读入 n一 1个字
17、符二、程序填空题(总题数:1,分数:2.00)41.给定程序的功能是:从键盘输入若干行文本(每行不超过 80个字符),写到文件 myfile4txt 中,用1 作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和 WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1C 中。不得增行或删行,也不得更改程序的结构! #includestdioh #includestringh #includestdlibh void WriteText(FILE*); vo
18、id ReadText(FILE*); main() FILE*fp; if(fp=fopen(“myfile4txt“,“w“)=NULL) printf(“open fail!n“);exit(0); WriteText(fp); fclose(fp); if(fp=fopen(“myfile4txt“,“r“)=NULL) printf(“open fail!n“);exit(0); ReadText(fp):fclose(fp); *found* void WriteText(FILE_(1) char str81; printf(“nEnter string with-1 to en
19、d:n“); gets(str); while(strcmp(str,“1“)!=0) *found* fputs(_(2),fw);fputs(“n“,fw); gets(str); void ReadText(FILE*fr) char str81; printf(“nRead file and output to screen:n”); fgets(str,81,fr); while(!feof(fr) *found* pfintf(“s“_(3); fgets(str,81,fr); (分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.给定程序 MODI1C 中函数
20、fun的功能是:判断一个整数是否是素数,若是返回 1,否则返回 0。 在main()函数中,若 fun返回 1输出 YES,若 fun返回 0输出 NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main函数。不得增行或删行,也不得更改程序的结构! #includestdioh int fun(int m) int k=2; while(k=m&(mk) *found* k+ *found* if(m=k)return 1; else return 0; main() int n; printf(“nPlease enter n:“);scanf(“d“,&n); if(fu
21、n(n)printf(“YESn“); else printf(“NO!n“);(分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:料料 A*BC*DEF*G。在编写函数时,不得使用 C语言提供的字符串函数。 注意:部分源程序在文件 PROG1C 文件中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #includestdi
22、oh void fun(char*a) main() char s81;void NONO();printf(“Enter a string: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“,
23、s); fun(s); fprintf(out,“sn“,s); fclose(in); fclose(out); (分数:2.00)_国家二级(C 语言)机试模拟试卷 124答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.无序线性表B.线性链表C.二叉链表D.顺序存储的有序表 解析:解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。2.下列叙述中,不属于设计准则的是( )。(分数:2.00)A.提高模块独立性B.使模块的作用域在该模块的控制域中C.设计成多
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 124 答案 解析 DOC
