【计算机类职业资格】二级C语言笔试-209及答案解析.doc
《【计算机类职业资格】二级C语言笔试-209及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-209及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-209 及答案解析(总分:88.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.设有以下宏定义:#define N 3#define Y(n) (N+1)*n)则执行以下语句后,z 的值为_。z=2*(N+Y(3+2);(分数:2.00)A.出错B.34C.46D.542.下列程序的输出结果是_。int b=2;int func(int*(分数:2.00)A.b+=*a;return(B.;for(j=0;j4;j+) pj=aj;则能表示数组元素的表达式是_。(分数:2.00)A.*(p1)B.a43C.a1D.*(p+4)16.以下程序运行后
2、,输出结果是_。fun(int*s,int p23)*s=p11;main()int a23=1,3,5,7,9,11,*p;p=(int *)malloc(sizeof(int);fun(int i,s=0;for(i=0;chi=0i+=2)s=10*s+chi-0;printf(“%d/n“,s);(分数:1.00)A.1B.1256C.12ab56D.125612.执行以下程序后输出的结果是_。main()int y=10;doy-;while(-y);printf(“%d/n“,y-);(分数:1.00)A.-1B.1C.8D.013.下面程序的输出结果是_。void prty(in
3、t *x)printf(“%d/n“,+ *x);main()int a=25;prty(14.在关系型的数据库管理系统中,3 种基本关系运算是_。(分数:1.00)A.选择、投影和连接B.选择、删除和复制C.创建、修改和合并D.统计、连接和分类15.以下程序片段的输出结果是_。char str=“abc/n/012/“;printf(“%d“,strlen(str);(分数:1.00)A.4B.5C.6D.716.以下正确的数组定义语句是_。(分数:1.00)A.int y14=1,2,3,4,5;B.float x2=1,2),3;C.long s23=1,1,2,1,2,3;D.doub
4、le t3=0;17.以下程序的输出结果是_。main()char a10=1,2,3,4,5,6,7,8,9,*p;int i;i=8;p=a+i;printf(“%s/n“,p-2);(分数:1.00)A.6B.789C.6D.678918.以下程序的输出结果是_。main()char*s=“121“;int k=0,a=0,b=0;dok+;if(k%2=0)a=a+sk-/0;continue;b=b+sk-/0;a=a+sk-/0;while(sk+1);printf(“k=%d a=%d b=%d/n“,k,a,b);(分数:1.00)A.k=3 a=98 b=49B.k=3 a=
5、99 b=50C.k=2 a=99 b=50D.k=2 a=98 b=4919.在 C 语言中,合法的字符常量是_。(分数:1.00)A./081B./x43C.abD.“/0“20.要把数组元素中的最大值放入 a0中,则在 if 语句中的条件表达式应该是_。main()int a10=6,7,2,9,1,10,5,8,4,3,*p=a,i;for(i=0;i10;i+,p+)if(_) *a=*p;printf(“%d“t,*(分数:1.00)A.;A) paB) *pa0C)21.以下程序运行后,如果从键盘上输入 ABCDEF回车,则输出结果为_。#includestdio.h#inclu
6、destring.hfunc(char str)int num=0;while(*(str+num)!=/0) num+;return(num);pmain()char str10,*p=str;gets(p);printf(“%d/n“,func(P);(分数:1.00)A.8B.7C.6D.522.已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=142;则以下不符合 c 语言语法的表达式是_。(分数:1.00)A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)23.将二进制数 10100
7、101 转换为十六进制数应该是_。(分数:1.00)A.245B.A5C.B5D.16524.一个采用顺序存储方式的线性表中,若线性表的第一个元素的存储地址是 200,每一个元素的长度是2,则第 6 个元素的地址是_。(分数:1.00)A.208B.210C.211D.21225.与十六进制数 CD 相等的十进制数是_。(分数:1.00)A.205B.206C.207D.20826.函数 fun 的返回值是_。fun(char *a,char*b)int num=0,n=0;while( *(a+num)!=/0)num+;while(bn)*(a+num)=bn;num+;n+;return
8、 num;(分数:1.00)A.字符串 a 的长度B.字符串 b 的长度C.字符串 a 和 b 的长度之差D.字符串 a 和 b 的长度之和27.语句“printf(“%d/n“, 12”的输出结果是_。(分数:1.00)A.12B.8C.6D.01228.假定有以下变量定义,则能使值为 3 的表达式是_。int k=7,x=12;(分数:1.00)A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)29.要正确定义并初始化一个数组 a,它含有 5 个元素,则正确的语句是_。(分数:1.00)A.int a5=(0,0,0,0,0);B.int a5
9、=;C.int a=0,0,0,0,0;D.int a=5*0;30.以下运算符中优先级最高的运算符是_。(分数:1.00)A.+B.?:C.!=D.则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+832.Turbo C 将对以下程序_。main()int x,y;y=creat(creat(int(分数:1.00)A.return a+;A) 编译时会给出出错信33.以下程序的输出结果是_。main()char ch25=“6937“,“8254“,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;
10、i+)for(j=0;pij/0;j+=2)s=10*s+pij-/0;printf(“%d/n“,s);(分数:1.00)A.69825B.59713C.6385D.69382534.以下程序的输出结果是_。main()int x=10,y=10,i;for(i=0;x8;y=+i)printf(“%d %d “,x-,y);(分数:1.00)A.10192B.9876C.10990D.10109135.下面程序的运行结果是_。main()unsigned a=3,b=10;printf(“%d/n“,a2|b1);(分数:1.00)A.3B.10C.13D.1436.下面语句中不能定义一个
11、数组,元素值依次分别为 1,1,1,0,0 的是_。(分数:1.00)A.static int a5=1,1,1,0,0;B.static int a5=1,1,1;C.static int a=1,1,1,0,0;D.static int a5=1*2,0*3;37.若二维数组 a 有 m 列,且设 a00位于数组的第一个位置上,则计算任意元素 aij在数组中位置的公式为_。(分数:1.00)A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+138.表达式 18/4*sqrt(4.0)/8 值的数据类型为_。(分数:1.00)A.intB.floatC.doubleD.不确定39
12、.以下程序的输出结果是_。main()unsigned short a=65536;int b;printf(“%d/n“,b=(分数:1.00)A.;struct date*next;double b;too;printf(“%d“,sizeof(too);(分数:1.00)A.20B.16C.14D.1243.在以下选项中,操作不合法的一组是_。(分数:1.00)A.int x6,*p;p=B.int x6,*p;*p=x;C.int x6,*p;p=x;D.int x5,p;p=x0;44.数据字典是对数据定义信息的集合,它所定义的对象都包含于_。(分数:1.00)A.程序框图B.软件结
13、构C.数据流图D.方框图45.软件系统生命周期的第一个阶段是_。(分数:1.00)A.软件分析阶段B.软件设计阶段C.软件运行阶段D.软件维护阶段46.下面程序运行的结果是_。main()int x,y,z;x=0;y=z=-1;x+=-z-y;printf(“x=%d/n“,x);(分数:1.00)A.x=4B.x=0C.x=2D.x=347.以下程序的运行结果是_。#includestdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12;int*p=a+5,*q=NULL;*q=*(p+5);printf(“%d%d/n“,*p,*q);(分数:1.00)
14、A.运行后报错B.6 6C.6 12D.5 548.设有以下程序段;int a5=0,*p,*q;p=a;q=a;则合法的运算是_。(分数:1.00)A.p+qB.p-qC.p*qD.p%q49.下面程序的输出结果是_。main()enum team my,your=4,his,her=his+10;printf(“%d %d %d %d/n“,my,your,his,her);(分数:1.00)A.0 1 2 3B.0 4 0 10C.0 4 5 15D.1 4 5 1550.若定义了以下函数:void f(.)*p=(double*)malloc(10*sizeof(double);p 是
15、该函数的形参,要求通过 p 把动态分配存储单元的地址传回主调函数,则形参 p 的正确定义应当是_。(分数:1.00)A.double *pB.float *pC.double *pD.float *p二、填空题(总题数:14,分数:28.00)51.二叉树按某顺序线索化后,其结点均有指向其前趋和后继的线索,该说法是 【1】 的。(分数:2.00)填空项 1:_52.对存储器按字节进行编址,若某存储器芯片共有 8 根地址线,则该存储器芯片的存储容量为 【2】 字节。(分数:2.00)填空项 1:_53.软件是由两部分组成的,一部分是 【3】 ,另一部分是文档资料。(分数:2.00)填空项 1:_
16、54.软件工程学把软件从开始研制到最终软件被废弃的整个阶段叫做软件的 【4】 。(分数:2.00)填空项 1:_55.软件测试的方法有动态测试、静态测试和 【5】 13 种。(分数:2.00)填空项 1:_56.程序的运行结果为 【6】 。main()char c1=a,c2=b,c3=c;printf(“a%cb%c/tc%c/n“,c1,c2,c3);(分数:2.00)填空项 1:_57.执行下面程序段后,k 值是 【7】 。k=1;n=263;dok*=n%10;n/=10;while(n);(分数:2.00)填空项 1:_58.函数 mystrlen(char *s)的功能是求字符串
17、s 的长度,请填空。mystrlen(char *s)char *t:t=s;while( 【8】 )t+;return(t-s);(分数:2.00)填空项 1:_59.在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是 【9】 函数。(分数:2.00)填空项 1:_60.设有以下定义的语句:int a32=10,20,30,40,50,60,(*p)2;p=a;则*(*(P+2)+1)值为 【10】 。(分数:2.00)_61.下列程序的输出结果是 【11】 。void fun(int *n)while(*n)printf(“%d“,(*n)-);main()int
18、a=10;fun((分数:2.00)填空项 1:_62.下面程序是把从终端读入的 20 个字符作为字符串放在字符数组中,然后利用指针变量输出上述字符串,请填空。#includestdio.hmain()int i;char s21,*p;for(i=0;i20;i+)si=getchar();si= 【12】 ;p= 【13】 ;while(*p) putchar( 【14】 );(分数:2.00)填空项 1:_63.阅读程序,填空补充程序。#define 【15】 30main()【16】 ;num=10;total=num*PRICE;printf(“total=%d,num=%d/n“,
19、 【17】 );(分数:2.00)填空项 1:_64.funl 函数的调用语句为 funl(。它将 3 个整数按由大到小的 JI 匣序调整后依次放入a,b,c 三个变量中,a 中放最大数,请填空。void fun2(int *x,int *y)int t;t=*x;*x;*y;*y=t;void funl(int *pa,int *pb,int *pc)if(*pc*pb) fun2( 【18】 );if(*pa*pc) fun2( 【19】 );if(*pa*pb) fun2( 【20】 );(分数:2.00)填空项 1:_二级 C 语言笔试-209 答案解析(总分:88.00,做题时间:9
20、0 分钟)一、选择题(总题数:50,分数:60.00)1.设有以下宏定义:#define N 3#define Y(n) (N+1)*n)则执行以下语句后,z 的值为_。z=2*(N+Y(3+2);(分数:2.00)A.出错B.34 C.46D.54解析:解析 注意 C 语言中宏定义是先替换再参与运算,因此:z=2*(N+(N+1)*3+2)=2*(3+(3+1)*3+2)=34。2.下列程序的输出结果是_。int b=2;int func(int*(分数:2.00)A.b+=*a;return(B.;for(j=0;j4;j+) pj=aj;则能表示数组元素的表达式是_。(分数:2.00)A
21、.*(p1) B.a43C.a1D.*(p+4)1解析:解析 B 项错在越界,下标最大的元素只到 a32;C 项错在 a1只表示第 2 行;*(p+4)1的错误也在于越界,p+4 相当于 a4,实际上是不存在的。6.以下程序运行后,输出结果是_。fun(int*s,int p23)*s=p11;main()int a23=1,3,5,7,9,11,*p;p=(int *)malloc(sizeof(int);fun(int i,s=0;for(i=0;chi=0i+=2)s=10*s+chi-0;printf(“%d/n“,s);(分数:1.00)A.1 B.1256C.12ab56D.125
22、6解析:解析 for 语句中的条件表达式决定了循环体只执行一次。因此 s=0*10+1,于是输出结果为 1。12.执行以下程序后输出的结果是_。main()int y=10;doy-;while(-y);printf(“%d/n“,y-);(分数:1.00)A.-1B.1C.8D.0 解析:解析 执行第 1 次循环体,y-使得 y=9,然后 y 减 l 后判断条件为真,此时 y=8。继续执行 4 次循环,直到 y=0 时条件为假退出循环,然后输出 y=0 后再减 1。因此输出的结果为 0。13.下面程序的输出结果是_。void prty(int *x)printf(“%d/n“,+ *x);m
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 209 答案 解析 DOC
