【计算机类职业资格】二级C语言笔试-218及答案解析.doc

上传人:吴艺期 文档编号:1326027 上传时间:2019-10-17 格式:DOC 页数:27 大小:83KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-218及答案解析.doc_第1页
第1页 / 共27页
【计算机类职业资格】二级C语言笔试-218及答案解析.doc_第2页
第2页 / 共27页
【计算机类职业资格】二级C语言笔试-218及答案解析.doc_第3页
第3页 / 共27页
【计算机类职业资格】二级C语言笔试-218及答案解析.doc_第4页
第4页 / 共27页
【计算机类职业资格】二级C语言笔试-218及答案解析.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、二级 C语言笔试-218 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下叙述中错误的是( )。(分数:2.00)A.对于 double类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数2.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。main()float a, b, c, t;scanf(“%f, %f, %f“, a, b, c

2、);if(ab)t=a; a=b.b=t; )if(ac)t=a; a=c; c=t; )it(bc)t=b; b=c; c=t; printf(“%f/n%f/n%f/n“, a, b, c);(分数:2.00)A.1.002.003.00B.1.003.002.00C.132D.3.000002.000001.000003.有以下程序:main()int i, j;for(j=10; j11; j+)for(i=9; ij; i+)if(!(j%i)break;if(i=j-1)printf(“gd“, j);输出结果是( )。(分数:2.00)A.11B.10C.9D.10 114.下列

3、程序的运行结果是( )。#includestdio.hvoid main()int s=0, k;for(k=7; k1; k-)switch(k)case 1:case 4:case 7:s+;break;case 2:case 3:case 6: break;case 0:case 5:s+=2:break;printf(“s=%d“, s);(分数:2.00)A.s=3B.s=4C.s=5D.无输出结果5.以下只有在使用时才为该类型变量分配内存的存储类型说明是( )。(分数:2.00)A.auto和 staticB.auto和 registerC.register和 staticD.ex

4、tern和 register6.表示关系 X=Y=Z 的 C语言表达式为(_)。(分数:2.00)A.(X=Y)(Y=Z)B.(X=Y)AND(Y=Z)C.(X=Y=Z)D.(X=Y)(Y=Z)7.下列可作为 C语言赋值的语句的是( )。(分数:2.00)A.x=3, y=5B.a=b=6C.i-;D.a, c8.若变量 a,b 已正确定义,且 b已正确赋值,则合法的语句是( )。(分数:2.00)A.b=double(b);B.(int)a=(int)b;C.a=a+=5;D.a=double(b);9.有下列程序段:int n, t=1, s=0;scanf(“%d“, n);dos=s+

5、t; t=t-2; while(t!=n);为使此程序段不陷入循环,从键盘输入的数据应该是( )。(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数10.下列叙述中正确的是( )。(分数:2.00)A.用 E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系B.用 E-R图只能表示实体集之间一对一的联系C.用 E-R图只能表示实体集之间一对多的联系D.用 E-R图表示的概念数据模型只能转换为关系数据模型11.有下列函数定义:fun(float h)printf(“%f, %fkn“, h, h*h); 该函数的类型是( )。(分数:1.00)A.int类型

6、B.float类型C.void类型D.函数无类型说明,定义有错12.设变量 a、b、c、d 和 Y都已正确定义并赋值。若有以下 if语句if(ab)if(C=d) y=0;else y=1;该语句所表示的含义是( )。(分数:1.00)A.y=0,ab 且 c=dy=1,abB.y=0,ab 且 c=dy=1,ab 且 cdC.y=0,ab 且 c=dy=1,ab 且 cdD.y=0,ab 且 c=dy=1,cd13.有以下程序:#includestdio.hvoid WriteStr(char *fn, char *str)FILE *fp;fp=fopen(fn, “w“); fputs(

7、str, fp); fclose(fp); main()WriteStr(“t1.dat“, “start“);WriteStr(“t1.dat“, “end“); 程序运行后,文件 t1. dat中的内容是( )。(分数:1.00)A.startB.endC.startendD.endrt14.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。(分数:1.00)A.%、sizeof、=B.sizeof、%、=、C.sizeof、%、=D.sizeof、%、=15.若整型变量 a、b、c、d 中的值依次为 2、2、3、4,则条件表达式 ab?a: cd?c:

8、d 的值是( )。(分数:1.00)A.1B.2C.3D.416.在执行完下列的 C语句段之后,则 B的值是( )。char a=A;int b;B=(3456)(ab);(分数:1.00)A.0B.1C.TRUED.FALSE17.设有如下定义:int (*ptr)();则以下叙述中正确的是( )。(分数:1.00)A.ptr是指向一维组数的指针变量B.ptr是指向 int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个 int型数据D.ptr是一个函数名,该函数的返回值是指 int型数据的指针18.执行下列程序中的输出语句后,a 的值是( )。main()int a;printf

9、(“%d/n“, (a=2*3, a*5, a+7);(分数:1.00)A.17B.37C.6D.1319.执行下面的程序后,a 的值为( )。main()int a, b;for(a=1, b=1; a=10; a+)if(b%3=1)b+=3;continue; b-=5; )(分数:1.00)A.7B.8C.9D.1020.有以下程序:#includestdio.hmain()char c1, c2, c3, c4, c5, c6;scanf(“%c%c%c%C“, c1, c2, c3, c4);c5=getchar(); c6=getchar();putchar(c1); puteh

10、ar(c2);printf(“%c%c/n“, c5, c6);程序运行后,若从键盘输入(从第 1列开始)123回车45678回车则输出结果是( )。(分数:1.00)A.1267B.1256C.1278D.124521.设有如下定义:int arrp=6, 7, 8, 9, 10;int *ptr;ptr=arr;*(ptr2)=2;printf(“%d, %d/n“, *ptr, *(ptr2);则下列程序段的输出结果为( )。(分数:2.00)A.8,10B.6,8C.7,9D.6,222.下列叙述中正确的是( )。(分数:2.00)A.只能在循环体内和 switch语句体内使用 bre

11、ak语句B.cotinue语句的作用是结束整个循环的执行C.在循环体内使用 break语句或 continue语句的作用相同D.从多层循环嵌套中退出时,只能使用 goto语句23.设 x=015,则 x=x017的值是( )。(分数:2.00)A.00001111B.11111101C.00000010D.1100000024.数字字符 0的 ASCII值为 48,运行以下程序的输出结果是( )。main()char a=1, b=2;printf(“%c, “, b+); printf(“%d/n“, b-a); (分数:2.00)A.3,2B.50,2C.2,2D.2,5025.下列叙述中

12、错误的是( )。(分数:2.00)A.线性表是由 n个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件D.线性表可以是空表26.以下程序执行后 sum的值是( )。main()int i, sum;for(i=1; i6; i+)sum+=i;printf(“%d/n“, sum);(分数:2.00)A.15B.14C.不确定D.027.设有定义的语句:“char c1=92, c2=92;”,则以下表达式中的值为零的是( )。(分数:2.00)A.c1c2B.c1c2C.c2D.c1|c228.若 i、j 已定义成 int型,则下列程序段中内循环体的总

13、执行次数是( )。for(i=6; i0; i-)for(j=0; j4; j+)(分数:2.00)A.20B.24C.25D.3029.软件生命周期中,花费最多的阶段是( )。(分数:2.00)A.详细设计B.软件编码C.软件测试D.软件维护30.设有定义语句:int x6=2, 4, 6, 8, 5, 7), *p=x, i;要求依次输出 X数组 6个元素中的值,不能完成此操作的语句是( )。(分数:2.00)A.for(i=0; i6; i+)printf(“%2d“, *(p+);B.for(i=0; i6; i+)printf(“%2d“, *(p+i);C.for(i=0; i6;

14、 i+)printf(“%2d“, *p+);D.for(i=0; i6; i+)printf(“%2d“, *(p)+);31.执行下列程序后,输出的结果是( )。#includestdio.h#define S(X)X*Xvoid main()int a=9, k=3, m=2;a/=S(k+m)/S(k+m);printf(“%d“, a);(分数:2.00)A.1B.4C.9D.032.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表B.结性链表C.二叉链表D.有序线性链表33.设有程序段:int k=12;while(k=1) k=k=1;则下

15、列描述中正确的是( )。(分数:2.00)A.while循环执行 10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次34.以下程序的输出结果是( )。void fun(int *a, int i, int j)int t;if(ij)t=ai; ai; aj; aj=t;i+; j-;fun(a, i, j);main()int x3=2, 6, 1, 8), i;fun(x, 0, 3);for(i=0; i4; i+)printf(“%2d“, xi);printf(“/n“);(分数:2.00)A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2

16、35.视图设计一般有 3种设计次序,下列不属于视图设计次序的是( )。(分数:2.00)A.自顶而下B.由内向外C.由外向内D.自底向上36.若有说明语句:double*p, a;则通过 scan语句正确给输入项读入数据的程序段是( )。(分数:2.00)A.*p=a; scanf(“%1f“, p);B.*p=a; scanf(“%f“, p);C.p=a; scanf(“%1f“, *p);D.p=a; scanf(“%1f“, p);37.若 fp是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )。(分数:2.00)A.EOFB.-1C.非零值D.038.设

17、 j为 int型变量,则下面 for循环语句的执行结果是( )。for(j=10; j3; j-)if(j%3)j-;-j; -j;printf(“%d“, j);(分数:2.00)A.6 3B.7 4C.6 2D.7 339.在深度为 5的满二又树叶中,叶子结点的个数为( )。(分数:2.00)A.32B.31C.16D.1540.下列程序的输出结果是( )。#includestdio.hmain()int a23=1, 2, 3, 4, 5, 6, (*p)3, i;p=a;for(i=0; i3; i+)if(i2)p1i=p1i=1;elsep1i=1;printf(“%d/n“, a

18、01+a11+a12);(分数:2.00)A.8B.7C.12D.9二、填空题(总题数:14,分数:30.00)41.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_42.数据的基本单位是 1。(分数:2.00)填空项 1:_43.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示 1,用带空心圆的箭头表示传递的是数据。(分数:2.00)填空项 1:_44.函数 pi的功能是根据以下近似公式求 值:(*)/6=1+1/(2*2)+1/(3*3)+1/(n*n)现在请你在下面的函数中填空,完成求丌的功能。#includemath.hdo

19、uble pi(10ng n)double s=0.0; long i;for(i=1; i=n; i+)s=s+_; return(sqrt(6*s);(分数:2.00)填空项 1:_45.x和 y都是 double型变量,x 的初值为 4.0,Y 的初值为 2.0,则表达式 pow(y, labs(x)的值为 1。(分数:2.00)填空项 1:_46.若要使指针 P指向一个 double类型的动态存储单元,请填空。p=_malloc(sizeof(double);(分数:2.00)填空项 1:_47.结构化分析方法是面向 1 进行分析的方法。(分数:2.00)填空项 1:_48.以下程序的

20、功能是打印以下杨辉三角形(如下),请填空。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1main()static int m, n, k, b1010=10;b01=1;for(m=1; m10; m+);for(n=1; n=m; n+)bmn=_;printf(“%-5d“, bmn);printf(“n“);(分数:2.00)填空项 1:_49.下面函数的功能是将一个字符串的内容颠倒过来,请填空。void fun(char str)int i, j, k;for(i=0, j=_; ij; i+, j=)k=stri;stri=stri;strj=k; (分

21、数:2.00)填空项 1:_50.若 x为 int类型,请写出与!x 等价的 C语言表达式 1。(分数:2.00)填空项 1:_51.下列程序的运行结果是_。main()int a=1, b=10;dob-=a; a+while(b-0);printf(“%d, %d/n“, a, b);(分数:2.00)填空项 1:_52.下列程序的运行结果是_。main()int i, a10;a0=a1=1;for(i=2; i5; i+)ai=ai-2+ai-1;for(i=0; i5; i+)if(i%2=0)printf(“/n“);printf(“%d“, ai);(分数:2.00)_53.下列

22、程序的输出结果是_。#includestdio.hint fun(int x)int p;if(x=0x=1)return 3;elsep=x-fun(x-2);return p;void main()printf(“/n%d“, fun(11);(分数:2.00)填空项 1:_以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。main()int i, a 20, sum, count;sum=count=0;for(i=0; i20; i+)scanf(“%d“, _);for(i=0; i20; i+)if(ai0)count+;sum+=_;printf(“su

23、m=%d, count=%d/n“, sum, count);(分数:4.00)填空项 1:_填空项 1:_二级 C语言笔试-218 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下叙述中错误的是( )。(分数:2.00)A.对于 double类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 D.可以通过赋初值的方式确定数组元素的个数解析:解析 数组下标从 0开始,当数组元素的下标超出了定义的范

24、围时,系统不会出“下标越界”的信息,运行会出错,因此在编程时务必检查下标是否越界。2.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。main()float a, b, c, t;scanf(“%f, %f, %f“, a, b, c);if(ab)t=a; a=b.b=t; )if(ac)t=a; a=c; c=t; )it(bc)t=b; b=c; c=t; printf(“%f/n%f/n%f/n“, a, b, c);(分数:2.00)A.1.002.003.00B.1.003.002.00C.132D.3.000002.000001.00000 解析:解析 本题考查

25、 if语句。第 1个 if语句,如果 ab,则 a与 b交换;第 2个 if语句,如果ac,则 a与 c交换;第 3个 if语句,如果 bc,则 b与 c交换。3 个 if语句结合起来实现的功能就是将 a、b、c 按从大到小排序。3.有以下程序:main()int i, j;for(j=10; j11; j+)for(i=9; ij; i+)if(!(j%i)break;if(i=j-1)printf(“gd“, j);输出结果是( )。(分数:2.00)A.11B.10 C.9D.10 11解析:解析 本题考查循环的使用,当 j=10,i=9 时,循环成立,第一个 if条件为假,第二个 if

26、条件i=j-1成立,则输出 j的值为 10,接着执行 i+后,i 为 10;当 i为 10,for 循环不成立,退出内层循环,此时执行 j+后,j 为 11,循环不成立,退出循环。4.下列程序的运行结果是( )。#includestdio.hvoid main()int s=0, k;for(k=7; k1; k-)switch(k)case 1:case 4:case 7:s+;break;case 2:case 3:case 6: break;case 0:case 5:s+=2:break;printf(“s=%d“, s);(分数:2.00)A.s=3B.s=4 C.s=5D.无输出结

27、果解析:解析 运行程序,当 k=7时 switch(7)执行 case: 7,s+后 s=1,break 跳出。k-,k=7 继续循环 switch(6),执行 case 6: 直接跳出循环,k-变成 5继续循环 switch(5)执行 case 5后面的语句 s+=2也相当于 s=s+2,此时 s为 3,break 跳出,k 变为 4继续循环,执行 case 4为空,继续执行 case 7: s+为 4跳出循环 k-变为 3,继续循环执行 case 3,空语句往下执行 case 6跳出。k-为 2,继续循环执行 case 2:空语句往下执行 case 3,空语句再执行 case 7跳出循环

28、k-为 1不符合循环退出,此时s=4。5.以下只有在使用时才为该类型变量分配内存的存储类型说明是( )。(分数:2.00)A.auto和 staticB.auto和 register C.register和 staticD.extern和 register解析:解析 在用静态 static与外部 extern定义变量时,系统立刻给其分配内存,而定义自动类 auto与强制放入寄存器 register类型变量时,只有当使用时才分配内存。6.表示关系 X=Y=Z 的 C语言表达式为(_)。(分数:2.00)A.(X=Y)(Y=Z) B.(X=Y)AND(Y=Z)C.(X=Y=Z)D.(X=Y)(Y=

29、Z)解析:解析 题中 X=Y=Z 的意思为 X=Y 并且 Y=z,在 C语言中,要表示“且”的关系,应用“与”逻辑运算符,即“”,故选择 A选项。7.下列可作为 C语言赋值的语句的是( )。(分数:2.00)A.x=3, y=5B.a=b=6C.i-; D.a, c解析:解析 本题考查赋值语句,而选项 A、B 是表达式,不合题意,选项 D中强制类型转换,应把类型名用括号括起来,选项 C中 i-也可写成 i=i-1,故选择 C选项。8.若变量 a,b 已正确定义,且 b已正确赋值,则合法的语句是( )。(分数:2.00)A.b=double(b);B.(int)a=(int)b; C.a=a+=

30、5;D.a=double(b);解析:解析 在 C语言中规定进行强制类型转换的格式是:(类型名)变量名;并且给表达式赋值。9.有下列程序段:int n, t=1, s=0;scanf(“%d“, n);dos=s+t; t=t-2; while(t!=n);为使此程序段不陷入循环,从键盘输入的数据应该是( )。(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数 解析:解析 本题主要考查 do-while循环,因为变量 t的初始值等于 1,经过第一次 do-while循环后,执行 t=t-1这条语句一次,所以变量 t的值为-1,判断关系表达式 t!=n是否成立,如果关系表

31、达式成立,则执行第二次循环,如果关系表达式不成立,退出循环。由此可见,只要输入变量 n的值为负奇数,则一定会使 t=n成立,则退出 do-while循环。10.下列叙述中正确的是( )。(分数:2.00)A.用 E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系 B.用 E-R图只能表示实体集之间一对一的联系C.用 E-R图只能表示实体集之间一对多的联系D.用 E-R图表示的概念数据模型只能转换为关系数据模型解析:解析 用 E-R图可以描述实体及其相互之间的联系,还可以描述多个实体集之间的联系和一个实体集内部实体之间的联系。用 E-R图表示的概念数据模型不仅能转换为关系数据模型

32、,还可以转换为其他数据模型,如网状模型和层次模型等。所以 A的说法正确。11.有下列函数定义:fun(float h)printf(“%f, %fkn“, h, h*h); 该函数的类型是( )。(分数:1.00)A.int类型 B.float类型C.void类型D.函数无类型说明,定义有错解析:解析 本题考查函数值的类型,在函数定义时,由于函数没有说明其类型,系统默认一律自动按整型(int)处理。12.设变量 a、b、c、d 和 Y都已正确定义并赋值。若有以下 if语句if(ab)if(C=d) y=0;else y=1;该语句所表示的含义是( )。(分数:1.00)A.y=0,ab 且 c

33、=dy=1,abB.y=0,ab 且 c=dy=1,ab 且 cdC.y=0,ab 且 c=dy=1,ab 且 cd D.y=0,ab 且 c=dy=1,cd解析:解析 语句“if(c=d)y=0;else y=1;”是 if(ab)语句的一个子句。所以整个语句表达式的意思是:在 ab 的情况下,如果 c=b则 y=0,否则 y=1。如果 ab 则执行第 2个 if语句如果 c等于 d那么 y=0,如果 c不等于 d,那么 y=1,所以,选项 C为正确答案。13.有以下程序:#includestdio.hvoid WriteStr(char *fn, char *str)FILE *fp;fp

34、=fopen(fn, “w“); fputs(str, fp); fclose(fp); main()WriteStr(“t1.dat“, “start“);WriteStr(“t1.dat“, “end“); 程序运行后,文件 t1. dat中的内容是( )。(分数:1.00)A.startB.end C.startendD.endrt解析:解析 用“w“方式打开文件,意思是如果文件名相同则覆盖原来的文件,所以当再次输入时覆盖了第一个次的内容 B选项正确。14.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。(分数:1.00)A.%、sizeof、=B.

35、sizeof、%、=、C.sizeof、%、=D.sizeof、%、= 解析:解析 主要考查运算符的优先级。sizeof 的优先级最高,其次的顺序是:%,优先级最低的是“=”。15.若整型变量 a、b、c、d 中的值依次为 2、2、3、4,则条件表达式 ab?a: cd?c:d 的值是( )。(分数:1.00)A.1B.2C.3 D.4解析:解析 本题考查三目运算符 ab?a: cd?c: d 也可写成 ab?a: (cd?c: d),所以根据优先级,先算括号内的 c小于 d为真取 c的值,再看 a小于 b为假,所以取 c的值。16.在执行完下列的 C语句段之后,则 B的值是( )。char

36、a=A;int b;B=(3456)(ab);(分数:1.00)A.0B.1 C.TRUED.FALSE解析:解析 本题考查 3个知识点:将一个字符赋给一个字符变量时,是将该字符对应的 ASCII码存储到内存单元中;常见 ASCII码的值如 A和 a;只要逻辑与运算符的两个运算对象都为真时,返回值就是 1。17.设有如下定义:int (*ptr)();则以下叙述中正确的是( )。(分数:1.00)A.ptr是指向一维组数的指针变量B.ptr是指向 int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个 int型数据 D.ptr是一个函数名,该函数的返回值是指 int型数据的指针解析:

37、解析 本题中 int(*ptr)()的含义是指向函数的指针变量,其为指向函数的指针变量,该函数返回一个 int型数据,故选择 C选项。18.执行下列程序中的输出语句后,a 的值是( )。main()int a;printf(“%d/n“, (a=2*3, a*5, a+7);(分数:1.00)A.17B.37C.6 D.13解析:解析 本题考查逗号表达式。程序输出时输出一个%d,所以输出第一个 a的值与后续无关。19.执行下面的程序后,a 的值为( )。main()int a, b;for(a=1, b=1; a=10; a+)if(b%3=1)b+=3;continue; b-=5; )(分

38、数:1.00)A.7B.8C.9D.10 解析:解析 本题考查 continue的用法,continue 语句的作用是结束本次循环,直接进行下次循环。所以在程序中,只有当 a=10时,才退出循环,故选择 D选项。20.有以下程序:#includestdio.hmain()char c1, c2, c3, c4, c5, c6;scanf(“%c%c%c%C“, c1, c2, c3, c4);c5=getchar(); c6=getchar();putchar(c1); putehar(c2);printf(“%c%c/n“, c5, c6);程序运行后,若从键盘输入(从第 1列开始)123回

39、车45678回车则输出结果是( )。(分数:1.00)A.1267B.1256C.1278D.1245 解析:解析 scanf 函数读取的是 char型数据,所以回车时输入的换行符也是有效字符。于是c1,c2,c3,c4 的内容分别是 1,2,3,/n。21.设有如下定义:int arrp=6, 7, 8, 9, 10;int *ptr;ptr=arr;*(ptr2)=2;printf(“%d, %d/n“, *ptr, *(ptr2);则下列程序段的输出结果为( )。(分数:2.00)A.8,10B.6,8C.7,9D.6,2 解析:解析 程序中 ptr指针指向数组 arr的首地址,*ptr

40、=arr0=6, *(ptr2)=2,故选 D。22.下列叙述中正确的是( )。(分数:2.00)A.只能在循环体内和 switch语句体内使用 break语句 B.cotinue语句的作用是结束整个循环的执行C.在循环体内使用 break语句或 continue语句的作用相同D.从多层循环嵌套中退出时,只能使用 goto语句解析:解析 本题考查循环跳出的知识点:break 语句可以出现在 switch循环体内及语句体内,它的作用是跳出循环体,不能用于其他的语句;continue 语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,而接着判定循环条件是否成立,确定下一次循环是否继续执行

41、,执行 contiune语句不会使整个循环终止;循环体内使用 break语句会使循环提前终止;从多层循环嵌套中退出时,可以使用 goto语句或者 break语句。23.设 x=015,则 x=x017的值是( )。(分数:2.00)A.00001111B.11111101C.00000010 D.11000000解析:解析 本题考查按位异或运算,异或就是相同为 0,不同为 1(化为二进制 00001101),017 的二进制为 000001111,两者异或结果为 00000010。24.数字字符 0的 ASCII值为 48,运行以下程序的输出结果是( )。main()char a=1, b=2

42、;printf(“%c, “, b+); printf(“%d/n“, b-a); (分数:2.00)A.3,2B.50,2C.2,2 D.2,50解析:解析 b+是先用表达式的值然后自增 1,因此表达式值为2,b 为3; b-a=3-1=2,因此最后输出的结果为 2,2,前一个为字符 2,后一个为数字 2。25.下列叙述中错误的是( )。(分数:2.00)A.线性表是由 n个元素组成的一个有限序列B.线性表是一种线性结构C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表解析:解析 线性表可以是空表,在线性表中,第一个结点没有前驱结点(前件),最后一个结点没有后继结点,其他结点有

43、且只有一个前驱点(后继点)。26.以下程序执行后 sum的值是( )。main()int i, sum;for(i=1; i6; i+)sum+=i;printf(“%d/n“, sum);(分数:2.00)A.15B.14C.不确定 D.0解析:解析 sum+=i 等价于 sun+i,在本题中 sum没有赋初值,而题中只输出 sum的值,因此整个结果为不确定值。27.设有定义的语句:“char c1=92, c2=92;”,则以下表达式中的值为零的是( )。(分数:2.00)A.c1c2 B.c1c2C.c2D.c1|c2解析:解析 当值相同时按位异或则为 0,按位或与按位与时仍不变,负数也

44、为非 0。28.若 i、j 已定义成 int型,则下列程序段中内循环体的总执行次数是( )。for(i=6; i0; i-)for(j=0; j4; j+)(分数:2.00)A.20B.24 C.25D.30解析:解析 本题考查 for循环的使用。对于第 1个 for循环,任何一个 i,内层 j的循环都要使 j0到 3,j=4 时不符合所以退出 j循环;然后 i减 1,j 仍然要从 03,j=4 时退出 j循环直到 i变成 0,退出 i循环。第一条 for语句执行 6次,第二条 for语句执行 4次,所以内循环体执行 6*4=24次。29.软件生命周期中,花费最多的阶段是( )。(分数:2.0

45、0)A.详细设计B.软件编码C.软件测试D.软件维护 解析:解析 本题考查对软件生命周期的理解,软件生命周期整体上可分为定义阶段、开发阶段和维护阶段。其中定义阶段包括可行性研究与计划制订和需求分析;开发阶段包括概要设计、详细设计、开发和测试;维护阶段是一个单独阶段,不包含在开发阶段内。它是所花费用最多的一个阶段。30.设有定义语句:int x6=2, 4, 6, 8, 5, 7), *p=x, i;要求依次输出 X数组 6个元素中的值,不能完成此操作的语句是( )。(分数:2.00)A.for(i=0; i6; i+)printf(“%2d“, *(p+);B.for(i=0; i6; i+)

46、printf(“%2d“, *(p+i);C.for(i=0; i6; i+)printf(“%2d“, *p+);D.for(i=0; i6; i+)printf(“%2d“, *(p)+); 解析:解析 本题要求输出每个元素的值,D 选项中(*p)+等价于*p=*p+1,其仅仅是对*p 加 1,并没有达到输出其每个值的作用。31.执行下列程序后,输出的结果是( )。#includestdio.h#define S(X)X*Xvoid main()int a=9, k=3, m=2;a/=S(k+m)/S(k+m);printf(“%d“, a);(分数:2.00)A.1B.4C.9D.0 解析:解析 本题主要考查带参数的宏定义,过程如下:由于定义为 define(x) x*x没有括号优先级所以:a=a/(S(k+m),/S(k+m)=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。32.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.顺序存储的有序线性表 B.结性链表C.二叉链表D.有序线性链表解析:解析 二分法查找只用于顺序存储的有序线性表,而顺序查找用在顺序存储的非有序线性表和线性链表。33.设有程序段:int k=12;while(

展开阅读全文
相关资源
猜你喜欢
  • GOST 8 229-2013 State system for ensuring the uniformity of measurements Infrared spectrophotometers Verification procedure《确保测量一致性的国家系统 红外分光光度计 验证程序》.pdf GOST 8 229-2013 State system for ensuring the uniformity of measurements Infrared spectrophotometers Verification procedure《确保测量一致性的国家系统 红外分光光度计 验证程序》.pdf
  • GOST 8 231-1984 State system for ensuring the uniformity of measurements State primay standard and all-union verification schedule for means measuring magnetic moment magnetic susc.pdf GOST 8 231-1984 State system for ensuring the uniformity of measurements State primay standard and all-union verification schedule for means measuring magnetic moment magnetic susc.pdf
  • GOST 8 234-2013 State system for ensuring the uniformity of measurements Volumetric glass ware Verification procedure《确保测量一致性的国家系统 容量玻璃器 验证程序》.pdf GOST 8 234-2013 State system for ensuring the uniformity of measurements Volumetric glass ware Verification procedure《确保测量一致性的国家系统 容量玻璃器 验证程序》.pdf
  • GOST 8 235-1977 State system for ensuring the uniformity of measurements Measuring rack wheels Methods and means of verification《ГСИ 测量用标准齿轮 检定方法与工具》.pdf GOST 8 235-1977 State system for ensuring the uniformity of measurements Measuring rack wheels Methods and means of verification《ГСИ 测量用标准齿轮 检定方法与工具》.pdf
  • GOST 8 236-1977 State system for ensuring the uniformity of measurements Measuring knives Methods and means of verification《国家测量统一性保证体系 测量刀具 验收方法和装置》.pdf GOST 8 236-1977 State system for ensuring the uniformity of measurements Measuring knives Methods and means of verification《国家测量统一性保证体系 测量刀具 验收方法和装置》.pdf
  • GOST 8 237-2003 State system for ensuring the uniformity of measurements Single-value electrical resistance measures Verification procedure《ГСИ 测量用电阻线圈 检定方法与工具》.pdf GOST 8 237-2003 State system for ensuring the uniformity of measurements Single-value electrical resistance measures Verification procedure《ГСИ 测量用电阻线圈 检定方法与工具》.pdf
  • GOST 8 239-1977 State system for ensuring the uniformity of measurements Polarimetric plates Methods and means of calibration《国家测量统一性保证体系 偏振板 校正方法及工具》.pdf GOST 8 239-1977 State system for ensuring the uniformity of measurements Polarimetric plates Methods and means of calibration《国家测量统一性保证体系 偏振板 校正方法及工具》.pdf
  • GOST 8 240-1977 State system for ensuring the uniformity of measurements Measuring transducers for pressure differences with unified current output signals of the SSI Methods and m.pdf GOST 8 240-1977 State system for ensuring the uniformity of measurements Measuring transducers for pressure differences with unified current output signals of the SSI Methods and m.pdf
  • GOST 8 243-1977 State system for ensuring the uniformity of measurements Measuring transducers for pressure differences with unified mutual inductance output parameters of the SSI .pdf GOST 8 243-1977 State system for ensuring the uniformity of measurements Measuring transducers for pressure differences with unified mutual inductance output parameters of the SSI .pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1