【计算机类职业资格】二级C语言笔试-439及答案解析.doc
《【计算机类职业资格】二级C语言笔试-439及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-439及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-439 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:66.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.结构化程序设计主要强调的是A) 程序的规模 B) 程序的效率 C) 程序设计语言的先进性 D) 程序易读性(分数:2.00)A.B.C.D.4.对长度为 n的
2、线性表进行顺序查找,在最坏的情况下需要比较的次数为( )。A) 125 B) n/2C) n D) n+1(分数:1.00)A.B.C.D.5.为了提高软件模块的独立性,模块之间最好是( )。A) 控制耦合 B) 公共耦合 C) 内容耦合 D) 数据耦合(分数:2.00)A.B.C.D.6.在一棵二叉树上,第 5层的结点数最多是( )。 A) 8 B) 9 C) 15 D) 16(分数:2.00)A.B.C.D.7.设变量已正确定义并赋值,以下正确的表达式是_。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.
3、D.8.下列正确的实型常量是( )。A) E3.4 B) -12345 C) 2.2e0.8 D) 4(分数:1.00)A.B.C.D.若 ch为 char型变量,k 为 int型变量(已知字符 a的 ASCII码是 97),则执行下列语句后输出的结果为( )。ch=b; k=10:printf(“%x,%o,“,ch,ch,k);printf(“k=%d/n“,k);A因变量类型与格式描述符的类型不匹配,输出无定值B输出项与格式描述符个数不符,输出为 0值或不定值C62,142,k=%dD62,142,k=%10(分数:3.00)A.B.C.D.A.B.C.D.9.以下叙述中错误的是_。A)
4、 C语言是一种结构化程序设计语言B) 结构化程序由顺序、分支、循环三种基本结构组成C) 使用三种基本结构构成的程序只能解决简单问题D) 结构化程序设计提倡模块化的设计方法(分数:1.00)A.B.C.D.10.下列选项中合法的赋值语句是( )。A) a-b34 B) a34,b34 C) i-1; D) m(int)(x+y);(分数:1.00)A.B.C.D.11.若有下列定义(设 int类型变量占 2个字节):int i=8;则下列语句:printf(“i=%08d“,i);输出的结果是( )。A) i=8, B) i=00000008, C) i=08, D) 8(分数:1.00)A.B
5、.C.D.12.下列程序的输出结果是( )。#includestdio.hmain()int a=3,b=2,c=1;if(aB) if(b0) c=0;else c+;printf(“%d/n“,C) ;A) 0 B) 2C) 1 D) 3(分数:2.00)A.B.C.D.13.在 C语言中,函数返回值的类型最终取决于A) 函数定义时在函数首部所说明的函数类型 B) return 语句中表达式值的类型C) 调用函数时主调函数所传递的实参类型 D) 函数定义时形参的类型(分数:1.00)A.B.C.D.14.有下列程序:#inelude stdio.hmain()int x=8;for(;x0
6、;x-)if(x%3) printf(“%d,“,x-);continue;printf(“%d,“,-x);程序的运行结果是( )。A) 7,4,2 B) 8,7,5,2 C) 9,7,6,4 D) 8,5,4,2(分数:2.00)A.B.C.D.15.现有如下程序段#include “stdio.h“main()int k30=12,324,45,6,768,98,21,34,453,456;int count=0,i=0;while(Li)if(ki%2=0|ki%5=0)count+;i+; printf(“%d,%d/n“,count,i);则程序段的输出结果为A) 7,8 B) 8
7、,8 C) 7,10 D) 8,10(分数:1.00)A.B.C.D.16.有下列函数定义:int fun(double a,double B) return a*b;若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。A) if(fun(x,y) B) z=fun(fun(x,y),fun(x,y);C) z=fun(fun(x,y)x,y); D) fun(x,y);(分数:2.00)A.B.C.D.17.有以下程序,其中 k的初值为八进制数#include stdiohmain()intk=011;printf(“%d/n“,k+);程序运行后的输出结果是A) 12 B) 1
8、1 C) 10 D) 9A.B.C.D.18.表达式8-2的值是( )。A) 整数 6 B) 字符 6 C) 表达式不合法 D) 字符 8(分数:2.00)A.B.C.D.19.下列程序中函数 reverse()的功能是将 a所指数组中的内容进行逆置。#includestdio.hvoid 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(
9、“%d/n“,s);程序运行后的输出结果是( )。A) 27 B) 6 C) 25 D) 30(分数:2.00)A.B.C.D.有下列程序:main()int i,j,x=0;for(i=0,i2;i+)x+:for(j=0;j=3;j+)if(j%2)continue;x+;x+;printf(“x=%d/n“,x);程序执行后的输出结果是( )。Ax=4 Bx=8 Cx=6 Dx=12(分数:2.00)A.B.C.D.A.B.C.D.20.有以下程序main()char a,b,c,d;scanf(“%c,%c,%d,%d“, printf(“*c,%c,%c,%c/n“, a,b,c,d
10、) ;若运行时从键盘上输入:6,5,65,66回车。则输出结果是_。A) 6,5,A,B B) 6,5,65,66 C) 6,5,6,5 D) 6,5,6,6(分数:1.00)A.B.C.D.21.有以下程序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.22.下面程序段的
11、输出结果是( )。char a=“lanuage“,*p;p=a;while(*P! =u) printf(“%c“,*p-32); P+;A) LANGUAGE B) language C) LAN D) langUAGE(分数: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, c=5, d=2, e, f, g;e=f2(f1(a, b), f1(c, d); f=f1(f2(a, b) , f2(c, d);
12、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.若有定义语句:int k23,*pk3;,则以下语句中正确的是_。(A) pk=k;(B) pk0=k12;(C) pk=k0;(D) pk1=k;(分数:2.00)A.B.C.D.25.若有以下定义,则对 a数组元素地址的正确引用是( )。int a5,*p=a;A) p+5 B) *a+1 C) *s=*t; *t=k;s+;t-;if(*s)f(
13、s,t):main()char str10=“abcdefg“,*P;P=str+strlen(str)/2+1:f(p,p-2);printf(“%s/n“,str);程序运行后的输出结果是_。A) abcdefg B) gfedcba C) gbcdefa D) abedcfg(分数:2.00)A.B.C.D.28.已知大写字母 A的 ASCII码是 65,小写字母 a的 ASCII码是 97。下列不能将变量 c中的大写字母转换为对应小写字母的语句是( )。A) c=(c-A)%26+a B) c=c+32C) c=c-A+a D) c=(A+C)%26-a(分数:2.00)A.B.C.D
14、.29.若有以下说明和语句:struct stint n;char*ch;struct st a3=5,“abc“7,“def“,9“,ghk“),*p=a;则值为 6的表达式是_。A) p+-n B) p-n+ C) (*p).n+ D) +Pn(分数:2.00)A.B.C.D.30.有以下程序#include stdio.h#include string.hvoid fun(char *s,int n)char *t; int i,j;for(i=0;in-1;+)for(j=i+1;jn;j+)if(strlen(si)strlen(sj) t=si;si;sj;sj=t;main()c
15、har *ss=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“;fun(ss,5); printf(“%s,%s/n“,ss0,ss4);程序的运行结果是A) xy,aaaacc B) aaaacc,xy C) bcc,aabcc D) aabcc,bcc(分数:2.00)A.B.C.D.31.以下程序运行后的输出结果是#includestdio.hint b=2;int fun(int *k)b=*k+b; return(b);main()int a10=1, 2, 3, 4, 5, 6, 7, 8, i;for(i=2; i4; i+)b=fun( printf(“%
16、d“, b);printf(“/n“);A) 10 12 B) 8 10 C) 10 28 D) 10 16(分数:2.00)A.B.C.D.32.以下叙述中错误的是_。A) 可以通过 typedef增加新的类型B) 可以用 typedef将已存在的类型用一个新的名字来代表C) 用 typedef定义新的类型名后,原有类型名仍有效D) 用 typedef可以为各种类型起别名,但不能为变量起别名(分数:2.00)A.B.C.D.33.若 x是 int型变量,且有下面的程序段:for(x=3;x6;x+) printf(x%2)?(“*%d“):(“#%d/n“),x);此程序段的输出结果是( )
17、。A) *3#4*5B) #3*4#5C) #3*4#5D) * 3#4*5(分数:1.00)A.B.C.D.34.以下合法的字符型常量是A) /x13 B) /081 C) 65 D) “/n/(分数:2.00)A.B.C.D.35.下列程序的输出结果是( )。#includestdio.hmain()struct stint y, x,z;unionlong i;int j;char k;un;printf(“%d,%d/n“,sizeof(struct st),sizeof(un);A) 6,2 B) 6,4 C) 8,4 D) 8,6(分数:2.00)A.B.C.D.36.下列程序的输
18、出结果是( )。#includestdio.hmain()struct stint y,x,z;unionlong i;int j;char k;un;printf(“%d,%d/n“,sizeof(struct st),sizeof(un);A) 6,2 B) 6,4 C) 8,4 D) 8,6(分数:2.00)A.B.C.D.37.设 x=011050, 则 x=xa=(3*5,a+4); printf(“a=%d/n“,a);(分数:2.00)填空项 1:_44.以下程序将数组 a的 4个元素和数组 b的 6个元素写到名为 lett.dat的二进制文件中,请填空。#include std
19、ioh#include stdlibhmain()FILE *fp;char a5=“1234“,b7=“abcedf“;if(fp=fopen(“U /U“,“wb“)=NULL) exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b,U /U,1,fp);fclose(fp);(分数:2.00)填空项 1:_45.执行程序时的输入为 123456789,则程序的运行结果为_。 #include“stdio.h“ main() int a,b; scanf(“%2d%*2d%1d“,printf(“Enter a number:“); scanf(“%d“
20、,n);printf(“Output: “);dos=n%10; printf(“%d“,s); _;while(n!=0);printf(“/n“);(分数:2.00)填空项 1:_48.有以下程序#includestdiohmain()int a=1,2,3,4,5,6,*k3,i=0;while(i3)ki=void fun(int m)m+=k;k+=m;printf(“m=%d/n k=%d“,m,k+);main()int i=4;fun(i+);printf(“i=%d k=%d/n“,i,k);(分数:2.00)填空项 1:_50.以下程序调用函数 swap将指针 s和 t所指
21、单元(a 和 b)中的内容交换,请填空。 main() int a=10,b=20,*s,*t; s=fun();fun()static int a4=1,2,3,4;int i;for(i=0;i4;i+)ai+=ai;for(i=0;i4;i+)printf(“%d,“,ai);printf(“/n“);(分数:2.00)填空项 1:_52.下列程序的输出结果是_。#define P(a) printf(“%d,“,(int)(a)#define PRINT(a) P(a);printf(“the end“)main()int i,a=0;for(i=1 ;i5;i+)PRINT(a+i)
22、;printf(“/n“);(分数:2.00)填空项 1:_53.以下程序运行后的输出结果是_。struct NODEint k;struct NODE *link;main()struct NODE m5,*p=m,*q=m+4;int i=0;while(p!=q)p-k=+i; p+;q-k=i+; q-;q-k=i;for(i=0;i5;i+) printf(“%d“,mi.k);printf(“/n“);(分数:2.00)填空项 1:_二级 C语言笔试-439 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.与十进制数 200等值的十
23、六进制数为_。A) A8 B) A4 C) C8 D) C4(分数:1.00)A.B.C. D.解析:解析 十进制数 200转换成二进制数,其结果为 1100 1000,1100 1000 对应了十六进制数 C8。因此答案选 C。2.算法的有穷性是指( )。A) 算法程序的运行时间是有限的 B) 算法程序所处理的数据量是有限的C) 算法程序的长度是有限的 D) 算法只能被有限的用户使用(分数:2.00)A. B.C.D.解析:解析 算法的基本特征主要包括以下四个方面:可行性:针对实际问题而设计的算法,执行后能够得到满意的结果。确定性:算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 439 答案 解析 DOC
