【计算机类职业资格】二级C语言笔试-12及答案解析.doc
《【计算机类职业资格】二级C语言笔试-12及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-12及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-12 及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.若有以下定义,则对 a数组元素的正确引用是( )。 int a5,*p=a;(分数:2.00)A.* printf(“%c,“,b+); printf(“%d/n“,b-a); (分数:2.00)A.3,2B.50,2C.2,2D.2,503.下列关于软件测试的目的和准则的叙述中,正确的是( )。(分数:2.00)A.软件测试是证明软件没有错误B.主要目的是发现程序中的错误C.主要目的是确定程序中错误的位置D.测试最好由程序员自己来检查自己的程序4.下面程序的输 m
2、结果是( )。 typedef union double x3; int y4; char z10; M; M t; main() Printf(“%d/n“,sizeof(t);(分数:2.00)A.32B.26C.24D.45.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是( )。#includestdio.h main() char c; int v0=1,v1=0,v2=0; do switch(c=getchar() casea:caseA: casee:caseE: casei:caseI: caseo:caseO: caseu:c
3、aseU:v1+=1: default:v0+=1;v2+=1; while(c!=/n); printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2); (分数:2.00)A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=13,v1=4,v2=126.下列程序段选择项,使 i的运行结果为 3的程序段是( )。(分数:2.00)A.int i=0,j=O; (i=2,(j+)+i);B.int i=1,j=0; j=i=(i=3)*2);C.int i=0,j=1; (j=1)?(i=1):(i=3);D.int i
4、=1,j=1; i+=j+=1;7.有以下程序: #includestdio.h main() int aa55=1,2,3,4,5,6,1,8,5,9,10,2,1,2,5,6; int i,s=0; for(i=0;i4;i+) s+=aai2; printf(“%d“,s); 程序运行后的输出结果是( )。(分数:2.00)A.26B.19C.10D.208.有以下程序: #include stdio.h main() int a=1,b=2; for(;a12;a+) b+=a*2;a+=3; printf(“%d,%d/n“,b,a); 程序运行后的输出结果是( )。(分数:2.00
5、)A.32,13B.46,10C.72,13D.72,109.以下函数定义的类型符是( )。 fff(double x) printf(“%f“,x+x); (分数:2.00)A.与 x类型相同B.void类型C.int类型D.无法确定10.算法的有穷性是指( )。(分数:2.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用11.下列能正确定义字符串的语句是( )。(分数:1.00)A.char str=/64;B.char str=“kx43“;C.char str=“;D.char str=“/0“;12.下述程序
6、的输出结果是( )。 #includestdio.h void main() int a5=1,2,3,4,5; int *p=a,*q=p; printf(“%d,“,*(p+); printf(“%d“,*q);(分数:1.00)A.2,2B.1,1C.3,4D.1,213.有以下程序: #includestring.h void f(char p10,int n) /* 字符串从小到大排序 */ char t10;int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(strcmp(pi,pj)0strcpy(t,pi);strcpy(pi,pj);s
7、trcpy(i,t); main() char p510=“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“; f(p,5); printf(“%d/n“,strlen(p0); 程序运行后的输出结果( )。(分数:1.00)A.2B.4C.6D.314.有以下程序: #includestring.h int a=4; int f(int n) int t=0;static int a=5; if(n%2) int a=6;t+=a+; elseint a=7;t+=a+; return t+a+; main() int s=a,i=0; for(;i2;i+)s+=f(i)
8、; printf(“%d/n“,s); 程序运行后的输出结果是( )。(分数:1.00)A.24B.28C.32D.3615.若有以下定义和语句: int a=010,b=010,c=10; printf(“%d,%d,%d/a“,a,b,c); 则输出结果是( )。(分数:1.00)A.8,10,10B.10,10,10C.8,8,10D.8,16,1016.下列关于栈的描述中,正确的是( )。(分数:1.00)A.在栈中只能插入元素B.在栈中只能删除元素C.只能在一端插入或删除元素D.只能在一端插入元素,而在另一端删除元素17.当把 4个表达式用做 if语句的控制表达式时,有一个选项与其他
9、 3个选项含义不同,这个选项是( )。(分数:1.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=118.下面结构体的定义语句中,错误的是( )。(分数:1.00)A.struct ordint x;int y;int z;struct ord a;B.struct ordint x;int y;int z;ord a;C.struct ordint x;int y;int z;a;D.structint x;int y;int z;a;19.设有输入语句 scanf(“a=%d,b=%d,c=%d“, strcpy(str+1,strcat(p1,p2); printf(“%
10、s“,str);(分数:1.00)A.xyzWHOwhoB.zWHOwhoC.zWHOwhoD.xWHOwho21.下面程序的输出结果是( )。 #includestdio.h main() int x=7,y=3; printf(“%d“,y=x/y); (分数:2.00)A.0B.2C.3D.不确定的值22.以下程序的输出结果是( )。 #includestdio.h main() int a=1,b=3; if(+a0) else printf(“%d,%d/n“,b,a);(分数:2.00)A.2,2B.1,3C.3,2D.3,123.在 E-R图中,用( )来表示实体之间联系。(分数
11、:2.00)A.矩形B.菱形C.椭圆形D.正方形24.在一棵二叉树中,叶子结点共有 30个,度为 1的结点共有 40个,则该二叉树中的总结点数共有( )个。(分数:2.00)A.89B.93C.99D.10025.下列不能正确计算代数式 (分数:2.00)A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)26.详细设计主要确定每个模块具体执行过程,也称过程设计,下列不属于过程设计工具的是( )。(分数:2.00)A.DFD图B.PAD图C.N-S图D.PDL27.设有如
12、下关系表,由关系 R和 S通过运算得到关系 T,则所使用的运算为( )。 (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S28.下面程序的输出结果是( )。 #includestdio.h main() int a=1,2,3,4,5,6,7,8,7,10,*p; p=a; printf(“%d/n“,*p+8); (分数:2.00)A.0B.1C.10D.929.以下语句段执行后的输出结果是( )。 #includestdio.h main() int k=3; if(k) printf(“#“) else printf(“(分数:2.00)A.#B. printf(“%
13、d,%d/n“,(+x,y+),z+2); 执行后的输出结果是( )。(分数:2.00)A.3,5B.2,5C.3,3D.1,534.执行以下程序段的输出结果是( )。 int m=0x12,n=0x12; m=m-n; printf(“%X/n“,m);(分数:2.00)A.0X0B.0X12C.0x0D.035.对下述程序的判断中,正确的是( )。 #includestdio.h void main() char *P,s256; p=s; while(strcmp(s,“the end“) printf(“Input the string:“); gets(s); while(*P) p
14、utchar(*p+);(分数:2.00)A.此程序循环接收字符串并输出,直到接收到字符串“the end”为止B.此程序循环接收字符串,接收到字符串“the end”则输出,否则程序终止C.此程序循环接收字符串并输出,直到接收字符串“the end”为止,但因为代码有错误,程序不能正常工作D.此程序循环接收字符串并将其连接在一起,直到接收字符串“the end”为止,输出连接在一起的字符串36.在数据库系统中,数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述是( )。(分数:2.00)A.外模式B.逻辑模式C.概念模式D.物理模式37.若有定义 int(*pt)3;,则下列说法不正确
15、的是( )。(分数:2.00)A.int(*pt)3是一个数组指针B.指针 pt指向一个有 3个整型变量的数组C.定义了一个名为*pt、具有三个元素的整型数组D.定义了一个名为 pt的指针变量,它可以指向每行有三个整数元素的二维数组38.已知字母 a的 ASCII码为十进制数 97,下面程序的输出结果是( )。 #includestdio.h main() char c1,c2; c1=a+6-0; c2=a+3-0; printf(“%c,%c/n“,c1,c2); (分数:2.00)A.输出无定值B.d,eC.e,fD.g,d39.下述程序的输出结果是( )。 #includestdio.
16、h void main() char a=3,b=1; char c=ab2; printf(“%d“,c); (分数:2.00)A.1B.7C.3D.240.下面程序段的运行结果是( )。 #includestdio.h void main() char str=“ABC“,*p=str; pfintf(“%d/n“,*(p+3); (分数:2.00)A.67B.0C.字符C的地址D.字符C二、B填空题/B(总题数:13,分数:26.00)41.对长度为 8的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_42.软件指的是计算机系统中与硬件相互依赖的另一部
17、分,包括程序、数据和 1 的集合。(分数:2.00)填空项 1:_43.软件测试分为白箱(盒)测试和黑箱(盒)测试。基本路径测试方法属于 1 测试。(分数:2.00)填空项 1:_44.一个项目具有一个项目经理,一个项目经理可管理多个项目,则实体“项目经理”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_45.在结构化分析使用的数据流图中,使 1 解释其中的图形元素。(分数:2.00)填空项 1:_46.若 s是 int型变量,且 s=8,则 s%3+(s+1)%3表达式的值为 1。(分数:2.00)填空项 1:_47.若 x和 n均是 int型变量,且 x=12,n=5
18、,则执行 y=x%=(n%=2)表达式后 y的值为 1。(分数:2.00)填空项 1:_48.下列程序的输出结果是_。 int t(int x,int y,int cp,int dp) cp=x% y+y*y; dp=x+x-y*y; main() im a=4,b=3,c=9,d=8; t(a,b,c,d); printf(“%d%d/n“,c,d); (分数:2.00)填空项 1:_49.下面 fun函数的功能是将形参 x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为 0的元素中,其他依此类推。请填空。 Fun(int x,int b) int k=0
19、,r; do r=x%2; _=r; x/=2; while(x); (分数:2.00)填空项 1:_50.有以下定义和语句,则 sizeof(a.share)的值是_。 struct date unsigned int day; unsigned int mouth; unsigned int year; unionint share1; float share2; share; a;(分数:2.00)填空项 1:_51.下面程序的功能是:对字符串从小到大进行排序并输出,请填空。 #include“string.h“ #include“stdio.h“ sort(char *a,int n)
20、 int i,j; char *p; for(j=1;j=n-1;j+) for(i=0;in-j;i+) if(_)0) p=ai; ai=ai+1; ai+1=p; main() int i; char *book=“itisme“,“itisyou“,“howareyou“,“fine“,“goodnight“,“goodbye“; sort(_); for(i=0;i6;i+) printf(“%s/n“,booki); (分数:2.00)填空项 1:_52.以下程序用以删除字符串中所有的空格,请填空。 #includestdio.h main() char s100=“Our tea
21、cher teach C language!“;int i,j; for(i=j=0;si!=/0;i+) if(si!=)_ sj=/0; printf(“%s/n“,s); (分数:2.00)填空项 1:_53.下面程序把从终端读入的文本(用作为文本结束标志)复制到一个名为 bi.dat的新文件中。请填空。 #includestdio.h FILE *fp; main() char ch; if(fp=fopen(_)=NULL)exit(0); while(ch=getchar()!=)fputc(ch,fp);_;(分数:2.00)填空项 1:_二级 C语言笔试-12 答案解析(总分:
22、96.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.若有以下定义,则对 a数组元素的正确引用是( )。 int a5,*p=a;(分数:2.00)A.* printf(“%c,“,b+); printf(“%d/n“,b-a); (分数:2.00)A.3,2B.50,2C.2,2 D.2,50解析:解析 自增运算符“+”,出现在变量之前,表示先使变量的值加 1,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,冉使变量的值加 1。例如题中的“b+”,题中第一条语句先输出字符 b的值,此时变量 b=2,因此输出值为 2;再使 b的值加 1,b
23、=3,因此第二条语句输出:b-a=3-1=2。3.下列关于软件测试的目的和准则的叙述中,正确的是( )。(分数:2.00)A.软件测试是证明软件没有错误B.主要目的是发现程序中的错误 C.主要目的是确定程序中错误的位置D.测试最好由程序员自己来检查自己的程序解析:解析 软件侧试的目的: 软件测试是为了发现错误而执行程序的过程; 一个好的测试用例能够发现至今尚未发现的错误; 一个成功的测试是发现了至今尚未发现的错误。 软件侧试的准则: 所有测试都应追溯到需求; 严格执行测试计划,排除测试的随意性; 充分注意测试中的群集现象;程序员应避免检查自己的程序; 穷举测试不可能; 妥善保存测试计划、测试用
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 12 答案 解析 DOC
