ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:58.50KB ,
资源ID:1330081      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1330081.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】初级程序员下午试题-18及答案解析.doc)为本站会员(appealoxygen216)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】初级程序员下午试题-18及答案解析.doc

1、初级程序员下午试题-18 及答案解析(总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.【说明】下列流程图用泰勒(Taylor)展开式 y=ex=1+x+x2/2!+x3/3!+xn/n!+计算并打印 ex的近似值,其中用(0)表示误差要求。【流程图】(分数:15.00)_二、B试题二/B(总题数:1,分数:15.00)2.【说明】 希赛教育集团公司为发展生产向社会公开招聘 M个工种的工作人员,每个工种各有不同的编号(1 至 M)和计划招聘人数。每位应聘者需申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩从高分至低分的顺序进行排队录取。公司的录

2、取原则是:从高分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去 5分后,重新排队,并按其第二志愿考虑录取。 程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都做了录取处理。 程序中,类型 STU包含有应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组 rz的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。【程序】 #includestdio.h #includemalloc.h #define M 20 #define PEMARK 5 typedef struct stu

3、 int no, total, z2, sortm, zi; struct stu *next; STU; struct rzmode int Imt, count; STU *next; rzM; STU *head=NULL, *over=NULL; int all FILE *fp; char dataf=“pp07.dat“; print(STU *p) for(;p!=NULL;p=p-next) printf(“%d(%d)/t“,p-no,p-total); insert(STU *p, STU *u) STU *v, *q; for(q=*p;q!=NULL;v=q,U (1)

4、 /U) if(q-sortmu-sortm)break; if(q=*p)U (2) /U; elseU (3) /U; U-next=q; main() int zn, i, no, total, z1, z2; STU *p, *v, *q; fp=fopen(dataf, “r“); if(fp=NULL) printf(“Cant open file %s./n“,dataf); exit(0); fscanf(fp, “%d“, for(all=0,i=1;i=zn;i+) fscanf(fp,“%d“, rzi.count=0;rzi.next=NULL; all+=U (4)

5、/U; for(;) if(fscanf(fp, “%d%d%d%d“, p=(STU*)malloc(sizeof(STU); p-no=no; p-total=p-sortm=total; p-zi=0;p-z0=z1;p-z1=z2; U (5) /U; fclose(fp); for(;all ) p=head; head=head-next; if(rzp-zp-zi.countU (6) /U) rzp-zp-zi.count+; insert( all-; continue; if(p-zi=1) p-next=over;over=p; continue; p-sortm-=DE

6、MARK;U (7) /U; insed( for(i=1;i=zn;i+) printf(“%d:/n“,i); print(rzi.next); printf(“/n“); printf(“over:/n“);print(head); print(over);printf(“/n“); (分数:15.00)_三、B试题三/B(总题数:1,分数:15.00)3.【说明】 有 n个整数,使其前面各数顺序向后移 m个位置,最后 m个数变成最前面的 m个数。 【函数】main() int number20,n,m,i; printf(“the total numbers is:“); scanf(

7、“%d“, printf(“back m:“); scanf(“%d“, for(i=0;i=n-1;i) scanf(“%d,“, U (1) /U; for(i=0;i=n-1;i) printf(“%d,“,numberi); move(array,n,m) int n,m,array20; int *p,array_end; array_end=U (2) /U; for(p=arrayn-1;U (3) /U;p-) *p=U (4) /U; *array=array_end; m-; if(m0)U (5) /U; (分数:15.00)_四、B试题四/B(总题数:1,分数:15.0

8、0)4.【说明】 编写程序,对于从键盘输入的 3个实数 a、b、c,计算实系数一元二次方程的根并输出所求的根。 【函数】 #includesldio.h #includesldlib.h #includemath.h Main() float a,b,c,delta,x1,x2; printf(“Enter a,b,c“); scanf(“%f%f%f“, if(U (1) /U) if(U (2) /U) printf(“Input error!/n“); else printf(“The single root is%f/n“,U (3) /U); else delta=b*b-4*a*c

9、; if(U (4) /U) x1=(-b+sqrt(delta)/(2*a); x2=(-b-sqrt(delta)/(2*a); printf(“x1=%8.2f/nx2=%8.2f/n“,x1,x2,); else if(delta=0) printf(“x1=x2=%8.2f/n“,U (5) /U; else Printf(“z2=%8.2f+%8.2f*i/n“,-b/(2*a),sqrt(-delta)/)(2*abs(a); Printf(“z2=%8.2f-%8.2f*i/n“,-b/(2*a),sqrt(-delta)/(2*abs(a); (分数:15.00)_五、B试题

10、五/B(总题数:1,分数:15.00)5.【说明】 在下面程序横线处填上适当的字句,3 个(2)空填的是一样的。使其输出结果为: x=5 x=6 y=7 x=8 z=9 【程序】 #includeiostream.h class X1 int x; U (1) /U; X1(int xx=0)x=xx; U (2) /Uvoid Output() cout“x=“xend; ; U (3) /UY1:public X1 int y; public: Y1(int xx=0,int yy=0);X1(xx)y=yy; U (2) /Uvoid Output() U (4) /UOutput();

11、 cout“y=“yendl; ; class Z1:public X1 int z: U (5) /U; Z1(int xx=0,int zz=0):X1(xx)(z=zz; U (2) /Uvoid Output() X1Output(); cout“z=“zendl; ; void main() X1 a(5);Y1 b(6,7);Z1 c(8,9); X1*p3= For(int i=0;i3;i+) pi-Output();coutendl; (分数:15.00)_六、B试题六/B(总题数:1,分数:15.00)6.【说明】 下面代码里,instr 是一个抽象类,它被两个子类 win

12、d和 rain分别实现,而 brass又继承了 wind类,并覆盖了 play方法。 【程序】 U (1) /Uclass instr U (2) /UVoid play(); class windU (3) /Uinstr void play()System.out.println(“wind play!“); class rain extends instr void play()System.out.println(“rain play!“); class brass extendsU (4) /U void play()System.out.println(“brass play!“)

13、; public class music static void tuneAll(instr e) for(int i=0;ie.length;i+) ei.play(); publicU(5) /Uvoid main(Stringargs) instr orch=new instr3; int i=0; orchi+=new wind(); orchi+=new rain(); orchi+=new brass(); tuneAll(orch); (分数:15.00)_初级程序员下午试题-18 答案解析(总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)

14、1.【说明】下列流程图用泰勒(Taylor)展开式 y=ex=1+x+x2/2!+x3/3!+xn/n!+计算并打印 ex的近似值,其中用(0)表示误差要求。【流程图】(分数:15.00)_正确答案:()解析:0 (2)0 (3)|t|:(4)s+1 (5)t*x/s分析本题考查程序流程图的内容。首先让我们来了解一下题目的真正含义,题目要求用泰勒展开式计算 y=ex的近似值。并且给出了误差要求,只要当误差小于 时,就可以输出计算结果了。泰勒展开式的式子是 n项之和,每多加一项,其值就越接近真实值。因此,在程序设计时,每加一项之前,先进行此项与 的比较,来判定计算结果是否已满足题目要求。从流程图

15、中看到有 S、y、t、x 这几个变量。其中 x、y 是公式中的变量,而 S、t 则是中间变量。从yy+t 语句可以看出,t 是每次要加的项,S 则是帮助 t改变的变量。在计算开始前,我们应该将 y的值赋为零,因此,第(2)空答案就为 0;而 S在 t没发生变化的初值也应该是 0,即第(1)空答案为 0。第(3)空处是个条件判断语句,应该是进行该加项与 比较判断,因此第(3)空的答案是|t|:。第(4)空与第(5)空要一起考虑。由于 S是帮助 t改变的变量,而 t的每次改变是分母乘以一个加 1的数,而分子乘以 x。这里假设 S是帮助 t改变分母的变量,第(4)空应填 s+1,那么第(5)空应该为

16、 t*x/s。二、B试题二/B(总题数:1,分数:15.00)2.【说明】 希赛教育集团公司为发展生产向社会公开招聘 M个工种的工作人员,每个工种各有不同的编号(1 至 M)和计划招聘人数。每位应聘者需申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩从高分至低分的顺序进行排队录取。公司的录取原则是:从高分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去 5分后,重新排队,并按其第二志愿考虑录取。 程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都做了录取处理。 程序中,类型 STU包含有

17、应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组 rz的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。【程序】 #includestdio.h #includemalloc.h #define M 20 #define PEMARK 5 typedef struct stu int no, total, z2, sortm, zi; struct stu *next; STU; struct rzmode int Imt, count; STU *next; rzM; STU *head=NULL, *over=NULL; int all FILE *fp; char

18、dataf=“pp07.dat“; print(STU *p) for(;p!=NULL;p=p-next) printf(“%d(%d)/t“,p-no,p-total); insert(STU *p, STU *u) STU *v, *q; for(q=*p;q!=NULL;v=q,U (1) /U) if(q-sortmu-sortm)break; if(q=*p)U (2) /U; elseU (3) /U; U-next=q; main() int zn, i, no, total, z1, z2; STU *p, *v, *q; fp=fopen(dataf, “r“); if(f

19、p=NULL) printf(“Cant open file %s./n“,dataf); exit(0); fscanf(fp, “%d“, for(all=0,i=1;i=zn;i+) fscanf(fp,“%d“, rzi.count=0;rzi.next=NULL; all+=U (4) /U; for(;) if(fscanf(fp, “%d%d%d%d“, p=(STU*)malloc(sizeof(STU); p-no=no; p-total=p-sortm=total; p-zi=0;p-z0=z1;p-z1=z2; U (5) /U; fclose(fp); for(;all

20、 ) p=head; head=head-next; if(rzp-zp-zi.countU (6) /U) rzp-zp-zi.count+; insert( all-; continue; if(p-zi=1) p-next=over;over=p; continue; p-sortm-=DEMARK;U (7) /U; insed( for(i=1;i=zn;i+) printf(“%d:/n“,i); print(rzi.next); printf(“/n“); printf(“over:/n“);print(head); print(over);printf(“/n“); (分数:1

21、5.00)_正确答案:()解析:(1)q=q-next 或 q=v-next (2)*p=u (3)v-next=u (4)rzi.1mt (5)insert( for(q=*p;q !=NULL; v=q,U (1) /U) if(q-sortmu-sortm)break; 上面的循环功能是查找插入点,所以要从 q链表的首结点开始逐个与 u比较,当 q结点的值比 u结点的值小时,可以确定 u应插入到 q之前。因此,(1)空应填 q=q-next。 if(q=*p)U (2) /U; elseU (3) /U; u-next=q; 这里分两种情况,如果 q=*p,表示 u结点的插入点为链表首,

22、所以(2)空应填:*p=u;如果 q!=*p,表示 u结点要插入的位置不是链表首部,又因为 v是 q的前趋结点(这一点可以从上面的for(;v=q)看出),所以(3)空应填 v-next=u。 接下来,我们来看主函数 main()。 main() for(all=0,i=1;i=zn;i+) fscanf(fp,“%d“, rzi.count=0;rzi.next=NULL; all+=U (4) /U; 由于题目中提到“数组 rz的每个元素对应一个工种,包含有计划招聘人数和已录取的人数”,结合上面的处理代码,我们可知 rz.1mt是计划招聘人数,rz.count 是已录取人数,all 是代表

23、计划招聘总人数,所以(4)空应填 rzi.1mt。 for(;) if(fscanf(fp,“%d%d%d%d“, 这里输入一个应聘者的编号、总成绩、第一志愿、第二志愿。如果输入的数据少于 4个,则退出循环。 p=(STU*)malloc(sizeof(STU); p-no=no; p-total=p-sortm=total; p-zi=0;p-z0=z1;p-z1=z2; U (5) /U; 上面的语句段是为输入的数据建立一个结点,并保存,但如果没有(5)空的处理,当下次执行循环体时,上一次的结点 p将被覆盖掉。因此,(5)空的功能应是把结点连成链表。这时我们应想到前面分析过的函数inser

24、t(),因为此函数可以把一个结点插入到已知链表中。又因为从下面的语句可以看出 head为本程序要处理链表的首指针,所以(5)空应填 insert( for(;all ) 下面这段程序是进行录取工作,all 是还要招聘的人数,head 是应聘人员的列表。 p=head;head=head-next; 把 p结点从 head表中删除。 if(rzp-zp-zi.countU (6) /U) 因为题目中有“数组 rz的每个元素对应一个工种,包含有计划招聘人数和已录取的人数”,所以结合上面的分析可知 rz.count为已招聘人数,rz.1mt 为计划招聘人数。当已招人数还未达到计划招收人数时应继续招聘

25、,所以(6)空应填 rzp-zp-zi.1mt。 rzp-zp-zi.count+; insert( 把结点 p加入到 rzp-zp-zi.next 链表中,表示其已被录用。 all-; continue; 招到一个人后,还要招收的人数就应减 1。 p-next=over;over=p; continue; 从这里可以看出 p-zi 是应聘次数的标志,其初值为 0,如果 p-zi=1,则表示应聘者已经进行完两次应聘,均没有聘上,所以没有资格再进行应聘。用 continue语句使循环立即跳到开始处,进行下一名应聘者的录取工作。 p-sortm-=DEMARK;U (7) /U; 如果程序执行了此

26、语句,则代表 p所指示的应聘者第一志愿落选,按题目要求,当不能按其第一志愿录取时,便将他的成绩扣去 5分后,重新排队,并按其第二志愿考虑录取。语句 p-sortm-=DEMARK 用于将他的成绩扣去 5分,insert( printf(“the total numbers is:“); scanf(“%d“, printf(“back m:“); scanf(“%d“, for(i=0;i=n-1;i) scanf(“%d,“, U (1) /U; for(i=0;i=n-1;i) printf(“%d,“,numberi); move(array,n,m) int n,m,array20;

27、int *p,array_end; array_end=U (2) /U; for(p=arrayn-1;U (3) /U;p-) *p=U (4) /U; *array=array_end; m-; if(m0)U (5) /U; (分数:15.00)_正确答案:()解析:(1)move(number,n,m) (2)*(arrayn-1) (3)parray (4)*(p-1) (5)move(array,n,m) 分析 本题考查数字顺序移动和数组的相关知识。 从数据结构的角度出发,数字在数组中顺序移动,就是将数字一个一个往后搬,例如,将 n-1位置的数字移到 n位置,然后再把 n-2位置

28、的数字移到 n-1位置,其实这是一个简单的数字移动。我们只需要取出第 n个位置的数字并保存在一个临时变量中,然后,其他的就按顺序依次移动即可,直到一次整体移动完成,我们再从临时变量中取回数字并将其放在数组的第一个位置中。重复这个过程 m次,整个数组就往后移动了 m个位置。 首先,我们来看一下主函数,在主函数里面声明了一个容量为 20的整型数组 number20和其余 3个整型变量,数组用来存储我们输入的待处理的数,而变量 m、n 分别用于存放我们要移动位置的个数和输入整数的个数。第一个循环语句用于 n个整数的输入,第二个循环语句用于 n个整数的输出,在这中间应该还有一个处理来完成将 n个整数顺

29、序向后移m个位置,并让最后 m个数变成最前面的 m个数这个功能,从下面的程序段我们知道,这里是调用函数muve(number,n,m)来完成的。因此,第(1)空填 move(nurnber,n,m),在调用时我们需要注意参数的传递。再来看 move(array,n,m)函数,在此函数中,同样声明了一个容量为 20的整型数组和 2 个整型变量,另外还声明了一个指针变量 p。由*array=array_end,结合第(2)空来看,这里是把数组中最后位置的数取出存放在 array_end变量当中。因此,第(2)空应填 *(arrayn-1)。 第(3)空是常见的在循环语句中表示判断的语句,由于“p=

30、arrayn-1”把数组最末的地址赋给了指针 p,只要 p的值大于数组的起始地址循环就可以继续,因此,第(3)空应填 parray。 第(4)空要完成的任务是将数字后移,因此,第(4)空为*p-1。从程序来分析,数组每移动完成一次,m 的值就减一,而现在只有移动 m次的功能没有实现,因此,只要 m值大于 0,就调用函数自身来实现再次移动。因此,第(5)空填写 move(array,n,m)进行递归调用。四、B试题四/B(总题数:1,分数:15.00)4.【说明】 编写程序,对于从键盘输入的 3个实数 a、b、c,计算实系数一元二次方程的根并输出所求的根。 【函数】 #includesldio.

31、h #includesldlib.h #includemath.h Main() float a,b,c,delta,x1,x2; printf(“Enter a,b,c“); scanf(“%f%f%f“, if(U (1) /U) if(U (2) /U) printf(“Input error!/n“); else printf(“The single root is%f/n“,U (3) /U); else delta=b*b-4*a*c; if(U (4) /U) x1=(-b+sqrt(delta)/(2*a); x2=(-b-sqrt(delta)/(2*a); printf(“

32、x1=%8.2f/nx2=%8.2f/n“,x1,x2,); else if(delta=0) printf(“x1=x2=%8.2f/n“,U (5) /U; else Printf(“z2=%8.2f+%8.2f*i/n“,-b/(2*a),sqrt(-delta)/)(2*abs(a); Printf(“z2=%8.2f-%8.2f*i/n“,-b/(2*a),sqrt(-delta)/(2*abs(a); (分数:15.00)_正确答案:()解析:(1)a=0 (2)b=0 (3)-c/b (4)delta0(或 b*b-4*a*c0) (5)-b/(2*a)(或-b/2/a) 分析

33、本题考查我们如何用键盘输入字符,编程求一元二次方程的根及输出。 对于如何求出一元二次方程的根,是解决这个题目的关键。首先我们来回忆一下数学中求一元二次方程根的方法。在数学中求一元二次方程根的步骤如下: 第一步是确定方程是否为一元二次方程,这需要判断二次方系数和一次方系数是否为 0,如果都为 0,则方程有错。如果只是二次方系数为零,则方程为一元一次方程,方程有一个解。 第二步是用=b*b-4*a*c 与 0的关系来判断解的个数,如果0,方程有 2个不同的解;如果=0,方程有一个解;而0 时,方程无解。 第三步才是求解。 现在我们来看主函数,在主函数中,首先声明了一些实数变量,其中变量 a、b、c

34、 分别存放我们从键盘输入的 3个实数,而 detal中存放的是的值,x1、x2中存放方程根的值。 接下来是从键盘输入 3个值,作为一元二次方程的系数,在对一元二次方程求解以前我们需要考虑系数值为 0的情况,因此,第(1)空应该填 a=0,第(2)空应该填 b=0。 在 a等于 0而b不等于 0的情况下,方程为一元一次方程,可以直接用-c/b 求得其解,第(3)空明显是要输出这个解。 再往下看,程序计算了的值,那么接下来应该是判断与 0的关系了,从程序中可以看出,方程在第(4)空的条件下有两个解,那么第(4)空应该填 delta0。而第(5)空是在 delta=0的条件下方程的解,因此第(5)空

35、应该填-b/(2*a)。五、B试题五/B(总题数:1,分数:15.00)5.【说明】 在下面程序横线处填上适当的字句,3 个(2)空填的是一样的。使其输出结果为: x=5 x=6 y=7 x=8 z=9 【程序】 #includeiostream.h class X1 int x; U (1) /U; X1(int xx=0)x=xx; U (2) /Uvoid Output() cout“x=“xend; ; U (3) /UY1:public X1 int y; public: Y1(int xx=0,int yy=0);X1(xx)y=yy; U (2) /Uvoid Output()

36、U (4) /UOutput(); cout“y=“yendl; ; class Z1:public X1 int z: U (5) /U; Z1(int xx=0,int zz=0):X1(xx)(z=zz; U (2) /Uvoid Output() X1Output(); cout“z=“zendl; ; void main() X1 a(5);Y1 b(6,7);Z1 c(8,9); X1*p3= For(int i=0;i3;i+) pi-Output();coutendl; (分数:15.00)_正确答案:()解析:(1)public (2)virtual (3)class (4)

37、X1 (5)public 分析 本题考查了 C+类的定义、成员变量的声明、类继承以及虚函数的一些基本知识。 我们对比三个类的定义就可以发现,在类 x1和 z1的定义中缺少类的成员属性声明,而类一般将成员变量声明为公有的、私有的或受保护的三种类型中的一种,在类的定义中,我们一般将类的构造函数放在公有的属性下面,在题目中只能选择公有的属性了,因此,第(1)空和第(5)空中应该填 public。 对三个类的定义进行仔细观察后,我们同样可以发现,每个类中都定义了一个同名函数 Output(),而且在后两个类的函数体中调用了函数 Output(),由此,我们应该想到虚函数。虚函数的作用是允许在派生类中重

38、新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。因此,第(2)空应该填 virtual。 第(3)空就简单了,考查类的定义,应该填类的标识符 class。 从程序中我们可以看到,类 Y1和 Z1都以公有的方式继承类 X1。从输出的结果来分析,类 Y1和 Z1都输出了两个数,但单从类 Z1的函数来看,只能输出一个变量的值 Z,因此,可以发现在类 Z1中应该和类 Y1一样,都调用了类 X1的函数 Output(),因此,第(4)空的答案为 X1。六、B试题六/B(总题数:1,分数:15.00)6.【说明】 下面代码里,instr 是一个抽象类,它被两个子类 win

39、d和 rain分别实现,而 brass又继承了 wind类,并覆盖了 play方法。 【程序】 U (1) /Uclass instr U (2) /UVoid play(); class windU (3) /Uinstr void play()System.out.println(“wind play!“); class rain extends instr void play()System.out.println(“rain play!“); class brass extendsU (4) /U void play()System.out.println(“brass play!“)

40、; public class music static void tuneAll(instr e) for(int i=0;ie.length;i+) ei.play(); publicU(5) /Uvoid main(Stringargs) instr orch=new instr3; int i=0; orchi+=new wind(); orchi+=new rain(); orchi+=new brass(); tuneAll(orch); (分数:15.00)_正确答案:()解析:(1)abstract (2)abstract (3)extends (4)wind (5)static

41、 分析 本题考查了 Java抽象类的定义、继承,以及主函数定义的一些相关知识。 定义抽象类时只需在类标识符前加上关键字 abstract即可,在 Java语言中,抽象类中的方法也为抽象方法。因此,第(1)空与第(2)空的答案是 abstract。 题目要求类 wind和 rain是抽象类 instr的子类,即类 wind和 rain都继承抽象类 instr,在 Java语言中,对抽象类的继承用关键字 extends,如果不能确定,还可以往下看程序,就清楚了。因此,第(3)空应该填extends。 又由于题目要求类 brass继承类 wind,第(4)空的答案也变得非常明显了,填写 wind。 第(5)空所在的位置是对 Java语言的主函数的定义,Java 语言中主函数也和其他一些高级语言一样,是入口函数,它的声明规定用 public static void main(Stringargs)这种结构。因此,第(5)空答案是 static。

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