【计算机类职业资格】二级C语言笔试-481及答案解析.doc
《【计算机类职业资格】二级C语言笔试-481及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-481及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-481 及答案解析(总分:101.00,做题时间:90 分钟)一、选择题(总题数:40,分数:63.00)1.下列叙述中错误的是( )。A) 线性表是由 n个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C.D.2.下列关于栈的描述正确的是 _。A) 在栈中只能插入元素而不能删除元素B) 在栈中只能删除元素而不能插人元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(分数:2.00)A.B.C.D.3.“商品”与“顾客”
2、两个实体集之间的联系一般是( )。A) 一对一 B) 一对多 C) 多对一 D) 多对多(分数:1.00)A.B.C.D.4.对长度为 n的线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。A)125 B)n/2 C)n D)n+1(分数:2.00)A.B.C.D.5.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D) 软件开发过程(分数:2.00)A.B.C.D.6.数据库技术的根本目标是要解决数据的( )。A) 存储问题 B) 共享问题 C) 安全问题 D) 保护问题(分数:2.00)
3、A.B.C.D.7.对如图所示的二叉树进行前序遍历的结果为(分数: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.简单的交换排序方法是( )。A) 快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序(分数:2.00)A.B.C.D.11.C语言源程序名的后缀是( )。A) .exe B) .C C) .obj D
4、) .cp(分数:1.00)A.B.C.D.12.可以在 C语言中用做用户标识符的是_。A) voiddefine WORDB) as_b3_123IfC) for -abccasD) 2cDoSIG(分数:1.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(分数:2.00)A.B.C.D.14.以下程序运行后的输出结果是main( )float x=2.0,y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x:else y=1.0
5、;printf(“%f/n“,y);A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(分数:1.00)A.B.C.D.15.若执行下列的程序时,从键盘上输入 1和 2,则输出结果是( )。#includestdio.hmain()int a,b,s;scanf(“%d%d“,main()int a1,b2,c3,sum;stunfun(a+,b+,a+b) ,c+);printf(“%d/n“,sum);执行后的输出结果是( )。A) 6 B) 7 C) 8 D) 9(分数:1.00)A.B.C.D.17.在下列选项中,没有构成死循环的是A) in
6、t i=100; B) for(:);while(1)i=i%100+1:if(i100)break;C) int k=10000;dok+;while(k10000);D) int s=36:while(s)-s;(分数:1.00)A.B.C.D.18.有以下程序段:int k=0, a=1, b=2, c=3;k=ab? b:a; k=kc? c:k;执行该程序后,k 的值是_。A) 3 B) 2 C) 1 D) 0(分数:2.00)A.B.C.D.19.设有定义:int n=0,*p=printf(“%d/n“, s0;执行后的结果是( )。A) 输出字符 a的 ASCII码 B) 输出
7、字符 c的 ASCII码C) 输出字符 c D) 程序出错(分数:1.00)A.B.C.D.23.在嵌套使用 if语句时,C 语言规定 else总是( )。A) 和之前与其具有相同缩进位置的 if配对B) 和之前与其最近的 if配对C) 和之前与其最近的且不带 else的 if配对D) 和之前的第一个 if配对(分数:1.00)A.B.C.D.24.有以下程序:#include stdio. hint f(int a)return a% 2; main( )int s8 = 1,3,5,2,4,6 ,i,d =0;for (i=0;f(si);i+) d+ =si;prinff( “% d /
8、n“, d);程序运行后的输出的结果是( ).A) 9 B) 11 C) 19 D) 21(分数:1.00)A.B.C.D.25.若有定义和语句:int*pp,*p,a=20,b=10;pp=p=p=printf(%d,%d/n“,*p,*pp);则输出结果是( )。A) 20,10 B) 20,20C) 10,20 D) 10,10(分数:2.00)A.B.C.D.26.若有定义和语句:int*pp,*p, a=20,b=1O;pp= p= p= printf (“%d,%d/n“,*p,*pp);则输出结果是( )。A) 20,10 B) 20,20C) 10,20 D) 10,10(分数
9、:1.00)A.B.C.D.27.以下程序的主函数中调用了在其前面定义的 fun函数#include stdio.hmain()double a15,k;k=fun(a);则以下选项中错误的 fun函数受部是( )。A)double fun(double a15) B)double fun(double *a)C)double fun(double a) D)double fun(double a)(分数:2.00)A.B.C.D.28.下述程序的输出结果是#includestdio.hvoid main()int a5=2,4,6,8,10;int*p=a,*q= *s=*t; *t=k;s
10、+;t-;if(*s)f(s,t):main()char str10=“abcdefg“,*P;P=str+strlen(str)/2+1:f(p,p-2);printf(“%s/n“,str);程序运行后的输出结果是_。A) abcdefg B) gfedcba C) gbcdefa D) abedcfg(分数:2.00)A.B.C.D.32.有以下程序段typedef struct node(int data; struct node *next;) *NODE;NODE p;以下叙述中正确的是_。(A) P是指向 struct node结构变量的指针的指针(B) NODE p;语句出错(
11、C) P是指向 struct node结构变量的指针(D) P是 struct node结构变量(分数:2.00)A.B.C.D.33.有以下程序int fun1(double a)return a*=a;int fun2(double x,double y)double a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);main()double w;w=fun2(1.1,2.0);程序执行后变量 w中的值是A) 5.21 B) 5 C) 5.0 D) 0.0(分数:2.00)A.B.C.D.34.C语言结构体类型变量在程序执行期间( )。A) 所有成员
12、一直驻留在内存中B) 没有成员驻留在内存中C) 部分成员驻留在内存中D) 只有一个成员驻留在内存中(分数:2.00)A.B.C.D.35.设 x=011050,则 x=xfor(b=1;b=10;b+)if(a=8)break;if(a%2=1)(a+=5;continue;a-=3;printf(“%d/n“,b);程序运行后的输出结果是_。A) 3 B) 4 C) 5 D) 6(分数:1.00)A.B.C.D.37.有以下程序:#include stdio.hfloat f1 (float n )return n*n;float f2 ( float n)return 2 * n;main
13、( )float ( * p1)(float),( * p2)(float),(*t)(float) ,y1,y2;p1 = f1;p2 = f2;y1 = p2(p1(2.0) );t =p1;p1 = p2;p2 =t;y2=p2(p1(2.0);prinff(“% 3.0f, %3. Of/n“ ,y1,y2);程序运行后的输出结果是( )。A) 8,16 B) 8,8 C) 16,16 D) 4,8(分数:1.00)A.B.C.D.38.fscanf函数的正确调用形式是( )。A) fscanf(文件指针,格式字符串,输出表列);B) fscanf(格式字符串,输出表列,文件指针);C
14、) fscanf(格式字符串,文件指针,输入表列);D) fscanf(文件指针,格式字符串,输入表列);(分数:1.00)A.B.C.D.39.已定义以下函数:int fun(int *p)return *p;函数 fun的返回值是( )。A) 不确定的值 B) 一个整数C) 形参 p中存放的值 D) 形参 p的地址值(分数:1.00)A.B.C.D.40.在 int (*prt)3;定义中,标识符 prt( )。A) 定义不合法 B) 是一个指针数组名,每个元素都是一个指向整型变量的指针C) 是一个指针,它指向一个具有三个元素的一维数组D) 是一个指向整型变量的指针(分数:2.00)A.B
15、.C.D.二、填空题(总题数:15,分数:38.00)41.某二叉树有 5个度为 2的结点以及 3个度为 1的结点,则该二叉树中共有 1 个结点。(分数:4.00)填空项 1:_42.42. 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行人队运算。这种情况称为U /U。(分数:2.00)填空项 1:_43.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_44.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。(分数:2.00)填空项 1:_45.问题处理方案的正确而完整的描述称为 1。(分数:2.00
16、)填空项 1:_46.E-R图中,矩形表示 1。(分数:2.00)填空项 1:_47.在关系模型中,把数据看成是二维表,每一个二维表称为一个_。(分数:4.00)填空项 1:_48.有以下程序:#includestdio.hmain()int a=1,b=2,c=3,d=0;if(a=1)if(b1=2)if(c=3) d=1;else d=2;else if(c!=3) d=3;else d=4;else d=5;printf(“%d/n“,d);程序运行后的输出结果是_。(分数:4.00)填空项 1:_49.若 a是血型变量,且 a的初值为 4,则计算 a+=a-=a*a表达式后 a的值为
17、 1。(分数:2.00)填空项 1:_50.若变量 x、y 已定义为 int类型,X 的值为 99,y 的值为 9,请将输出语句“printf( 1,x/y):”补充完整,其输出的计算结果形式为:x/y=11。(分数:4.00)填空项 1:_51.52. 下列程序的输出结果是_。#includestdio.hmain()int x3,y2,z1;if(xy)if(y0)z+0;else Z+1;primf(“%d/n“,z);(分数:2.00)填空项 1:_52.51. 下面程序执行后输出的结果是U /U。int m=13;int fun(int x, int y)int m=3;return
18、(x*y-m);main()int a=7,b=5;printf(“%d/n“,fun(a,B) /m);(分数:2.00)填空项 1:_53.下面程序的运行结果是_。 #includestdio.h main() int a,s,n,m; a=2;s=0;n=1;m=1; while(m=4)n=n*a;s=s+n;+m; printf(“s=%d“,s); (分数:2.00)填空项 1:_54.54. 以下程序的输出结果是U /U。#include stdiohmain()int i;for(i=a;if;i+,i+)printf(“%c“,i-a+A);printf(“/n“);(分数:
19、2.00)填空项 1:_55.有以下程序#includestdio.hmain()int c3=0,k,i;while(k=getchar()!=/n)ck-A+;for(i=0;i3;i+)printf(“%d“,ci);printf(“/n“);若程序运行时从键盘输入 ABCACC回车,则输出结果为_。(分数:2.00)填空项 1:_二级 C语言笔试-481 答案解析(总分:101.00,做题时间:90 分钟)一、选择题(总题数:40,分数:63.00)1.下列叙述中错误的是( )。A) 线性表是由 n个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅有一个前件
20、和后件D) 线性表可以是空表(分数:2.00)A.B.C. D.解析:解析 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C)是错误的。2.下列关于栈的描述正确的是 _。A) 在栈中只能插入元素而不能删除元素B) 在栈中只能删除元素而不能插人元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(分数:2.00)A.B.C. D.解析:解析 栈是特殊的线性表,它的一端封闭,在另一端进行插入和删除操作。3.“商品”
21、与“顾客”两个实体集之间的联系一般是( )。A) 一对一 B) 一对多 C) 多对一 D) 多对多(分数:1.00)A.B.C.D. 解析:解析 由于一个顾客可以购买多种商品,同一种商品可以有多个顾客购买,所以商品和顾客之间是多对多的联系。4.对长度为 n的线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。A)125 B)n/2 C)n D)n+1(分数:2.00)A.B.C. D.解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏的情况下,要查找的元素是表的最后一个元素或查找失败,这两种情
22、况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。5.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D) 软件开发过程(分数:2.00)A.B. C.D.解析:解析 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中,结构设计是定义软件系统各主要部件之间的关系;数据设计将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。6.数据库技术的根本目标是要解决数据的( )。A)
23、存储问题 B) 共享问题 C) 安全问题 D) 保护问题(分数:2.00)A.B. C.D.解析:解析 在数据库系统中,需要对数据进行集中、统一的管理,以达到被多个应用程序共享的目标。7.对如图所示的二叉树进行前序遍历的结果为(分数:2.00)A.B.C. D.解析:解析 二叉树前序遍历的含义是:首先访问根结点,然后按前序遍历根结点的左子树,最后按前序遍历根结点的右子树,前序遍历二叉树的过程是一个递归的过程。根据题目中给出的二叉树的结构可知前序遍历的结果是 ABDYECFXZ。8.源程序的文档化不包括( )。A) 符号名的命名要有实际意义 B) 正确的文档形式C) 良好的视觉组织 D) 正确的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 481 答案 解析 DOC
