【计算机类职业资格】二级C语言笔试-468及答案解析.doc
《【计算机类职业资格】二级C语言笔试-468及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-468及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-468 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:69.00)1.按照“先进后出”原则组织数据的数据结构是( )。A) 队列 B) 栈C) 双向链表 D) 二叉树(分数:1.00)A.B.C.D.2.下列叙述中正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上 3 种描述都不对(分数:2.00)A.B.C.D.3.下列关于线性链表的描述中,正确的是( )。、只含有一个指针域来存放下一个元素地址、指针域中的
2、指针用于指向该结点的前一个或后一个结点(即前件或后件)、结点由两部分组成:数据域和指针域。A) 仅、 B) 仅、 C) 仅、 D) 全部(分数:2.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.有以下程序:int*f(int*x,int*y)if(*x*y)return
3、x;elsereturn y;main()int a=7,b=8,*P,*q,*r;P=x=y=1;z=x+,y+,+y;printf(“%d,%d,%d/n“,x,y,z);程序运行后的输出结果是_。(A) 2,3,3(B) 2,3,2(C) 2,3,1(D) 2,2,1(分数:1.00)A.B.C.D.14.下列叙述中正确的是( )。A) 在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B) 实型变量中允许存放整型数C) 若 a 和 b 类型相同,在执行了赋值 a=b 后,b 中的值将放入 a 中,但 b 中的值不变D) 在 C 程序中,求余运算符“%”两边的类型相同时才能进行
4、运算(分数:2.00)A.B.C.D.15.若有定义语句:int x=10;,则表达式 x-=x+x 的值为A) -20 B) -10 C) 0 D) 10(分数:1.00)A.B.C.D.16.有以下程序main()int a,b,d=25;a=d/10%9;b=a(-1);printf(“%d,%d/n“,a,b);程序运行后的输出结果是_。(A) 6,1(B) 2,1(C) 6,0(D) 2,0(分数:1.00)A.B.C.D.17.下列说法不正确的足( )。 A) int*ptr;/指针指向整形数据 B) char*ptr;/指针的类型是字符型指针 C) int*ptr;/指针的类型是
5、双重指针 D) int(*ptr)3;/是一一个指针数组,数组共有三个元素,而三个元素是 int 型指针(分数:1.00)A.B.C.D.18.以下不构成无限循环的语句或者语句组是_。A) n=0; B) n=0;do+n;while(n=0); while(1)n+C) n=10; D) for(n=0,i=1;i+)n+=i;while(n);n-;)(分数:2.00)A.B.C.D.19.有以下程序:main()int k=5;while(-k)printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。A) 1 B) 2 C) 4 D) 死循环(分数:2.00)
6、A.B.C.D.20.以下程序段的输出结果是int a,b,c;a=10;b=50;c=30;if(ab)a=b,b=c;c=a;printf(“a=%d b=%d c=%d/n“,a,b,c);A) a=10 b=50 c=10 B) a=10 b=50 c=30C) a=10 b=30 c=10 D) a=50 b=30 c=50(分数:1.00)A.B.C.D.21.执行下面的程序后,a 的值为main()int a,b;for(a=1,b=1;a=10;a+)if(b%3=1)b+=3;continue;b-=5;A) 7 B) 8 C) 9 D) 10(分数:2.00)A.B.C.D
7、.22.下列程序的输出结果是( )。#includestdiohmain()int a=2,b=3,p;p=f(a,B) ;pdntf(“%d“,p);int f(a,B) int c;if(aB) c=1;else if(a=B) c=0;elSe c=-1;return(C) ;A) -1 B) 0 C) 1 D) 2(分数:2.00)A.B.C.D.23.下列程序的输出结果是( )。#includestdio.hint fun(int x)int a;if(x=0x=1) return 3;elsea=x-fun(x-2) ;return a;void main()printf(“%d“
8、,fun(7) );A) 2 B) 8 C) 9 D) 5(分数:2.00)A.B.C.D.24.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是_。(A) 函数的实参和其对应的形参共占同一存储单元(B) 形参只是形式上的存在,不会占用具体存储单元(C) 同名的实参和形参占同一存储单元(D) 函数的形参和实参分别占用不同的存储单元(分数:2.00)A.B.C.D.25.以下程序的输出结果是_。main()int i,a10;for(i=9;i=0;i-)ai=10-i;printf(“%d%d%d“,aa,a5,a8);A) 258 B) 741 C) 852 D) 369(
9、分数:2.00)A.B.C.D.26.有以下程序:int fun(int n)if(n=1)return 1;else return(n+fun(n-1);main()int x;scanf(“%if“,x);x=fun(x);printf(“%d/n“,x);执行程序时,给变量 X 输入 10,程序的输出结果是_。A) 55 B) 54 C) 65 D) 45(分数:2.00)A.B.C.D.27.若 fp 是指向某文件的指针,且已读到文件末尾,则库函数 feof(fp)的返回值是A) EOF B) -1 C) 1 D) NULL(分数:2.00)A.B.C.D.28.有以下程序void f
10、(int *x,int *y)int t;t=*x;*x=*y;*y=t;main()int a8=(1,2,3,4,5,6,7,8),i,*p,*q;p=a,q=while(pf(p,q); p+; q-; for(i=0;i8;i+)printf(“%d,“,ai);程序运行后的输出结果是_。A) 8,2,3,4,5,6,7,1, B) 5,6,7,8,1,2,3,4, C) 1,2,3,4,5,6,7,8, D) 8,7,6,5,4,3,2,1,(分数:1.00)A.B.C.D.29.有以下程序:# includestring.hmain()char str20=“Hello“,“Bei
11、jing“,*p=str;printf(“%d/n“,strlen(p+20);程序运行后的输出结果是 _。A) 0 B) 5 C) 7 D) 20(分数:2.00)A.B.C.D.30.下面程序的输出是_。mare()int x=3 y=6,a=0;while(x+!=(y=1)a+=1;if(yx)break;printf(“x=%d,y=%d,a=%d/n“,x,y,a);A) x=4,y=4,a=1 B) x=5,y=5,a=1C) x=5,y=4,a=3 D) x=5,y=4,a=1(分数:2.00)A.B.C.D.31.下述程序的输出结果是( )。 #includestdio.h
12、void main() int a20,*p4; int i,k=0; for(i=0;i20;i+) ai=i; for(i=0;i4;i+) pi=A) 没有错 B) 第 1 行有错 C) 第 6 行有错 D) 第 7 行有错(分数:2.00)A.B.C.D.33.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。A) 整型表达式 B) 整型常量C) 整型常量或整型表达式 D) 任何类型的表达式(分数:2.00)A.B.C.D.34.有以下程序:#include stdio.hvoid swap1(int c)int t;t=c0; c0=c1; c1=t;void swa
13、p2(int c0,int c1)int t;t=c0; c0=c1; c1=t;main()int a2=3,5,b2=3,5;swap1(a); swap2(b0,b1);printf(“%d%d%d%d/n“,a0,a1,b0,b1);其输出结果是( )。A) 5 3 5 3 B) 5 3 3 5 C) 3 5 3 5 D) 3 5 5 3(分数:1.00)A.B.C.D.35.在 16 位 IBM-PC 机上使用 C 语言,若有如下定义:struct dataint i;char ch;double r;b;则结构变量 b 占用内存的字节数是A) 1 B) 2 C) 7 D) 11(分
14、数:2.00)A.B.C.D.36.有以下程序#include stdio.h#define f(x)x*x*xmain()int a=3,s,t;s=f(a+1);t=f(a+1);printf(“%d,%d/n“,s,t);程序运行后的输出结果是A) 10,64 B) 10,10C) 64,10 D) 64,64(分数:2.00)A.B.C.D.37.有以下定义和语句:struct workersint num; char name20; char c;struct int day; int month; int year; s;struct workers w, *pw;pw=能给 w
15、中 year 成员赋值 1980 的语句是A) *pw.year=1980; B) w.year=1980;C) pw-year=1980; D) w.s.year=1980;(分数:2.00)A.B.C.D.38.有以下程序:int a=4;int f(int n)int t=0;static int a=5;if(n%2) int a=6;t+=a+;elseint a;7;t+=a+;return t+a+;main()int s=a,i=0;for(;i2;i+)s+=f(i);printf(“%d/n“,s);程序运行后的输出结果是_。A) 24 B) 28 C) 32 D) 36(
16、分数:2.00)A.B.C.D.39.以下程序的功能是进行位运算:main()unsigned char a,b;a=73;b=43;printf(“%d%d/n“,a,b);程序运行后的输出结果是_。A) 4 3 B) 7 3C) 7 0 D) 4 0(分数:2.00)A.B.C.D.40.以下能正确定义一维数组的选项是( )。A) int a5 =0,1,2,3,4,5; B) char a = 0,1,2,3,4,5;C) char a = A,B,C ; D) int a5 = “0123“;(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:31.00)41.在程序设计
17、阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:1.50)填空项 1:_42.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 1 的信息。(分数:2.00)填空项 1:_43.注释一般分为序言性注释和 1 注释。(分数:1.50)填空项 1:_44.在长度为 n 的有序线性表中进行二分查找,最坏的情况下,需要的比较次数为 1。(分数:2.00)填空项 1:_45.在一个容量为 32 的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有 1 个元素。(分数:2.00)填
18、空项 1:_46.在数据库系统中,实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_47.在二维表中,元组的U /U不能再分成更小的数据项。(分数:2.00)填空项 1:_48.有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 1,成绩)。(分数:4.00)填空项 1:_49.数据模型包括数据结构、 1 和数据条件。(分数:2.00)填空项 1:_50.定义 int a=5,b;,则执行表达式 b=+a*-a 之后,变量 b
19、的值为 1。(分数:2.00)填空项 1:_51.表达式 pow(2.8,sqrt(float(x)值的数据类型为 1 型。(分数:2.00)填空项 1:_52.设 int a=5,b=6,表达式(+a=b-)?+a:-b 的值是 1。(分数:2.00)填空项 1:_53.以下程序运行后的输出结果是_。 struct NODE int k; struct NODE*link; ; main() struct NODEm5,*p=m,*q=m+4; int i=0: while(p!=q) p-k=+i;p+;q-k=1+;q-; q-k=i: for(i=0;i5;i+)printf(“%d“
20、,mi.k); printf(“/n“); (分数:2.00)填空项 1:_54.下列程序的输出结果是_。#includestdiohint(int x,int y,int cp,int dp)cp=x*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:_55.以下程序运行后的输出结果是_。#includestdio.hmain()char a;for(a=0;a15;a+=5)putchar(a+A);printf(“/n“);(分数:2.00)填空项 1:_二级
21、 C 语言笔试-468 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:69.00)1.按照“先进后出”原则组织数据的数据结构是( )。A) 队列 B) 栈C) 双向链表 D) 二叉树(分数:1.00)A.B. C.D.解析:解析栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另端是封闭的。进行插入、删除的端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,也是最后被删除的,是按先进后出的原则组织数据的。2.下列叙述中正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C)
22、算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上 3 种描述都不对(分数:2.00)A.B.C. D.解析:解析 算法的执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。3.下列关于线性链表的描述中,正确的是( )。、只含有一个指针域来存放下一个元素地址、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)、结点由两部分组成:数据域和指针域。A) 仅、 B) 仅、 C) 仅、 D) 全部(分数:2.00)A.B.C.D. 解析:解析 在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。在链式存储方式中
23、,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。4.下列叙述中正确的是A) 程序执行的效率与数据的存储结构密切相关B) 程序执行的效率只取决于程序的控制结构C) 程序执行的效率只取决于所处理的数据量D) 以上三种说法都不对(分数:2.00)A. B.C.D.解析:解析 程序执行的效率与很多因素有关,如数据的存储结构、程序所处理的数据量、程序所采用的算法等。顺序存储结构在数据插入和删除操作上的效率比链式存储结构的效率低。5.下列选项中不属于结构化程序设计方法的是_。(A) 自顶向下(B
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 468 答案 解析 DOC
