【计算机类职业资格】二级C语言笔试-147及答案解析.doc
《【计算机类职业资格】二级C语言笔试-147及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-147及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-147 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下函数:int fun(char * s)char * t=s;while(*t+);return(t-s)该函数的功能是_。(分数:2.00)A.比较两个字符串的大小B.计算 s所指字符串占用内存字节个数C.计算 s所指字符串的长度D.将 s所指字符串复制到字符串 t中2.以下数组定义中错误的是_。(分数:2.00)A.intx30;B.int x231,2,3,4,5,6);C.intx31,2,3,4,5,6;D.mtx231,2,3,4,5,6;3.设有定
2、义:char p1,2,3,*qp;,以下不能计算出一个 char型数据所占字节数的表达式是_。(分数:2.00)A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p0)4.有以下程序:void f(int n,int * r)int r1=0;if(n%3=0)r1=n/3;else if(n%5=0)r1=n/5;else f(-n,&r1);*r=r1;main()intm=7,r;f(m,&r);printf(“%d/n“,r);程序运行后的输出结果是_。(分数:2.00)A.2B.1C.3D.05.若变量已正确定义,则以下语句的输出结果是_。
3、s=32;s=32;printf(“%d“,s);(分数:2.00)A.-1B.0C.1D.326.设变量已正确定义,则以下能正确计算 fn!的程序段是_。(分数:2.00)A.f=0; for(i=1;i=n;i+)f*=i;B.f=1;for(i=1;in;i+)f*=i;C.f=1; for(i=n;i1;i+)f*=i;D.f=1;for(i=n;i=2;i-)f*=i;7.有以下程序:main()intp8=11,12,13,14,15,16,17,18,i=0,i=0;while(i+7)if(pi%2)j+=pi;printf(”%dn“,j);程序运行后的输出结果是_。(分数:
4、2.00)_8.下列关于栈的叙述正确的是_。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据9.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是_。(分数:2.00)A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不会占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元10.下列叙述中正确的是_。(分数:2.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一
5、对应的D.算法的时间复杂度与空间复杂度一定相关11.有以下程序:voidf(int*x,int * y)int t;t= *x;*x= *y;*y=t;main()inta8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(p)f(p,q);p+;q-;for(i=0;i8;i+)printf(“%d,“,ai);程序运行后的输出结果是_;(分数:1.00)_12.以下对结构体类型变量 td的定义中,错误的是_。(分数:1.00)A.typedef struct aaint n;float m;AA;AA td;B.struct aaint n;float m;
6、td;struct aa td;C.structint n;float m;aa;D.structint n;float m;td;struct aa td;13.下列描述中正确的是_。(分数:1.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题14.在数据库设计中,将 E-R图转换成关系数据模型的过程属于_。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段15.从工程管理角度,软件设计一般分为两步完成,它们是_。(分数:1
7、.00)A.概要设计与详细设计B.数据设计与接口设计C.软件结构设计与数据设计D.过程设计与数据设计16.设有定义 int a;float b;执行 scanf(“%2d%f“,&a,&b);语句时,若从键盘输入 876543.0回车,a 和 b的值分别是_。(分数:1.00)A.876和 543.000000B.87和 6.000000C.87和 543.000000D.76和 543.00000017.设变量 x和 y均已正确定义并赋值,以下 if语句中,在编译时将产生错误信息的是_。(分数:1.00)A.if(x+);B.if(xy&y!=0);C.if(xy)x-else y+:D.i
8、f(y0);else x+;18.下列叙述中正确的是_。(分数:1.00)A.软件测试的主要目的是发现程序中的错误B.软件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误19.已知字母 A的 ASC代码值为 65,若变量 kk为 char型,以下不能正确判断出 kk中的值为大写字母的表达式是_。(分数:1.00)A.kk=A&kk=ZB.!(kk=Akk=Z)C.(kk+32)=a&(kk+32)=zD.isalpha(kk)&(kk91)20.有以下程序,其中函数 f的功能是将多个字符串按字典顺序排序:#i
9、ncludestringhvoidf(char*p,intn)char*t;int i,j;for(i=0;in-1;i+)for (j=i+1;jn;j+)if(strcmp(pi,pj)0)t=pi;pi=pj;pj=t;main()char*p5=“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“;f(p,5);printf(“%d/n“,strlen(p1);程序运行后的输出结果是_。(分数:1.00)_21.若变量均已正确定义并赋值,以下合法的 C语言赋值语句是_。(分数:2.00)A.x=y=5;B.x=n%2.5;C.x+n=iD.x=5=4+1;22.有以下程
10、序: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);printf(“%d/n“,s);程序运行后的输出结果是_。(分数:2.00)A.24B.28C.32D.3623.以下叙述中错误的是_。(分数:2.00)A.C语言是一种结构化程序设计语言B.结构化程序由顺序、分支、循环三种基本结构组成C.使用三种基本结构构成的程序只能解决简单问题D.结构化程序设计提倡模块化的设计方法24.有以
11、下程序:fun(int x,int y)return(x+y);main()int a=1,b=2,c=3,Sum;sum=fun(a+,b+,a+b),c+);printf(“%d“,sum);执行后的输出结果是_。(分数:2.00)A.6B.7C.8D.925.有以下程序:#includestdio.hmain()char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c“,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(“%c%c/n“,c5,c6);程序运行后,若从键盘
12、输入(从第 1列开始)123回车45678回车则输出结果是_。(分数:2.00)A.1267B.1256C.1278D.124526.有以下程序:#includestdio.hiht fun(iht n,int*p)int f1,f2;if(n=1|,n=2)*p=1;elsefun(n-1,&f1);fun(n-2,&f2);*p=f1+f2;main()int s;fun(3,&s); printf(“%d/n“,s);程序的运行结果是_。(分数:2.00)A.2B.3C.4D.527.有以下程序,其中%u 表示按无符号整数输出:main()unsigned int x=0xFFFF;/*
13、 x 的初值为十六进制数*/printf(“%u/n“,x);程序运行后的输出结果是_。(分数:2.00)A.-1B.65535C.32767D.0XFFFF28.以下程序段中的变量已正确定义:for(i=0;i4;i+,i+)for(k=1;k3;k+);printf(“*“);程序段的输出结果是_。(分数:2.00)A.*B.*C.*D.*29.有以下程序:#includestdio.hmain()FILE *fp;int i,a6=1,2,3,4,5,6;fp=fopen(“d2.dat“,“w“);fprintf(fp,“%d%d%d/n“,a0,a1,a2);fprintf(fp,“
14、%d%d%d/n“,a3,a4,a5);fclose(fp);fp=fopen(“d2.dat“,“r“);fscanf(fp,“%d%d/n“,&k,&n);printf(“%d%d/n“,k,n);fclose(fp);程序运行后的输出结果是_。(分数:2.00)A.1 2B.1 4C.123 4D.123 45630.有三个关系 R、S 和 T如下: (分数:2.00)A.B.C.D.31.下列选项中不符合良好程序设计风格的是_。(分数:2.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto语句D.模块设计要保证高耦合、高内聚32.以下关于 typedef的叙述错误
15、的是_。(分数:2.00)A.用 typedef可以增加新类型B.typedef只是将已存在的类型用一个新的名字来代表C.用 typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D.用 typedef为类型说明一个新名,通常可以增加程序的可读性33.对下列二叉树:(分数:2.00)A.B.C.D.34.下列叙述中错误的是_。(分数:2.00)A.一个 C语言程序只能实现一种算法B.C程序可以由多个程序文件组成C.C程序可以由一个或多个函数组成D.一个 C函数可以单独作为一个 C程序文件存在35.以下不能定义为用户标识符是_。(分数:2.00)A.MainB._0C._intD
16、.sizeof36.有以下函数:fun(char * a,char * b)while(*a!=/0)&(*b!=/0)&(*a=*b)a+;b+;return(* a-*b);该函数的功能是_。(分数:2.00)A.计算 a和 b所指字符串的长度之差B.将 b所指字符串连接到 a所指字符串中C.将 b所指字符串连接到 a所指字符串后面D.比较 a和 b所指字符串的大小37.下列叙述中正确的是_。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据
17、结构可以有多种存储结构,且各种存储结构影响数据处理的效率38.若程序有宏定义:#define N 100 则以下叙述中正确的是_。(分数:2.00)A.宏定义中定义了标识符 N的值为整数 100B.在编译程序对 C源程序进行预处理时用 100替换标识符 NC.对 C源程序进行编译时用 100替换标识符 ND.在运行时用 100替换标识符 N39.若有定义:intw35,则以下不能正确表示该数组元素的表达式是_。(分数:2.00)A.*(*w+3)B.*(w+1)4C.*(*(w+1)D.*(&w00+1)40.下列叙述中正确的是_。(分数:2.00)A.break语句只能用于 switch语句
18、B.在 switch语句中必须使用 defaultC.break语句必须与 switch语句中的 case配对使用D.在 switch语句中不一定使用 break语句二、填空题(总题数:14,分数:30.00)41.对长度为 10的线性表进行冒泡排序,对坏情况下需要比较的次数为 1(分数:2.00)填空项 1:_42.一棵二叉树第六层(根节点为第一层)的节点数最多为 1。(分数:2.00)填空项 1:_43.下列软件系统结构图的宽度为_。(分数:2.00)填空项 1:_44.模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 1 的作用是将测试数据传送给被测试
19、的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_45.在数据库系统中,实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_46.定义 char ch“$“;int i=1,j;执行 j! ch&i+以后,i 的值为 1。(分数:2.00)填空项 1:_47.下列程序运行时输入 1234567CR,则输出结果是_。#includestdio.hmain()int a=1,b;scanf(“%2d%2d“,&a,&b);printf(“%d %d/n“, a,b);(分数:2.00)填空项 1:_48.若有定义:int k;,以下程序段的输出结果是_。fo
20、r(k=2;k6;k+,k+)printf(“#%d“,k);(分数:2.00)填空项 1:_49.以下程序运行后的输出结果是_。main()char c1,c2;for(c1=0,c2=9;c1c2;c1+,c2-)printf(“%c%c“,c1,c2);printf(“/n“);(分数:2.00)填空项 1:_50.以下程序的功能是输入任意整数给 n后,输出 n行由大写字母 A开始构成的三角形字符阵列图形。例如,输入整数 5时(注意:n 不得大于 10),程序运行结果如下:A B C D EF G H IJ K LM NO请填空完成该程序。main()int i,j,n;char ch=
21、A;scanf(“%d“,&n);if(n11)for(i=1;i=n;i+)for(j=1;jn-i+1;j+)printf(“%2c“,ch);10 ;11 ;else printf(“n is too large!/n“)printf(“/n“);(分数:4.00)填空项 1:_51.以下程序的输出结果是_。#includestdio.hmain()inta5=2,4,6,8,10,*p;p=a; p+;printf(“%d“,* p);(分数:2.00)填空项 1:_52.下面程序的运行结果是_。#includestdio.hint f(inta,int n)if(n1)return
22、a0+f(a+1,n-1);elsereturn a0;main()int aa10=1,2,3,4,5,6,7,8,9,10,s;s=f(aa+2,4); printf(“%d/n“,s);(分数:2.00)填空项 1:_53.有以下程序:int sub(int n) return(n/10+n%10); main()int x,y;scanf(“%d“,&x);y=sub(sub(sub(x);printf(“%d/n“,y);若运行时输入:1234回车,程序的输出结果是_。(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。struct NODEint hum;struc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 147 答案 解析 DOC
