【计算机类职业资格】二级C语言笔试-434及答案解析.doc
《【计算机类职业资格】二级C语言笔试-434及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-434及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-434 及答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.下列描述中正确的是( )。A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题(分数:1.00)A.B.C.D.2.下列选项中,不是一个算法的基本特征的是( )。A) 完整性 B) 可行性 C) 有穷性 D) 拥有足够的情报(分数:2.00)A.B.C.D.3.从工程管理角度,软件设计一般分为两步完成,它们是_。(A) 概要设计与详细
2、设计(B) 数据设计与接口设计(C) 软件结构设计与数据设计(D) 过程设计与数据设计(分数:2.00)A.B.C.D.4.下列叙述中正确的是( )。A程序执行的效率与数据的存储结构密切相关 B程序执行的效率只取决于程序的控制结构C程序执行的效率只取决于所处理的数据量 D以上三种说法都不对(分数:1.00)A.B.C.D.5.下列选择项中不属于结构化程序设计原则的是A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精(分数:2.00)A.B.C.D.6.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是A) 堆排序 B) 直接插入排序 C) 快速排序 D) )和)(分
3、数:2.00)A.B.C.D.7.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序(分数:2.00)A.B.C.D.8.关系数据库管理系统能实现的专门关系运算包括( )A) 排序、索引、统计 B) 选择、投影、连接C) 关联、更新、排序 D) 显示、打印、制表(分数:2.00)A.B.C.D.9.数据库管理系统中用来定义模式、内模式和外模式的语言为( )。A) C B) Basic C) DDL D) DML(分数:1.00)A.B.C.D.10.有下列二叉树,对此二叉树前序遍历的结果为( )
4、。(分数:2.00)A.B.C.D.11.能正确表“当 x 的取值在1,10和100,110范围内为真,否则为假”的表达式是( )。A) (x=1)float x=3.4,y=2.1;,则下列表达式的值为( )。(float)(a+B) /2+(int)x%(int)yA) 5.5 B) 55C) 5.500000 D) 55.00000(分数:2.00)A.B.C.D.13.设变量已正确定义并赋值,以下正确的表达式是A) x=y*5=x+Z B) int(15.8%5) C) x=y+z+5,+y D) x=25%5.0(分数:1.00)A.B.C.D.14.若 w、x、y、z、m 均为 i
5、nt 型变量,则执行下列的语句后 m 的值是( )。w=2, x=3, y=4, z=5;m=(wx)?w:x;m=(mz)?m:z;m=(my)?m:y;A) 2 B) 3 C) 5 D) 4(分数:1.00)A.B.C.D.15.有以下程序段:main()int a=5,*b,*c;c=b=程序在执行了 c=b=语句后,表达式*c 的值是( )。A) 变量 a 的地址 B) 变量 b 中的值 C) 变量 a 中的值 D) 变量 b 的地址(分数:1.00)A.B.C.D.16.执行下列程序中的输出语句后,a 的值是( )。main()int a;printf(“%d/n“,(a=2*3,a
6、*5,a+7) );A) 17 B) 37 C) 6 D) 13(分数:2.00)A.B.C.D.17.有以下程序 #includestdio.h main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=0; for(i=0;i3;i+) for(j=2;j=i;j-)t+=bij; printf(“%d/n“,t); 程序运行后的输出结果是( )。 A) 4 B) 3 C) 8 D) 9(分数:1.00)A.B.C.D.18.下列程序的输出结果是( )。main()int a,b,d=25;a=d/10%9;b=aA) 6,1 B) 2,1 C) 6,0 D) 2,0(
7、分数:2.00)A.B.C.D.19.两次运行下列的程序,如果从键盘上分别输入 3 和 1,则输出结果是( )。main()int x;scanf(“%d“,doprintf(“%d“,x-=4);while(!(-x);程序的输出结果是( )。A) 1 B) 20 C) 1 4 D) 死循环(分数:1.00)A.B.C.D.22.有以下程序:#include stdio.hmain ( )int a3 3 , *p,i;p= i+)pi=i:for(i=0; i3;i+)Printf(“%d“,a1i);程序运行后的输出结果是( )。A) 012 B) 123 C) 234 D) 345(分
8、数:1.00)A.B.C.D.23.若有下列定义,则对 a 数组无素地址的正确引用是( )。int a5,*p=a;A) p+5 B) *a+1C) int func(int*A) b+=*a;retum b;main()int a=1,t=2;t+=func(printf(“%d/n“,t);A) 4 B) 5 C) 6 D) 8(分数:2.00)A.B.C.D.25.下面程序main()int x=100,a=10,b=20,okl=5,ok2=0;if(aB) if(b!=15)if(!ik1) x=1; else if(ok2)x=10;x=-1;printf(“%d/n“,x);的输
9、出是_。A) -1 B) 0 C) 1 D) 不确定的值(分数:2.00)A.B.C.D.26.下列程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;printf(“%d/n“,*(p+3);A) 67 B) 0 C) 字符C的地址 D) 字符C(分数:2.00)A.B.C.D.27.对以下程序段的描述,正确的是( )。x= -1;dox=x*x;while(!x);A) 是死循环 B) 循环执行两次 C) 循环执行一次 D) 有语法错误(分数:1.00)A.B.C.D.28.以下程序的输出结果是( )。main()int
10、 x=0.5;char z=a;printf(“%d/n“,(xprintf( % d, % d/n“, strlen(s),sizeof(s);执行后的输出结果是 _。A) 赋初值的字符串有错 B) 6,7C) 5,6 D) 6,6(分数:2.00)A.B.C.D.30.设 q1 和 q2 是指向一个 float 型一维数组的指针变量,k 为 float 型变量,则不能正确执行的语句是( )。A) k=*q1+*q2; B) q1=k; C) q1=q2; D) k=*q1*(*q2);(分数:2.00)A.B.C.D.31.若有说明语句:double *p,a;则能通过 scanf 语句正
11、确给输入项读入数据的程序段是 ( )。A) *p=scanf(“%1f“,p); B) *p=scanf(“%f“,p);C) p=scanf(“%1f“,*p);D) p=scanf(“%1f“,p);(分数:2.00)A.B.C.D.32.下列程序的输出结果是( )。#inCludestdio.hmain()charch25=“1234“,“5678“,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2) s=pij-0;printf(“%d“,s);A) 6357 B) 6135 C) 1357 D)
12、 691357(分数:1.00)A.B.C.D.33.以下能正确定义二维数组的是 _。A) int a3; B) int a3=2*3;C) int a3=; D) int a23=1,2,3,4;(分数:2.00)_34.下列叙述中不正确的是( )。A) 在 C 语言中调用函数时,只能把实参的值任送给形参,形参的值不能传送给实参B) 在 C 的函数中,最好使用全局变量C) 外部变量可以在函数之间传递数据D) 自动变量实质上是一个函数内部的局部变量(分数:2.00)A.B.C.D.35.有以下程序:main()int a=1,b=3,c=5,*p;int *p1=float y;int a2;
13、unsigned b3;char name10;B) structstuunsigneda3;unsigned b4;x;int*p=C) struc tsuint a;float x4;y=1,1.0;floatdat a=y.x;D) stmct ndint a,b;unsigned c2=5;(分数:1.00)A.B.C.D.38.以下选项中可作为 C 语言合法常量的是( )。A) -80 B) -080 C) -8e1.0 D) -80.0e(分数:1.00)A.B.C.D.39.有以下函数fun(char *a,char *b)while(*a!=/0) b+; return(*a-
14、*b);该函数的功能是_。A) 计算 a 和 b 所指字符串的长度之差 B) 将 b 所指字符串连接到 a 所指字符串中C) 将 b 所指字符串连接到 a 所指字符串后面 D) 比较 a 和 b 所指字符串的大小(分数:1.00)A.B.C.D.40.以下程序的输出结果是( )。#includestdiohstruct stint x; int *y; *p;int dt4 = 10,20,30,40 ;struct st aa4= 50,a=getchar(); scanf(“% d“, a=a-A+0; b=b*2;printf(“% c % c/n“, a, b);(分数:2.00)填空
15、项 1:_47.若有定义语句“int a=5;”则表达式 a+的值是 1。(分数:4.00)填空项 1:_48.若 x 为 int 类型,请写出与!x 等价的 C 语言表达式 1。(分数:2.00)填空项 1:_49.以下程序将数组 a 的 4 个元素和数组 b 的 6 个元素写到名为 lett.dat 的二进制文件中,请填空。#include stdioh#include stdlibhmain()FILE *fp;char a5=“1234“,b7=“abcedf“;if(fp=fopen(“U /U“,“wb“)=NULL) exit(0);fwrite(a,sizeof(char),4
16、,fp);fwrite(b,U /U,1,fp);fclose(fp);(分数:2.00)填空项 1:_50.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三个条件:a+bc,a+cb,b+ca。请填空。main()float a,b,c;scanf(“%f%f%f“,(y!=19)x+);(分数:2.00)填空项 1:_52.有以下程序:# includestdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12, *p=a+5, *q=
17、NULL;*q=*(p+5);printf(“%d%d/n“,*p,*q);程序运行后的输出结果是U /U。(分数:2.00)填空项 1:_53.有以下程序,请在_处填写正确语句,使程序可正常编译运行。#includestdio.h_;main()(double x, y, (*p)();scanf(“%1f%1f“, x, y);p=avg;printf(“%f/n“, (*p)(x, y);double avg(double a, double b)return(a+b)/2);(分数:2.00)填空项 1:_54.以下程序的输出结果是_。#includestring.hmain()cha
18、r a=/1,/2,/3,/4,/0;printf(“% d % d/n“,sizeof(a),strlen(a);(分数:2.00)填空项 1:_55.以下程序中函数 fun 的功能是:统计 person 所指结构体数组中所有性别(sex)为 M 的记录的个数,存入变量 n 中,并作为函数值返回。请填空:#includestdio.h#define N 3typedef structint mum,char name10;char sex;SS;int fun(SS person)int i,n=0;for(i=0;iN;i+)if(_=M)n+;return n;main()SS WN=1
19、,AA,F,2,BB,M,3,CC,M;int n;n=fun(W);printf(“n=%d/n“,n);(分数:2.00)填空项 1:_二级 C 语言笔试-434 答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.下列描述中正确的是( )。A) 软件工程只是解决软件项目的管理问题B) 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题(分数:1.00)A.B.C. D.解析:解析 软件工程是计算机软件开发和维护的工程学科,它采用工程的概念、原理、技术和
20、方法来开发和维护软件,它把经过时间考验而证明正确的管理技术和当前能够得到的最好技术结合起来。2.下列选项中,不是一个算法的基本特征的是( )。A) 完整性 B) 可行性 C) 有穷性 D) 拥有足够的情报(分数:2.00)A. B.C.D.解析:解析 作为一个算法,一般应该具有下列 4 个特征:可行性,即考虑到实际的条件能够达到一个满意的结果:确定性,算法中的第一个步骤都必须是有明确定义的:有穷性,一个算法必须在有限的时间内做完;拥有足够的情报。3.从工程管理角度,软件设计一般分为两步完成,它们是_。(A) 概要设计与详细设计(B) 数据设计与接口设计(C) 软件结构设计与数据设计(D) 过程
21、设计与数据设计(分数:2.00)A. B.C.D.解析:4.下列叙述中正确的是( )。A程序执行的效率与数据的存储结构密切相关 B程序执行的效率只取决于程序的控制结构C程序执行的效率只取决于所处理的数据量 D以上三种说法都不对(分数:1.00)A. B.C.D.解析:解析 数据的存储结构、程序处理的数据量、程序的算法等都会影响程序执行效率。5.下列选择项中不属于结构化程序设计原则的是A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精(分数:2.00)A. B.C.D.解析:解析 模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则。6.已知数据表 A 中每个
22、元素距其最终位置不远,为节省时间,应采用的算法是A) 堆排序 B) 直接插入排序 C) 快速排序 D) )和)(分数:2.00)A.B. C.D.解析:解析 堆排序的比较次数为 nlog2n;直接插入排序的比较次数为 n(n-1)/2;快速排序的比较次数为 nlog2n。7.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序(分数:2.00)A.B.C.D. 解析:解析 在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都为 n(n-1)/2,堆排序需要的比较次数为 nlog2n。8.
23、关系数据库管理系统能实现的专门关系运算包括( )A) 排序、索引、统计 B) 选择、投影、连接C) 关联、更新、排序 D) 显示、打印、制表(分数:2.00)A.B. C.D.解析:解析 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。9.数据库管理系统中用来定义模式、内模式和外模式的语言为( )。A) C B) Basic C) DDL D) DML(分数:1.00)A.B.C. D.解析:解析 数据定义语言(Data Definition Language,简称 DDL)负责数据的模式定义与数据的物理存取构建;数据操作语言(Data Manipulation Langua
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 434 答案 解析 DOC
