【计算机类职业资格】二级C语言-33及答案解析.doc
《【计算机类职业资格】二级C语言-33及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-33及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-33 及答案解析(总分:75.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:47.00)1.设有定义:int n1=0,n2,*p=,下列赋值语句中与 n2=n1; 语句等价的是U /U。 A. *p=*q; B. p=q; C. *p= D. p=*q;(分数:2.00)A.B.C.D.2.已知有结构体:struct sk int a;float b;data,*p;若有 p= C. p-data.a D. p.data.a(分数:2.00)A.B.C.D.3.以下程序的输出结果是( )。struct HAR int x, y; struct HAR *p
2、; h2; main() h0.x=1; h0.y=2; h1.x=3; h1.y=4; h0.p=h1; h1.p=h; printf(“%d%d/n“, (h0.p) -x, (h1.p) -y); A. 12 B. 23 C. 14 D. 32(分数:1.00)A.B.C.D.4.以下程序中函数 sort 的功能是对 a 所指数组中的数据进行由大到小的排序:void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;in;j+)if(aiaj) t=ai;ai=aj;aj=t;main()int aa10=1,2,3,4,5,6,7
3、,8,9,10,i;sort(for(i=0;i10;i+) printf(%d,“,aai);printf(“/n“);程序运行后的输出结果是( )。 A. 1,2,3,4,5,6,7,8,9,10, B. 10,9,8,7,6,5,4,3,2,1, C. 1,2,3,8,7,6,5,4,9,10, D. 1,2,10,9,8,7,6,5,4,3,(分数:1.00)A.B.C.D.5.有以下程序int f(int b 4) int i,j,s=0;for(j=0; j4; j+) i=j;if (i2) i=3-j;s+=bi j;return s;main ( ) int a4 4 =1,
4、2,3,4, 0,2,4,6, 3,6,9,12), 3,2,1,0;print f ( “%d/n“ , f(a);执行后的输出结果是 A. 12 B. 11 C. 18 D. 16(分数:1.00)A.B.C.D.6.算法的空间复杂度是指U /U。 A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 执行算法所需要的存储空间(分数:1.00)A.B.C.D.7.已知字母 A 的 ASCII 码值是 65,字母 a 的 ASCII 码值是 97,以下程序_。main() char a=A;int b=20;pxintf(“%d,%o“,(a=a+a,a+b,
5、b) ,a+a-A,b); A. 表达式非法,输出零或不确定值 B. 因输出项过多,无输出或输出不确定值 C. 输出结果为 20,141 D. 输出结果为 20,141,20A.B.C.D.8.视图设计一般有 3 种设计次序,下列不属于视图设计的是_。 A. 自顶向下 B. 由外向内 C. 由内向外 D. 自底向上(分数:1.00)A.B.C.D.9.下面概念中,不属于面向对象方法的是_。 A. 对象 B. 继承 C. 类 D. 过程调用(分数:1.00)A.B.C.D.10.有以下程序:char fun(char x ,char y)if(xy)return x;return y;main(
6、)int a=9,b;8,c=7;printf“%c/n“,fun(fun(a,B) ,fun(b,C) );程序的执行结果是U /U。 A. 函数调用出错 B. 8 C. 9 D. 7(分数:2.00)A.B.C.D.11.有以下程序(注:字符 a 的 ASCH 码值为 97):#includestdio.hmain()char*s=“abc“;do printf(“%d“,*s%10);+s;while(*s);程序运行后的输出结果是_。 A.789 B.abc C.7890 D.979899(分数:1.00)A.B.C.D.12.下列程序的输出结果是#include“stdio.h“#d
7、efine M(x,y) x%ymain() int a,m=12,n=100;a=M(n,m);printf(“%d/n“,a-); A. 2 B. 3 C. 4 D. 5(分数:1.00)A.B.C.D.13.有以下程序:#includevoid fun(int a,int b)(int t;f=a;a=b;b=t;)main()int c10=1,2,3,4,5,6,7,8,9,0,i;for(i=0;i10;i+=2)fun(ci,ci+1);for(i=0;i10;i+)printf(“%d,“,ci);printf(“/n“);程序的运行结果是U /U。 A. 1,2,3,4,5,
8、6,7,8,9,0, B. 2,1,4,3,6,5,8,7,0,9, C. 0,9,8,7,6,5,4,3,2,1, D. 0,1,2,3,4,5,6,7,8,9,(分数:2.00)A.B.C.D.14.若有下列说明语句int(* p)();则标识符 p 代表的是 U /U A. 一个用于指向函数的指针变量,函数返回值的类型为 int 型 B. 一个带回值类型为整型的函数名 C. 一个用于指向整型数据的指针变量 D. 一个带回值类型为指针类型的函数名(分数:1.00)A.B.C.D.15.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是 A. auto 和 register B.
9、 extern 和 register C. auto 和 static D. static 和 register(分数:2.00)A.B.C.D.16.下列叙述中正确的是 ( ) A.指令由操作数和操作码两部分组成 B.常用参数 xxMB 表示计算机的速度 C.计算机的一个字长总是等于两个字节 D.计算机语言是完成某一任务的指令集 (分数:1.00)A.B.C.D.17.若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系x-y10 的是 A. abs(x-y)10 B. x-y-10 C. p1=p2; D. k=*p1*(*p2);(分数:1.00)A.B.C.D.20.下列写法正
10、确的是U /U。 A. main() int i=3,j; j=5 B. main() int i=3; C. main() D. main() ;(分数:2.00)A.B.C.D.21.有以下程序#include stdio.hint fun(int (*s)4,int n,int k)int m,i;m=s0kl;for(i=1;in;i+) if(sikm) m=sik;return m;main() int a44=1,2,3,4,11,12,13,14, 21,22,23,24, 31,32,33,34;printf(“%d/n“,fun(a,4,0);程序的运行结果是_。 A. 4
11、 B. 34 C. 31 D. 32(分数:2.00)A.B.C.D.22.若要求从键盘读入含有空格字符的字符串,应该使用函数_。 A. getc () B. gets() C. getchar() D. scanf()(分数:1.00)A.B.C.D.23.有以下程序:#includestdio.hmain()int k,j,s;for(k=2;k6;k+,k+)s=1;for(j=k;j6;j+)s+=j;printf(“%d/n“,s);程序运行后的输出结果是_。 A.6 B.10 C.24 D.40(分数:1.00)A.B.C.D.24.设有定义语句 int(*f)(int);,则以下
12、叙述正确的是_。 A. f 是基类型为 int 的指针变量 B. f 是指向函数的指针变量,该函数具有一个 int 类型的形参 C. f 是指向 int 类型一维数组的指针变量 D. f 是函数名,该函数的返回值是基类型为 int 类型的地址(分数:2.00)A.B.C.D.25.C 语言中运算对象必须是整型运算符的是 A. %= B. / C. = D. =(分数:1.00)A.B.C.D.26.下列程序的输出结果是_。#includestdio.hmain() char *p1,*p2,str50=“xyz“;p1=“abcd“;p2=“ABCD“;strcpy(str+2,strcat(
13、p1+2,p2+1);ptintf(“%s“,str); A. xyabcAB B. abcABz C. ABabcz D. xycdBCD(分数:1.00)A.B.C.D.27.有以下说明和定义语句:struct studentint age; char num8 ;struct student stu 3 = 20, “200401“ , 21, “200402“ , 19, “200403“ ;stract student * p = stu;以下选项中引用结构体变量成员的表达错误的是U /U。 A. (p+) -num B. p- num C. ( *p).num D. stu3.ag
14、e(分数:1.00)A.B.C.D.28.有以下程序#includestdio.h#includestring.hvoid fun(char*s,int?n)char*t;im i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strlen(si)strlen(sj)t=si;si=sj;sj=t;main()char*ss=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabce“;fun(ss,5);printf(“%s,%s/n“,ss0,ss4);程序的运行结果是U /U。 A.xy,aaaacc B.aaaacc,xy C.bcc,aabcc D
15、.aabcc,bcc(分数:1.00)A.B.C.D.29.有以下程序void fun(int *a,int i,int j) in t;if(ij)t=ai;ai=aj;aj=t;fun(a,+i,-j);main() int a=1,2,3,4,5,6,i;fun(a,0,5);for(i=0;i6;i+)printf(“%d“,ai);执行后输出结果是 A. 6 5 4 3 2 1 B. 4 3 2 1 5 6 C. 4 5 6 1 2 3 D. 1 2 3 4 5 6(分数:1.00)A.B.C.D.30.设 x、y 和 z 是 int 型变量,且 x=4,y=6,z=8,则下列表达式
16、中值为 0 的是U /U。 A.xpuchar(/n);若运行时从键盘上输入 OPEN THE DOOR CR(CR表示回车),则上面程序的输出结果是 ( ) A.oPEN tHE dOOR B.ope the door C.OPEN THE DOOR D.Open The Door(分数:1.00)A.B.C.D.32.软件设计中模块划分应遵循的准则是( )。 A. 低内聚低耦合 B. 高内聚低耦合 C. 低内聚高耦合 D. 高内聚高耦合(分数:2.00)A.B.C.D.33.若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是U /U。 A. p1=p2=*p2=p1;
17、 D. p1=p2=p1;(分数:2.00)A.B.C.D.34.下列说法不正确的是U /U。 A. 调用函数时,实参可以是表达式 B. 调用函数时,实参与形参可以共用内存单元 C. 调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等 D. 调用函数时,实参与形参的类型必须一致(分数:2.00)A.B.C.D.35.下列说法不正确的是U /U。 A. C 语言程序是以函数为基本单位的,整个程序由函数组成 B. C 语言程序的一条语句可以写在不同的行上 C. C 语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写 D. C 语言程序的每个语句都以分号结束(分数:
18、2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:28.00)36.在深度为 7 的满二叉树中,度为 2 的结点个数为U U /U /U。(分数:2.00)填空项 1:_37.若按功能划分,软件测试的方法通常分为白盒测试方法和U U /U /U测试方法。(分数:1.00)填空项 1:_38.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_39.以下程序运行后的输出结果是U U /U /U。 int a=5; fun(int b) static int a=10; a+=b+; printf(“%d“,a); main() in
19、t c=20; fun(c); a+=c+; printf(“%d/n“,a); (分数:2.00)填空项 1:_40.以下程序运行后的输出结果是_。 main() char c1,c2; for c1=0,c2=9;c1c2;c1+,C2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:2.00)填空项 1:_41.下列程序可以将从键盘上输入的十进制数(10ng 型)以二到十六进制形式输出。 #includestdioh main() char b16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; int c64,d,i=0,base;
20、 long n; printf(“enter a number:/n“);scanf(“%1d“, for(i=1;i5;i+) for(j=2;j=i;j+)putchar(#); (分数:1.00)填空项 1:_45.下列程序的运行结果是_。 #includestdio.h long func(int x) long p; if(x=0x=1) return(1); p=x*func(x-1); return(p); main() printf(“%d/n“, func(4); (分数:2.00)填空项 1:_46.以下程序运行后的输出结果是_。 main() int x=1,y=0,a=
21、0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; printf(“%d %d/n“, a, b); (分数:2.00)填空项 1:_47.下列程序段的输出结果是U U /U /U。 main() char b=“Hello,you“; b5=0; printf(“%s/n“,B) ; (分数:1.00)填空项 1:_48.以下程序的输出结果是U U /U /U。 main() char *p“BOOL“,“OPK“,“H“,“SP“; int i; fo
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 33 答案 解析 DOC
