【计算机类职业资格】二级C语言笔试-291及答案解析.doc
《【计算机类职业资格】二级C语言笔试-291及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-291及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-291 及答案解析(总分:68.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.有以下程序段:char ch;int k;ch=a;k=12;printf(“%c,%d,“,ch,ch,k);printf(“k=%d/n”,k);已知字符 a 的 ASC十进制代码为 97,则执行上述程序段后输出结果是( )。(分数:1.00)A.因变量类型与格式描述符的类型不匹配输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=122.以下正确的程序段是( )。(分数:1.00)A.char str20;B.
2、cha r*p;scanf(“%s“,int j,k;j=i;k=+i;p=f(j,k);printf(“%d“,p);int f(int a,int b)int c;if(a,b)c=1;else if(a=b)c=0;else c=-1;return(c);(分数:1.00)A.-1B.1C.2D.编译出错,无法运行4.以下程序的运行结果是( )。int k=0;void fun(int m)m+=k;k+=m;printf(“m=%d b%d“,m,k+);main()int i=4;fun(i+);printf(“i=%d k=%d/n“,i,k);(分数:1.00)A.m=4 k=5
3、 i=5 k=5B.m=4 k=4 i=5 k=5C.m=4 k=4 i=4 k=5D.m=4 k=5 i=4 b=55.有以下程序:#includevoid fun(char*t,char*s)while(*t!=0)t+;while(*t+=*s+)!=0);main()char ss10=”acc”,aa10=”bbxxyy”;fun(ss,a(分数:1.00)A.;printf“%s,%s/n“,ss,aa);6.若有以下说明和定义:union dtint a;char b;double c;data;以下叙述中错误的是( )。(分数:1.00)A.data 的每个成员起始地址都相同B
4、.变量 data 所占内存字节数与成员 C 所占字节数相等C.程序段:data a=5;printf(“%f/n“,datac);输出结果为 5.000000D.data 可以作为函数的实参7.软件开发模型包括( )。瀑布模型 扇形模型 快速原型法模型 螺旋模型(分数:1.00)A.、B.、C.、D.、8.下面四个选项中,均是不正确的八进制数或十六进制数的选项是( )。(分数:1.00)A.016 0x8f 018B.0abc 017 0xaC.010-0x11 0x16D.0a12 7ff-1239.以下定义语句中正确的是( )。(分数:1.00)A.char a=Ab=B;B.float
5、a=b=100;C.int a=10,*b=D.float*a,b=10.程序流程图中带有箭头的线段表示的是( )。(分数:1.00)A.图元关系B.数据流C.控制流D.调用关系11.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaedlf,则其后序遍历的结点访问顺序是( )。(分数:1.00)A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca12.以下程序的输出结果是( )。#include main()int a=15,b=21,m=0;switch(a%3)case 0:m+;break;case 1:m+; switch(b%
6、2)default:m+; case 0:m+;break;printf(“%d/n“,m);(分数:1.00)A.1B.2C.3D.413.有以下程序:#include main()int x=1,y=0,a=0,b=0;switch(X)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;printf(“a=%d,b=%d/n”,a,b);程序的运行结果是( )。(分数:1.00)A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=114.以下合法的字符型常量是(
7、)。(分数:1.00)A./x13B./081C.65D./n15.关系数据模型( )(分数:1.00)A.只能表示实体间的 1:1 联系B.只能表示实体间的 1:n 联系C.只能表示实体间的 m:n 联系D.可以表示实体间的上述 3 种联系16.以下叙述中正确的是( )。(分数:1.00)A.构成 C 程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.函数定义的格式是 Kelse return f(n-1)+1;main()int i,j=0;for i=1;i3;i+)j+=f(i);printf(“%d/n“,j);程序运行后的输出结果是(
8、 )。(分数:1.00)A.4B.3C.2D.118.下面程序段的输出为( )。#include “stdio h“main()printf(“11%d/n“,122);(分数:1.00)A.0B.47C.48D.2419.若有以下的说明,对初值中整数 2 的正确引用方式是( )。static structchar ch;int i;double x;a23=aa,1,3,4,5,b,2,7,9,8,c,31,93;(分数:1.00)A.a01.chB.a01.iC.a00.iD.a02.i20.以下 scanf 函数调用语句中对结构体变量成员的引用不正确的是( )。struct pupilc
9、har name20;int age;int sex;pup51,*p;p=pup;(分数:1.00)A.scanf(“%s“,pup0.name);B.scanf(“%d,C.scanf(“%d”,char k100=0,*p=k;int i;fori=0;i3;i+)P=strcat(p,ai);i=strlen(p);printf(“%d/n“,i)=;则程序段的输出结果是( )。(分数:1.00)A.18B.19C.20D.2122.有以下程序段:char ch;int k;ch=a;k=12;printf(“%c,%d,“,ch,ch);printf(“k=%d/n“,k);已知字符
10、 a 的 ASC码值为 97,则执行上述程序段后输出结果是( )。(分数:1.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=1223.有以下程序:main()int i,j,X=0;for(i=0;i2;i+)X+;for(j=0;j3;j+)if(i%2)continue;X+;X+;printf(“X=%d/n“,X);程序执行后的输出结果是( )。(分数:1.00)A.X=4B.X=8C.X=6D.X=1224.有以下程序:char fun(char x,char y)if (xy)r
11、eturn x;return y;main()int a=9,b=8,C=7;printf(“%c/n”,fun(fun(a,b),fun(b,c);程序的执行结果是( )。(分数:1.00)A.函数调用出错B.8C.9D.725.若变量已正确定义并赋值,以下符合 C 语言语法的表达式是( )。(分数:1.00)A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b26.下列程序的输出结果是( )。#include“stdio.h”#define M(x,y)x%ymain()int a,m=12,n=100;a=M(n,m);printf(“%d/n“,a-);(分
12、数:1.00)A.2B.3C.4D.527.设变量 a、b、C、d 和 y 都已正确定义并赋值。若有以下 if 语句:if (ab)if(c=d)y=0;else y=1;该语句所表示的含义是( )。(分数:1.00)A.B.C.D.28.x,y,z 被定义为 int 型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是( )。(分数:1.00)A.INPUT x、y、z;B.scanf“%d%d%d“,C.scanf(“%d%d%d“,x,y,z);D.read(“%d%d%d“,29.以下叙述中错误的是( )。(分数:1.00)A.gets 函数用于从终端读入字符串B.getchar
13、 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件30.有以下程序段:int j;float y;char name50;scanf(“%2d%f%s“,fputc(A,fp):fputc(/n,fp);fputc(b,fp);fputc(/nfp);fputc(C,fp);fclose(fp);(分数:1.00)A.7 字节 7 字节B.7 字节、5 字节C.5 字节、7 字节D.5 字节、5 字节35.设有如下三个关系表,下列操作中正确的是( )。(分数:1.00)A.T=RSB.T=RSC.T=RSD.T=R/S36
14、.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及( )。(分数:1.00)A.数据的存储结构B.计算方法C.数据映像D.猡辑存储37.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E 入栈前,栈中元素可以出栈,则出栈序列可能是( )。(分数:1.00)A.ABCEDB.DCBEAC.DBCEAD.CDABE38.有以下程序:main()int a32=0,(*ptr)21,i,j;for(i=0;i2;i+)ptr=a+i;scanf(“%d“,ptr);ptr+;fori=0;i3;i+)for(j=0;j2;j+)printf(“%2d“,ai
15、j);printf(“/n“);若运行时输入:1 2 3,则输出结果为( )。(分数:1.00)A.产生错误信息B.10 2000C.123000D.10203039.下列叙述中错误的是( )。(分数:1.00)A.一个 C 语言程序只能实现一种算法B.C 程序可以由多个程序文件组成C.C 程序可以由一个或多个函数组成D.一个 C 函数可以单独作为一个 C 程序文件存在40.下列选项中错误的说明语句是( )。(分数:1.00)A.char a=t,o,y,o,u;B.char a=“;toyou/O“;C.char a=“toyou/O“;D.char a=toyou/O;二、填空题(总题数:
16、14,分数:28.00)41.有序线性表进行二分查找的前提是该线性表必须是 1 存储的。(分数:2.00)填空项 1:_42.在树形结构中,树根结点没有 2 。(分数:2.00)填空项 1:_43.测试用例包括输入值集和 3 值集。(分数:2.00)填空项 1:_44.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 4 。(分数:2.00)填空项 1:_45.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 5 的联系。(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是 6 。main()char c;int n=100;
17、float f=10;double x;x=f*=n/=(c=50);printf(“%d %f/n“,n,x);(分数:2.00)填空项 1:_47.有以下程序:main()char a,b,c,d;scanf(“%c,%c,%d,%d“,printf(%c,%c,%c,%c/n”,a,b,c,d);若运行时从键盘上输入:6,5,65,66。则输出结果是 7 。(分数:2.00)填空项 1:_48.已知字符A的 ASC代码值是 65,字符变量 c1 的值是A,c2 的值是D。执行语句printf(“%d,%d,c1,c2-2);后,输出结果是 8 。(分数:2.00)填空项 1:_49.以下
18、程序运行后的输出结果是 9 。main()int a,b,c;a=10;b=20;c=(a%b1)|(a/b1);printf(“%d%d%d/n“,a,b,c);(分数:2.00)填空项 1:_50.有以下程序:main()int n=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf(“%d/n“,x);执行后输出的结果是 10 。(分数:2.00)填空项 1:_51.以下 isprime 函数的功能是判断形参 a 是否为素数,如果是素数,函数返回 1,否则返回 0。请填空。int isprime(int a)int i;for(i=2;ia/2
19、;i+)if(a%=0) 11 ;12 ;(分数:2.00)填空项 1:_52.有以下程序:main()int a=1,b=3,c=5;int *pl=*P=*pl*(*p2);printf(“%d/n“,c);执行后的输出结果是 13 。(分数:2.00)填空项 1:_53.有以下程序:main()int t=1,i=5;for(;i=0;i-)t*=i;printf(“%d/n“,c);执行后输出结果是 14 。(分数:2.00)填空项 1:_54.以下说明语句中, 15 是结构体类型名。typedef structint n;char ch8;PER;(分数:2.00)填空项 1:_二级
20、 C 语言笔试-291 答案解析(总分:68.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.有以下程序段:char ch;int k;ch=a;k=12;printf(“%c,%d,“,ch,ch,k);printf(“k=%d/n”,k);已知字符 a 的 ASC十进制代码为 97,则执行上述程序段后输出结果是( )。(分数:1.00)A.因变量类型与格式描述符的类型不匹配输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=12 解析:解析 本题主要考查的是标准输出函数 printf。printf 函数在进行参
21、数匹配时,并不会检查参数类型是否一一匹配,也不会检查参数个数是否一致,而是从它认为应该是第 1 个参数地址的内存位置开始,依次将内存中的内容逐个匹配给格式化字符串内所给定的各个类型。因此,前一个 princf 调用,两个 ch分别匹配给%c 和%d,而参数 k 多余,被抛弃。所以会输出“a,97,”(字符 a 的 ASC值为 97)。后一个printf 很正常,这里就不解释了。故应该选择 D)。2.以下正确的程序段是( )。(分数:1.00)A.char str20;B.cha r*p;scanf(“%s“,int j,k;j=i;k=+i;p=f(j,k);printf(“%d“,p);in
22、t f(int a,int b)int c;if(a,b)c=1;else if(a=b)c=0;else c=-1;return(c);(分数:1.00)A.-1 B.1C.2D.编译出错,无法运行解析:解析 函数调用相当于 f(2,3),程序运算应得结果为“-1”。4.以下程序的运行结果是( )。int k=0;void fun(int m)m+=k;k+=m;printf(“m=%d b%d“,m,k+);main()int i=4;fun(i+);printf(“i=%d k=%d/n“,i,k);(分数:1.00)A.m=4 k=5 i=5 k=5B.m=4 k=4 i=5 k=5
23、C.m=4 k=4 i=4 k=5D.m=4 k=5 i=4 b=5解析:解析 由于在 main()函数中,变量 i=4,所以就调用 fun(4),则输出“m=4 k=4”。然后变量 k增 1 等于 5,变量 i 增 1 等于 5,所以 main()函数的“printf(“i=%d k=%d/n“,i,k);”语句输出“i=5 k=5”。5.有以下程序:#includevoid fun(char*t,char*s)while(*t!=0)t+;while(*t+=*s+)!=0);main()char ss10=”acc”,aa10=”bbxxyy”;fun(ss,a(分数:1.00)A.;p
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 291 答案 解析 DOC
