【计算机类职业资格】二级C语言-38及答案解析.doc
《【计算机类职业资格】二级C语言-38及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-38及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-38 及答案解析(总分:76.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:47.00)1.有以下计算公式(分数:1.00)A.B.C.D.2.若变量已正确定义并赋值,以下符合 C 语言语法的表达式是 A. a:=b+1 B. a=b=c+2 C. int 18.5%3 D. a=a+7=c+b(分数:1.00)A.B.C.D.3.若有以下定义;char a;int b; float c;double d;则表达式“a*b+d-c”值的类型为 U /U A. float B. int C. char D. double(分数:1.00)A.B.C.D.4.设
2、有定义语句int x6=2,4,6,8.5,7),*p=x,i;要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是_。 A. for(i=0;i6;i+) printf(“%2d“,*(p+); B. for(i=0;i6;i+) prinff(“%2d“,*(p+i); C. for(i=0;i6;i+) printf(“%2d“,*p+); D. for(i=0;i6;i+) printf(“%2d“,(*p)+);(分数:1.00)A.B.C.D.5.以下不合法的数值常量是_。 A. 011 B. le1 C. 8.0E0.5 D. 0xabcd(分数:1.00)A.B.C
3、.D.6.有以下程序main()int x,y,z;x=y=1;z=x,y,y;printf(“%d,%d,%d/n“,x,y,z);程序运行后的输出结果是_。 A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,1(分数:1.00)A.B.C.D.7.以理对枚举类型名的定义中正确的是 _。 A. enum a=one, two, three); B. enum a one=9, two=1three; C. enum a=“one“, “two“, “three“; D. enum a “one“, “two“. “three“;(分数:2.00)A.B.C.D.8.有以下程
4、序段char ch; int kch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是 A. 因变量类型与格式描述符的类型不匹配输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C. a,97,12k=12 D. a,97,k=12(分数:1.00)A.B.C.D.9.有以下程序main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;x+;printf(“x=%d/n“
5、,x);程序执行后的输出结果是 A. x=4 B. x=8 C. x=6 D. x=12(分数:2.00)A.B.C.D.10.有以下程序main() int i=1,j=2,k=3;if(i+=1(+j=3|k+=3)printf(“%d %d %d/n“,i,j,k);程序运行后的输出结果是_。 A. 1 2 3 B. 2 3 4 C. 2 2 3 D. 2 3 3(分数:1.00)A.B.C.D.11.以下程序的输出结果是_。main() int i,x33=9,8,7,6,5,4,3,2,1,*p=for(i=0;i4;i+=2)printf(“%d “,pi); A. 5 2 B.
6、5 1 C. 5 3 D. 9 7(分数:1.00)A.B.C.D.12.若有定义 float a=25,b,*p=,则下列对赋值语句*p=a;和 p=的正确解释为U /U。 A. 两个语句都是将变量 a 的值赋予变量 p B. *p=a 是使 p 指向变量 a,而 p=num=s0num;strcpy(name,s0name);main()struct STU s2=“YangSall“,20041,“LiSiGao“,20042,*p;p= B. int a3=2*3; C. int a3=; D. int a23=1),2,3,4);(分数:1.00)A.B.C.D.20.在长度为 64
7、 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。 A. 63 B. 64 C. 6 D. 7(分数:2.00)A.B.C.D.21.有以下程序#define f(x) x*xmain( ) int i;i=f(4+4)/f(2+2);printf(“%d/n”,i); 执行后输出结果是( ) A.28 B.22 C.16 D.4 (分数:1.00)A.B.C.D.22.下列选项中不符合良好程序设计风格的是_。 A. 源程序要文档化 B. 数据说明的次序要规范化 C. 避免滥用 go to 语句 D. 模块设计要保证高耦合,高内聚(分数:2.00)A.B.C.D.23.有以下程序#i
8、ncludestdio.hmain() int a=5,b=lt;t=(a2)|b;printf(“%d/n“,t);程序运行后的输出结果是_。 A. 21 B. 11 C. 6 D. 1(分数:2.00)A.B.C.D.24.在计算机中,一个字节所包含二进制位的个数是 A)2 B)4 C)8 D)16(分数:1.00)A.B.C.D.25.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是_。 A. a=(b=4)=3; B. a=b=c+1; C. a=(b=4)+c; D. a=1+(b=c=4);(分数:1.00)A.B.C.D.26.若变量已正确定义,下列正
9、确的程序段是U /U。 A. while(ch=getchar()=/N)putchar(ch); B. while(ch=getchar()=/n)putchar(ch); C. while(ch=getchar()!=/N)putchar(ch); D. while(ch=getchar()!=/n)putchar(ch);(分数:2.00)A.B.C.D.27.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是U /U。 A.函数的实参和其对应的形参共占同一存储单元 B.形参只是形式上的存在,不占用具体存储单元 C.同名的实参和形参占同一存储单元 D.函数的形参和实参分别
10、占用不同的存储单元(分数:1.00)A.B.C.D.28.下列选项中不属于软件生命周期开发阶段任务的是U /U。 A. 软件测试 B. 概要设计 C. 软件维护 D. 详细设计(分数:2.00)A.B.C.D.29.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是 A. 一对一 B. 一对多 C. 多对多 D. 多对一(分数:2.00)A.B.C.D.30.下列程序的运行结果是U /U。main() int a=-5,b=1,c=1;int x=0,Y=2,z=0;if(c0)x=x+ y;if(a=0) if(b0)if(c=0)y=x-y;
11、else if(c0)Y=x-y;else z=y;printf(“%d,%d,%d/n“,x,y,z); A. 2,2,0 B. 2,2,2 C. 0,2,0 D. 2,0,2(分数:1.00)A.B.C.D.31.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是 A. 1 B. 2 C. 3 D. 4(分数:1.00)A.B.C.D.32.有以下程序:#includestdio.h#includestring.htypedef struct char name9;char sex;float score2;STU;void f(STU
12、a)STU b=“Zhao“,m,85.0,90.0);int i;strcpy(a.name,b.name);a.sex=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.33.以下正确的函
13、数头定义形式是 A) double fun(int x,int y) B) double fun(int x;int y) C) double fun(int x,int y);D) double fun(int x,y);(分数:2.00)A.B.C.D.34.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是U /U。 A. strcpy(s1,s2) B. strcpy(s1, “ABCDE“); C. s1=“ABCDE“; D. for(i=0;i6;i+) s1i=s2i;(分数
14、:1.00)A.B.C.D.35.已知字母 A 的 ASCII 码为十进制的 65,下面程序main() char ch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(“%d,%c/n“,ch1,ch2);的输出是_。 A. 67,D B. B,C C. C,D D. 不确定的值 (分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:29.00)36.以下程序运行后的输出结果是U U /U /U。 main() int p=30; printf(“%d/n“,(p/30?p/10:p%3); (分数:1.00)填空项 1:_37.以下程序中,函数 fun 的
15、功能是计算 x2-2x+6,主函数中将调用 fun 函数计算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。double fun(double x)return(x*x-2*x+6);double x,y1,y2;printf(“Enter x:“);scanf(“%lf“, max=a0 0; for (i=0;i3;i+) for (j=0; j4; j+) if (maxa i j) max=ai j; row=i; colum=j; printf(“max=%-5d row=%-3d colum=%-3d/n“,max, row, colum);
16、(分数:4.00)填空项 1:_40.以下程序的功能是:对输入的一行字符串的数字字符按它们的字面值累加,输出此累加和。例如,输入一行字符是:ab34dh8u,输出值应当是 15。请填空。 #include stdio.h #include ctype.h main() char ch; int a,s; _; while(ch=getchar()_) if( isdigit (ch) a=_;s+=a; printf(“s=%d/n/n“,s);(分数:1.00)填空项 1:_41.在树形结构中,树根结点没有U U /U /U。(分数:2.00)填空项 1:_42.在算法正确的前提下,评价一个
17、算法的两个标准是空间复杂度和 1。(分数:2.00)填空项 1:_43.下列程序的输出结果是_。 long fun5(int n) ( long s; if(n=l)(n=2) s=2; else s=n+fun5(n-1); return(s); main() long x; x=fun5(4); printf(%1d/n“,x);(分数:2.00)填空项 1:_44.若 x 为 int 类型,请写出与!x 等价的 C 语言表达式 1。(分数:2.00)填空项 1:_45.软件设计模块化的目的是U U /U /U。(分数:1.00)填空项 1:_46.下列程序的输出结果是_。 #includ
18、estdioh main() char b=“Hello you“; b5 =0; printf(“%s/n“,b); (分数:2.00)填空项 1:_47.以下程序运行后的输出结果是U U /U /U。 fun(int x) if(x/20)fun(x/2); printf(“%d“,x); main() fun(6);(分数:1.00)填空项 1:_48.一个关系表的行称为 1。(分数:2.00)填空项 1:_49.已有定义:char c= ;int a=1,b;(此处 c 的初值为空格字符),执行 b=!c float c;double d;则表达式“a*b+d-c”值的类型为 U /U
19、 A. float B. int C. char D. double(分数:1.00)A.B.C.D. 解析:4.设有定义语句int x6=2,4,6,8.5,7),*p=x,i;要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是_。 A. for(i=0;i6;i+) printf(“%2d“,*(p+); B. for(i=0;i6;i+) prinff(“%2d“,*(p+i); C. for(i=0;i6;i+) printf(“%2d“,*p+); D. for(i=0;i6;i+) printf(“%2d“,(*p)+);(分数:1.00)A.B.C.D. 解析:解析
20、 选项 A、B、C 显然都能够正确输出数组 x 中的元素,但是在 D 选项中,该程序一共输出了六次数组 x 中的第一个元素自加 1 的值,因此是错误的。5.以下不合法的数值常量是_。 A. 011 B. le1 C. 8.0E0.5 D. 0xabcd(分数:1.00)A.B.C. D.解析:评析:数值常量区分为不同的类型,如 12、0、-3 为整型常量,4.6、-123 为实型常量,a,A为字符常量。实数常量有两种表示形式:十进制小数形式和指数形式。用指数形式表示必须注意字母e(或 E)之前必须有数字,且 e(或 E)后面的指数必须为整数。如:e3、7e3.5、8.0E0.5 都是不合法的。
21、6.有以下程序main()int x,y,z;x=y=1;z=x,y,y;printf(“%d,%d,%d/n“,x,y,z);程序运行后的输出结果是_。 A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,1(分数:1.00)A.B.C. D.解析:评析:x:表示在使用 x 之后,使 x 的值加 1;y:表示在使用 y 之后,使 y 的值加1;y:表示在使用 y 之前,使 y 的值加 1。此题中执行 z=x,是将 x 的值先赋给 z,所以 z=1,接下来 x 自行加 1,其结果为 2:执行 y后,y=2,执行后,y=3;故答案选 C。7.以理对枚举类型名的定义中正确的是 _。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 38 答案 解析 DOC
