【计算机类职业资格】二级C语言笔试-458及答案解析.doc
《【计算机类职业资格】二级C语言笔试-458及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-458及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-458 及答案解析(总分:103.00,做题时间:90 分钟)一、选择题(总题数:40,分数:67.00)1.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D.2.程序流程图中带有箭头的线段表示的是A) 图元关系 B) 数据流 C) 控制流 D) 调用关系(分数:2.00)A.B.C.D.3.已知、棵二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,则它的前序遍历序列是( )。A)
2、 acbed B) decab C) deabc D) cedba(分数:1.00)A.B.C.D.4.最简单的交换排序方法是( )。A) 快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序(分数:2.00)A.B.C.D.5.在面向对象方法中,实现信息隐蔽是依靠_。A) 对象的继承 B) 对象的多态 C) 对象的封装 D) 对象的分类(分数:2.00)A.B.C.D.6.数据库管理系统中负责数据模式定义的语句是A) 数据定义语言 B) 数据管理语言 C) 数据操纵语言 D) 数据控制语言(分数:2.00)A.B.C.D.7.数据库系统的核心是( )。A) 数据模型 B) 数据库管理系统C
3、) 数据库 D) 数据库管理员(分数:2.00)A.B.C.D.8.关系代数运算是以 _为基础的运算。A) 关系运算 B) 谓词运算 C) 集合运算 D) 代数运算(分数:2.00)A.B.C.D.9.算法具有五个特性,以下选项中不属于算法特性的是_。A) 有穷性 B) 简洁性 C) 可行性 D) 确定性(分数:2.00)A.B.C.D.10.当 c的值不为 0时,在下列选项中能正确将 c的值赋给变量 a、b 的是( )。Ac=b=a; B(a=c)|(b=c);C(a=c)int c,i;scanf(“%c“,scanf(“%d“,scanf(“%s“,s);printf(“%c,%d,%s
4、/n“,c,i,s);A) 123,456,789 B) 1,456,789C) 1,23,456,789 D) 1,23,456(分数:1.00)A.B.C.D.17.若执行下列程序时从键盘上输入 2,则输出结果是( )。#includestdio.hmain()int a;scanf(“%d“,if(a+3)printf(“%d/n“,a);else printf(“%d/n“,a-);A) 1 B) 3 C) 2 D) 4(分数:1.00)A.B.C.D.18.有下列程序:main()int x=5;do(printf(“%d“,x-=4) ;while(!(-X);程序的输出结果是(
5、)。A) 1 B) 2 0 C) 1 -4 D) 死循环(分数:2.00)A.B.C.D.19.下列程序的输出结果是( )。main()int a4,b5,c;ifaB) ca*b;printf(“%d,%d,%d/n“,b,a,c);elsecb/a;printf(“%d,%d,%d/n“,b,a,c);A) 4,5,12 B) 20 C) 5,4,20 D) 12(分数:1.00)A.B.C.D.20.有下列程序:#includestdio.hmain()char*s=“ABC“;doprintf(“%d“,*s%10);s+;while(*s);注意:字母 A的 ASCII码值为 65。
6、程序运行后的输出结果是( )。A5670 B656667 C567 DABC(分数:1.00)A.B.C.D.21.若变量已正确定义,下列正确的程序段是( )。A) while(ch=getchar()=/N)putchar(ch);B) while(ch=getchar()=/n)putchar(ch);C) while(ch=getehar()!=/N)putchar(ch);D) while(ch=getchar()!=/n,)putchar(ch);(分数:2.00)A.B.C.D.22.以下选项中非法的字符常量是( )。 A) / B) /0201 C) /xAA D) 0(分数:2
7、.00)A.B.C.D.23.设有定义:int A,*pA=,以下 scanf 语句中能正确为变量 A读入的数据是 _。A) scanf (“%d“,pA) ; B) scanf (“%d“,A) ;C) scanf (“%d“, D) scanf (“%d“,*pA) ;(分数:2.00)A.B.C.D.24.有以下程序#include stdio.hvoid fun(int *p)printf(“%d/n“,p5);main()int a10=1,2,3,4,5,6,7,8,9,10;fun(程序运行后的输出结果是( )。A)5 B)6 C)8 D)9(分数:2.00)A.B.C.D.25
8、.以下程序段给数组所有的元素输入数据,请选择正确答案填入。#includestdio.hmain()int a10,i=0;while(i10)scanf(“%d“,_);:A) a+(i+) B) B) int b=0, 0, 0, 0, 0; C) int c2+3; D) int i=5, di;(分数:2.00)A.B.C.D.27.有以下程序#includestdio.h#define N 4void fun(int aN,int b)int i;for(i=0;iN;i+)bi=aii-aiN-1-i;void main()int xNN=1,2,3,4,5,6,7,8,9,10,
9、11,12,13,14,15,16,yN,i;fun(x,y);for(i=0;iN;i+)printf(“%d,“,yi);printf(“/n“);程序运行后的输出结果是( )。A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,(分数:2.00)A.B.C.D.28.下列叙述中不正确的是A) 在不同函数中可以使用相同名字的变量B) 函数中的形式参数是局部变量C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(分数:2.00)A.B.C.D.29.有以下程序#includestdio
10、.hmain()(char a3 0, b30;scanf(“%s“, a);gets(b);printf(“%s/n%s/n“, a, b);程序运行时若输入:how are you? I am fine回车则输出结果是_。A) how are you?I am fineB) howare you? I am fineC) how are you? I am fineD) how are you?(分数:1.00)A.B.C.D.30.设已包含头文件string.h,下列程序段的运行结果是( )。char s1=“ACDEF“;char s2=“ABC“;strcpy(s1,s2);prin
11、tf(“%d“,strlen(s1);A) 3 B) 4 C) 6 D) 5(分数:2.00)A.B.C.D.31.设中为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( )。A) EOF B) 非 0值 C) 0 D) NULL(分数:2.00)A.B.C.D.32.下面程序的输出结果是#includestdioh#includestringhmain()char*p1=“abc“,*p2=“ABC“,str50=“xyz“;strcpy(str+2,streat(p1,p2);printf(“%s/n“,str);A) xyzabcABC B) zabcA
12、BC C) xyabcABC D) yzabcABC(分数:1.00)A.B.C.D.33.有以下程序:#includestdio.hmain()FILE *fp;int a10=1,2,3,0,0,i;fp=fopen(“d2.dat“,“wb“);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(“d2.dat“,“rb“);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i10;i+)printf(“%d,“,ai);程序的运行结果是( )。A)
13、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,(分数:2.00)A.B.C.D.34.设有定义:char *c;,以下选项中能够使字符型指针 c正确指向一个字符串的是A) char str=“string“; c=str; B) scanf(“%s“, c);C) c=getchar(); D) *c=“string“;(分数:2.00)A.B.C.D.35.有以下程序:#include stdiohintf(intn)if(n=1) return 1
14、;else return f(n-1)+1;main()int i,j=0;for(i=1; i3; i+) j+=f(i);printf(“%d/n“,j);程序运行后的输出结果是( )。A) 4 B) 3 C) 2 D) 1(分数:1.00)A.B.C.D.36.有以下定义和语句: struct students int num;char name20;char c; struct int grade1;int grade2;s; ; struct students w,*pw; *pw=w; 下列赋值语句不正确的是( )。 A) w.num=1002; B) w.grade1=85; C
15、) pw-num=1002;D) w.s.grade2=85;(分数:2.00)A.B.C.D.37.在 C语言中,函数的隐含存储类别是 _。A) auto B) static C) extern D) 无存储类别(分数:2.00)A.B.C.D.38.若以“a+”方式打开一个已存在的文件,则下列叙述正确的是( )。A) 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作B) 文件打开时,原有文件内容不被删除,只能进行读操作C) 文件打开时,原有文件内容被删除,只能进行写操作D) 以上三种说法都不正确(分数:2.00)A.B.C.D.39.设有以下定义和语句:char
16、 str20=“Program“, *P;p=str;则以下叙述中正确的是( )。A) *p与 str0中的值相等B) str与 p的类型完全相同C) str数组的长度和 p所指向的字符串长度相等D) 数组 str中存放的内容和指针变量 p中存放的内容相同(分数:1.00)A.B.C.D.40.下列程序的运行结果是( )。#include stdio.hvoid fun(int *a, int *b)int *k;k=a; a=b; b=k;main()int a=3,b=6, *x=fun(x,y);printf(“%d%d“,a,b);A) 6 3 B) 3 6 C) 编译出错 D) 0
17、0(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:36.00)41.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_42.用树型结构表示实体类型及实体间联系的数据模型称为U /U。(分数:2.00)填空项 1:_43.下列软件系统结构图的宽度为 1。*(分数:2.00)填空项 1:_44.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_45.一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体“宿舍”与实体“学生”的联系属于 1 的联系。(分数:2.
18、00)填空项 1:_46.以下程序运行后,当输入“14 63”时,输出结果是_。#includestdio.hmain()int m, n;scanf(“%d %d“, while(m!=n)while(mn) m=m-n;while(mn) n=n-m;printf(“%d/n“, m);(分数:2.00)填空项 1:_47.下面的程序实现的是从指针 p所指向的地址的 n个数中,找出最大的和最小的数据,请填空。fun(int *p,int n)int *q;int max,min;max=min=*p;for(q=p;_;q+)if(*qmax)max=*q;else if(*qmin)mi
19、n=*q;(分数:2.00)填空项 1:_48.以下程序中,fun 函数的功能是求 3行 4列二维数组每行元素中的最大值,请填空void fun(int,int,int(*)4,int *);main()int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(“%4d“,bi);printf(“/n“);void fun(int m,int n,int ar4,int *bar)int i,j,x;for(i=0;iM;i+)x=ari0;for(j=0;jN;j+)NBSP;IF(X_=
20、x;(分数:2.00)填空项 1:_49.设有下列宏定义:#define A 2#define B (A+3) 则执行赋值语句“k=B*20;”(k 为 int型变量)后,k 的值是_。(分数:2.00)填空项 1:_50.以下说明语句中,_是结构体类型名。typedef structint n;char ch8;PER;(分数:2.00)填空项 1:_51.下面 rotate函数的功能是:将 n行 n列的矩阵 A转置 A,例如(分数:8.00)填空项 1:_52.以下程序中函数 huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no
21、!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda,请填空。#include char *huiwen(char *str)char *p1,*p2;int i,t=0;p1=str; p2=_;for(i=0;i=strlen(str)/2;i+)if(*p1+!=*p2-)t=1;break;if(t=0)return(“yes!“);else return(“no!“);main()char str50;printf(“Input:“);scanf(“%s“,str);printf(“%s/n“, huiwen(str);(分数:2.00)填空项 1:_53.以下程
22、序运行后的输出结果是U /U。fun(iht x)if(x/20) fun(x/2);printf(“%d“,x);main()fun(6); (分数:2.00)填空项 1:_54.软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段,其中编码和测试属于_阶段。(分数:2.00)填空项 1:_55.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_二级 C语言笔试-458 答案解析(总分:103.00,做题时间:90 分钟)一、选择题(总题数:40,分数:67.00)1.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度必定大B) 一个算法的空
23、间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D. 解析:解析 算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的执行情况,它们之间没有内在联系。2.程序流程图中带有箭头的线段表示的是A) 图元关系 B) 数据流 C) 控制流 D) 调用关系(分数:2.00)A.B.C. D.解析:解析 在程序流程图中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。带箭头的线段在数据流程图中表示数据流。带箭头的线段在程序流程图中表示控制流。在题目给出的选项中,图元之间用带有
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 458 答案 解析 DOC
