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

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

1、二级 C 语言-23 及答案解析(总分:74.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:43.00)1.以下数据结构中不属于线性数据结构的是_。 A. 队列 B. 线性表 C. 二叉树 D. 栈(分数:2.00)A.B.C.D.2.有以下程序# define f(x) (x*x)main() int i1, i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);printf(“%d, %d/n“,i1,i2);程序运行后的输出结果是_。 A. 64, 28 B. 4, 4 C. 4, 3 D. 64, 64(分数:2.00)A.B.C.D.3.下列程序的运

2、行结果是( )。main() int x=1,y=3,a=0;while(x+!=(y-=1) a+=1;if(yx)break;printf(“%d,%d,%d/n“,x,y,a); A. 2,3,2 B. 2,3,1 C. 1,3,3 D. 3,1,2(分数:1.00)A.B.C.D.4.有以下程序:#include stdio.hint f(int n) if(n=1) return 1; else return f(n-1) +1; main() inti, j=0; for(i=1; i3; i+) j+=f(i); print(“%d/n“, j); 程序运行后的输出结果是( )。

3、 A. 4 B. 3 C. 2 D. 1(分数:1.00)A.B.C.D.5.a、b 和 c 都是 int 型变量,且 a3,b4,c5,则下面的表达式中,值为 0 的表达式是 ( ) A.aprintf(“%o %o/n“, m,n);程序运行后的输出结果是_。 A. 0256 0400 B. 0256 256 C. 256 400 D. 400 400(分数:1.00)A.B.C.D.7.阅读以下程序#includestdio.hmain() int case; float printF;printf(“请输入 2 个数:“);scanf(“%d %f“, printf(“%d %f/n“

4、, case, printF);该程序编译时产生错误,其出错原因是 A. 定义语句出错,case 是关键字,不能用作用户自定义标识符 B. 定义语句出错,printF 不能用作用户自定义标识符 C. 定义语句无错,scanf 不能作为输入函数使用 D. 定义语句无错,printf 不能输出 case 的值(分数:1.00)A.B.C.D.8.已知下面的程序段,正确的判断是_。#define A3#define B(A) (A+1)*a)int a=3;X=3*(A+B(7); A. 程序错误,不允许嵌套定义 B. X=93 C. )X=81 D. 程序错误,宏定义不允许有参数A.B.C.D.9

5、.下面程序的运行结果是#includestdio.hmainU /U int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b); A. a=3,b=11 B. a=2,b=8 C. a=1,b=-1 D. a=4,b=9(分数:2.00)A.B.C.D.10.关系表中的每一横行称为一个( )。 A. 元组 B. 字段 C. 属性 D. 码(分数:1.00)A.B.C.D.11.若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是U /U。 A. p1=p2=p1;(分数:1.00)A.B.C.D.12.对长度为

6、4 的顺序表进行查找,若第一个元素的概率为 1/8,第二个元素的概率为 1/4,第三个元素的概率 3/8,第四个元素的概率为 1/4,则查找任一元素的平均查找长度为_。 A. 11/8 B. 7/4 C. 9/4 D. 11/4(分数:1.00)A.B.C.D.13.规范化理论中,分解_主要是消除其中多余的数据相关性。 A. 关系运算 B. 内模式 C. 外模式 D. 视图(分数:1.00)A.B.C.D.14.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x 的值不为 3 的是 A. if (ca) x=1; else if (ba) x=2; else x=

7、3; B. if (a3) x=3; else if (ba) x=2; else x=1; C. if (a D. if (ab) x=b; if (bc) x=c; if (ca) x=a;(分数:1.00)A.B.C.D.15.以下选项中可作为 C 语言合法常量的是_。 A. -80. B. -080 C. -8e1.0 D. -80.0e(分数:1.00)A.B.C.D.16.以下叙述中正确的是U /U。 A. 构成 C 程序的基本单位是函数 B. 可以在一个函数中定义另一个函数 C. main 函数必须放在其他函数之前 D. C 函数定义的格式是 K B. char a = 0,1,

8、2,3,4,5; C. char a = A,B,C ; D. int a5 = “0123“;(分数:1.00)A.B.C.D.18.若有以下程序:#includestdio.hvoid f(int n);mainU /U void f(int n);f(5);void f(int n) printf(“%d/n“,n);则下列叙述中不正确的是 A. 若只在 main 中对函数 f 进行说明,则只能在 main 中正确调用函数 f B. 在 main 前对函数 f 进行说明,则在 main 和其后的其他函数中都可以正确调用函数 f C. 对于以上程序,编译时系统会提示出错信息:提示对 f 函

9、数重复说明 D. 函数 f 无返回值,所以可用 void 将其类型定义为无返回值型(分数:2.00)A.B.C.D.19.下列不正确的表达式是 U /U A. abc B. c-,+b,a+1 C. a=c+bn-mk D. p+(分数:1.00)A.B.C.D.20.以下程序运行后的输出结果是#includestdio.hint f(int n);main() int a=3, s;s=f(a); s=s+f(a); printf(“%d/n“, s);int f(int n) static int a=1;n+=a+;return n; A. 7 B. 8 C. 9 D. 10(分数:2.

10、00)A.B.C.D.21.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是U /U。 A. 冒泡排序为 n(n-1)/2 B. 简单插入排序为 n C. 希尔排序为 n D. 快速排序为 n/2(分数:2.00)A.B.C.D.22.以下对 C 语言函数的有关描述中,正确的是_。 A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. 函数既可以嵌套定义,又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. 有调用关系的所有函数必须放在同一个源程序文件中(分数:1.00)A.B.C.D.23.下列程序的输出结果是 U /Umain()

11、 char ch 25“6934“,“8254“,*p2;int i,j,s0;for(i=0;i2;i+)pichi;for(i=0;i2;i+)for(j=0;pij/0a=d/10%9;b=aprintf(“%d,%d/n“,a,b);程序运行后的输出结果是_。 A. 6,1 B. 2,1 C. 6,0 D. 2,0(分数:1.00)A.B.C.D.27.在关系数据库中,对一个关系做投影操作后,新关系的元组个数将 U /U A. 等于原来关系中的元组个数 B. 大于原来关系中的元组个数 C. 小于原来关系中的元组个数 D. 不能确定元组个数(分数:1.00)A.B.C.D.28.如下程序

12、的输出结果是U /U。#includestdio.hmain() float x=20,y;if(x0.0)y=0.0;else if (x10.0)y=1.0/x;else y=110;printf(“%f,y); A. 0.000000 B. 0.250000 C. 0.500000 D. 1.000000(分数:1.00)A.B.C.D.29.已知字母 A 的 ASCII 代码值为 65,若变量 kk 为 char 型,下列不能正确判断出比中的值为大写字母的表达式是( )。 A. kk=A A. p+=2,*(p+) B. p+=2,*+p C. p+=3,*p+ D. p+=2,+*p

13、(分数:2.00)A.B.C.D.34.冒泡排序在最坏情况下的比较次数是_。 A. n(n+1)/2 B. nlog2n C. n(n-1)/2 D. n/2(分数:2.00)A.B.C.D.35.以下正确的程序段是 A. cgar str20; scanf(“s“, r=f(r,printf(“%d/n“,*r); int *f(int *p,int *q) return(*p*q)?p:q; 程序运行后的输出结果是_。(分数:4.00)填空项 1:_37.若有说明 char s1=“That girl“,s2=“is beautiful“;则使用函数 strcmp(s1,s2)g,结果是

14、1。(分数:2.00)填空项 1:_38.下面程序的运行结果是_ #indude stdio.h main() int Y,a; y=2, a=1; while(y-!=-1) doa*=y; a+; while(y-); printf(“%d, %d“, a, y);(分数:2.00)填空项 1:_39.在面向对象方法中,类之间共享属性和操作的机制称为U U /U /U。(分数:2.00)填空项 1:_40.fun 函数的功能是:首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中的最小的那个数作为函数值返回。请填空。 #includestdioh #def

15、ine N 100 int fun(int(*a)N) int row,col,max,min; for(row=0;rowN;row+) for(max=arow0,col=1;colN;col+) if(U U /U /U)max=arowcol; if(row=0)min=max; else if(U U /U /U)min=max; return min; (分数:1.00)填空项 1:_41.若整型变量 a 和 b 中的值分别为 7 和 9,要求按以下格式输出 a 和 b 的值: a=7 b=9 请完成输出语句:printf(“U U /U /U“,a,b);。(分数:2.00)填空

16、项 1:_42.x、y、x 均为 int 型变量,描述“x、y 和 z 中至少有两个为正数”的表达式是 1。(分数:2.00)填空项 1:_43.以下程序的作用是:从名为 fileadat 的文本文件中逐个读入字符并显示在屏幕上。请填空。 #include stdioh main() FILE *fp; char ch; fp=fopen(U U /U /U); ch=fsetc(fp); while(! feof (fp) putchar(ch); ch=fgetc(fp); putchar(/n); fclose(fp);(分数:2.00)填空项 1:_44.一个类可以从直接或间接的祖先中

17、继承所有属性和方法。采用这个方法提高了软件的 1。(分数:2.00)填空项 1:_45.在对文件进行操作的过程中,若要求文件的位置指针重新指向文件的开头,应当调用的函数是U U /U /U函数。(分数:2.00)填空项 1:_46.若有定义 float b15,*p=b;,且数组 b 的首地址为 200H,则 p+13 所指向的数组元素的地址为 1。(分数:2.00)填空项 1:_47.设 x、y、z 为整型变量,且 x=2,y=3,z=4,当执行以下语句后,x 的值是_。 x*=(y+)+(-z);(分数:1.00)填空项 1:_48.有以下程序: #include stdio.h main

18、() int a33=1,2,3,4,5,6,7,8,9; int b3=0,i; for(i=0;i3;i+) bi=ai2+a2i; for(i=0;i3;i+) printf(“%d“,bi); printf(“/n“); 程序运行后的输出结果是_。(分数:4.00)填空项 1:_49.以下程序的输出结果是_。 #include stdio.h void swap(int *a, int *b) int *t; t=a;a=b;b=t; main( ) int i=3,j=5,*p=i,*q=j; swap(p,q); printf(“%d %d/n“,*p,*q); (分数:2.00)

19、填空项 1:_50.函数 delete(s,i,n)是作用是从字符串 s 中删除从第 i 个字符开始的 n 个字符,请填空。 void delete(char s, int i,int n) int j,k,length=0; while(slength) U U /U /U;-i; j=i; if(U U /U /U) k=i+n; if(i+n=length) while(klength) sj+=sk+; sj/0; (分数:1.00)填空项 1:_二级 C 语言-23 答案解析(总分:74.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:43.00)1.以下数据结构中

20、不属于线性数据结构的是_。 A. 队列 B. 线性表 C. 二叉树 D. 栈(分数:2.00)A.B.C. D.解析:2.有以下程序# define f(x) (x*x)main() int i1, i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);printf(“%d, %d/n“,i1,i2);程序运行后的输出结果是_。 A. 64, 28 B. 4, 4 C. 4, 3 D. 64, 64(分数:2.00)A.B.C. D.解析:3.下列程序的运行结果是( )。main() int x=1,y=3,a=0;while(x+!=(y-=1) a+=1;if(yx)brea

21、k;printf(“%d,%d,%d/n“,x,y,a); A. 2,3,2 B. 2,3,1 C. 1,3,3 D. 3,1,2(分数:1.00)A.B.C.D. 解析:解析 本题考查 while 循环。第一次循环,先拿 x 的值和(y-1)比较,此时 x=1,y-1-2,循环条件成立,比较完将 x 的值加 1,此时 x=2,进入循环,a-a+1=1,判断 if 语句的控制条件是否成立,yx不成立,接着执行下一次循环。第二欲循环,先拿 x 的值和(y-1)比较,此时 x-2,y-1=1,循环条件成立,比较完将 x 的值加 1,此时 x=3,进入循环,a=a+1=2,判断 if 语句的控制条件

22、是否成立,yx 成立,执行 break 语句退出循环。4.有以下程序:#include stdio.hint f(int n) if(n=1) return 1; else return f(n-1) +1; main() inti, j=0; for(i=1; i3; i+) j+=f(i); print(“%d/n“, j); 程序运行后的输出结果是( )。 A. 4 B. 3 C. 2 D. 1(分数:1.00)A.B. C.D.解析:解析 在 mam 函数中,对 f(1)和 f(2)的值进行了累加。f(1)=1,f(2)=f(1)+1=2 最后,j 的值为1+2=3。5.a、b 和 c

23、 都是 int 型变量,且 a3,b4,c5,则下面的表达式中,值为 0 的表达式是 ( ) A.aprintf(“%o %o/n“, m,n);程序运行后的输出结果是_。 A. 0256 0400 B. 0256 256 C. 256 400 D. 400 400(分数:1.00)A.B.C. D.解析:解析 在本题的赋值语句中,对 m 进行的赋值显然是一个八进制数,而 n 则是一个十进制的整数,最终程序要求的输出形式为八进制数输出。所以此时应该把 n 转换成十进制数,即 400 输出。答案应该选C。7.阅读以下程序#includestdio.hmain() int case; float

24、printF;printf(“请输入 2 个数:“);scanf(“%d %f“, printf(“%d %f/n“, case, printF);该程序编译时产生错误,其出错原因是 A. 定义语句出错,case 是关键字,不能用作用户自定义标识符 B. 定义语句出错,printF 不能用作用户自定义标识符 C. 定义语句无错,scanf 不能作为输入函数使用 D. 定义语句无错,printf 不能输出 case 的值(分数:1.00)A. B.C.D.解析:解析 该程序编译时出现语法错误:Declaration syntax error in function main。其错误原因是 cas

25、e 是关键字,不能用作用户自定义标识符。8.已知下面的程序段,正确的判断是_。#define A3#define B(A) (A+1)*a)int a=3;X=3*(A+B(7); A. 程序错误,不允许嵌套定义 B. X=93 C. )X=81 D. 程序错误,宏定义不允许有参数A.B.C. D.解析:解析 本题的宏定义是合法的,宏定义展开为 3*(3+(A+1)*a)=3*(3+(7+1)*3)=819.下面程序的运行结果是#includestdio.hmainU /U int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);

26、 A. a=3,b=11 B. a=2,b=8 C. a=1,b=-1 D. a=4,b=9(分数:2.00)A.B. C.D.解析:解析 本题考查两个知识点:自加自减运算符和 do-while 循环语句。do-while 循环条件是 b-0,所以循环体语句只执行一次。10.关系表中的每一横行称为一个( )。 A. 元组 B. 字段 C. 属性 D. 码(分数:1.00)A. B.C.D.解析:解析 关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段;在二维表中凡能唯一标识元组的最小属性集称为该表的键或码。11.若有说明:int*p1,*p2,n=8,m;

27、下列均是正确赋值语句的选项是U /U。 A. p1=p2=p1;(分数:1.00)A.B.C.D. 解析:解析 本题考查指针变量的赋值。 选项 A)中,p1、p2 本身都是地址变量,不能再将 p1 取地址赋给 p2:选项 B)中,不能将整型数据直接赋值给指针型数据;选项 C)中,*p2 代表了一个整型变量,而*p2=p1 这个语句试图把一个地址值放入一个整犁变量中是错误的;选项 D)中指针问的赋值是正确的。12.对长度为 4 的顺序表进行查找,若第一个元素的概率为 1/8,第二个元素的概率为 1/4,第三个元素的概率 3/8,第四个元素的概率为 1/4,则查找任一元素的平均查找长度为_。 A.

28、 11/8 B. 7/4 C. 9/4 D. 11/4(分数:1.00)A.B.C. D.解析:13.规范化理论中,分解_主要是消除其中多余的数据相关性。 A. 关系运算 B. 内模式 C. 外模式 D. 视图(分数:1.00)A. B.C.D.解析:解析 数据库规范化的基本思想是逐步消除数据依赖中不合适的部分,根本思想是通过分解关系运算来消除多余的数据相关性。14.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x 的值不为 3 的是 A. if (ca) x=1; else if (ba) x=2; else x=3; B. if (a3) x=3; else

29、 if (ba) x=2; else x=1; C. if (a D. if (ab) x=b; if (bc) x=c; if (ca) x=a;(分数:1.00)A.B.C. D.解析:解析 选项 A),B)考查了多分支结构的用法,选项 A)中的程序段执行时,ca,ba 条件均不成立,故执行 else 后的语句,x 值为 3;选项 B)中 a3 条件成立,执行 x=3;而选项 C),D)是单分支结构的用法,选项 C)中程序段执行时,a15.以下选项中可作为 C 语言合法常量的是_。 A. -80. B. -080 C. -8e1.0 D. -80.0e(分数:1.00)A. B.C.D.解

30、析:解析 C 语言中实数常数的科学表示法规定格式为:“实数 e 整数”或“实数 E 整数”,其中幂是整数,不能写成实数。e(或 E)前后的实数和整数都不能省略掉,因此选项 C 和 D 都是错误的。选项 B的-080,由于 C 语言规定 0 开头的是八进制数,0x(0X)开头的是十六进制数。而八进制数数字是 07,出现 8 是错误的,因此选项 B 也是错误的。只有选项 A 是正确的。实数的小数点前后的数字都可以不写。16.以下叙述中正确的是U /U。 A. 构成 C 程序的基本单位是函数 B. 可以在一个函数中定义另一个函数 C. main 函数必须放在其他函数之前 D. C 函数定义的格式是

31、K B. char a = 0,1,2,3,4,5; C. char a = A,B,C ; D. int a5 = “0123“;(分数:1.00)A.B. C.D.解析:解析 选项 A)定义的是长度为 5 的数组元素,但初值有 6 个元素,所以错误;选项 C)不符合数组定义形式,数组名后应加上“;选项 D)的类型说明符错误,应改为 char;选项 B)中的0,1,2,3,4,5 分别表示对应字符的 ASCII 码,所以正确。18.若有以下程序:#includestdio.hvoid f(int n);mainU /U void f(int n);f(5);void f(int n) pri

32、ntf(“%d/n“,n);则下列叙述中不正确的是 A. 若只在 main 中对函数 f 进行说明,则只能在 main 中正确调用函数 f B. 在 main 前对函数 f 进行说明,则在 main 和其后的其他函数中都可以正确调用函数 f C. 对于以上程序,编译时系统会提示出错信息:提示对 f 函数重复说明 D. 函数 f 无返回值,所以可用 void 将其类型定义为无返回值型(分数:2.00)A.B.C. D.解析:解析 f 函数没有重复说明,在 main 函数中是对 f 函数声明,main 函数外则是对 f 函数的定义。19.下列不正确的表达式是 U /U A. abc B. c-,+

33、b,a+1 C. a=c+bn-mk D. p+(分数:1.00)A.B.C. D.解析:20.以下程序运行后的输出结果是#includestdio.hint f(int n);main() int a=3, s;s=f(a); s=s+f(a); printf(“%d/n“, s);int f(int n) static int a=1;n+=a+;return n; A. 7 B. 8 C. 9 D. 10(分数:2.00)A.B.C. D.解析:解析 本题考查静态局部变量。第一次调用 f 函数时,将实参 a 值 3 传给形参变量 n,此时,静态局部变量 a 的值为 1,经过 n+=a+运

34、算后,n 为 4,a 为 2,return 语句将 4 带回到 main 函数赋给 s;第二次调用 f 函数时,将实参 a 值 3(注意,实参 a 的值并未改变)传给变量 n,此时,静态局部变量 a 的值为 2,经过 n+=a+运算后,n 为 5,a 为 3,return 语句将 5 带回到 main 函数,s=s+f(a)=4+5=9。21.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是U /U。 A. 冒泡排序为 n(n-1)/2 B. 简单插入排序为 n C. 希尔排序为 n D. 快速排序为 n/2(分数:2.00)A. B.C.D.解析:解析 在最坏情

35、况下,冒泡排序所需要的比较次数为 n(n-1)/2;简单插入排序所需要的比较次数为 n(n-1)/2;希尔排序所需要的比较次数为 O(n1.5);堆排序所需要的比较次数为 O(nlog2n)。22.以下对 C 语言函数的有关描述中,正确的是_。 A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. 函数既可以嵌套定义,又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. 有调用关系的所有函数必须放在同一个源程序文件中(分数:1.00)A. B.C.D.解析:23.下列程序的输出结果是 U /Umain() char ch 25“6934“,“8254“,*p2;i

36、nt i,j,s0;for(i=0;i2;i+)pichi;for(i=0;i2;i+)for(j=0;pij/0a=d/10%9;b=aprintf(“%d,%d/n“,a,b);程序运行后的输出结果是_。 A. 6,1 B. 2,1 C. 6,0 D. 2,0(分数:1.00)A.B. C.D.解析:解析 C 语言中,若/符号两边都为整数,则返回的是运算结果的整数部分。%是取余运算,运算对象只能是整数,结果是两数相除后所得的余数,若运算量为负数,则结果的符号与被除数相同。因此,a=d/10%9=25/10%9=2%9=2。C 语言中没有专门的逻辑值,而是用整型值代替:非零整数表示逻辑真,零

37、表示逻辑假;逻辑真的值为 1,逻辑假的值为 0。所以,b=a A. p+=2,*(p+) B. p+=2,*+p C. p+=3,*p+ D. p+=2,+*p(分数:2.00)A. B.C.D.解析:解析 引用一个数组元素,可以用:(1)下标法,如 ai形式;(2)指针法,如*(a+i)或*(p+i)。数组的下标从 0 开始,值为 3 的数组元素是 a2。B、C 的内容为 a3,D 将 a2前自加,结果为 4。34.冒泡排序在最坏情况下的比较次数是_。 A. n(n+1)/2 B. nlog2n C. n(n-1)/2 D. n/2(分数:2.00)A.B.C. D.解析:解析 在最坏情况下

38、冒泡排序法需要比较的次数为 n(n-1)/2。35.以下正确的程序段是 A. cgar str20; scanf(“s“, r=f(r,printf(“%d/n“,*r); int *f(int *p,int *q) return(*p*q)?p:q; 程序运行后的输出结果是_。(分数:4.00)填空项 1:_ (正确答案:2)解析:解析 本题中 f 函数的功能是返回指针 p 与指针 q 所指元素中较大的那个元素的地址,从函数调用可知,在参数传递过程中变量 m 的地址传给了指针 p,变量 n 的地址传给了指针 q,因为 n 的值 2 大于m 的值 1,所以返回的是变量 n 的地址。在主函数中用

39、来接收 f 函数返回值的变量是指针型变量 r,所以r 就变成了变量 n 的地址,所以*r 即为 2。37.若有说明 char s1=“That girl“,s2=“is beautiful“;则使用函数 strcmp(s1,s2)g,结果是 1。(分数:2.00)填空项 1:_ (正确答案:-1)解析:解析 strcmp(s1,s2)函数的作用是:对字符数组 s2 和字符数组 s1 进行比较。如果 s1s2,则返回负数;如果 s1=s2,则返回 0;如果 s1s2,则返回正数。38.下面程序的运行结果是_ #indude stdio.h main() int Y,a; y=2, a=1; wh

40、ile(y-!=-1) doa*=y; a+; while(y-); printf(“%d, %d“, a, y);(分数:2.00)填空项 1:_ (正确答案:1,-2)解析:解析 考查嵌套的循环结构。题中外层 while 循环的循环条件是 y-!-1,即 y=0;内层dowhile 循环的循环条件是 y-,即 y-0,y=1。39.在面向对象方法中,类之间共享属性和操作的机制称为U U /U /U。(分数:2.00)填空项 1:_ (正确答案:继承)解析:解析 类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已

41、定义的类的基础上定义,这样使该类型继承了其超类的属性和方法,当然,也可以定义自己的属性和方法。40.fun 函数的功能是:首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中的最小的那个数作为函数值返回。请填空。 #includestdioh #define N 100 int fun(int(*a)N) int row,col,max,min; for(row=0;rowN;row+) for(max=arow0,col=1;colN;col+) if(U U /U /U)max=arowcol; if(row=0)min=max; else if(U U

42、/U /U)min=max; return min; (分数:1.00)填空项 1:_ (正确答案:13arowcolmax 或 arowcol=max 或max=arowcol或 maxarowcol 14maxmin 或 minmax 或 max=min 或 min=max)解析:解析 本题有两层 for 循环,主函数中定义了整型变量 row、col、max 和 min,其中 row 用来存放外循环中的循环次数,col 用来存放内循环中的次数,max 记录每行中的最大值, min 记录所有行中最大值中的最小值。在内循环中,首先给 max 赋初值为每行的第 0 列元素值,然后从第一列开始依次

43、与 max进行比较。如果大于 max 则将其值赋给 max,当每一行循环结束,max 记录了每一行的最大值。所以第一个空应该填 arowcolmax 或 arowcol=max。退出内循环,在第一次退出内循环时,将 min 赋初值为第 0 行的 max,然后在每次退出内循环时,将 min 和每行的 max 比较,如果大于 max,则将 max 值赋 min,所以第二个空应该填 maxmin 或 minmax,当退出外循环时,min 为所有行中的最大值的最小值。41.若整型变量 a 和 b 中的值分别为 7 和 9,要求按以下格式输出 a 和 b 的值: a=7 b=9 请完成输出语句:printf(“U U /U /U“,a,b);。(分数:2.00)填空项 1:_ (正确答案:a=%d/nb=%d/n 或 a=%d/nb=%d 评听:在 printf 的格式控制符中,一般由“”和格式字符组成,如%d 等,它的作用是将输出的数据转换为指定的格式输出,格式说明总是由“”字符开始。%d 代表以整型数据的实际长度输出。格式控制符中的其他字符按原样输出。另外如果要输出回车符,则必需用/n 这个转义字符,即表示输出时换行。)解析:42.x、y、x 均为 int 型变量,描述“x、y 和 z 中至少有两个为正数”的表达式是 1。(分数:2.00)填空项 1:_

展开阅读全文
相关资源
猜你喜欢
  • IEC 61158-5-15-2010 Industrial communication networks - Fieldbus specifications - Part 5-15 Application layer service definition - Type 15 elements《工业通信网络.现场总线规范.第5-15部分 应用层设备定义.15型元件》.pdf IEC 61158-5-15-2010 Industrial communication networks - Fieldbus specifications - Part 5-15 Application layer service definition - Type 15 elements《工业通信网络.现场总线规范.第5-15部分 应用层设备定义.15型元件》.pdf
  • IEC 61158-5-16-2007 Industrial communication networks - Fieldbus specifications - Part 5-16 Application layer service definition - Type 16 elements《工业通讯网络.数据总线规范.第5-16部分 应用层设备定义.16型元件》.pdf IEC 61158-5-16-2007 Industrial communication networks - Fieldbus specifications - Part 5-16 Application layer service definition - Type 16 elements《工业通讯网络.数据总线规范.第5-16部分 应用层设备定义.16型元件》.pdf
  • IEC 61158-5-17-2007 Industrial communication networks - Fieldbus specifications - Part 5-17 Application layer service definition - Type 17 elements《工业通讯网络.现场总线规范.第5-17部分 应用层设备定义.17型元件》.pdf IEC 61158-5-17-2007 Industrial communication networks - Fieldbus specifications - Part 5-17 Application layer service definition - Type 17 elements《工业通讯网络.现场总线规范.第5-17部分 应用层设备定义.17型元件》.pdf
  • IEC 61158-5-18-2010 Industrial communication networks - Fieldbus specifications - Part 5-18 Application layer service definition - Type 18 elements《工业通信网络.现场总线规范.第5-18部分 应用层设备定义.18型元件》.pdf IEC 61158-5-18-2010 Industrial communication networks - Fieldbus specifications - Part 5-18 Application layer service definition - Type 18 elements《工业通信网络.现场总线规范.第5-18部分 应用层设备定义.18型元件》.pdf
  • IEC 61158-5-2-2014 Industrial communication networks - Fieldbus specifications - Part 5-2 Application layer service definition - Type 2 elements《工业通信网络.现场总线规范.第5-2部分 应用层协议规范.2型元件》.pdf IEC 61158-5-2-2014 Industrial communication networks - Fieldbus specifications - Part 5-2 Application layer service definition - Type 2 elements《工业通信网络.现场总线规范.第5-2部分 应用层协议规范.2型元件》.pdf
  • IEC 61158-5-20-2014 Industrial communication networks - Fieldbus specifications - Part 5-20 Application layer service definition - Type 20 elements《工业通讯网络.现场总线规范.第5-20部分 应用层设备定义.20型元件》.pdf IEC 61158-5-20-2014 Industrial communication networks - Fieldbus specifications - Part 5-20 Application layer service definition - Type 20 elements《工业通讯网络.现场总线规范.第5-20部分 应用层设备定义.20型元件》.pdf
  • IEC 61158-5-21-2010 Industrial communication networks - Fieldbus specifications - Part 5-21 Application layer service definition - Type 21 elements《工业通信网络.现场总线规范.第5-21部分 应用层设备定义.21型元件》.pdf IEC 61158-5-21-2010 Industrial communication networks - Fieldbus specifications - Part 5-21 Application layer service definition - Type 21 elements《工业通信网络.现场总线规范.第5-21部分 应用层设备定义.21型元件》.pdf
  • IEC 61158-5-22-2014 Industrial communication networks - Fieldbus specifications - Part 5-22 Application layer service definition - Type 22 elements《工业通信网络.现场总线规范.第5-22部分 数据链路层协议规范.22型元件》.pdf IEC 61158-5-22-2014 Industrial communication networks - Fieldbus specifications - Part 5-22 Application layer service definition - Type 22 elements《工业通信网络.现场总线规范.第5-22部分 数据链路层协议规范.22型元件》.pdf
  • IEC 61158-5-23-2014 Industrial communication networks - Fieldbus specifications - Part 5-23 Application layer service definition - Type 23 elements《工业通信网络 现场总线规格 第5-23部分 应用层服务定义 第23类要素》.pdf IEC 61158-5-23-2014 Industrial communication networks - Fieldbus specifications - Part 5-23 Application layer service definition - Type 23 elements《工业通信网络 现场总线规格 第5-23部分 应用层服务定义 第23类要素》.pdf
  • 相关搜索

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

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