【计算机类职业资格】二级C语言笔试-465及答案解析.doc
《【计算机类职业资格】二级C语言笔试-465及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-465及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-465 及答案解析(总分:91.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.与十进制数 200 等值的十六进制数为_。A) A8 B) A4 C) C8 D) C4(分数:1.00)A.B.C.D.2.下列叙述中正确的是_。A) 一个逻辑数据结构只能有一种存储结构B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率(分数:2.00)A.B.C.D.3.对于长度为 n 的线性表,在最坏的情况下,下
2、列各排序法所对应的比较次数中正确的是_。A) 冒泡排序为 n/2 B) 冒泡排序为 nC) 快速排序为 n D) 快速排序为 n(n-1)/2(分数:2.00)A.B.C.D.4.冒泡排序在最坏情况下的比较次数是_。A) n(n+1)/2 B) nlog2n C) n(n-1)/2 D) n/2(分数:2.00)A.B.C.D.5.关于结构化程序设计原则和方法描述错误的是( )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO 语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C.
3、D.6.下列描述中正确的是_。A) 程序就是软件B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体D) 软件是程序、数据与相关文档的集合(分数:2.00)A.B.C.D.7.简单的交换排序方法是( )。A) 快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序(分数:2.00)A.B.C.D.8.SQL 语言又称为( )。A) 结构化定义语言 B) 结构化控制语言 C) 结构化查询语言 D) 结构化操纵语言(分数:1.00)A.B.C.D.9.下列说法正确的是( )。A) 一个 C 程序可以有多个主函数B) 一个 C 语言的函数中只允许有一对花括号C) C 程序的书写格式
4、是自由的,一个语句可以写在一行上,也可以写在多行内D) 在对 C 程序进行编译时,可以发现注释行中的拼写错误(分数:2.00)A.B.C.D.10.设变量已正确定义并赋值,以下正确的表达式是_。(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.11.以下选项中不属于字符常量的是_。(A) C(B) “C“(C) /xCC(D) /072(分数:1.00)A.B.C.D.12.阅读以下程序#include stdio.hmain()int case;float printF;printf(“请输入 2 个
5、数:“);scanf(“%d %f“, B) +b; C) a=a+=5; D) a=double(B);(分数:2.00)A.B.C.D.15.若有定义 int x, y;,并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。A) (x-y0)B) (x-y0)C) (x-y0|x-y0)D) (x-y=0)(分数:1.00)A.B.C.D.16.设有定义:float a=2,B=4,h=3;,以下 C 语言表达式中与代数式 (分数:1.00)A.B.C.D.17.两次运行下列的程序,如果从键盘上分别输入 3 和 1,则输出结果是( )。
6、main()int x;scanf(“%d“,printf (“ %d/n“,x);执行后的输出结果是 _。 A) 2 B) 1 C) 3 D) 6(分数:2.00)A.B.C.D.19.有下列程序:main()int t,a=1,b=5,c=-2;while(abc)t=a;a=b;b=t;c+;printf(“%d,%d,%d“,a,b,c);程序的输出结果是( )。A) 1,5,0 B) 1,5,-2C) 5,1,-1 D) 5,1,-2(分数:2.00)A.B.C.D.20.有以下程序#includestdiohmain()int a=1,b=2;for( ;a8;a+) b+=a;
7、a+=2;printf(“%d,%d/n“,a,b);程序运行后的输出结果是A) 9,18 B) 8,11 C) 7,11 D) 10,14A.B.C.D.21.已定义下列函数:int fun(int *p)return *p;)fun 函数返回值是( )。A) 不确定的值 B) 一个整数C) 形参 p 中存放的值 D) 形参 p 的地址值(分数:2.00)A.B.C.D.22.有如下程序:#include stdiohmain()int x=23;doPrintf(“%d“,x-);while(! x);该程序的执行结果是( )。A) 321 B) 23 C) 不输出任何内容 D) 陷入死循
8、环(分数:1.00)A.B.C.D.23.下列程序的输出结果是( )。int f1(int x,int y)return xy?x:y;int f2(int x,int y)return xy?y:x;main()int a=4,b=3,e=5,d=2,e,f,g;e=f2(f1(a,b),f1(e,d);f=f1(f2(a,b),f2(e,d);g=a+b+c+d-e-f;printf(“%d,%d,%d/n“,e,f,g);A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,7(分数:2.00)A.B.C.D.24.下列语句组中,正确的是A) char*s;s=”Olymp
9、ic“; B) chars7;s=“Olympic“;C) char*s;s=“Olympic“; D) chars7;s=“Olympic“;A.B.C.D.25.下列程序的输出结果是( )。#includestdio.hint fun(int x)int a;if(x=0x=1)return 3;elsea=x-fun(x-2);return a;void main()printf(“%d“,fun(7);A) 2 B) 8 C) 9 D) 5(分数:2.00)A.B.C.D.26.下列循环体的执行次数是( )。#includestdiohmain()int i,j;for(i=0,j=1
10、;ij+1;i+=1,j-)printf(“%d/n“,j);A) 3 B) 2 C) 1 D) 0(分数:1.00)A.B.C.D.27.有下列程序:main()int k=5;while(-k) printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是( )。A) 1 B) 2C) 4 D) 死循环(分数:2.00)A.B.C.D.28.为了避免在嵌套的条件语句 if else 中产生二义性,C 语言规定,else 子句总是与( )配对。A缩排位置相同 if B其前面最近的 ifC其后面最近的 if D同一行上的 if(分数:1.00)A.B.C.D.29.若要求从
11、键盘读入含有空格字符的字符串,应使用函数A) getc() B) gets() C) getchar() D) scanf()(分数:2.00)A.B.C.D.30.有以下程序:void f(int*q)int i=0;for(; i5;i+)(*q)+;main()(int a5=1,2,3,4,5,i;f(a);for(i=0;i5;i+)printf(“%d“,ai);程序运行后的输出结果是_。A) 2,2,3,4,5, B) 6,2,3,4,5,C) 1,2,3,4,5, D) 2,3,4,5,6,(分数:2.00)A.B.C.D.31.有以下程序:main()char *p=“369
12、7“,“2584“;int i,j;long num=0;for(i=0;i2;i+)j=0;while(pij!=/0)if(pij-0)%2)num=10*/num+pij-0;j+=2;printf(“%d/n“,hum);程序执行后的输出结果是_。A) 35 B) 37C) 39 D) 3975(分数:2.00)A.B.C.D.32.分析下列程序:#includestdiohmain()int *p1,*p2,*p;int a=6,b=9;p1=main()int a10=(1,2,3,4,5,6,7,8,9,10;sum(int y;int z;struct ord a;B) str
13、uct ordint x;int y;int z;ord a;C) struct ordint x;int y;int z;a;D) structint x;int y;int z;a;(分数:2.00)A.B.C.D.38.若 x=2,y=3,则 x main()char b4=a,b,c,d,*p=b;point(p); printf(“%c/n“,*p);程序运行后的输出结果是_。A) a B) b C) c D) d(分数:1.00)A.B.C.D.40.以下语句或语句组中能正确进行字符串赋值的是( )。 A) ehar 以*sp; * sp = “right!“; B) char s
14、10 ;s = “right!“;C) char s 10; * s = “right !“; D) char * sp = “right !“;(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:30.00)41.某二叉树中度为 2 的节点有 18 个,则该二叉树中有 1 个叶子节点。(分数:2.00)填空项 1:_42.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_43.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_44.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,
15、那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_45.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_46.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。U /U(double, double);main()double x, y;scanf(“% lf % lf“, printf(“% 1f/n“, max(x, y);double max(double a, double b)return(ab? a:b); (分数:2.00)填空项 1:_47.设 int a=5,b=6,表达式(+a= =b-)? +a:-b 的值是U /U
16、。(分数:2.00)填空项 1:_48.以下程序在运行时若输入:1234567,则程序的运行结果是_。 #includestdio.h main() int x, y; scanf(“%2d%1d“, printf(“%d/n“, x+y); (分数:2.00)填空项 1:_49.下列表达式用于判断 y 是否为闰年。闰年的判断条件是:年号能被 4 整除但不能被 100 整除或年号能被 400 整除,请填空 1。(分数:2.00)填空项 1:_50.下列程序的运行结果是_。#includestdio.hmain()int a=10,b=3;printf(“%d,“,a%b);printf(“%d
17、,“,(a-b,a+b);printf(“%d/n“,a-b?a-b:a+b);(分数:2.00)填空项 1:_51.有以下程序,若运行时从键盘输入:18,11回车,则程序的输出结果是_。main()int a,b;printf(“Enter a,b:“);scanf(“%d,%d“,a,b);while(a!=b)while(ab)a-=b;while(ba)b-=a;printf(“%3d%3d“,a,b);(分数:2.00)填空项 1:_52.当执行以下程序时,输入 1234567890回车,则其中 while 循环体将执行_次。#includestdiohmain()char ch;w
18、hile(ch=getchar()=0)printf(“#“);(分数:2.00)填空项 1:_53.函数调用语句:“fgets(buf,n,fp);”从中指向的文件中读入 n 个字符放到 buf 字符数组中,函数返回值为 1。(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是U /U。#include stdio.hint f( iht a ,int n)if(n=1) returnf(a,n-1) +an-1;else return 0;main( )int aa5 = 1,2,3,4,5 ,s;s = f(aa,5); prinff(“ % d /n“ ,s);(分数:2.
19、00)填空项 1:_55.下面程序的运行结果是_。#includestdio.hmain()int a=25;fun(fun(int *x)printf(“%d/n“,+*x);(分数:2.00)填空项 1:_二级 C 语言笔试-465 答案解析(总分:91.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.与十进制数 200 等值的十六进制数为_。A) A8 B) A4 C) C8 D) C4(分数:1.00)A.B.C. D.解析:解析 十进制数 200 转换成二进制数,其结果为 1100 1000,1100 1000 对应了十六进制数 C8。因此答案选 C。2.
20、下列叙述中正确的是_。A) 一个逻辑数据结构只能有一种存储结构B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率(分数:2.00)A.B.C.D. 解析:解析 逻辑结构是反映了元素之间的逻辑关系的数据结构,存储结构是逻辑结构在计算机中的存放形式,它们都具有线性结构和非线性结构。逻辑结构有顺序、链接、索引等存储结构,采用不同的存储结构,数据处理的效率不同。3.对于长度为 n 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。A)
21、 冒泡排序为 n/2 B) 冒泡排序为 nC) 快速排序为 n D) 快速排序为 n(n-1)/2(分数:2.00)A.B.C.D. 解析:解析 存最坏情况下,快速排序退化为冒泡排序,冒泡排序法的基本过程参见本题的理论链接。冒泡排序的每个元素都要与它前面的元素相比较,因此比较次数为(n-1)+(n-2)+1=n(n-1)/2。4.冒泡排序在最坏情况下的比较次数是_。A) n(n+1)/2 B) nlog2n C) n(n-1)/2 D) n/2(分数:2.00)A.B.C. D.解析:解析 在最坏情况下冒泡排序法需要比较的次数为 n(n-1)/2。5.关于结构化程序设计原则和方法描述错误的是(
22、 )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO 语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C. D.解析:解析 限制使用 GOTO 语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO 语句。其他 3 项为结构化程序设计的原则。6.下列描述中正确的是_。A) 程序就是软件B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体D) 软件是程序、数据与相关文档的集合(分数:2.00)A.B.C.D. 解析:解析 计算机软件是包括程序、数据
23、及相关文档的完整集合,软件是一种逻辑实体,软件的开发、运行对计算机系统具有依赖性受计算机系统的限制。7.简单的交换排序方法是( )。A) 快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序(分数:2.00)A.B.C.D. 解析:解析 所谓的交换类排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。8.SQL 语言又称为( )。A) 结构化定义语言 B) 结构化控制语言 C) 结构化查询语言 D) 结构化操纵语言(分数:1.00)A.B.C. D.解析:解析 结构化查询语言(Str
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 465 答案 解析 DOC
