【计算机类职业资格】二级C语言笔试-395及答案解析.doc
《【计算机类职业资格】二级C语言笔试-395及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-395及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-395 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于算法复杂度描述正确的是A) 算法的时间复杂度是指算法执行的时间B) 算法的空间复杂度是指执行这个算法所需的内存空间C) 一个算法的空间复杂度大,则其时间复杂度必定大D) 一个算法的空间复杂度大,则其时间复杂度必定小(分数:1.00)A.B.C.D.2.下列叙述中正确的是A) 栈是“先进先出”的线性表B) 队列是“先进后出”的线性表C) 循环队列中元素的个数是由队头指针和队尾指针共同决定的D) 循环队列中队头指针是固定不变的(分数:1.00)A.B.C.D.3.
2、下列排序方法中,最坏情况下比较次数最少的是A) 简单选择排序 B) 冒泡排序C) 堆排序 D) 直接插入排序(分数:1.00)A.B.C.D.4.下列选项中属于结构化程序设计原则的是A) 可封装 B) 多态性 C) 自下而上 D) 逐步求精(分数:1.00)A.B.C.D.5.下列描述中正确的是A) 程序就是软件B) 软件开发不受计算机系统的限制C) 软件即是逻辑实体,又是物理实体D) 软件是程序、数据和相关文档的集合(分数:1.00)A.B.C.D.6.下列关于数据流图的描述正确的是A) 数据流图是描述数据处理过程的工具B) 数据流图间接支持系统的功能建模C) 数据流图中带箭头的线段表示控制
3、流D) 数据流图是软件详细设计的工具(分数:1.00)A.B.C.D.7.下列叙述中正确的是A) 软件测试的目的是确定程序中错误的位置B) 软件测试的目的是发现程序中的错误C) 软件调试的目的是发现程序中的错误D) 软件调试后一般不需要再测试(分数:1.00)A.B.C.D.8.数据库管理系统中负责数据模式定义和数据物理存取构建的语言是A) 数据定义语言 B) 数据管理语言C) 数据操作语言 D) 数据控制语言(分数:1.00)A.B.C.D.9.在 E-R图中,用来表示实体集的图形是A) 矩形 B) 椭圆形 C) 菱形 D) 三角形(分数:1.00)A.B.C.D.10.有两个关系 R和 S
4、如下:(分数:1.00)A.B.C.D.11.以下叙述中错误的是A) C语言源程序经编译后生成后缀为.obj 的目标程序B) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C) 用 C语言编写的程序称为源程序,它以 ASC代码形式存放在一个文本文件中D) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(分数:1.00)A.B.C.D.12.以下选项中合法的标识符是A) 1_2 B) _12 C) 2-1 D) 12_ _(分数:1.00)A.B.C.D.13.设有定义:int x=3;,以下表达式中,值不为 12的是A) x*=x+1 B) x+,
5、3*x C) x*=(1+x) D) 2*x,x+=6(分数:1.00)A.B.C.D.14.下列程序的输出结果是main()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d/n“,d*y);A) 3 B) 3.2 C) 0 D) 3.07(分数:1.00)A.B.C.D.15.有以下程序:#include stdio.hmain()char a,b,c,d;a=getchar();b=getchar();scanf(“%c%c“,当执行程序时,按下列方式输入数据(从第 1列开始,CR代表回车,注意,回车也是一个字符):1CR234CR则输
6、出结果是A) 123434B) 12C) 123D) 1234(分数:1.00)A.B.C.D.16.下列程序的运行结果是#include “stdio.h“main()int x=-9,y=5,z=7;if(xy)if(y0) z=0;else z+=1;printf(“%d/n“,z);A) 6 B) 7 C) 8 D) 9(分数:1.00)A.B.C.D.17.以下选项中不属于 C语言类型的是A) unsigned long int B) long shortC) unsigned int D) signed short int(分数:1.00)A.B.C.D.18.有以下定义语句,编译
7、时会出现编译错误的是A) char a=a; B) char a=/n;C) char a=aa; D) char a=/x2d;(分数:1.00)A.B.C.D.19.要求以下程序的功能是计算:s=1+1/2+1/3+1/100。main()int n;float s;s=1.0:for(n=100;n1;n-)s=s+1/n;printf(“%6.4f/n“,s);程序运行后输出结果错误,导致错误结果的程序行是A) s=1.0; B) for (n=100;n1;n-)C) s=s+1/n; D) printf(“%6.4f/n“,s);(分数:1.00)A.B.C.D.20.有如下嵌套的
8、 if语句if(ab)if(ac)k=a;else k=c;elseif(bc)k=b;else k=c;以下选项中与上述 if语句等价的语句是A) k=(ab)?a:b;k=(bc)?b:c;B) k=(ab)?(bc)?a:b):(bc)?b:c);C) k=(ab)?(ac)?a:c):(bc)?b:c);D) k=(ab)?a:b;k=(ac)?a:c;(分数:1.00)A.B.C.D.21.在下列选项中,没有构成死循环的是A) int i=100;while(1)i=1%100+1;if(i100) break;B) for(;);C) int k=10000;dok+; while
9、(k10000);D) int s=36;while(s) -s;(分数:1.00)A.B.C.D.22.有以下程序段:int n,t=1,s=0;scanf(“%d“,t=t-2;while(t!=n);为使程序段不陷入死循环,从键盘键入的数据应该是A) 任意正奇数 B) 任意负偶数C) 任意正偶数 D) 任意负奇数(分数:1.00)A.B.C.D.23.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是#include stdio.hmain()char c;int v0=1,v1=0,v2=0;do switch(c=getchar()cas
10、e a:case A:case e:case E:case i:case I:case o:case O:case u:case U:v1+=1:default:v0+=1;v2+=1;while(c!=/n);printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);A) v0=7,v1=4,v2=7 B) v0=8,v1=4,v2=8C) v0=11,v1=4,v2=11 D) v0=13,v1=4,v2=12(分数:1.00)A.B.C.D.24.数字字符 0的 ASC值为 48,若有以下程序:main()char a=1,b=2;printf(“%c,“,b+);p
11、rintf(“%d/n“,b-a);程序运行后的输出结果是A) 3,2 B) 50,2 C) 2,2 D) 2,50(分数:1.00)A.B.C.D.25.有以下程序:#include stdio.hvoid f(int *p, int *q);main()int m=1,n=2,*r= printf(“%d,%d“,m,n);void f(int *p, int*q)p=p+1;*q=*q+1;程序运行后的输出结果是A) 1,3 B) 2,3 C) 1,4 D) 1,2(分数:1.00)A.B.C.D.26.有以下程序:#include stdio.hvoid f(int *q)int i=
12、0;for(;i5;i+)(*q)+;main()int a5=5,4,3,2,1,i;f(a);for(i=0;i5;i+)printf(“%d,“,ai);程序运行后的结果是A) 6,4,3,2,1 B) 6,5,4,3,2C) 5,4,3,2,1 D) 10,4,3,2,1(分数:1.00)A.B.C.D.27.有以下程序:#include stdio.hint f(int t,int n);main()int a4=1,2,3,4,s;s=f(a,4);printf(“%d/n“,s);int f(int t ,int n)if(n0) return tn-1+f(t,n-1);els
13、e return 0;程序运行后的输出结果是A) 4 B) 10 C) 14 D) 6(分数:1.00)A.B.C.D.28.阅读下面程序段,则执行后的结果为#include “stdio.h“main()int m=4,n=2,k;k=fun(m,n);printf(“%d/n“,k);fun(int m,int n)return(m*m*m-n*n*n);A) 64 B) 8 C) 56 D) 0(分数:1.00)A.B.C.D.29.有以下程序:#include stdio.hmain()int s12=1,2,3,4,5,6,7,8,9,10,11,12 ,c5=0,i;for(i=0
14、;i12;i+) csi+;for(i=1;i5;i+) printf(“%d“,ci);printf(“/n“);程序的运行结果是A) 1 2 3 4 B) 5 6 7 8 C) 9 10 1 1 12 D) 1 1 1 1(分数:1.00)A.B.C.D.30.以下程序的输出结果是void change(int k) k0=k5;main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n=4) change(n+;for(n=0;n5;n+) printf(“%d“,xn);printf(“/n“);A) 678910 B) 13579 C) 12345
15、D) 62345(分数:1.00)A.B.C.D.31.若有以下定义:int x10,*pt=x;则对 x数组元素的正确引用是A) * B) p=k; C) p=s0; D) k=s;(分数:1.00)A.B.C.D.33.以下程序运行后的输出结果是#include stdio.hvoid f(char p10,int n)char t10;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strcmp(pi,pj)0) strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t);main()char p510=“abc“,“aabdfg
16、“,“abbd“,“dedbe“,“cd“;f(p,5);printf(“%d/n“,strlen(p0);A) 2 B) 4 C) 6 D) 3(分数:1.00)A.B.C.D.34.设有定义:structchar mark12;int num1;double num2;t1,t2;,若变量均已正确赋初值,则以下语句中错误的是A) t1=t2; B) t2.num1=t1.num1;C) r2.mark=t1.mark; D) t2.num2=t1.num2;(分数:1.00)A.B.C.D.35.下面程序段的运行结果是char *p=“abcdefgh“;p+=3;printf(“%d/n
17、“,strlen(strcpy(p,“ABCD“);A) 8 B) 12 C) 4 D) 7(分数:1.00)A.B.C.D.36.有以下程序:struct Sint n;int a20;void f(struct S*p)int i,j,t;for(i=0;ip-n-1;i+)for(j=i+1;jp-n;j+)if(p-aip-aj)t=p-ai;p-ai=p-aj;p-aj=t;main()int i;struct S s=10,2,3,1,6,8,7,5,4,10,9;f(is.n;i+)printf(“%d,“,s.ai);程序运行后的输出结果是A) 1,2,3,4,5,6,7,8,
18、9,10,B) 10,9,8,7,6,5,4,3,2,1,C) 2,3,1,6,8,7,5,4,10,9,D) 10,9,8,7 ,6,1,2,3,4,5,(分数:1.00)A.B.C.D.37.有以下程序:#include stdio.hint fun()static int x=1;x*=2;return x;main()int i,s=1;for(i=1;i=3;i+)s=fun();printf(“%d/n“,s);程序运行后的输出结果是A) 0 B) 1 C) 4 D) 8(分数:1.00)A.B.C.D.38.有以下程序:#include stdio.h#define S(x)4*
19、(x)*x+1main()int k=5,j=2;printf(“%d/n“,S(k+j);程序运行后的输出结果是A) 197 B) 143 C) 33 D) 28(分数:1.00)A.B.C.D.39.设有定义语句 int(*f)(int);,则以下叙述正确的是A) f是基类型为 int的指针变量B) f是指向函数的指针变量,该函数具有一个 int类型的形参C) f是指向 int类型一维数组的指针变量D) f是函数名,该函数的返回值是基类型为 int类型的地址(分数:1.00)A.B.C.D.40.若有以下程序段:int r =9;printf(“%d/n“,r1);输出结果是A) 2 B)
20、 4 C) 8 D) 16(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:60.00)41.设有如下图所示的二叉树:(分数:4.00)填空项 1:_42.对长度为 n的有序线性表进行二分法查找,在最坏情况下所需要的比较次数为 1。(分数:4.00)填空项 1:_43. 1测试的任务是检查软件的功能、性能及其他特征是否与用户的需求一致。(分数:4.00)填空项 1:_44.有关系模式:学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),其中两个关系模式的主键分别是学号和课号,则关系模式选课 SC可定义为 SC(学号, 1,成绩)。(分数:4.00)填空项 1:
21、_45.从 E-R图向关系模式转换发生在数据库设计的 1 阶段。(分数:4.00)填空项 1:_46.已有定义:char c=;int a=1,b;(此处 c的初值为空格字符),执行 b=!c|a;后 b的值为 1。(分数:4.00)填空项 1:_47.设 int a=15,b=16,表达式(+a=b-)?+a:-b 的值是 1。(分数:4.00)填空项 1:_48.以下程序运行后的输出结果是_。#include stdio.hmain()int k=1,s=0;doif(k%2)!=0) continue;s+=k;k+;while(k10);printf(“s=%d/n“,s);(分数:4
22、.00)填空项 1:_49.有以下程序:#include stdio.hfun(int x)if (x/20) fun(x/2);printf(“%d“,x);main()fun(8),printf(“/n“);程序运行后的输出结果是_。(分数:4.00)填空项 1:_50.以下程序用以删除字符串中所有的空格,请填空。#include stdio.hmain()char s100=“our teacher teach c language!“;int i,j;for(i=j=0;si!=/0;i+)if(si! =)sj=si;j+;sj=_;printf(“%s/n“,s);(分数:4.00
23、)填空项 1:_51.以下 fun函数的功能是在 N行 M列的整型二维数组中,选出一个最大值作为函数值返回,请填空(设 M,N已定义)。int fun(int aNM)int i,j,row=0,col=0;for(i=0;iN;i+)for(j=0;jM;j+)if(aijarowcol) row=i; col=j;return(_);(分数:4.00)填空项 1:_52.以下程序运行后的输出结果是_。(注:如果结果中含有回车,可加一空格写在一行,例如:1 1 11 1 11 1 1可以写成 1 1 1 1 1 1 1 1 1)main()int i,j,a3=1,2,3,4,5,6,7,8
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 395 答案 解析 DOC
