【计算机类职业资格】二级C语言笔试-239及答案解析.doc
《【计算机类职业资格】二级C语言笔试-239及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-239及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-239 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树2.若 fp是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )。(分数:2.00)A.B.C.D.3.设有程序段:int k=12;while(k=1) k=k-1;则下列描述中正确的是( )。(分数:2.00)A.while循环执行 10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次4.设有下列说明语句:strcut
2、strint x;float y;char z;st;则下列的叙述中不正确的是( )。(分数:2.00)A.struct是结构体类型的关键字B.st是结构体类型名C.x、y、z 都是结构体成员名D.struct str是结构体类型名5.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表6.下列程序的输出结果是( )。int f1(int x,inty)return xy?x:y;int f2(int x,inty)return xy?y:x;main()int a=4,b=3,c=5,d=2,e,f,g;e=f2(f
3、1(a,B) ,f1(c,D) );f=f1(f2(a,B) ,f2(c,D) );g=a+b+C+d-e-f;phntf(“%d,%d,%d/n“,e,f,g);(分数:2.00)_7.若变量 a,b已正确定义,且 b已正确赋值,则合法的语句是( )。(分数:2.00)A.b=double(B.;B) +b;C.a=a+=5;D.a8.下列选项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报9.某二叉树共有 60个叶子结点与 50个度为 1的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169C.182D.198
4、10.下列关于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的11.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。main()float a,b,C,t;scanf(“%f,%f,%of“,if(aB) t=a;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) ;
5、(分数:2.00)A.1.002.003.00B.1.003.002.00C.132D.3.0000002.0000001.00000012.下列程序的输出结果是( )。#inCludestdio.hmain()charch25=“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.69135713.有下列程序段:int n,t=-1,S=0;scanf(“%d“,dos=s+
6、t;t=t-2;while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数14.字符串“/“ABCDEF/“/“的长度是( )。(分数:2.00)A.15B.10C.7D.815.简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序16.下列能正确定义一维数组的选项是( )。(分数:2.00)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“;17.语句 int(*p
7、tr)()的含义是( )。(分数:2.00)A.ptr是一个返回值是血的函数B.ptr是指向 int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个血型数据D.ptr是一个函数名,该函数的返回值是指向 int型数据的指针18.若有说明语句:doubleop,a;,则能通过 scanf语句正确给输入项读入数据的程序段是( )。(分数:2.00)A.*p=scanf(“%1f“,p);B.*p=scanf(“%f“,p);C.p=scanf(“%1f“,*p);D.p=scanf(“%1f“,p);19.结构化程序设计的 3种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B
8、.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移20.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。(分数:2.00)A.%、sizeof、=B.sizeof、%、=、C.sizeof、%、=D.sizeof、%、=21.假定 w、x、y、m 均为血型变量,则执行下列的语句后,m 的值是( )。w=6,x=4,y=3;m=(wx)?w:x;m=(my)?m:y;(分数:2.00)A.3B.4C.5D.622.下列程序的输出结果是( )。#includestdio.hmain()int a23=1,2,3,4,5,6,(*p)3,i;p=a;fo
9、r(i=0;i3;i+)if(i2) p1i=p1i-1;elsep1i=1;printf(“%d/n“,a01+a11+a12);(分数:2.00)A.8B.7C.12D.923.下列程序中函数 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;prin
10、tf(“%d/n“,s);程序运行后的输出结果是( )。(分数:2.00)_24.若有下列定义(设 int类型变量占 2个字节):int i=8;则下列语句:printf(“i=%08d“,i);输出的结果是( )。(分数:2.00)A.i=8,B.i=00000008,C.i=08,D.825.设 x=015,则 X=X017的值是( )。(分数:2.00)A.00001111B.11111101C.00000010D.1100000026.下列程序的输出结果是( )。#includestdio.hvoid main()int b6-2,4,6,8,10,12;int*p=b,*q=prin
11、tf(“%d“,*(p+);printf(“%d,“,*q);(分数:2.00)A.4,4B.2,2C.4,5D.2,427.对于长度为 n的线性表,在最坏情况下,下列各种排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/228.已知有结构体:struct skiht a;float b;)data,*p;若有 p=C.p-data.aD.data.a29.下列叙述错误的是( )。(分数:2.00)A.在 C语言中的保留字必须小写B.变量的存储类型决定了变量的存储位置及其生存期C.宏定义以#defi
12、ne 开头,行末必须加分号D.在 C语言中的注释行可以出现在程序的任何位置30.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表31.下列程序段的输出结果为( )。#includestdio.hmain()static char a=“language“;char*p;p=a;for(p=a;pa+8;p+=2) putchar(*p);(分数:1.00)A.languageB.lnugC.有语法错误D.lang32.若有下列说明,则( )不是对 strcpy库函数的正确
13、的调用。strcpy 库函数用于复制一个字符串:char*str1=“abcdt“,str210,*str3=“hijklmn“,*str42,*str5=“aaaa“;(分数:1.00)A.strcpy(str2,str1)B.strcpy(str3,str1)C.strcpy(str4,str1)D.strcpy(str5,str1)33.执行下列程序中的输出语句后,a 的值是( )。main()int a;printf(“%d/n“,(a=2*3,a*5,a+7) );(分数:1.00)A.17B.37C.6D.1334.已知 int a=2,b=3;则执行表达式 a=ab 后,变量 a
14、的值为( )。(分数:1.00)A.0B.1C.2D.335.两次运行下列的程序,如果从键盘上分别输入 3和 1,则输出结果是( )。main()int x;scanf(“%d“,if(x+2) printf(“%d“,x);elseprintf(“%d/n“,x-);(分数:1.00)A.4和 2B.4和 1C.4和 0D.3和 136.有下列函数定义:fun(float h)printf(“%f,%f/n”,h,h*h);该函数的类型是( )。(分数:1.00)A.int类型B.float类型C.void类型D.函数无类型说明,定义有错37.下列数据结构中,属于非线性的是( )。(分数:1
15、.00)A.线性表B.队列C.树D.栈38.执行下列程序后,输出的结果是( )。#includestdio.h#define S(X)X*Xvoid main()iht a=9,k=3,m=2;a/=S(k+m)/S(k+m);printf(“%d“,(分数:1.00)A.;A) 1B.4C.9D.039.在执行完下列的 C语句段之后,则 B的值是( )。char a=A;int b;B=(34(分数:1.00)A.0B.1C.TRUED.FALSE40.设有定义:iht a=2,b=3,c=4;,则下列选项中值为 0的表达式是( )。(分数:1.00)A.(!a=1) a=3;b=4;c=5
16、;if(aB) if(aC) printf(“%d“, A) ;elseprintf(“%d“, B) ;printf(“%d/n“, C) ;(分数:2.00)填空项 1:_49.下列语句能循环_次。ints=12;while(s);-s;(分数:2.00)填空项 1:_50.下列程序的运行结果是_。main()int a=1,b=10;dob-=a;a+;while(b-0) ;printf(“%d,%d/n“,a,B) ;(分数:2.00)填空项 1:_51.若定义#define PI 3.14159,则执行完下列程序后输出结果是_。#define PI 3.14159;printf(“
17、PI=%P“,PI);(分数:2.00)填空项 1:_52.下列程序的输出结果是_。main()int a=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
18、=0) printf(“/n“);printf(“%d“,ai);(分数:2.00)填空项 1:_55.下列程序的输出结果是_。#includestdio.hint fun(int x)int p;if(x=0x=1) return 3;elsep=x-fun(x-2) ;return p;void main()printf(“/n%d“,fun(11);(分数:2.00)填空项 1:_二级 C语言笔试-239 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列 B.栈C.双
19、向链表D.二叉树解析:解析 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫“队尾”,删除元素的一端叫“队头”,先插入的元素先被删除,是按“先进先出”的原则组织数据的。2.若 fp是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )。(分数:2.00)A.B.C.D. 解析:解析 文件状态检测函数 feof(fp)的功能是:测试所指的文件的位置指针是否已达到文件尾,如果已到达文件尾,则函数返回非 0值;否则返回 0,表示文件尚未结束。3.设有程序段:int k=12;while(k=1) k=k-1;则下列描述中正确的是( )
20、。(分数:2.00)A.while循环执行 10次B.循环是无限循环C.循环体语句一次也不执行 D.循环体语句执行一次解析:解析 本题考查 while循环。while 循环的控制表达式 k=1是个赋值表达式而不是逻辑表达式,所以循环体一次也不执行。4.设有下列说明语句:strcut strint x;float y;char z;st;则下列的叙述中不正确的是( )。(分数:2.00)A.struct是结构体类型的关键字B.st是结构体类型名 C.x、y、z 都是结构体成员名D.struct str是结构体类型名解析:解析 本题主要考查结构类型的定义:struct 是结构体类型的关键字;stm
21、ct str 是结构体类型名;x、y、z 都是结构体成员名;st 是结构变量名。5.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表 B.结性链表C.二叉链表D.有序线性链表解析:解析 二分法查找只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查找。6.下列程序的输出结果是( )。int f1(int x,inty)return xy?x:y;int f2(int x,inty)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=
22、f1(f2(a,B) ,f2(c,D) );g=a+b+C+d-e-f;phntf(“%d,%d,%d/n“,e,f,g);(分数:2.00)_解析:解析 根据函数 int f1(int x,int y)return xy?x:y;和 int馒(int x,int y)retum xy?y:x;7.若变量 a,b已正确定义,且 b已正确赋值,则合法的语句是( )。(分数:2.00)A.b=double(B.;B) +b; C.a=a+=5;D.a解析:解析 要解答此题只要知道两个知识点:在 C语言中规定进行强制类型转换的格式是:(double)变量名;在 C语言中不允许给表达式赋值。8.下列选
23、项中,不是一个算法的基本特征的是( )。(分数:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有下列 4个特征:可行性,即考虑到实际的条件能够达到一个满意的结果:确定性,算法中的第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内做完;拥有足够的情报。9.某二叉树共有 60个叶子结点与 50个度为 1的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169 C.182D.198解析:解析 叶子结点总是比度为 2的结点多一个。所以,具有 60个叶子结点的二叉树有 59个度为 2的结点。总结点数=60 个叶子结点
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 239 答案 解析 DOC
