【计算机类职业资格】二级C语言笔试311及答案解析.doc
《【计算机类职业资格】二级C语言笔试311及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试311及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 311 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.在软件设计中,不属于过程设计工具的是 _。(分数:2.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图2.下列选项中,合法的 C 语言关键字是 _。(分数:2.00)A.VARB.cherC.integerD.default3.以下程序的输出结果是 _。 # defineSQR(X) X*X main() int a=10,k=2,m=1; a/SQR(k+m)/SQR(k+m); printf(“d/n“,a); (分数:2.00)
2、A.16B.2C.9D.14.若有以下说明和语句: int c45,(*p)5; p=C; 能够正确引用 c 数组元素的是 _。(分数:2.00)A.p+1B.*(p+1)C.*(p+1)+3D.*(p0+2)5.x、y、z 被定义为 int 型变量,若从键盘给 x、y、z 输入数据,正确的输入语句是 _。(分数:2.00)A.INPUT x、y、z;B.scanf(“%d %d %d“,i9;i+)pi=i; for(i=0;i3;i+)printf(“%d“,a1i); 程序运行后的输出结果是 _。(分数:2.00)A.0 1 2B.1 2 3C.2 3 4D.3 4 59.已有定义:in
3、t i,a10,*p;,则合法的赋值语句是 _。(分数:2.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2;10.下列描述中正确的是 _。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合11.以下程序运行后的输出结果是 _。 main() int a=1,b=2,c=3; if(c=a) printf(“%d/n“,c); else printf(“%d/n“,b); (分数:1.00)A.2B.3C.5D.112.数字字符 0 的 ASCII 值为 48,若有以下程序: main()
4、 char a=1,b=2; printf(“%c,“,b+); printf(“%d/n“,b-a); 程序运行后的输出结果是 _。(分数:1.00)A.3,2B.50,2C.2,2D.2,5013.下列叙述中正确的是 _。(分数:1.00)A.程序设计就是编制程序B.程序测试必须由程序员自己去做C.程序经调试改错后还应进行再测试D.程序经调度改错后不必进行再测试14.以下能正确定义且赋初值的语句是 _。(分数:1.00)A.iht=n1=n2=10;B.char c=32;C.float f=f+1.1;D.double x=12.3E2.515.对长度为 n 的线性表进行顺序查找,在最坏
5、的情况下所需要的比较次数为 _。(分数:1.00)A.log2nB.n/2C.nD.n+l16.有以下程序: main() int i=10,j=1; printf(“%d,%d/n“,i-,+j); 执行后的输出结果是 _。(分数:1.00)A.9,2B.l0,2C.9,1D.10,117.有以下程序: main() char al=Ma2=m; printf(“%c/n“,(al,a2); 以下叙述中正确的是 _。(分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息18.已定义以下函数: fun(int*p) return
6、 *p; 该函数的返回值是 _。(分数:1.00)A.不确定的值B.形参 p 中存放的值C.形参 p 所指存储单元中的值D.形参 p 的地址值19.以下程序运行后的输出结果是 _。 main() char m; m=B+32;printf(“%c/n“,m); (分数:1.00)A.aB.bC.cD.d20.设有定义: int k=1,m=2; float f=7; 则以下选项中错误的表达式是 _。(分数:1.00)A.k=k=kB.-k+C.k% int(D.k=f=m21.有以下程序: # includestdio.h main() char c1=1,c2=2; c1=getchar()
7、;c2=getchar();putchar(c1);putchar(c2); 当运行时输入:a回车后,以下叙述正确的是 _。(分数:2.00)A.变量 c1 被赋予字符 a,c2 被赋予回车符B.程序将等待用户输入 2 个字符C.变量 c1 被赋予字符 a,c2 中仍是原有字符 2D.变量 c1 被赋予字符 a,c2 中将无确定值22.有以下程序: main() int i=1,j=1,k=2; if(j+k+)i+) scanf(“%c“, main() int s8=1,3,5,2,4,6,i,d=0; for(i=0;f(si);i+)d+=si; printf(“%d/n“,d); 程
8、序运行后的输出结果是 _。(分数:2.00)A.9B.11C.19D.2129.有以下定义: # includestdio.h char al0,*b=a; 不能给 a 数组输入字符串的语句是 _。(分数:2.00)A.gets()B.gets(a0);C.gets(i6;i+)printf(“%2d“,*(p+);B.for(i=0;i6;i+)printf(“%2d“,*(p+);C.for(i=0;i6;i+)printf(“%2d“,*p+);D.for(i=0;i6;i+)printf(“%2d“,(*+);31.以下能正确定义二维数组的是 _。(分数:2.00)A.int a3;B
9、.int a3=2*3;C.int a3=;D.int a23=1,2,3,4;32.以下叙述中正确的是 _。(分数:2.00)A.用 C 语言实现的算法必须要有输入和输出操作B.用 C 语言实现的算法可以没有输出但必须要有输入C.用 C 程序实现的算法可以没有输入但必须要有输出D.用 C 程序实现的算法可以既没有输入也没有输出33.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 _。(分数:2.00)A.p=1;B.*q=2C.q=pD.*p=534.以下 4 个选项中,不能被看作是一条语句的是 _。(分数:2.00)A.;B.a=0,b=0,c=0;C.if(a;D.if
10、(b=0)m=1;n=2;35.有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是 _。(分数:2.00)A.a=a+b=b+B.w%(ina+C.(c+%(inaD.w=a=b;36.有以下程序: main() int x=0,y=5,z=31 while(z-0x3;x+)y+=px; printf(“%d/n“,y); 程序运行后的输出,结果是 _。(分数:2.00)A.10B.11C.14D.1538.有以下程序中若有如下说明和定义语句; char fun(char*); main() char * s=“one“,a
11、5=0,(*f1)()=fun,ch; 以下选项中对函数 fun 的正确调用语句是 _。(分数:2.00)A.(*f1)(;B.*f1(*;C.fun(i5;i+) do if(i%3) continue; n+; while(! i); n+; printf(“n=%d/n“,n); 程序执行后输出结果是U 【1】 /U。(分数:2.00)填空项 1:_42.有以下程序: void f(int v,int w) int t; t=v;v=w;w=t; main() int x=1,y=3,z=2 if(xy) f(x,y); else if(yz) f(y,z); else f (x,z);
12、 printf(“%d,%d,%d/n“,x,y,z); 执行后的输出结果是U 【2】 /U。(分数:2.00)填空项 1:_43.函数 YangHui 的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 其构成规律是: 第 0 列元素和主对角线元素均为 1; 其余元素为其左上方和正上方元素之和; 数据的个数每行递增 1。 请将程序补充完整。 #define N 6 void YangHui(int xNN) inti,j;x00=1; for(i=1;iN;i+) xi0=xii=1; for(j=1;ji;j+) xij
13、=U 【3】 /U; (分数:2.00)填空项 1:_44.以下程序运行后的输出结果是U 【4】 /U。 main() char c; int n=100; float f=10; double x; x=f* =n/=(c=50); printf(“%d %f/n“,n,x); (分数:2.00)填空项 1:_45.有以下程序: main() int a=7,b=8,*p,*q,*r; p= q= r=p; p=q; q=r; printf(“%d,%d,%d,%d/n“,*p,*q,a,b); 程序运行后的输出结果是U 【5】 /U。(分数:2.00)填空项 1:_46.以下程序运行后的输
14、出结果是U 【6】 /U。 # includestring.h main() char ch=“abc“,x34;int i for(i=0;i3;i+) strcpy(xi,ch); for(i=0;i3;i+)printf(“%s“,printf(“/n“); (分数:2.00)填空项 1:_47.有以下程序: fun(int a,int b) if(ab)return(a); else return(b); main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(“%/d/n“,r); 程序运行后的输出的结果是U 【7】 /U。(分数:
15、2.00)填空项 1:_48.有以下程序: # includestring.h struct STU char name10; int num; void f(char *name, int num) struct STU s2=“SunDan“,20044,“Penghua“,20045; num=s0.num; strcpy(name,s0.name); main() struct STU s2=“YangSan“,20041,“LiSiGuo“,20042,*p; p=f(p-name,p-num); printf(“%s %d/n“,p-name,p-num); 程序运行后的输出结果是
16、U 【8】 /U。(分数:2.00)填空项 1:_49.有以下程序: main() int a33,*p,i; p= for(i=0;i9;i+)pi=i+1; printf(“%d/n“,a12); 程序运行后的输出结果是U 【9】 /U。(分数:2.00)填空项 1:_50.有以下程序: # includestdio.h main() int a=1,2,3,4,5,6,7,8,9,10,11,12, *p=a+5, *q=NULL; *q=*(p+5); printf(“%d%d/n“,*p,*q); 程序运行后的输出结果是U 【10】 /U。(分数:2.00)填空项 1:_51.有以下
17、程序: void f(int*x,iht * y) int t; t=*x;*x;=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(p) f(p,q);p+;q-; for(i=0;i8;i+)printf(“%d,“,ai); 程序运行后的输出结果是U 【11】 /U。(分数:2.00)填空项 1:_52.有以下程序: prt(int *m,int n) int i; for(i=0;in;i+)mi+; main() int a=1,2,3,4,5,i; prt(a,5); for(i=0;i5;i+)printf(
18、“%d,“,ai; 程序运行后的输出结果是U 【12】 /U。(分数:2.00)填空项 1:_53.有以下程序: float f1(float n) return n*n; float f2(float n) return 2*n; main() float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1=f1;p2=f2; y1=p2(p1(2.0); t=P1;p1=p2;p2=t; y2=p2(p1(2.0); printf(“%3.0f,%3.0f/n“,y1,y2); 程序运行后的输出结果是U【13】 /U。(分数:2.00)填空项 1:
19、_54.设有以下定义和语句: int a32=1,2,3,4,5,*p3; p0=a1; 则*(p0+1)所代表的数组元素是U 【14】 /U。(分数:2.00)填空项 1:_55.设函数 findbig 已定义为求 3 个数中的最大值,以下程序将利用函数指针调用 findbig 函数。请填空。main() int findbig(int,int,int); int(*f)(),x,y,z,big; f=U 【15】 /U。 scanf(“%d %d %d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:2.00)填空项 1:_二级 C 语言笔试
20、311 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.在软件设计中,不属于过程设计工具的是 _。(分数:2.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图 D.DFD 图解析:解析 DFD(Data Flow Diagram)是数据流图结构化分析的常用工具。 软件设计中,常见的过程设计工具如下。 (1)图形工具:程序流程图,N-S,PAD,HIPO (2)表格工具:判定表 (3)语言工具:PDL(过程设计语言)2.下列选项中,合法的 C 语言关键字是 _。(分数:2.00)A.VARB.cherC.integerD.de
21、fault 解析:解析 本题考查 C 语言基本知识。本题中 default 是 C 语言的关键字。3.以下程序的输出结果是 _。 # defineSQR(X) X*X main() int a=10,k=2,m=1; a/SQR(k+m)/SQR(k+m); printf(“d/n“,a); (分数:2.00)A.16B.2C.9D.1 解析:解析 本题考查带参数的宏调用。a/=SQR(k+m)/SQR(k+m)进行宏替换后得: a=a/(SQR(k+m)/SQR(k+m)=a/(k+m*k+m/k+m*k+m)=10/(2+1*2+1/2+1*2+1) =10/(2+2+0+2+1)=10/
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 311 答案 解析 DOC
