【计算机类职业资格】二级C语言-22及答案解析.doc
《【计算机类职业资格】二级C语言-22及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-22及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-22 及答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:49.00)1.有以下语句,则对 a 数组元素的引用不正确的是(0i9) int a10=0,1,2,3,4,5,6,7,8,9,*p=a; A)ap-a B)*(ai) C)pi D)*(*(a+i)(分数:2.00)A.B.C.D.2.下列程序的输出结果是 #include “stdio.h“ #define M(x,y) x%y main( ) int a,m=12,n=100; a=M(n,m); printf(“%d/n“,a-); A)2 B)3 C)4 D)5(分数:2
2、.00)A.B.C.D.3.以下对一维实型数组 a 的正确定义的是_。 A. float a(10); B. int n=10;float an; C. int n;float a n; scanf(“%d“,printf(“%c,“,+a);printf(%c/n“,b=a+);程序运行后的输出结果是( )。 A. b,b B. b,c C. a,b D. a,c(分数:1.00)A.B.C.D.8.现有以下语句:i=1;for (;i=100;i+)sum+=i; A. for(i-1;i+) sum+-i; if(i=100) break; B. for(i=1;i=100;) sum+
3、=i; i+; C. i=1; for(;i=100;) sum+=-i; D. i=1; for(;) sum+=i; if(i=100) break; i+; (分数:2.00)A.B.C.D.9.有以下程序main(int arge,char *argv )int n,i=0;while(argv1 i !=/0) n-fun(); i+;printf ( “%d/n“ , n*argc.;int fun ( ) static int s=0;s+=1;return s;假设程序经编译、连接后生成可执行文件 exam.exe, 若键入以下命令exam 123 回车 A. 6 B. 8 C
4、. 3 D. 4(分数:1.00)A.B.C.D.10.有以下程序#include main( ) int c;while(c=getchar()!=/n) switch(c-2) case0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);case 4:putchar(c+3);break;printf(“/n“)从第一列开始输入以下数据代表一个回车符。2743程序的输出结果是A)66877 B)668966 C)6677877 D)6688766(分数:2.00)A.B.C.D.11.若运行时给变量 x 输
5、入 12,则以下程序的运行结果是U /U。 main() int x,y; scanf(“%d“,,则 strlen(s)的值是U /U。 A. 7 B. 8 C. 9 D. 10(分数:2.00)A.B.C.D.15.下面是对宏定义的描述,不正确的是_。 A. 宏不存在类型问题,宏名无类型,它的参数也无类型 B. 宏替换不占用运行时间 C. 宏替换时先求出实参表达式的值,然后代入形参运算求值 D. 宏替换只不过是字符替代而已(分数:1.00)A.B.C.D.16.利用 fseek 函数可实现的操作是U /U。 A. 实现文件的顺序读写 B. 改变文件的位置指针 C. 实现文件的随机读写 D.
6、 以上答案均正确(分数:1.00)A.B.C.D.17.有下列程序:#includestdio.hstructst int(x,y)date2=1,10,2,20;main() structst*p=date;printf(“%d,“,p-y);printf(“%d/n“,(+p)-x);程序的运行结果是U /U。 A.10,1 B.20,1 C.10,2 D.20,2(分数:1.00)A.B.C.D.18.有以下程序#includestdio.hvoid fun(char*c,int d) *c=*c+1;d=d+1;printf(“%c,%c,“*c,d);main() char b=a,
7、a=A;fun(b,a);printf(“%c,%c/n“,b,a);程序运行后的输出结果是_。 A.b,B,b,A B.b,B,B,A C.a,B,B,a D.a,B,a,B(分数:2.00)A.B.C.D.19.在 DOS 环境下,为了得到 TYPE 命令的帮助信息,正确的 DOS 命令为 A. TYPE B. TYPE/H C. TYPE/* D. TYPE/? (分数:1.00)A.B.C.D.20.以下叙述中正确的是_。 A.函数名允许用数字开头 B.函数调用时,不必区分函数名称的大小写 C.调用函数时,函数名必须与被调用的函数名完全一致 D.在函数体中只能出现一次 return 语
8、句(分数:1.00)A.B.C.D.21.有以下程序struct Sint n;int a20;void f(int *a,int n ) int i;for(i=0;iN-1;i+)NBSP;AI+=I;main() int i;struct S s10,2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i=0;iS.N;i+)NBSP;PRINTF(“%D“,S.AI);程序运行后的输出结果是_。 A. 2,4,3,9,12,12,11,11,18,9, B. 3,4,2,7,9,8,6,5,11,10, C. 2,3,1,6,8,7,5,4,10,9, D. 1,2
9、,3,6,8,7,5,4,10,9,(分数:2.00)A.B.C.D.22. (分数:1.00)A.B.C.D.23.下面叙述正确的是( )。 A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对(分数:1.00)A.B.C.D.24.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为U /U。 A. 125 B. n/2 C. n D. n+1(分数:2.00)A.B.C.D.25.已知一棵二叉树前序遍历和中序遍历分别为 ABDEGCFH 和 DBG
10、EACHF,则该二叉树的后序遍历为_。 A. GEDHFBCA B. DGEBHFCA C. ABCDEFGH D. ACBFEDHG(分数:1.00)A.B.C.D.26.有以下程序:#includevoid fun(int*s) static int j=0;do sj=sj+sj+1; while(+j2);main() int k,a10=1,2,3,4,5;for(k=1;k3;k+) fun(a) ;for(k=0;k5;k+) printf(“%d“,ak);printf(“/n“);程序运行后的输山结果是U /U。 A. 12345 B. 23445 C. 34756 D. 3
11、5745(分数:2.00)A.B.C.D.27.函数 rewind 的作用是U /U。 A. 使文件位置指针重新返回文件的开始位置 B. 将文件位置指针指向文件中所要求的特定位置 C. 使文件位置指针指向文件的末尾 D. 使文件位置指针自动移至下一个字符位置(分数:2.00)A.B.C.D.28.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是_。 A. 1 B. 2 C. 2.0 D. 2.5 (分数:1.00)A.B.C.D.29.下列叙述中正确的是 _。 A. C 程序中注释部分可以出现在程序中任何合适的地方 B. 花括号“和“只能作为函数体的定界符
12、 C. 构成 C 程序的基本单位是函数,所有函数名都可以由用户命名 D. 分号是 C 语句之间的分隔符,不是语句的一部分 (分数:1.00)A.B.C.D.30.若运行以下程序时,从键盘输入 ADescriptor (CR表示回车) ,则下面程序的运行结果是( )。#include stdio.hmain() char c; int v0=1, v1=0, v2=0; do(switch(c=getchar() (casea:caseA:case e:case E:case i:case T:case o:case 0:case u:caseU:v1+=1; default:v0+=1; v2
13、+=1; ) while(e!=/n); printf(“v0=%d, v1=%d, v2=%d/n“, v0, v1, v2); ) A. v0=7, v1=4, v2=7 B. v0=8, v1=4, v2=8 C. v0=11, v1=4, v2=11 D. v0=13, v1=4, v2=12(分数:1.00)A.B.C.D.31.对于下列定义,不正确的叙述是U /U。union data int a;char b;double c;x=y; A. 变量 x 所占内存的长度等于成员 c 的长度 B. 变量 x 的地址和它的各成员地址都是相同的 C. 可以在定义时对 x 初始化 D. 不
14、能对变量 x 赋值,故 x=y 非法(分数:1.00)A.B.C.D.32.以下程序运行后的输出结果是mainU /U float x=2.0,y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x:else y=1.0;printf(“%f/n“,y); A. 0.000000 B. 0.250000 C. 0.500000 D. 1.000000(分数:1.00)A.B.C.D.33.下列程序的输出结果是_。main() int n=4;while(n-)printf(“%d“,-n); A.2 0 B.3 1 C.3 2 1 D.2 1 0(分数:2.00)A.B
15、.C.D.34.下面程序的输出结果是main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(“%d/n“,*(p+2); A. 3 B. 4 C. 1 D. 2(分数:2.00)A.B.C.D.35.在 C 语言中,要求运算数必须是整型的运算符是_。 A. / B. + C. != D. %(分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:34.00)36.以下程序中给指针 P 分配三个 double 型动态内存单元,请填空: #includestdioh main() double*p; p=(double*)mallocU U
16、/U /U; p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%f/n“,p0,p1,p2); (分数:1.00)填空项 1:_37.以下程序运行后的输出结果是_。 int a=5; fun(int b) static int a=10; a+=b+; printf(“%d“,a); main() int c=20; fun(c); a+=c+; printf(“%d/n“,a); (分数:2.00)填空项 1:_38.数据库设计分为 6 个设计阶段:需求分析阶段、 1、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:4.00)填空项 1:_39.以下程序的输
17、出结果是_。 main() char s=“abcdef“; s3=/0; printf(“%s/n“,s); (分数:1.00)填空项 1:_40.若 a 的值为 1,则表达式!a+a 的值是 1。(分数:2.00)填空项 1:_41.若有定义:int k;,以下程序段的输出结果是_。 for(k=2;k6;k+,k+)printf(“#%d“,k);(分数:4.00)填空项 1:_42.由 25 人围坐成圆圈,先由任意一人开始顺时针沿用 125 依次编号,然后从 1 号开始顺时针报数(1、2、3),凡报 5 的倍数者出圈,剩下者继续报数,求出最后出圈者的编号。#include main (
18、 ) int a26, j,n, count;for (j=1; j=25; j+) aj=j;j=1;count=0;n=U U /U /U;do if(aj !=0) n+;if (n%5=0) U U /U /U;if(count=24) printf(“%d/n“,j);count+;j+;if (j25) j=1;while(U U /U /U);(分数:4.00)填空项 1:_43.以下函数 sstrcat()的功能是实现字符串的连接,即将 t 所指字符串复制到 s 所指字符串的尾部。例如:s 所指字符串为 abed,t 所指字符串为 efgh,函数调用后 s 所指字符串为 abo
19、defgh。请填空。 #include string.h void sstrcat(char *s,char *t) int n; n=strlen(s); while(*(s+n)=U U /U /U)s+;t+; (分数:2.00)填空项 1:_44.下列程序运行后的输出的结果是_。 #includestdio.h main() char s20; scanf(“%s“,s); printf(“%s“,s); 运行程序,输入 HOW ARE YOU。(分数:2.00)填空项 1:_45.数据的逻辑结构有线性结构和 1 两大类。(分数:2.00)填空项 1:_46.设变量已正确定义为整型,则
20、表达式 n=i=2,+i,i+的值为 1。(分数:4.00)填空项 1:_47.对软件是否能达到用户所期望的要求的测试称为 1。(分数:1.00)填空项 1:_48.以下程序中,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 a
21、r4,int *bar) int i,j,x; for(i=0;iM;i+) x=ari0; for(j=0;jN;j+)NBSP;IF(X _=x; (分数:2.00)填空项 1:_49.一个模块直接调用的其他模块的模块个数称为 1。(分数:2.00)填空项 1:_50.在面向对象方法中,类之间共享属性和操作的机制称为U U /U /U。(分数:1.00)填空项 1:_二级 C 语言-22 答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:49.00)1.有以下语句,则对 a 数组元素的引用不正确的是(0i9) int a10=0,1,2,3,4,5,6
22、,7,8,9,*p=a; A)ap-a B)*(ai) C)pi D)*(*(a+i)(分数:2.00)A.B.C.D. 解析:解析 本题考查数组指针的应用。选项 D)第一层括号中为数组 a 中第 i 项元素的值,外面再加指针运算符没有意义。2.下列程序的输出结果是 #include “stdio.h“ #define M(x,y) x%y main( ) int a,m=12,n=100; a=M(n,m); printf(“%d/n“,a-); A)2 B)3 C)4 D)5(分数:2.00)A.B.C. D.解析:解析 带参数的宏定义命令行形式如下: #define 宏名(形参表)替换文
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 22 答案 解析 DOC
