欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1330132       资源大小:50.50KB        全文页数:9页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、初级程序员下午试题-73 及答案解析(总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.阅读以下说明和流程图,回答问题将解答填入对应栏。 说明 本流程图采用“双向冒泡法”实现对数组 an的排序。双向冒泡法就是在逐步缩小的数组内,分别从数组的两端开始向内搜索,同时将大数往上浮,小数往下沉,每次交换一组数。flag 是一个标志,发生过交换就置为 1,当这个循环过程都不再发生交换时,则数组排序完成。 注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述; 定义 swAPa,b为将 a和 b两数交换。 问题 将流程图的(1)(5)处补充完

    2、整。(分数:15.00)填空项 1:_二、B试题二/B(总题数:1,分数:15.00)2.阅读以下函数说明和 C语言函数,将应填入U (n) /U处的字句写在对应栏内。 说明 1 本程序输入一字符串,并将其中的大写字母变成小写字母。 C 函数 1 #includestdio.h void main() int i=0; char s120; printf(“Enter a string./n“); scanf(“%s“,s); while(U (1) /U) if(U (2) /U) si=si-A+a; i+; printf(“%s/n“,S); 说明 2 本程序用二分法,在已按字母次序从小

    3、到大排序的字符数组 listlen中,查找字符 c,若 c在数组中,函数返回字符 c在数组中的下标,否则返回-1。 C 函数 2 int search(char list,char c,int len) ( intlow=0,high=len-1,k; while(U (3) /U); k=(10w+high)/2; if(U (4) /U) return k; else if(U (5) /U)high=k-1; else low=k+1; return -1; (分数:15.00)填空项 1:_三、B试题三/B(总题数:1,分数:15.00)3.阅读以下函数说明和 C语言函数,将应填入U

    4、(n) /U处的字句写在对应栏内。 说明 函数 void diff(Node*A,Node*B,Node*r)的功能是:根据两个由整数按升序构成的单链表 L1和 L2(分别由A,B指向)构造一个单链表 L3(由 *r指向),要求 L3中的所有整数都是 L1,并且不是 L2中的整数,还要求L3中的所有整数都两两不等。 C函数 #includemalloc.h typedef struct node int data; struct node*next; Node; void diff(Node*A,Node*B,Node*r) int lastnum; Node*P; *r=NULL; if(!

    5、A) return; while(U (1) /U if(A-dataB-data) lastnum=Adata; p=(Node*)malloc(sizeof(Node); P-data=lastnum; P-next= *r; U (2) /U; do A=A-next; while(U (3) /U; else iffA-dataB-data) B=B-next; else U (4) /U; lastnum=A-data; while (A while(A) lastnum=A-data; p=(Node*)malloc(sizeof(Node); P-data=lastnum; U

    6、(5) /U; *r=P; while(A (分数:15.00)填空项 1:_四、B试题四/B(总题数:1,分数:15.00)4.阅读以下函数说明和 C语言函数,将应填入U (n) /U处的字句写在对应栏内。 说明 设一个环上有编号为 0n-1 的 n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n 粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子间剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠子中取走所有连续的同色珠子,两者之和为该剪开处可取走珠子的粒数。在不同位置剪开,能取走的珠子也不尽相同。 本程序所求的是在

    7、环上哪个位置剪开,按上述规则可取走的珠子粒数最多。程序中用数组存储字符串。例如:10 粒珠子颜色对应字符串为“aaabbbadcc”,在 0号珠子前剪开,序列为 aaabbbadcc,从左端取走3粒 a色珠子,从右端取走 2粒 c色珠子,共取走 5粒珠子。若在 3号珠子前剪开,即 bbbadccaaa,共取走 6粒珠子。 C函数 int count(char*s,int start,int end) inti,c=0,color=sstart,step=(startend)?-1:1; for(i=start;si=color;i+=step) if(step0 U (2) /U; retur

    8、n c; void main() char t,s120; int i,j,C,len,maxc,cut=0; printf(“请输入环上代表不同颜色珠子字符串:“); scanf(“%s“,s ); len=strlen(s); for(i=maxc=0;ilen;i+) / *尝试不同的剪开方式 */ c=count(s,0,len-1); if(clen) C+=count(U (3) /U); if(cmaxc)cut=i;maxc=c; ) /*数组 s的元素循环向左移动一个位置 */ t=s0; for(j=1;ilen;i+)U (4) /U; U (5) /U; printf(

    9、“在第%d 号珠子前面剪开,可以取走%d 个珠子./n“,cut,maxc); (分数:15.00)填空项 1:_五、B试题五/B(总题数:1,分数:15.00)5.阅读以下说明和 C+程序,将应填入U (n) /U处的字句写在对应栏内。 说明 下面程序是为汽车市场编制的一个程序的一部分。其中 automobile是基类。 C+程序 /Auto.h #ifndef AUTO_H #define AUTO_H class automobile (1): int miles_per_gallon; /汽车每加仑行驶公里数 float fuel_capacity; /油箱容积 public: voi

    10、d initialize(int in_mpg,int in_fuel); int get_mpg(void); float get_fuel(void); float travel_distance(void); #endif /Auto.cpp #include“auto.h“ void automobile:initialize(int in_mpg,float in fuel) miles_per_gallon=in_mpg; fuel_capacity=in_fuel; ) int automobile:get_mpg() /提供一辆特定汽车每加仑公里数 return miles p

    11、er_gallon; float automobile:get_fuel() /提供油箱容积 return fuel_capacity; float automobile:travel_distance() returnU (2) /U /car.h #ifndef CAR_H #define CAR_H #include“auto.h“ class car:U (3) /U int Total_doors; public: void initialize(int in_mpg,float in_fuel,int doors=4); int doors(void); ; #endif /car

    12、.cpp #include“car.h“ void car:initialize(int in_mpg,float in_fuel,int door) Total_doors=door; miles_per_galion=in_mpg; fuel_capacity=in_fuel; int car:doors(void) return Total doors; /Allauto.cpp #include #include“auto.h“ #include“car.h“ int main() car sedan; sedan.initialize(24,20.0,4); tout“The sed

    13、an can travel“U (4) /U“miles./n“; cout“The sedan has“U (5) /U“doors./n“; return 0; (分数:15.00)填空项 1:_六、B试题六/B(总题数:1,分数:15.00)6.阅读以下说明和 Java程序,将应填入U (n) /U处的字句写在对应栏内。 说明 下面程序是为汽车市场编制的一个程序的一部分。其中 automobile是基类。 Java 程序 class MainJava public static void main(String agr) car sedan=new car(); sedan.initia

    14、lize(24,20.0,4); System.out.println (“The sedan can travel“ +U (1) /U+“miles./n“); System.out.println (“The sedan has“ +U (2) /U+“doors./n“); class automobile protected int miles_per_gallon; /汽车每加仑行驶公里数 U (3) /Udouble fuel_capacity; /油箱容积 public void initialize(int in_mpg,int in_fuel) miles_per_gali

    15、on=in_mpg; fuel_capacity=in_fuel; public int get_mpg()/提供一辆特定汽车每加仑公里数 return miles_per_gallon; public double get_fuel()/提供油箱容积 return fuel_capacity; public double travel_distance()/计算满油箱情况下的可行驶总公里数 returnU (4) /U; class car U(5) /U private int Total_doors; public void initialize(int in_mpg,double in

    16、_fuel,int doors) Total_doors=doors; miles_per_gallon=in_mpg; fuel_capacity=in_fuel; public int doors() return Total_doors; (分数:15.00)填空项 1:_初级程序员下午试题-73 答案解析(总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.阅读以下说明和流程图,回答问题将解答填入对应栏。 说明 本流程图采用“双向冒泡法”实现对数组 an的排序。双向冒泡法就是在逐步缩小的数组内,分别从数组的两端开始向内搜索,同时将大数往上浮,小数

    17、往下沉,每次交换一组数。flag 是一个标志,发生过交换就置为 1,当这个循环过程都不再发生交换时,则数组排序完成。 注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述; 定义 swAPa,b为将 a和 b两数交换。 问题 将流程图的(1)(5)处补充完整。(分数:15.00)填空项 1:_ (正确答案:leftright char s120; printf(“Enter a string./n“); scanf(“%s“,s); while(U (1) /U) if(U (2) /U) si=si-A+a; i+; printf(“%s/n“,S); 说明 2 本程序

    18、用二分法,在已按字母次序从小到大排序的字符数组 listlen中,查找字符 c,若 c在数组中,函数返回字符 c在数组中的下标,否则返回-1。 C 函数 2 int search(char list,char c,int len) ( intlow=0,high=len-1,k; while(U (3) /U); k=(10w+high)/2; if(U (4) /U) return k; else if(U (5) /U)high=k-1; else low=k+1; return -1; (分数:15.00)填空项 1:_ (正确答案:si (2) A=si struct node*nex

    19、t; Node; void diff(Node*A,Node*B,Node*r) int lastnum; Node*P; *r=NULL; if(!A) return; while(U (1) /U if(A-dataB-data) lastnum=Adata; p=(Node*)malloc(sizeof(Node); P-data=lastnum; P-next= *r; U (2) /U; do A=A-next; while(U (3) /U; else iffA-dataB-data) B=B-next; else U (4) /U; lastnum=A-data; while (

    20、A while(A) lastnum=A-data; p=(Node*)malloc(sizeof(Node); P-data=lastnum; U (5) /U; *r=P; while(A (分数:15.00)填空项 1:_ (正确答案:A for(i=start;si=color;i+=step) if(step0 U (2) /U; return c; void main() char t,s120; int i,j,C,len,maxc,cut=0; printf(“请输入环上代表不同颜色珠子字符串:“); scanf(“%s“,s ); len=strlen(s); for(i=m

    21、axc=0;ilen;i+) / *尝试不同的剪开方式 */ c=count(s,0,len-1); if(clen) C+=count(U (3) /U); if(cmaxc)cut=i;maxc=c; ) /*数组 s的元素循环向左移动一个位置 */ t=s0; for(j=1;ilen;i+)U (4) /U; U (5) /U; printf(“在第%d 号珠子前面剪开,可以取走%d 个珠子./n“,cut,maxc); (分数:15.00)填空项 1:_ (正确答案:step0 /汽车每加仑行驶公里数 float fuel_capacity; /油箱容积 public: void i

    22、nitialize(int in_mpg,int in_fuel); int get_mpg(void); float get_fuel(void); float travel_distance(void); #endif /Auto.cpp #include“auto.h“ void automobile:initialize(int in_mpg,float in fuel) miles_per_gallon=in_mpg; fuel_capacity=in_fuel; ) int automobile:get_mpg() /提供一辆特定汽车每加仑公里数 return miles per_

    23、gallon; float automobile:get_fuel() /提供油箱容积 return fuel_capacity; float automobile:travel_distance() returnU (2) /U /car.h #ifndef CAR_H #define CAR_H #include“auto.h“ class car:U (3) /U int Total_doors; public: void initialize(int in_mpg,float in_fuel,int doors=4); int doors(void); ; #endif /car.cp

    24、p #include“car.h“ void car:initialize(int in_mpg,float in_fuel,int door) Total_doors=door; miles_per_galion=in_mpg; fuel_capacity=in_fuel; int car:doors(void) return Total doors; /Allauto.cpp #include #include“auto.h“ #include“car.h“ int main() car sedan; sedan.initialize(24,20.0,4); tout“The sedan

    25、can travel“U (4) /U“miles./n“; cout“The sedan has“U (5) /U“doors./n“; return 0; (分数:15.00)填空项 1:_ (正确答案:protected (2) fuel_capacity/miles_per_gallon (3) public automobile)解析:(4) sedan.travel_distance() (5) sedan.doors() 解析 本题以 C+语言为载体,考查面向对象程序设计中的关于类的几个概念,包括继承以及基类和派生类中函数的调用。 本题的功能是定义了一个 automobile基类

    26、,并由其派生出了 car类,主函数中定义了 car的对象,并通过该对象调用了基类和派生类中的函数。 首先,通过整体阅读该题目,我们发现类 car中的 initialize函数直接对基类中的两个成员函数赋值,所以基类中的两个成员函数应该是被保护的,(1)处应填入“protected”。在基类中提供了这样一个成员函数 travel_distance,它返回的是该交通工具的可能行驶距离,根据题目中给出的数据,(2)处应填入“fuel_capacity/miles_per_gallon”。 其次,本题还考查了派生类继承的方式,由于在主函数中直接通过 car的对象调用了基类的公有函数,所以派生方式应为公

    27、有,(3)处应填入“public automobile”。 最后,通过定义 car的对象 sedan,分别调用了基类和派生类中的一个函数,(4)处应填入“sedan.travel_distance()”,(5)处应填入“sedan.doors()”。六、B试题六/B(总题数:1,分数:15.00)6.阅读以下说明和 Java程序,将应填入U (n) /U处的字句写在对应栏内。 说明 下面程序是为汽车市场编制的一个程序的一部分。其中 automobile是基类。 Java 程序 class MainJava public static void main(String agr) car seda

    28、n=new car(); sedan.initialize(24,20.0,4); System.out.println (“The sedan can travel“ +U (1) /U+“miles./n“); System.out.println (“The sedan has“ +U (2) /U+“doors./n“); class automobile protected int miles_per_gallon; /汽车每加仑行驶公里数 U (3) /Udouble fuel_capacity; /油箱容积 public void initialize(int in_mpg,in

    29、t in_fuel) miles_per_galion=in_mpg; fuel_capacity=in_fuel; public int get_mpg()/提供一辆特定汽车每加仑公里数 return miles_per_gallon; public double get_fuel()/提供油箱容积 return fuel_capacity; public double travel_distance()/计算满油箱情况下的可行驶总公里数 returnU (4) /U; class car U(5) /U private int Total_doors; public void initia

    30、lize(int in_mpg,double in_fuel,int doors) Total_doors=doors; miles_per_gallon=in_mpg; fuel_capacity=in_fuel; public int doors() return Total_doors; (分数:15.00)填空项 1:_ (正确答案:sedan.travel_distance())解析:(2) sedan.doors() (3) protected (4) fuel_capacity/miles_per_gallon (5) extends automobile 解析 本题以 Java

    31、语言为载体,考查面向对象程序设计中的关于类的几个概念,包括继承以及基类和派生类中函数的调用。 本题的功能是定义了一个 automobile基类,并由其派生出了 car类,主函数中定义了 car的对象,并通过该对象调用了基类和派生类中的函数。 首先,通过整体阅读该题目,我们发现类 car中的 initialize函数直接对基类中的两个成员函数赋值,所以基类中的两个成员函数应该是被保护的,(3)处应填入“protected”。在基类中提供了这样一个成员函数 travel_distance,它返回的是该交通工具的可能行驶距离,根据题目中给出的数据,(4)处应填入“fuel_capacity/miles_per_gallon”。 其次,本题还考查了派生类继承的方式,由于在主函数中直接通过 car的对象调用了基类的公有函数,(5)处应填入“extends automobile”。 最后,通过定义 car的对象 sedan,分别调用了基类和派生类中的一个函数,(1)处应填入“sedan.travel_distance()”,(2)处应填入“sedan.doors()”。


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开