【计算机类职业资格】二级C语言笔试-327及答案解析.doc
《【计算机类职业资格】二级C语言笔试-327及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-327及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-327 及答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.若有说明语句:double *p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是 ( )。(分数:2.00)A.*p=scanf(“%1f“,;B.*p=scanf(“%f“,;C.p=scanf(“%1f“,*;D.p=scanf(“%1f“,;2.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表3.某二叉树共有 60 个叶子结点与 50 个度为 1 的结点,则该二
2、叉树中的总结点数为( )。(分数:2.00)A.148B.169C.182D.1984.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n 个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表5.设有程序段: int k=12; while(k=1) k=k-1; 则下列描述中正确的是( )。(分数:2.00)A.while 循环执行 10 次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次6.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是( )。(分数:2.00)A.冒
3、泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/27.假定 w、x、y、m 均为 int 型变量,则执行下列的语句后,m 的值是( )。 w=6,x=4,y=3; m=(wx)?W:X; m=(my)?m:y;(分数:2.00)A.3B.4C.5D.68.设有下列说明语句: strcut str int x;float y;char z;st; 则下列的叙述中不正确的是( )。(分数:2.00)A.struct 是结构体类型的关键字B.st 是结构体类型名C.x、y、z 都是结构体成员名D.struct str 是结构体类型名9.下列叙述中错误的是( )。(分
4、数:2.00)A.在 C 语言中的保留字必须小写B.变量的存储类型决定了变量的存储位置及其生存期C.宏定义以#define 开头,行未必须加分号D.在 C 语言中的注释行可以出现在程序的任何位置10.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报11.下列程序的输出结果是( )。 #includestdio.h void main() int b6=2,4,6,8,10,12; int*p-b,*q=i3;i+) if(i2) p1i=p1i-1; else p1i=1; printf(“%d/n“,a01+a11+a12; (
5、分数:2.00)A.8B.7C.12D.918.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。 main() float a,b,c,t; scanf(“%f,%f,%f“,a=b:b=t; if(ac) t=a;a=C;c=t; if(bc) t=b;b=c;c=t; printf(“%f/n%f/n%f/n“,a,b,c); (分数:2.00)A.1.00 2.00 3.00B.1.00 3.00 2.00C.1 3 2D.3.000000 2.000000 1.00000019.下列程序的输出结果是( )。 int f1(int x,int y)return xy?x
6、:y; int f2(int x,int y)return xy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f printf(“%d,%d,%d/n“,e,f,g); (分数:2.00)A.4,3,7B.3,4,7C.5,2,7D.2,5,720.设有定义:int a=2,b=3,c=4;,则下列选项中值为 0 的表达式是( )。(分数:2.00)A.(!a=1)pa+8;p+=2) putchar(*p); (分数:2.00)A.language
7、B.lnugC.有语法错误D.lang22.若有运算符: 、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为 ( )。(分数:2.00)A.%、sizeof、=B.sizeof、 %、 =、C.sizeof、 、%、=D.sizeof、%、=23.执行下列程序中的输出语句后,a 的值是( )。 main() int a; printf(“%d/n“,(a=2*3,a*5,a+7);(分数:2.00)A.17B.37C.6D.1324.有下列函数定义: fun(float h) printf(“%f,%f/n“,h,h*h); 该函数的类型是( )。(分数:2.00)A.int
8、类型B.float 类型C.void 类型D.函数无类型说明,定义有错25.已知 int a=2,b=3;则执行表达式 a=ab 后,变量 a 的值为( )。(分数:2.00)A.0B.1C.2D.326.在执行完下列的 C 语句段之后,则 B 的值是( )。 Char a=“A“; int b; B=(34 t=t-2;while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是( )。(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数34.若有下列说明,则( )不是对 strcpy 库函数的正确的调用。strcpy 库函数用于复制一个字符串:char*
9、strl=“abcd“,str210,*str3=“hijklmn“,*str42,*str5=“aaaa“;(分数:2.00)A.strcpy(str2,str1)B.strcpy(str3,str1)C.strcpy(str4,str1)D.strcpy(str5,str1)35.设 x=015,则 x=x017 的值是( )。(分数:2.00)A.00001111B.11111101C.00000010D.1100000036.结构化程序设计的 3 种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移37.下列程序中函
10、数 reverse()的功能是将 a 所指数组中的内容进行逆置。 #includestdio.h void reverse(int a,int 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); 程序运行后的输出结果是( )。(分数:2.00)A.27B.6C.25D.3038.若 fp 是指向某文件的指针,且尚未读到文件末尾,则函数 fe
11、of(fp)的返回值是( )。(分数:2.00)A.EOFB.-1C.非零值D.039.下列程序的输出结果是( )。 #inCludestdio.h main() char ch25=“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); (分数:2.00)A.6357B.6135C.1357D.69135740.下列能正确定义一维数组的选项是( )。(分数:2.00)A.int a5=0,1,2,3,4,5;B.char a
12、=0,1,2,3,4,5;C.char a=A,B,C);D.int a5=“0123“;二、B填空题/B(总题数:15,分数:30.00)41.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。(分数:2.00)填空项 1:_42.结构化分析方法是面向 1 进行分析的方法。(分数:2.00)填空项 1:_43.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示 1,用带空心圆的箭头表示传递的是数据。(分数:2.00)填空项 1:_44.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接碟块,其中 1 的作用是将测试数
13、据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_45.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_46.x 和 y 都是 double 型变量,x 的初值为 4.0,y 的初值为 2.0,则表达式 pow(y.fabs(x)的值为 1。(分数:2.00)填空项 1:_47.若 x 为 int 类型,请写出与!x 等价的 C 语言表达式 1。(分数:2.00)填空项 1:_48.下列程序的运行结果是_。 #includestdio.h main() int a,b,c; a=3;b=4;c=5; if(ab) if(ac) prin
14、tf(“%d“,a); else printf(“%d“,b); printf(“%d/n“,c); (分数:2.00)填空项 1:_49.下列语句能循环_次。 int s=12; while(s); -S;(分数:2.00)填空项 1:_50.下列程序的运行结果是_。 main() int a=1,b=10; do b-=a;a+;while(b-0); printf(“%d,%d/n“,a,b); (分数:2.00)填空项 1:_51.若定义#define PI 3.14159,则执行完下列程序后输出结果是_。 #definePI 3.14159;printf(“PI=%f,PI);(分数
15、:2.00)填空项 1:_52.下列程序的输出结果是_。 main() inta=31,27,20,12,6,1,*p=a; p+; printf(“%d/n“,*(p+2); (分数:2.00)填空项 1:_53.若有下列定义和语句: Char*s1=“12345“,*s2=“1234“; printf(“%d/n“,strlen(strcpy(s1,s2); 则输出结果为_。(分数:2.00)填空项 1:_54.下列程序的运行结果是_。 main() int i,a10; a0=a1=1; for(i=2;i5;i+) ai=ai-2+ai-1; for(i=0;i5;i+) if(i%2
16、=0)printf(“/n“); printf(“%d“,ai); (分数:2.00)填空项 1:_55.下列程序的输出结果是_。 #includeStdio.h int fun(int x) int p; if(x=0x=1) return 3; else p=x-fun(x-2); return p; void main() printf(“/n%d“,fun(11); (分数:2.00)填空项 1:_二级 C 语言笔试-327 答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.若有说明语句:double *p,a;则能通过 scan
17、f 语句正确给输入项读入数据的程序段是 ( )。(分数:2.00)A.*p=scanf(“%1f“,;B.*p=scanf(“%f“,;C.p=scanf(“%1f“,*;D.p=scanf(“%1f“,; 解析:解析 double*p,a;语句表示定义了一个指向双精度型的指针变量 p 和双精度型变量 a,而语句p=float y;char z;st; 则下列的叙述中不正确的是( )。(分数:2.00)A.struct 是结构体类型的关键字B.st 是结构体类型名 C.x、y、z 都是结构体成员名D.struct str 是结构体类型名解析:解析 本题主要考查结构类型的定义:struct 是结
18、构体类型的关键字;struct str 是结构体类型名;x、 y、z 都是结构体成员名;st 是结构变量名。9.下列叙述中错误的是( )。(分数:2.00)A.在 C 语言中的保留字必须小写B.变量的存储类型决定了变量的存储位置及其生存期C.宏定义以#define 开头,行未必须加分号 D.在 C 语言中的注释行可以出现在程序的任何位置解析:解析 本题涉及 C 语言最基本的 4 个知识点:C 语言的保留字必须小写;变量的存储类型不同,其存储位置和生存期也不一样;C 语言允许其注释部分出现在程序中的任何位置;宏定义以#define 开头,行末不需要加分号。10.下列选项中,不是一个算法的基本特征
19、的是( )。(分数:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有 4 个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内做完;拥有足够的情报。11.下列程序的输出结果是( )。 #includestdio.h void main() int b6=2,4,6,8,10,12; int*p-b,*q=i3;i+) if(i2) p1i=p1i-1; else p1i=1; printf(“%d/n“,a01+a11+a12; (分数:2.00)A.8B.
20、7 C.12D.9解析:解析 第 1 次执行 for 循环,p10=p10-1=3;第 2 次执行 for 循环,p11=p11-1=4;第 3 次执行 for 循环,p12=1,最后输出的是 a01+a11+a12=2+4+1=7。18.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。 main() float a,b,c,t; scanf(“%f,%f,%f“,a=b:b=t; if(ac) t=a;a=C;c=t; if(bc) t=b;b=c;c=t; printf(“%f/n%f/n%f/n“,a,b,c); (分数:2.00)A.1.00 2.00 3.00B.1
21、.00 3.00 2.00C.1 3 2D.3.000000 2.000000 1.000000 解析:解析 本题考查 if 语句。第 1 个 if 语句,实现如果 ab,则交换 a、b 值的功能;第 2 个 if 语句,实现如果 ac,则交换 a、c 的值的功能;第 3 个 if 语句,实现如果 bc,则交换 b、c 的值的功能。3 个 if 语句结合起来实现的功能就是将 a、b、c 按从大到小排序。19.下列程序的输出结果是( )。 int f1(int x,int y)return xy?x:y; int f2(int x,int y)return xy?y:x; main() int
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 327 答案 解析 DOC
