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