【计算机类职业资格】二级C语言笔试-187及答案解析.doc
《【计算机类职业资格】二级C语言笔试-187及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-187及答案解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-187 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.有以下程序main()int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+7)if(pi%2)j+=pi;printf(“%d/n“,j);程序运行后的输出结果是(分数:1.00)A.42B.45C.56D.602.有以下程序main()int i=1,j=2,k=3;if(i+=1int b;char c2;NEW;则下面叙述中正确的是(分数:1.00)A.以上的说明形式非法B.ST是一个结构体类型C.NEW是一个结构体类型
2、D.NEW是一个结构体变量4.有以下程序main()int a,b,d=25;a=d/10%9;b=aprintf(“%d,%d/n“,a,b);程序运行后的输出结果是(分数:1.00)A.6,1B.2,1C.6,0D.2,05.有以下结构体说明和变量定义,如图所示:struet nodeint data; struct node*next;*p,*q,*r;(分数:1.00)A.B.C.D.6.以下叙述中错误的是(分数:1.00)A.对于 double类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出
3、所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数7.以下选项中不能作为合法常量的是(分数:1.00)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e08.以下与函数 fseek(fp,OL,SEEK_SET)有相同作用的是(分数:1.00)A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)9.有以下程序main()int a33,*p,i;p=i9;i+)pi=i;for(i=0;i3;i+)printf(“%d“,a1i);程序运行后的输出结果是(分数:1.00)A.012B.1
4、23C.234D.34510.以下对结构体类型变量 td的定义中,错误的是(分数:1.00)A.typedef struct aaint n; float m; AA; AA td;B.struct aaint n;float m;td;struct aa td;C.structint n;float m;aa; struct aa td;D.structint n;float m;td;11.数据的存储结构是指(分数:1.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示12.数据独立性是数据库技术的重要特点之一,所谓数据独
5、立性是指(分数:1.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对13.有以下程序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(“%d,“,ai);程序运行后的输出结果是(分数:1.00)A.1,2,3,4,5,B.2,3,4,5,6,C.3,4,5,6,7,D.2,3,4,5,1,14.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为(分数:1.00)A.l
6、og2nB.n/2C.nD.n+l15.有以下程序main()char a7=“a0/0a0/0“;int i,j;i=sizeof((分数:1.00)A.;j=strlen(a);B.char s10;s=“right!“;C.char s10;*s=“right!“;D.char*sp=:right!“;17.以下不能定义为用户标识符的是(分数:1.00)A.MainB._0C._intD.sizeof18.有以下程序main()int a=1,b;for(b=1;b10;b+)if(a8)break;if(a%2=1)a+=5;continue;a-=3;printf(“%d/n“,b)
7、;程序运行后的输出结果是(分数:1.00)A.3B.4C.5D.619.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是(分数:1.00)A.1B.2C.3D.420.有以下程序main()int m,n,p;scanf(“m=%dn=%dp=%d“,int f2(int x,int y)return xy?y:x;main()int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b) ,f2(c,d);g=a+b+c+d-e-f;printf(“%d,%d,%d/n“,e,f,g
8、);程序运行后的输出结果是(分数:1.00)A.4,3,7B.3,4,7C.5,2,7D.2,5,725.用树形结构表示实体之间联系的模型是(分数:1.00)A.关系模型B.网状模型C.层次模型D.以上三个都是26.以下能正确定义一维数组的选项是(分数:1.00)A.int a5=0,1,2,3,4,5;B.char a=0,1,2,3,4,5;C.char a=A,B,C;D.int a5=“0123“;27.以下选项中可作为 C语言合法常量的是(分数:1.00)A.-80.0B.-080C.-8e1.0D.-80.0e28.算法具有五个特性,以下选项中不属于算法特性的是(分数:1.00)A
9、.有穷性B.简洁性C.可行性D.确定性29.已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是(分数:1.00)A.数组 a和 b的长度相同B.a数组长度小于 b数组长度C.a数组长度大于 b数组长度D.上述说法都不对30.以下叙述中正确的是(分数:1.00)A.用 C程序实现的算法必须要有输入和输出操作B.用 C程序实现的算法可以没有输出但必须要输入C.用 C程序实现的算法可以没有输入但必须要有输出D.用 C程序实现的算法可以既没有输入也没有输出31.有以下程序void f(int*x,int *y)int t;t= *x;*x=*y;*y=t;main()int a8
10、=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=p+;q-;for(i=0;i8;i+)printf(“%d,“,ai);程序运行后的输出结果是(分数:1.00)A.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,132.程序中若有如下说明和定义语句char fun(char*);main()char*s=“one“,a5=0,(*f1)()=fun,ch;以下选项中对函数 fun的正确调用语句是(分数:1.00)A.(*B.*f1(*s);C.fD.ch=*f1(s);33.有以下程序mai
11、n()char s=“159“,*p;p=s;printf(“%c“,*p+);printf(“%c“,*p+);程序运行后的输出结果是(分数:1.00)A.15B.16C.12D.5934.有以下程序main()int c=35;printf(“%d/n“,cmain()char b4=a,b,c,d,*p=b;point(p);printf(“%c/n“,*p);程序运行后的输出结果是(分数:1.00)A.aB.bC.cD.d37.有定义语句:iht b;char c10;,则正确的输入语句是(分数:1.00)A.scanf(“%d%s“,char b;double c;data;以下叙述
12、中错误的是(分数:1.00)A.data的每个成员起始地址都相同B.变量 data所占的内存字节数与成员 c所占字节数相等C.程序段:dataa=5;printf(“%f/n“,datac);输出结果为 5.000000D.data可以作为函数的实参39.为了使模块尽可能独立,要求(分数:1.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强40.以下叙述中正确的是(分数:1.00)A.预处理命令行必须位于源文件的开
13、头B.在源文件的一行上可以有多条预处理命令C.宏名必须用大写字母表示D.宏替换不占用程序的运行时间41.有以下程序main()int a=1,2,3,4,5,6,7,8,9,0,*P;for(p=a;pa+10;p+)printf(“%d,“,*p);程序运行后的输出结果是(分数:2.00)A.1,2,3,4,5,6,7,8,9,0,B.2,3,4,5,6,7,8,9,10,1,C.0,1,2,3,4,5,6,7,8,9,D.1,1,1,1,1,1,1,1,1,1,42.有以下程序#define N20fun(int a,int n,int m)int i,j;for(i=m;i=n;i-)a
14、i+1=ai; main()int i,aN=1,2,3,4,5,6,7,8,9,10;fun(a,2,9);for(i=0;i5;i+)printf(“%d“,ai);程序运行后的输出结果是(分数:2.00)_43.有以下程序#define P3void F(int x)return(P*x*x);main()printf(“%d/n“,F(3+5);程序运行后的输出结果是(分数:2.00)A.192B.29C.25D.编译出错44.有以下函数fun(char*a,char*b) while(*a!=/0)b+; return(*a-*b);该函数的功能是(分数:2.00)A.计算 a和 b
15、所指字符串的长度之差B.将 b所指字符串连接到 a所指字符串中C.将 b所指字符串连接到 a所指字符串后面D.比较 a和 b所指字符串的大小45.下列关于栈的描述中错误的是(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针46.有以下程序 main()int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i=0;i4;i+)for(j=0;j=i;j+) printf(“%4c“,“);for(j=_;j4;j+) printf(“%4d“,numij);prr
16、intf(“/n“);若要按以下形式输出数组右上半三角1 2 3 46 7 811 1216则在程序下划线处应填入的是(分数:2.00)A.i-1B.iC.i+1D.4-i47.有以下程序#includestdiohvoid WriteStr(char*fn,char*str)FILE*fp;fp=fopen(fn,“w“);fputs(str,fp);fclose(fp);main()writeStr(“t1dat“,“start“);WriteStr(“t1dat“,“end“);程序运行后,文件 t1dat 中的内容是(分数:2.00)A.startB.endC.startendD.en
17、drt48.有以下程序main()int a32=0,(*ptr)2,i,j;for(i=0;i2;i+) ptr=a+i; scanf(“%d“,ptr); ptr+;for(i=0;i3;i+)for(j=0;j2;j+)printf(“%2d“,aij);printf(“/n“);若运行时输入:1 2 3回车,则输出结果是(分数:2.00)A.产生错误信息B.1 02 00 0C.1 23 0 0 0D.1 02 03 049.下列对于软件测试的描述中正确的是(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序
18、中的错误D.软件测试的目的是使程序符合结构化原则50.下列描述中正确的是(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合二、填空题(总题数:18,分数:40.00)51.某二叉树中度为 2的结点有 18个,则该二叉树中有 【1】 个叶子结点。(分数:2.00)填空项 1:_52.在面向对象方法中,类的实例称为 【2】 。(分数:2.00)填空项 1:_53.诊断和改正程序中错误的工作通常称为 【3】 。(分数:2.00)填空项 1:_54.在关系数据库中,把数据表示成二维表,每一个二维表称为 【4】 。(分
19、数:2.00)填空项 1:_55.问题处理方案的正确而完整的描述称为 【5】 。(分数:2.00)填空项 1:_56.以下程序运行时,若从键盘输入:10 20 30回车,输出的结果是 【6】 。#includestdiohmain() int i=0,j=0,k=0;scanf(“%d%*d%d“,c1c2;c1+,c2-) printf(“%c%c“,c1,c2);printf(“/n“);(分数:2.00)填空项 1:_61.已知字符 A的 ASCII代码值为 65,以下程序运行时若从键盘输入:B33回车,则输出结果是【11】 。#include stdiohmain()char a,b;
20、a=getchar();scanf(“%d“,b=b*2;printf(“%c%c/n“,a,b);(分数:2.00)填空项 1:_62.以下程序中,fun 函数的功能是求 3行 4列二维数组每行元素中的最大值。请填空。void fun(int,int,int(*)4,int*);main()int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(“%4d“,bi);printf(“/n“);void fun(int m,int n,int ar4,int *br)int i,j,x;fo
21、r(i=0;im;i+)x=ari0;for(j=0;jn;j+)if(xarij)x=arij;【12】 =x;(分数:2.00)填空项 1:_63.以下程序运行后的输出结果是 【13】 。void swap(int x,int y)int t;t=x;x=Y;Y=t;printf(“%d%d“,x,y);main()int a=3,b=4;swap(a,b);printf(“%d%d“,a,b);(分数:2.00)填空项 1:_64.以下程序运行后的输出结果是 【14】 。#includestringhvoid fun(char*s,int p,int k)int i;for(i=p;ik
22、-1;i+)si=si+2;main()char s=“abcdefg“;fun(s,3,strlen(s);puts(s);(分数:2.00)填空项 1:_65.以下程序运行后的输出结果是 【15】 。#includestringhmain()char ch=“abc“,x34;int i;for(i=0;i3;i+)strcpy(xi,ch);for(i=0;i3;i+)printf(“%s“,c+;return(a+b+c) ;main()int i,a=5;for(i=0;i3;i+)printf(“%d%d“,i,fun(a) );prind(“/n“);(分数:2.00)填空项 1
23、:_67.以下程序运行后的输出结果是 【17】 。struct NODEint k;struct NODE*link;;main()struct NODE m5,*p=m,*q=m+4;int i=0;while(p!=q)p-k=+i;p+;q-k=i+;q-;q-k=i;for(i=0;i5;i+)printf(“%d“,mi.k);printf(“/n“);(分数:2.00)填空项 1:_68.以下程序中函数 huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:ad
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 187 答案 解析 DOC
