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