【计算机类职业资格】二级C语言-36及答案解析.doc
《【计算机类职业资格】二级C语言-36及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-36及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-36 及答案解析(总分:72.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:46.00)1.下面语句的输出结果是_。printf(“%d/n“,strlen(“/t“/065/xff/n“); A. 14 B. 8 C. 5 D. 输出项不合怯,无正常输出 (分数:1.00)A.B.C.D.2.以下程序段的输出结果是 _。int a=1234;printf(“% 2d/n“,a); A. 12 B. 34 C. 1234 D. 提示出错、无结果(分数:1.00)A.B.C.D.3.已知 i、j、k 为血型变量,若要从键盘输入 2、3、4CR,使 i、j、k
2、的值分别为 2、 3、4,下列正确的输入语句是U /U。 A. scanf(“%3d,%3d,%3d“, B. scan(“%d,%d,%d“, C. scan(“%do/od%d“, D. scanf(“i%d,j%d,k%d“,(分数:1.00)A.B.C.D.4.有下列程序:#include stdio.h#include “string.h“typedef structchar name9; char sex;float score2;STU;void f(STU A) STU b=“Zhao“,m,85.0,90.0; int i;strcpy(a.name,b.name);a.se
3、x=b.sex;for(i=0;i2;i+) a.scorei=b.scorei;main()STU c=“Qian“,f,95.0,92.0;f(C) ;printf(“%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1);程序的运行结果是( )。 A. Qian,f,95,92 B. Qian,m,85,90 C. Zhao,f,95,92 D. Zhao,m, 85,90(分数:2.00)A.B.C.D.5.若有以下说明和语句int c4)5,(*p)5;p=c;能够正确引用 c 数组元素的是 A. p+1 B. *(p+3) C. *
4、(P+1)+3 D. *(p0+2)(分数:1.00)A.B.C.D.6.以下叙述中正确的是( )。 A. 预处理命令行必须位于 C 源程序的起始位置 B. 在 C 语言巾,预处理命令行都以“#“开头 C. 每个 C 程序必须在开头包含预处理命令行;#include stdio.h D. C 语言的预处理不能实现宏定义和条件编译的功能(分数:1.00)A.B.C.D.7.下面程序的输出结果是_。main() enum team my,your=4,his,her=his+10;printf(“%d %d %d %d/n“,my,your,his,her); A. 0 1 2 3 B. 0 4
5、0 10 C. 0 4 5 15 D. 1 4 5 15(分数:1.00)A.B.C.D.8.下列选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是U /U。 A. x%2=1 B. x/2 C. x%2!=0 D. x%2=0(分数:2.00)A.B.C.D.9.有三个关系 R、S 和 T 如下:(分数:1.00)A.B.C.D.10.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是U /U。 A.x=y=5; B.x=n%2.5; C.x+n=i: D.x=5=4+1;(分数:1.00)A.B.C.D.11.以下叙述中错误的是 _。 A. 用户所定义的标识符允许使用关键字
6、B. 用户所定义的标识符应尽量做到“见名知意” C. 用户所定义的标识符必须以字母或下划线开头 D. 用户定义的标识符中,大、小写字母代表不同标识 (分数:1.00)A.B.C.D.12.设有如下程序段:int x=2002,y=2003;printf(“%d/n“,(x,y);则以下叙述中正确的是U /U。 A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B. 运行时产生出错信息 C. 输出值为 2002 D. 输出值为 2003(分数:1.00)A.B.C.D.13.有以下程序#includestdio.hmain()(int x=1, y=0;if(!x) y+;else
7、 if(x=0)if(x)y+=2; else y+=3;printf(“%d/n“, y);程序运行后的输出结果是_。 A. 3 B. 2 C. 1 D. 0(分数:1.00)A.B.C.D.14.程序中头文件 type1.h 的内容是#define N 5#define M1 N*3程序如下:#define “type1.h“#define M2 N*2main ()int i;i=M1+M2;printf(“%d/n“, i);)程序编译后运行的输出结果是( )。 A. 10 B. 20 C. 25 D. 30(分数:1.00)A.B.C.D.15.设有定义:int A,*pA=,以下
8、scanf 语句中能正确为变量 A 读入的数据是 _。 A. scanf (“%d“,pA) ; B. scanf (“%d“,A) ; C. scanf (“%d“, D. scanf (“%d“,*pA) ;(分数:2.00)A.B.C.D.16.以下程序运行后的输出结果是#include stdio.hvoid fun(int a,int b) int t;t=a; a=b; b=t;mainU /U 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+) prinff(“%d,“,ci);
9、printf(“/n“); A. 1,2,3,4,5,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.17.设 x,y,z,(均为整型变量,现有如下语句 x=y=z=1;t=+x+yreturn b;main() int a=1,t=2;t+=func(while(*b=*A) b+;a+;main()char *s=“*a*b*“,t80;fun(s,t);puts(t);程序的运行结果是( )。 A. *a*b B. a*b C. a*b* D. a
10、b(分数:2.00)A.B.C.D.21.下面程序的输出结果为 ( )struct st int x;int *y; *p;int dt410,20,30,40;struct st aa450, data1=1, 8. data2;则以下赋值语句中错误的是 A. data2=data1; B. data2=(2, 6); C. data2.real=data1.real; D. data2.real=data1.unreal;(分数:2.00)A.B.C.D.24.有以下程序:main( ) char a =a,b,c,d,e,f,g,h,/0;int i,j;i=sizeof(a);j=st
11、rlen(a);printf(“%d,%d/n“,i,j);程序运行后的输出结果是 A.9,9 B.8,9 C.1,8 D.9,8 (分数:1.00)A.B.C.D.25.以下正确的字符串常量是U /U。 A.“/“ B.abc C.Olympic Games D.“(分数:1.00)A.B.C.D.26.若要求从键盘读入含有空格字符的字符串,应使用函数 A. getc() B. gets() C. getchar() D. scanf()(分数:2.00)A.B.C.D.27.有以下程序#include stdio.hint fun(char s) int n=O;while(*s=9 s+
12、; return (n);main() char s10= 6, 1, *, 4, *, 9, *, 0, *;printf(“%d/n“,fun(s); A. 9 B. 61490 C. 61 D. 5(分数:1.00)A.B.C.D.28.有如下程序段int *p,a=10,b=1;p=当 flag 为 0 时,进行由大到小排序。void f(int b, int n, int flag)int i, j, t;for (i=0; in-1; i+)for (j=i+1; jn; j+)if(flag ? b!j: bibj) t=bi; bi=bj; bj=t; main () int
13、a10=5,4,3,2,1,6,7,8,9,10, i;f(f(a, 5, 1),for (i=0; i10; i+)printf(“%d,“, ai);程序运行后输出结果是U /U。 A. 1,2,3,4,5,6,7,8,9,10, B. 3,4,5,6,7,2,1,8,9,10, C. 5,4,3,2,1,6,7,8,9,10, D. 10,9,8,7,6,5,4,3,2,1,(分数:1.00)A.B.C.D.33.以下叙述中错误的是( )。 A. 用户定义的函数中可以没有 return 语句 B. 用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C. 用户
14、定义的函数中若没有 return 语句,则应当定义函数为 void 类型 D. 函数的 return 语句中可以没有表达式(分数:1.00)A.B.C.D.34.若有以下结构体,则正确的定义或引用的是U /U。struct Test int x;int y; vl; A. Test.x=10; B. Test v2;v2.x=10; C. struet v2;v2.x=10; D. struct Test v2=10;(分数:2.00)A.B.C.D.35.在执行完下列的 C 语句段之后,则 B 的值是U /U。char a=A;int b;B=(34 A. 0 B. 1 C. TRUE D.
15、 FALSE(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:26.00)36.有以下程序,请在_处填写正确语句,使程序可正常编译运行。 #includestdio.h _; main() (double x, y, (*p)(); scanf(“%1f%1f“, x, y); p=avg; printf(“%f/n“, (*p)(x, y); double avg(double a, double b) return(a+b)/2);(分数:2.00)填空项 1:_37.以下程序的运行结果是_。 # include string.h typedef struct stu
16、dent char name10;long sno; float score; STU; main() STU a= “Liuyifei“,2001,95,b=“Shangxian“,2002,90,c= “Zhangli“,2003,95 ,d,*p= d=a; if(strcmp(a.name,b.name)0) d=b; if(strcmp(c.name,d.name)0) d=c; printf(“%ld%s/n“,d.sno,p-name); (分数:2.00)填空项 1:_38.以下程序的输出结果是U U /U /U。 void reverse(int a,int n) int i
17、,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,8); for(i=6;i10;i+)s+bi;printf(“%d/n“,s); (分数:2.00)填空项 1:_39. 1 的任务是诊断和改正程序中的错误。(分数:2.00)填空项 1:_40.某二叉树中度为 2 的结点有 18 个,则该二叉树中有U U /U/U个叶子结点。(分数:1.00)填空项 1:_41.fun( )函数的功能是首先对 a 所指的 N 行 N 列的矩阵,找出各行中
18、的最大的数,再求这 N 个最大值中 的最小的那个数作为函数值返回,请填空。 #includestdio.h #define N 100 int fun(int( * a)N) in(row,col,max,min; for(row=0;rowN;row+) for(max=a row0,col=1;colN;col+) if(U 【13】 /U)max=arowcol;if(row= =0)min=max; else if(U 【14】 /U)min=max; return min; (分数:1.00)填空项 1:_42.以下程序运行后的输出结果是U U /U /U。 main() int p
19、7=11,13,14,15,16,17,18; int i=0,j=0; while(i7 myf=U U /U /U(“test.t“,“rb“); fseek(myf,(),SEEK_END) fl+ftell(myf); fclose(myf); printf(“%ld/n“,fl);(分数:2.00)填空项 1:_45.结构化分析方法是面向_进行分析的方法。(分数:2.00)填空项 1:_46.下列程序的输出结果是U U /U /U。 main() int i; for(i=1;i=1;i+) if(i4) printf(“%d/n“,i); break; printf(“%d/n“,
20、i+);(分数:1.00)填空项 1:_47.数据库系统中实现各种数据管理功能的核心软件称为U U /U /U。(分数:1.00)填空项 1:_48.数据流图是描述数据在软件中的流动和变换的过程,而对数据流图中所包含元素的定义则是 1。(分数:2.00)填空项 1:_49.以下程序运行后的输出结果是_。 #includestdio.h main() int x=20; printf(“%d“,0x20); printf(“%d/n“,0x A. 14 B. 8 C. 5 D. 输出项不合怯,无正常输出 (分数:1.00)A.B.C. D.解析:解析 在 C 语言中,以“/”开头的字符均为转义字
21、符,其中“/”后可跟 13 位八进制数或在“/”后跟字母 x 及 12 位十六进制数,以此来代表一个特定的字符。2.以下程序段的输出结果是 _。int a=1234;printf(“% 2d/n“,a); A. 12 B. 34 C. 1234 D. 提示出错、无结果(分数:1.00)A.B.C. D.解析:解析 本题考查 printf 函数中附加格式字符的用法。本题中的“2”是附加格式字符,其作用是指定变量 a 的输出宽度为两列,而本题中 a 的值为 1234,已经超过两列,所以按实际值输出,正确答案为选项 C。3.已知 i、j、k 为血型变量,若要从键盘输入 2、3、4CR,使 i、j、k
22、 的值分别为 2、 3、4,下列正确的输入语句是U /U。 A. scanf(“%3d,%3d,%3d“, B. scan(“%d,%d,%d“, C. scan(“%do/od%d“, D. scanf(“i%d,j%d,k%d“,(分数:1.00)A.B. C.D.解析:解析 函数 scan()的调用形式是:scanf(格式字符串,输入项地址表)。其中,“格式字符串”是要输入的变量的格式符:“输入项地址表”是要输入的变量的地址。 若在格式符中插入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符,其中的逗号也必须输入。4.有下列程序:#include stdio.h#include
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 36 答案 解析 DOC
