【计算机类职业资格】国家二级(C语言)机试模拟试卷154及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷154及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷154及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 154及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B.循环队列中的元素个数随队头指针的变化而动态变化C.循环队列中的元素个数随队尾指针的变化而动态变化D.以上说法都不对2.下列关于栈的叙述中,正确的是( )。(分数:2.00)A.栈底元素一定是最后入栈的元素B.栈顶元素一定是最先入栈的元素C.栈操作遵循“先进后出”的原则D.以上说法均错误3.设某二叉树的后序序列为 CBA,中序序列为 ABC,则该二叉树
2、的前序序列为( )。(分数:2.00)A.BCAB.CBAC.ABCD.CAB4.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性5.为了使模块尽可能独立,要求( )。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块问的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强6.在结构化方法中,软件功能属于软件开发中的( )阶段。(分数:2.00)A.详细设计B.需求分析C.总体设计D.编程调
3、试7.下列叙述中正确的是( )。(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误8.关系数据库管理系统所管理的关系是( )。(分数:2.00)A.若干个二维表B.一个 DBF文件C.一个 DBC文件D.若干个 DBC文件9.结构化程序设计中,下面对 goto语句使用描述正确的是( )。(分数:2.00)A.禁止使用 goto语句B.使用 goto语句程序效率高C.应避免滥用 goto语句D.以上说法均错误10.设有如下三个关系表: (分数:2.00)A.T=RSB.T=RSC.T=RS
4、D.T=RS11.以下选项中合法的标识符是( )。(分数:2.00)A._11B.11C.1_1D.1_12.以下叙述中错误的是( )。(分数:2.00)A.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件B.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令C.用 C语言编写的程序称为源程序,它以 ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为obj 的目标程序13.若有定义:int a=0,b=0,c=0,d=0;,有 C语言表达式(a+&b+)?c+:d+,以下关于其执行顺序的叙述中正确是( )。(分数:2.00)A.先执
5、行 a+,表达式 a+的值为 0,由此即可确定(a+&b+)值为 0,因此执行 d+B.先执行 a+,表达式 a+的值为 0;再执行 b+,表达式 b+的值为 0,由此可确定(a+&b+)值为 0,因此执行 d+C.先执行 a+,表达式 a+的值为 1;再执行 b+,表达式 b+的值为 1,由此可确定(a+&b+)值为 1,因此执行 c+D.先执行 b+,表达式 b+的值为 1;再执行 a+,表达式 a+的值为 1,由此可确定(a+&b+)值为 1,因此执行 c+14.表达式:(int)(double)92)一(9)2 的值是( )。(分数:2.00)A.0B.3C.4D.515.以下选项中叙
6、述正确的是( )。(分数:2.00)A.函数体必须由开始B.C程序必须由 mflin语句开始C.C程序中的注释可以嵌套D.C程序中的注释必须在一行里完成16.若有以下程序段: int r=8: printf(“dn“,r1); 输出结果是( )。(分数:2.00)A.16B.8C.4D.217.以下能对一维数组 a进行初始化的语句是( )。(分数:2.00)A.int a5=(0,1,2,3,4);B.int a(5)=;C.int a3=0,1,2;D.int a5=10*1;18.若有定义:int a;float b;double c;,程序运行时输入:1 2 3回车,能把 1输入给变量
7、a、把 2输入给变量 b、把 3输入给变量 c的输入语句是( )。(分数:2.00)A.scanf(“d f lf“,&a,&b,&c);B.scanf(“dflf“,&a,&b,&c);C.scanf(“d lflf“,&a,&b,&c);D.scanf(“d f f“,&a,&b,&c);19.下列数据中属于“字符串常量”的是( )。(分数:2.00)A.aB.ABCC.abc0D.a20.当变量 C的值不为 2、4、6 时,值为“真”的表达式是( )。(分数:2.00)A.(c=2)(c=4)(c=6)B.(c=2&c=6)(c!一 3)(c!=5)C.(c=2&c=6)&!(c2)D.
8、(c=2&c=6)&(c2!=1)21.有以下程序: #includestdioh main() float a,b,c,t; a=3;b=7;c=1; if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(“52f,52f,52f“,a,b,c); 程序运行后的输出结果是(其中口代表空格)( )。(分数:2.00)A.口口 300,口口 100,口口 700B.口口 300,口口 700,口口 100C.口口 100,口口 300,口口 700D.口口 700,口口 300,口口 10022.有以下程序: #in
9、cludestdioh main() int a=1,b=0; for(;a5;a+) if(a2=0)break; continue; b+=a: printf(“dn“,b); 程序运行后的输出结果是( )。(分数:2.00)A.0B.1C.10D.423.有以下程序: #includestdioh main() int sum=10,n=1; while(n3) sum=sumn;n+; printf(“d,d“,n,sum); 程序运行后的输出结果是( )。(分数:2.00)A.2,8B.3,7C.3,8D.2,724.以下叙述中正确的是( )。(分数:2.00)A.数组说明符的一对方
10、括号中只能使用整型常量,而不能使用表达式B.一条语句只能定义一个数组C.每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元D.在引用数组元素时,下标表达式可以使用浮点数25.以下叙述中正确的是( )。(分数:2.00)A.char c1,c2,*c3,c440;是合法的变量定义语句B.数组下标的下限由数组中第一个非零元素的位置决定C.数组下标的下限由数组中第一个被赋值元素的位置决定D.数组下标的下限是 126.设有定义: char p=1,2,3,*q=p; 以下不能计算出一个 char型数据所占字节数的表达式是( )。(分数:2.00)A.sizeof(*q)B.size
11、of(char)C.sizeof(p)D.sizeof(p0)27.以下叙述中正确的是( )。(分数:2.00)A.语句 char a2=“a“,“b“;是合法的,定义了一个包含两个字符的数组B.语句 int a=0;是不合法的,遗漏了数组的大小C.语句 int a8=0;是合法的D.语句 char a3;a=“ab“;是合法的,因为数组有三个字符空间的容量,可以保存两个字符28.有以下程序: #includestdioh int k=5: void f(int*s) s=&k; main() int m=3,*p=&m; f(p); printf(“d dn“,m,*p); 程序的运行结果是
12、( )。(分数:2.00)A.3 3B.5 5C.3 5D.5 329.有以下程序:#includestdiohmain() im x33=1,2,3,4,5,6,7,8,9),i; for(i=1;i3;i+) printf(“d“,xi3 一 i); 程序运行后的输出结果是( )。(分数:2.00)A.2,4B.6,8C.3,7D.2,630.下列错误的定义是( )。(分数:2.00)A.int *p=i,i;B.int *p,i;C.int i,*p=i;D.int i,*p;31.有以下程序: #includestdioh main() int a23=1,2,3,4,5,6; int
13、 b32,i,j; for(i=0;i=1;i+) for(j=0;j=2;j+) bji=aij; for(i=0;i=2;i+) for(j=0;j=1;j+) printf(“d“,bij); 程序的运行结果是( )。(分数:2.00)A.1 2 3 4 5 6B.1 3 5 2 4 6C.1 4 2 5 3 6D.1 3 2 5 4 632.若有定义语句: char *s1=“GOOD“,*s2=“good“; 以下选项中,能够输出“GOOD“语句是( )。(分数:2.00)A.if(strcmp(s1,s2)!=0)puts(s2);B.if(strcmp(s1,s2)!=0)put
14、s(s1);C.if(strcmp(s1,s2)=1)puts(s1);D.if(strcmp(s1,s2)=0)puts(s1);33.有以下程序: #includestdioh unsigned fun(unsigned num) unsigned k=1; do k*=num10; num=10; while(num); return k; main() unsigned n=26; printf(“dn“,fun(n); 程序运行后的输出结果是( )。(分数:2.00)A.12B.10C.16D.834.在 C语言中,只有在使用时才占用内存单元的变量的是( )。(分数:2.00)A.a
15、uto和 registerB.extern和 registerC.auto和 staticD.static和 register35.若有如下定义: char *ps=“aa“,“bb“,“cc“,“dd“;, 则以下叙述中正确的是( )。(分数:2.00)A.*ps0是字符AB.*ps0是字符串“aa“C.ps0是字符AD.ps是字符串“aa“36.以下叙述中正确的是( )。(分数:2.00)A.在 C语言中,预处理命令行都以#开头B.预处理命令行必须位于 C源程序的起始位置C.#includestdioh必须放在 C程序的开头D.C语言的预处理不能实现宏定义和条件编译的功能37.有以下程序:
16、 #includestdioh main() static char a=“Program“,*ptr; for(ptr=a;ptra+7;ptr+=2) putchar(*ptr); 程序运行后的结果为( )。(分数:2.00)A.ProgB.PormC.rgaD.Por38.有以下程序: #includestdioh main() int i; FILE *fp; for(i=0;i3;i+) fp=fopen(“restxt“,“w“); fputc(K+i,fp); fclose(fp); 程序运行后,在当前目录下会生成一个 restxt 文件,其内容是( )。(分数:2.00)A.M
17、B.EOFC.KLMD.L39.有以下程序: #includestdioh struct st int x: int y; a2=5,7,2,9; main() printf(“dn“,a0y*a1x); 程序运行后的输出结果是( )。(分数:2.00)A.10B.18C.14D.6340.下列关于 C语言文件的叙述中正确的是( )。(分数:2.00)A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件D.文件由字符序列组成,其类型只能是文本文件二、程序填空题(总题数:1,分数:2.00)4
18、1.给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和 3门课的成绩。函数 fun的功能是将该学生的各科成绩都乘以一个系数 a。 注意:不得增行或删行,也不得更改程序的结构! 试题程序: #includestdioh typedef struct int num; char name9; float score3;STU; void show(STU tt) int i; printf(“d s:“,ttnum,ttname); for(i=0;i3;i+) printf(“51f“,ttscorei); printf(“n“); *found* void modify
19、(【1】*ss,float a) int i; for(i=0;i3;i+) *found* ss 一【2】*=a; main() STU std=1,“Zhanghua“,765,780,820; float a; printf(“The original number andname and scores:n“); show(std); printf(“Input a number:“); scanf(“f“,&a); *found* modify(【3】,a); printf(“A result of modifying:n“); show(std); (分数:2.00)_三、程序修改题
20、(总题数:1,分数:2.00)42.以下给定程序中,函数 fun的功能是:判断输入的任何一个正整数 n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列。否则输出“不能分解”。 例如:当输入 100时,输出: 100=9+10+11+12+13+14+15+16 100=18+19+20+21+22 请改正函数 fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdioh void fun(int n) int j,b,c,m,flag=0; for(b=1b=n2;b+) *found
21、* n=m; c=b: while(m !=0&m=c) *found* m=mc;c+ *found* if(m!=0) printf(“d=“,n); for(j=b;jc 一 1;j+) printf(“d+“,j); printf(“dn“,j); flag=1; if(flag=0) printf(“不能分解n“); main() int n; printf(“请输入一个整数:“); scanf(“d“,&n); fun(n); (分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.规定输入的字符串中只包含字母和*号。请编写函数 fun,其功能是:使字符串的前导*号不
22、得多于 n个,若多于 n个,则删除多余的*号;若少于或等 n个,则不做处理,字符串中间和尾部的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,若 n的值为 4,删除后,字符串中的内容应当是:*A*BC*DEF*G*;若 n的值为 8,则字符串中的内容仍为:*A*BC*DEF*G*。n 的值在主函数中输入。在编写函数时,不得使用 C语言提供的字符串函数。 注意:请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #includestdioh void fun(char *a,int n) main() char s81;i
23、nt n;void NONO(); printf(“Enter a string:n“);gets(s); printf(“Enter n:“);scanf(“d“,&n); fun(s,n); printf(“The string after deleted:n“); puts(s); NONO(); void NONO() (*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。* FILE *in,*out; int i,n;char s81; in=fopen(“indat“,“r“); out=fopen(“outdat“,“w“); for(i=0;i10;i+) fsca
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 154 答案 解析 DOC
