【计算机类职业资格】二级C语言笔试-437及答案解析.doc
《【计算机类职业资格】二级C语言笔试-437及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-437及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-437 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.下列数据结构中,能用二分法进行查找的是( )。A) 无序线性表 B) 线性链表 C) 二叉链表 D) 顺序存储的有序表(分数:2.00)A.B.C.D.2.下列数据结构中,能用二分法进行查找的是( )。A) 顺序存储的有序线性表 B) 线性链表 C) 二叉链表 D) 有序线性链表(分数:1.00)A.B.C.D.3.下列叙述中正确的是_。A) 软件交付使用后还需要维护 B) 软件一旦交付使用就不需要维护C) 软件交付使用后其生命周期就结束 D) 软件维护是指修复程序中
2、被破坏的指令(分数:2.00)A.B.C.D.4.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序的易读性(分数:1.00)A.B.C.D.5.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.B.C.D.6.某系统总体结构图如下图所示:(分数:2.00)A.B.C.D.7.下列选项中不属于结构化程序设计方法的是( )。A) 自顶向下 B) 逐步求精 C) 模块化 D) 可复用(分数:2.00)A.B.C.D.8.下列特征中不是面向对象方法的主要特征的是( )。A) 多态性 B) 继承 C) 封装性 D) 模块化(分
3、数:2.00)A.B.C.D.9.下列不属于软件工程的 3 个要素的是( )A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.10.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。A一对一 B一对多C多对一 D多对多(分数:1.00)A.B.C.D.11.在学校中,“班级”与“学生”两个实体集之间的联系属于( )关系。A) 一对一 B) 一对多 C) 多对一 D) 多对多(分数:2.00)A.B.C.D.12.下列叙述中,正确的是A) 用 E-R 图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B) 用 E-R 图只能表示实体集之间一对一的联系
4、C) 用 E-R 图只能表示实体集之间一对多的联系D) 用 E-R 图表示的概念数据模型只能转换为关系数据模型(分数:2.00)A.B.C.D.13.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70) ,要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33 被放到第 ( )个位置。A) 3 B) 5 C) 7 D) 9(分数:2.00)A.B.C.D.14.数据的存储结构是指( )。A) 存储在外存中的数据 B) 数据所占的存储空间量C) 数据在计算机中的顺序存储方式 D) 数据的逻辑结构在计算机中的表示(分数:1.00)
5、A.B.C.D.15.以下叙述中正确的是( )。AC 语言程序将从源程序中第一个函数开始执行B可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行CC 语言规定必须用 main 作为主函数名,程序将从此开始执行,在此结束Dmain 可作为用户标识符,用以命名任意一个函数作为主函数(分数:1.00)A.B.C.D.16.下列程序的输出结果是( )。mainint x8,y8;printf(“%d%d/n“,x-,-y);A) 88 B) 77 C) 78 D) 87(分数:1.00)A.B.C.D.17.下列程序的输出结果是_。main()int i=3;switch(i)case
6、1:case2:printf(“%d“,i)case3:case4:break;default:printf(“OK“);A) 0 B) 3 C) OK D) 没有任何输出(分数:1.00)A.B.C.D.18.已有定义:char c;,程序前面已在命令行中包含 ctypeh 文件,不能用于判断 c 中的字符是否为大写字母的表达式是A) isupper(c) B) A=c=ZC) A=c x+; printf(“x=%d/n“,x);程序执行后的输出结果是( )。Ax=4 Bx=8 Cx=6 Dx=12(分数:1.00)A.B.C.D.21.有以下程序main()int i=1,j=2,k=3
7、;if(i+=1程序运行后的输出结果是_。A) 1 2 3 B) 2 3 4 C) 2 2 3 D) 2 3 3(分数:1.00)A.B.C.D.22.已定义下列函数:int fun(int*p)return *p;)fun 函数返回值是( )。A) 不确定的值 B) 一个整数C) 形参 p 中存放的值 D) 形参 p 的地址值(分数:2.00)A.B.C.D.23.下列程序执行后的输出结果是void funcl(int i);void func2(int i);char st=“hello,friend!“;void funcl(int i)printf(“%c“,sti);if(i3)i+
8、=2;func2(i);void func2(int i)printf(“%c“,sti);if(i3)i+=2;func1(i);main()int i=0;func1(i);printf(“/n“);A) hello B) hel C) hlo D) hlm(分数:2.00)A.B.C.D.24.有以下程序#includestdio.hdouble f(double x);main()double a=0;int i;for(i=0;i30;i+=10)a+=f(double)i);printf(“%5.0f/n“,a);double f(double x)return x*x+1;程序运
9、行后的输出结果是( )。A)503 B)401 C)500 D)1404(分数:2.00)A.B.C.D.25.下列叙述中不正确的是( )。A) 在 C 语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) 在 C 的函数中,最好使用全局变量C) 外部变量可以在函数之间传递数据D) 自动变量实质上是一个函数内部的局部变量(分数:2.00)A.B.C.D.26.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。A) 函数调用可以作为独立的语句存在 B) 函数调用可以作为一个函数的实参C) 函数调用可以出现在表达式中 D) 函数调用可以作为一个函数的形参(分数:
10、1.00)A.B.C.D.27.以下程序的输出结果是_。main()chsr st20=“bello/0/t/“;print(“%d%f/n“,strlen(st),sizeof(st);A) 99 B) 520 C) 1320 D) 2020(分数:2.00)A.B.C.D.28.设有下列语句int a=1,b=2,c;c=a(b2);执行后,C 的值为( )。A) 6 B) 7 C) 8 D) 9(分数:2.00)A.B.C.D.29.以下程序运行后的输出结果是#includestdio.hmain( )int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+)print
11、f(“%d“,i+j);printf(“/n“);A) 2 3 43 4 5B) 4 3 25 4 3C) 2 33 44 5D) 4 53 42 3(分数:2.00)A.B.C.D.30.下列叙述错误的是( )。A) 函数名是属于用户标识符,需符合 C 语言对标识符的规定B) 形参只能是变量C) 为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D) 函数中定义的变量可以与其他函数中的变量同名(分数:2.00)A.B.C.D.31.下列程序的输出结果是( )。#includestdio.hvoid main()int b6=2,4,6,8,10,12;int *p=b,*q=p
12、rintf(“%d“,*(p+);printf(“%d,“,*q);A) 4,4 B) 2,2 C) 4,5 D) 2,4(分数:2.00)A.B.C.D.32.设有下列的程序段:char str=“Hello World“;char*ptr;ptr=str;执行上面的程序段后,*(ptr+10)的值为( )。A) /0 B) 0 C) 不确定的值 D) 0的地址(分数:2.00)A.B.C.D.33.若希望下列的程序运行后输出 25,程序空白处的正确选项是( )。main()int i,j50,a7,4,10,5,8;for( )j+ai;primf(“%d,j-40);A) i1;i4;+
13、i B) i1;i3;+i C) i4;i2;i- D) i2;i4;+i(分数:2.00)A.B.C.D.34.以下程序运行后的输出结果是#includestdio.h#includestdlib.hint fun(int n)int *p;p=(int*)malloe( sized ( int );* p=n; return * p;main( )int a;a=fun(10);printf(“%d/n“,a+fun(10);A) 0 B) 10 C) 20 D) 出错(分数:2.00)A.B.C.D.35.设有定义:int n1=0,n2,*p=,下列赋值语句中与 n2=n1; 语句等价
14、的是( )。A) *p=*q; B) p=q; C) *p= D) p=*q;(分数:2.00)A.B.C.D.36.若要求从键盘读入含有空格字符的字符串,应使用函数_。(A) getc()(B) gets()(C) getchar()(D) scanf()(分数:2.00)A.B.C.D.37.若有函数 max(a,b),为了让函数指针变量 p 指向函数 max,当调用该函数时,正确的赋值方法是A) (*p)max(a,b) B) *pmax(a,b)C) p=max(a,b) D) *p=max(a,b)(分数:2.00)A.B.C.D.38.根据下列的定义,能打印出字母 P 的语句是(
15、)。struct stu char name10;iht age;struct stu s10=“John“,11,“Paul“, 12,“Mary“, 11,“adam“,12;A) printf(“%c“,s3.name); B) printf(“%c“,s3.name1);C) printf(“%c“,s2.name1); D) printf(“%c“,s1.name0);(分数:1.00)A.B.C.D.39.有以下程序:int a=2;int f(int n)static int a=3;int t=0;if(n%2)static int a=4;t+=a+;elsestatic i
16、nt a=5;t+=a+;return t+a+;main()int s=a,i;for(i=0;i3;i+)s+=f(i);printf(“%d/n“,s);程序运行后的输出结果是_。A) 26 B) 28 C) 29 D) 24(分数:2.00)A.B.C.D.40.有以下程序#include stdio.hvoid WriteStr(char *fn,char *str)FILE *fp;fp=fopen(fn,“w“);fputs(str,fp);fclose(fp);main()WriteStr(“t1.dat“,“start“);WriteStr(“t1.dat“,“end“);程
17、序运行后,文件 t1.dat 中的内容是_。A) start B) end C) startend D) endrt(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 1。(分数:2.00)填空项 1:_42.按照“先进先出”的原则组织数据的结构是 1。(分数:2.00)填空项 1:_43.栈的 3 种基本运算是:入栈、退栈和 1。(分数:2.00)填空项 1:_44.程序测试分为静态测试和动态测试。其中 1 是指不执行程序,而只是对
18、程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_45.数据库设计分为以下 6 个设计阶段:需求分析阶段、_、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是_。main()int m=011,n=11;printf(“%d %d/n“,+m,n+); (分数:2.00)填空项 1:_47.以下程序给指针 p 分配三个 double 型动态内存单元,请填空。#include stdio.h#include stdlib.hmain()double *p;p=(double *)mall
19、oc(U /U);p0=1.5;p1=2.5;P2=3.5;printf(“%f%f%f/n“,p0,p1,p2);(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#includestdio.hmain()int x=3,y=2,z=1;if(xy)if (y0) z=0;else z+=1;printf(“%d/n“,z);(分数:2.00)填空项 1:_49.有以下程序:main()int a33,*p,i;p=for(i=0;i9;i+)pi=i+1;printf(“%d/n“,a12);程序运行后的输出结果是U /U。(分数:2.00)填空项 1:_50.若有定义:int
20、 a44=1,2,3,4,0,4,6,8,10,1,3,5,7,则初始化后,a22得到的初值是 1。(分数:2.00)填空项 1:_51.以下程序运行后的输出结果是_。 #includestdio.h int *f(int *p, int *q); main() int m=1, n=2, *r= r=f(r, printf(“%d/n“, *r); int *f(int *p, int *q) return( *p*q) ? p:q; (分数:2.00)填空项 1:_52.下列程序的输出结果是_。#includestdiohint(int x,int y,int cp,int dp)cp=x
21、*x+y*y;dp=x*x-y*y;main()int a=1,b=8,c=7,d=9;t(a,b,c,d);printf(“%d%d/n“,c,d);(分数:2.00)填空项 1:_53.下面程序的运行结果是U /U。#includestdioh#define SIZE 12main()char sSIZE;int i;for(i=0;iSIZE;i+) si=A+i+321;sub(s,7,SIZE-1);for(i=0;iSIZE;i+) printf(“%c“,si);printf(“/n“);sub(char *a,int t1,int t2)char ch;while(t1t1)c
22、h=*(a+t1);*(a+t1)*(a+t2);*(a+t2)ch;t1+;t2-; (分数:2.00)填空项 1:_54.已知 bead 指向一个带头结点的单向链表,链表中每个结点包含数据域(data)和指针域(next),数据域为整型。以下函数求出链表中所有连接点数据域的和值作为函数值返回。请在横线处填入正确内容。int data; struct link *next;main()struct link *head;sam(_);stmct link *p;int s=0;p=head-next;while(p)s+=p-data;p=p-next;return(s);(分数:2.00)
23、填空项 1:_55.下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中 x 是数组名,n 是 x 中的数据个数,max 存放最大值,index 存放最大值所在元素的下标。请填空。#includestdlib.h#includestdio.hvoid fun(inta,int n,int *max,int *d)int i;*max=a0;*d=0;for(i=0;U /U;i+)if(*maxU /U)*max=ai;*d=i;main()int i,x20,max,index,n=10;randomize(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 437 答案 解析 DOC
