【计算机类职业资格】二级C语言笔试-422及答案解析.doc
《【计算机类职业资格】二级C语言笔试-422及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-422及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-422 及答案解析(总分:99.50,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.在结构化程序设计中,模块划分的原则是A) 各模块应包括尽量多的功能 B) 各模块的规模应尽量大C) 各模块之间的联系应尽量紧密 D) 模块内具有高内聚度、模块间具有低耦合度(分数:2.00)A.B.C.D.2.下列叙述中错误的是( )。A) 线性表是由 n个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C.D.3.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是A)
2、10 B) 8 C) 6 D) 4(分数: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.有以下程序:main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ab);printf(“%d,%d/n“,k,m);程序运行后的输出结果是 _。A) 0,0 B) 0,1 C) 1,0 D) 1,1(分数:2.00)A.B.C.D.6.将 E-R图转换到关系模式时,实体与实体间的联系可以表示成( )。A) 属性 B) 关系C) 键 D) 域(
3、分数:1.00)A.B.C.D.7.在 E-R图中,用来表示实休联系的图形是A) 椭圆形 B) 矩形C) 菱形 D) 三角形(分数:2.00)A.B.C.D.8.下列说法不正确的是( )A) C语言程序是以函数为基本单位的,整个程序由函数组成B) C语言程序的一条语句可以写在不同的行上C) C语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D) C语言程序的每个语句都以分号结束(分数:2.00)A.B.C.D.9.下列说法不正确的是( )。A)一个 C语言源程序可以由一个函数组成也可以由多个函数组成B)main()中的“()”是函数的参数部分,括号内可为空,但括号不能省略C
4、)C语言程序是以函数为基本单位的D)在 C语言程序中,注释行只能位于一条语句的后面(分数:2.00)A.B.C.D.10.下列定义变量的语句中错误的是_。(A) int _int;(B) double int_;(C) char for;(D) float US$(分数:1.00)A.B.C.D.11.以下选项中属于 C语言数据类型的是( )。A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型(分数:1.00)A.B.C.D.12.以下程序的输出结果是_。main()int a=3;printf(“%d/n“,(a+=a-+a*a) )A) -6 B) 1 C) 2 D) -12(分数:
5、2.00)A.B.C.D.13.以下程序的输出结果是( )。main()int a=4,b=3,c=2,d=1;printf(“%d“,ab?a:dc?d:b);A) 1 B) 3 C) 2 D) 4(分数:1.00)A.B.C.D.14.设有定义:int a=2,b=3,c=4;,则以下选项中值为 0的表达式是_。A) (!a=1)(!b=0) B) (aB) !c|1C) ab D) a|(b+b)(c-a)(分数:2.00)A.B.C.D.15.有以下程序:main()int a, b, d=25;a=d/10%9; b=aprintf(“% d, % d/n“, a, b) ;程序运行
6、后的输出结果是_。A) 6, 1 B) 2, 1 C) 6, 0 (D) 2, 0(分数:1.00)A.B.C.D.16.已有定义 int a=3;和输出语句 printf(“%8x“,a);以下正确的叙述是( )。 A) 整型变量的输出格式符只有%d 一种 B) %x是格式符的一种,它可以适用于任何一种类犁的数据 C) %x是格式符的一种,其变量的值按十六进制数输出,但%08x 是错误的 D) %8x是正确的格式符,其中数字 8规定了输出字段的宽度(分数:1.00)A.B.C.D.17.下列程序执行后的输出结果是main()int a33, *p,i;p=while(k+ printf(“%
7、d %d/n“, k, n);A) 0 2 B) 1 3 C) 5 7 D) 1 2(分数:2.00)A.B.C.D.19.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。 A) 函数调用可以作为独立的语句存在 B) 函数调用可以作为一个函数的实参 C) 函数调用可以出现在表达式中 D) 函数调用可以作为一个函数的形参(分数:2.00)A.B.C.D.20.有下列函数定义:int fun(double a,double b) return a*b;若下列选项中所用变量都己正确定义并赋值,错误的函数调用是( )。A) if(fun(x,y) B) z=fun(fun(x,y)
8、,fun(x,y);C) z=fun(fun(x,y)x,y); D) fun(x,y);(分数:2.00)A.B.C.D.21.运行下面程序时,从键盘输入字母 H,则输出结果是main()char ch;ch=getchar();swimh(ch)caseH:printf(“Hello!/n“);caseG:printf(“Good morning!/n“);default:printf(“Bye_Bye!/n“);A) Hello!B) Hello!GoodMoring!C) Hello!Good moming!Bye_ye!D) Hello!Bye_ye!(分数:2.00)A.B.C.D
9、.22.下述函数功能是 _。int funr(char*x)char*y=x;while(*y+);return y-x-1;A) 求字符串的长度 B) 求字符串存放的位置C) 比较两个字符串的大小 D) 将字符串 x连接字符串 y后面(分数:2.00)A.B.C.D.23.有以下程序#include stdio.hvoid fun(int p)int d=2;p=d+; printf(“%d“,p);main()int a=1;fun(a);printf(“%d/n“,a);程序运行后的输出结果是A) 32 B) 12C) 21 D) 22(分数:2.00)A.B.C.D.24.下列程序中函
10、数 reverse()的功能是将 a所指数组中的内容进行逆置。#includestdio.hvoid reverse(int a,iht n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,10) ;for(i=0;i3;i+)s+=bi;printf(“%d/n“,s);程序运行后的输出结果是( )。A) 27 B) 6 C) 25 D) 30(分数:2.00)A.B.C.D.25.有以下程序point(char *p)p+=3;mai
11、n()char b4=a,b,c,d,*p=b;point(p); printf(“%c/n“,*p);程序运行后的输出结果是_。(A) a(B) b(C) c(D) d(分数:2.00)A.B.C.D.26.若有定义“int a23;”,以下选项中对 a数组元素正确引用的是( )。Aa2!1 Ba23Ca03 Da12!1(分数:1.00)A.B.C.D.27.关于字符常量,以下叙述正确的是( )。 A) 空格不是一个字符常量 B) 字符常量能包含大于一个的字符 C) 单引号中的大写字母和小写字母代表的是相同的字符常量 D) 所有的字符常量都可以作为整型量来处理(分数:2.00)A.B.C.
12、D.28.有以下程序#include stdio.hmain()int i,j;for(i=3;i=-1;i-)for(i=1;j=2;j+) printf(“%d“,i+j);printf(“/n“);程序的运行结果是_。A) 234345B) 432543C) 233445D) 453423(分数:2.00)A.B.C.D.29.设有定义:int n1=0, n2, *p=k=N(M(a,b),c);printf(“%d/n“,k);A)3 B)5 C)6 D)8(分数:2.00)A.B.C.D.31.下列程序段中,不能正确赋值的是( )。A) char*p,ch; p= scabf(“%
13、c“,p);C) char*p; *p=getchar();D) char*p,ch; p=,且数组 a的首地址为 300H,则 p+13所指向的数组元素的地址为 ( )。A) 334H B) 30DHC) 352H D) 31AH(分数:2.00)A.B.C.D.34.有下面程序段#include“stdio.h“#include“stringh“main()char a320=“china“,“isa“,“bigcountry!“;chark100=0,*p=k;int i;for(i=0;i3;i+)p=strcat(p,ai);i=strlen(p);printf(“%d/n“,“i)
14、;则程序段的输出结果是A) 18 B) 19 C) 20 D) 21(分数:2.00)A.B.C.D.35.下列二维数组的说明中,不正确的是( )。A) float a4=0,1,8,5,9; B) int a34C) #define N 5 float aN3D) int a29.5;(分数:1.00)A.B.C.D.36.若有语句 int *point,a=4;和 point=printf(“%d/n“,(MAX(a+b,c+D) )*100);A) 500 B) 5 C) 4 D) 400(分数:1.00)A.B.C.D.38.下面结构体的定义语句中,错误的是A) struct ordi
15、nt x; int y; int z; struct ord a;B) struct ordint x; int y; int z; struct 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.39.下面结构体的定义语句中,错误的是( )。Astruct ordint x;int y;int z;struct ord a; Bstruct ordint x;int y;int z;struct ord a;Cstruct ordint x;int y;int
16、z;a; Dstructint x;int y;int z;a;(分数:1.00)A.B.C.D.40.以下语句或语句组中能正确进行字符串赋值的是( )。 A) ehar以*sp; * sp = “right!“; B) char s10 ;s = “right!“;C) char s 10; * s = “right !“; D) char * sp = “right !“;(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:33.50)41.对下列二叉树进行中序遍历的结果是_。(分数:4.00)填空项 1:_42.在深度为 7的满二叉树中,度为 2的结点个数为 1。(分数:2
17、.00)填空项 1:_43.结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、U /U和限制使用 goto语句。(分数:2.00)填空项 1:_44.软件测试中路径覆盖测试是整个测试的基础,它是对软件U /U进行测试。(分数:2.00)填空项 1:_45.最简单的交换排序方法是 1。(分数:2.00)填空项 1:_46.某二叉树中度为 2的结点有 18个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_47.阅读下面程序段,则执行后输出的结果是_。#include“stdio.h“main()char fun(char,int);char a=A;int b=13;a=
18、fun(a,b);putchar(a);charfun(char a,int b)char k;k=a+b;return k;(分数:2.00)填空项 1:_48.下面程序的输出是U /U。main()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(i=1;i4;i+)k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_49.以下函数 fun的功能是返回 str所指字符中中以形参 c中字符开头的后续字符串的首地址,例如:str所指字符串为“Hello!”,c 中的字符为e,则函数返回字符串“ello!“的首地址。若 str
19、所指字符串为空中或不包含 c中的字符,则函数返回 NULL。请填空。char *fun (char *str,char c)int n=0;char*p=str;if(p!=NULL)while(Pn! =ca + =2;printf(“%d“,a);main()int cc;for(cc = 1;cc 4; cc+) fun();printf(“/n“);(分数:2.00)填空项 1:_52.下列程序的定义语句中,x1的初值是U /U,程序运行后输出的内容是U /U。#include stdio.hmain()int x=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
20、,16,*p4,i;for(i=0;i4;i+)pi=printf(“%d“,pi0);printf(“/n“);(分数:1.50)填空项 1:_53.下列程序的输出结果是_。main()int i=0,a=0;while(i20)for(; )if(i%10)=0)break;else i-;i+=11;a+=i;printf(“%d/n“,a);(分数:2.00)填空项 1:_54.有下列程序:#include stdio.hmain()char C;while(c= getchar ()!=,) putchar(+c);程序运行时,如果从键盘输入:A,B,CR,则输出结果为_。(分数:2
21、.00)填空项 1:_55.下列程序的输出结果是_.#include stdio.hfun ()static int a=O;a+=3; printf(“%d“,a);main ()int cc;for (cc=1;cc5;cc+) fun();printf (“/n“);(分数:2.00)填空项 1:_二级 C语言笔试-422 答案解析(总分:99.50,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.在结构化程序设计中,模块划分的原则是A) 各模块应包括尽量多的功能 B) 各模块的规模应尽量大C) 各模块之间的联系应尽量紧密 D) 模块内具有高内聚度、模块间具有低耦合
22、度(分数:2.00)A.B.C.D. 解析:解析 在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。2.下列叙述中错误的是( )。A) 线性表是由 n个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C. D.解析:解析 线性表是一种线性结构,由 n(nO)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C)是错误的。3.某二叉树有 5个度为 2的结点,
23、则该二叉树中的叶子结点数是A) 10 B) 8 C) 6 D) 4(分数:2.00)A.B.C. D.解析:解析 对于任何一棵二叉树 T,如果其终端结点(叶子)数为 n1,度为 2的结点数为 n2,则n1=n2+1。所以该二叉树的叶子结点数等于 5+1=6。4.冒泡排序在最坏情况下的比较次数是_。(A) n(n+1)/2(B) nlog2n(C) n(n-1)/2(D) n/2(分数:2.00)A.B.C. D.解析:5.有以下程序:main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ab);printf(“%d,%d/n“,k,m);程序运行后的输出结果是 _。A
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 422 答案 解析 DOC
