【计算机类职业资格】二级C语言笔试-143及答案解析.doc
《【计算机类职业资格】二级C语言笔试-143及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-143及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-143 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下述程序的输出结果是( )。#includestdio.hvoid main()char a=3,b=1;char c=ab2;printf(“%d“,c);(分数:2.00)A.1B.7C.3D.22.下面程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;pfintf(“%d/n“,*(p+3);(分数:2.00)A.67B.0C.字符C的地址D.字符C3.下述程序的输出结果是( )。#incl
2、udestdio.hvoid main()int a5=1,2,3,4,5;int *p=a,*q=p;printf(“%d,“,*(p+);printf(“%d“,*q);(分数:2.00)A.2,2B.1,1C.3,4D.1,24.下面结构体的定义语句中,错误的是( )。(分数:2.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;5.在 E-R 图中,用(
3、)来表示实体之间联系。(分数:2.00)A.矩形B.菱形C.椭圆形D.正方形6.下列程序段选择项,使 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=1,j=1;i+=j+=1;7.对下列二叉树进行中序遍历的结果是( )。(分数:2.00)A.ABCDEFGHB.ABDGEHCFC.GDBEHACFD.GDHEBFCA8.以下语句段执行后的输出结果是( )。#includestdio.hmain()
4、int k=3;if(k)printf(“#“)elseprintf(“(分数:2.00)A.#B.i4;i+)s+=aai2;printf(“%d“,s);程序运行后的输出结果是( )。(分数:2.00)A.26B.19C.10D.2011.设有输入语句 scanf(“a=%d,b=%d,c=%d“,printf(“%d“,y=x/y);(分数:1.00)A.0B.2C.3D.不确定的值13.有以下程序:#includestring.hint 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+
5、=a+;return t+a+;main()int s=a,i=0;for(;i2;i+)s+=f(i);printf(“%d/n“,s);程序运行后的输出结果是( )。(分数:1.00)_14.已知字母 a 的 ASCII 码为十进制数 97,下面程序的输出结果是( )。#includestdio.hmain()char c1,c2;c1=a+6-0;c2=a+3-0;printf(“%c,%c/n“,c1,c2);(分数:1.00)A.输出无定值B.d,eC.e,fD.g,d15.以下函数定义的类型符是( )。fff(double x)printf(“%f“,x+x);(分数:1.00)A
6、.与 x 类型相同B.void 类型C.int 类型D.无法确定16.算法的有穷性是指( )。(分数:1.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用17.有以下程序:#include stdio.hmain()int a=1,b=2;for(;a12;a+) b+=a*2;a+=3;printf(“%d,%d/n“,b,(分数:1.00)A.;18.下面程序的输出结果是( )。#includestdio.h#includestring.hmain()char p1=“WHO“,p2=“who“,str50=“xy
7、z“;strcpy(str+1,strcat(p1,p2);printf(“%s“,str);(分数:1.00)A.xyzWHOwhoB.zWHOwhoC.zWHOwhoD.xWHOwho19.对下述程序的判断中,正确的是( )。#includestdio.hvoid main()char *P,s256;p=s;while(strcmp(s,“the end“)printf(“Input the string:“);gets(s);while(*P)putchar(*p+);(分数:1.00)A.此程序循环接收字符串并输出,直到接收到字符串“the end”为止B.此程序循环接收字符串,接收
8、到字符串“the end”则输出,否则程序终止C.此程序循环接收字符串并输出,直到接收字符串“the end”为止,但因为代码有错误,程序不能正常工作D.此程序循环接收字符串并将其连接在一起,直到接收字符串“the end”为止,输出连接在一起的字符串20.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是( )。#includestdio.hmain()char c;int v0=1,v1=0,v2=0;do switch(c=getchar()casea:caseA:casee:caseE:casei:caseI:caseo:caseO:cas
9、eu:caseU:v1+=1:default:v0+=1;v2+=1;while(c!=/n);printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);(分数:1.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=1221.下列能正确定义字符串的语句是( )。(分数:2.00)A.char str=/64;B.char str=“kx43“;C.char str=“;D.char str=“/0“;22.详细设计主要确定每个模块具体执行过程,也称过程设计,下列不属于过程设计工具的是(
10、)。(分数:2.00)A.DFD 图B.PAD 图C.N-S 图D.PDL23.下列关于栈的描述中,正确的是( )。(分数:2.00)A.在栈中只能插入元素B.在栈中只能删除元素C.只能在一端插入或删除元素D.只能在一端插入元素,而在另一端删除元素24.若有定义 int(*pt)3;,则下列说法不正确的是( )。(分数:2.00)A.int(*pt)3是一个数组指针B.指针 pt 指向一个有 3 个整型变量的数组C.定义了一个名为*pt、具有三个元素的整型数组D.定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素的二维数组25.有以下程序:main()int y=1,x=2,z=3
11、;printf(“%d,%d/n“,(+x,y+),z+2);执行后的输出结果是( )。(分数:2.00)A.3,5B.2,5C.3,3D.1,526.下面程序的输出结果是( )。#includestdio.hmain()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.927.设有如下关系表,由关系 R 和 S 通过运算得到关系 T,则所使用的运算为( )。(分数:2.00)A.B.C.D.28.若有以下定义和语句:int a=010,b=010,c=10;printf(“%d,%d,%d/a
12、“,a,b,c);则输出结果是( )。(分数:2.00)A.8,10,10B.10,10,10C.8,8,10D.8,16,1029.若有以下定义,则对 a 数组元素的正确引用是( )。int a5,*p=a;(分数:2.00)A.*m=m-n;printf(“%X/n“,m);(分数:2.00)A.0X0B.0X12C.0x0D.032.在数据库系统中,数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述是( )。(分数:2.00)A.外模式B.逻辑模式C.概念模式D.物理模式33.当把 4 个表达式用做 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是( )。
13、(分数:2.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=134.下列说法正确的是( )。(分数:2.00)A.main 函数必须放在 C 程序的最后面B.main 函数必须放在 C 程序的最前面C.main 函数可以放在 C 程序的中间部分,但在执行 C 程序时是从程序开头执行的D.main 函数可以放在 C 程序的中间部分,但在执行 C 程序时是从 main 函数开始的35.数字字符 0 的 ASCII 值为 48,运行下列程序的输出结果是( )。main()char a=1,b=2;printf(“%c,“,b+);printf(“%d/n“,b-(分数:2.00)A.
14、;A) 3,36.下列不能正确计算代数式 (分数:2.00)A.B.C.D.37.有以下程序:#includestring.hvoid 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);strcpy(i,t);main()char p510=“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“;f(p,5);printf(“%d/n“,strlen(p0);程序运行后的输出结果(
15、 )。(分数:2.00)A.2B.4C.6D.338.下面程序的输 m 结果是( )。typedef union double x3;int y4;char z10;M;M t;main()Printf(“%d/n“,sizeof(t);(分数:2.00)A.32B.26C.24D.439.以下程序的输出结果是( )。#includestdio.hmain()int a=1,b=3;if(+a0)elseprintf(“%d,%d/n“,b,(分数:2.00)A.;A) 2,2B) 1,3C) 3,2D)40.在一棵二叉树中,叶子结点共有 30 个,度为 1 的结点共有 40 个,则该二叉树中
16、的总结点数共有( )个。(分数:2.00)A.89B.93C.99D.100二、填空题(总题数:13,分数:26.00)41.对长度为 8 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_42.软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和 1 的集合。(分数:2.00)填空项 1:_43.软件测试分为白箱(盒)测试和黑箱(盒)测试。基本路径测试方法属于 1 测试。(分数:2.00)填空项 1:_44.一个项目具有一个项目经理,一个项目经理可管理多个项目,则实体“项目经理”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1
17、:_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,则执行 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);print
18、f(“%d%d/n“,c,d);(分数:2.00)填空项 1:_49.下面 fun 函数的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为 0 的元素中,其他依此类推。请填空。Fun(int x,int b)int k=0,r;dor=x%2;_=r;x/=2;while(x);(分数:2.00)填空项 1:_50.有以下定义和语句,则 sizeof(a.share)的值是_。struct dateunsigned int day;unsigned int mouth;unsigned int year;unionint share1;fl
19、oat share2;share;a;(分数:2.00)填空项 1:_51.下面程序的功能是:对字符串从小到大进行排序并输出,请填空。#include“string.h“#include“stdio.h“sort(char *a,int n)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
20、+)printf(“%s/n“,booki);(分数:2.00)填空项 1:_52.以下程序用以删除字符串中所有的空格,请填空。#includestdio.hmain()char s100=“Our teacher 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.hFILE *fp;main()char ch;if(fp=f
21、open(_)=NULL)exit(0);while(ch=getchar()!=)fputc(ch,fp);_;(分数:2.00)填空项 1:_二级 C 语言笔试-143 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下述程序的输出结果是( )。#includestdio.hvoid main()char a=3,b=1;char c=ab2;printf(“%d“,c);(分数:2.00)A.1B.7 C.3D.2解析:解析 本题考查的是位运算符的应用。a 和 b 写成二进制表示分别为 a=00000011,b=00000001,由于左移
22、位运算符“”的优先级高于按位异或运算符“”,左移两位后 b2=00000100,此结果和 x 按位异或后 ab2=00000111。2.下面程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;pfintf(“%d/n“,*(p+3);(分数:2.00)A.67B.0 C.字符C的地址D.字符C解析:解析 先定义了一个指向字符型数组 str 的指针 P,指针 P 指向数组 str 的首地址,p+3 将指针指向 str3,又因为字符型数组在存放字符串时会自动在末尾加上/0,所以*(p+3)=0。3.下述程序的输出结果是( )。#
23、includestdio.hvoid main()int a5=1,2,3,4,5;int *p=a,*q=p;printf(“%d,“,*(p+);printf(“%d“,*q);(分数:2.00)A.2,2B.1,1C.3,4D.1,2 解析:解析 题干中,*(p+)就是数组元素 a0,输出 a0,之后指针 p 的值加 1,*q 即是数组元素a1。4.下面结构体的定义语句中,错误的是( )。(分数:2.00)A.struct ordint x;int y;int z;struct ord a;B.struct ordint x;int y;int z;ord a; C.struct ord
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 143 答案 解析 DOC
