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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、初级程序员下午试题-78 及答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.说明设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分 max和最低分 min。(分数:15.00)_二、试题二(总题数:1,分数:15.00)2.函数 2.1说明Fibonacci数列中头两个数均为 1,从第三个数开始,每个数等于前两个数之和。下述程序计算Fibonacci数列中前 15个数,并以每行 5个数的格式输出。函数 2.1#include stdio.hmain()int i,f,

2、f1=1,f2=1;printf(“%5d%5d“,f1,f2);for(i=3;i=15;i+)f= (1) ;printf(“%5d“,f);if( (2) = =0) printf(“/n“);f1=12;(3) ;试题一流程图(分数:15.00)_三、试题三(总题数:1,分数:15.00)3.说明链式存储的队列称为链队。根据队列的 FIFO原则,为了操作上的方便,可以使用带头指针 front和尾指针 rear的单链表来实现链队。若链队元素的数据类型为 datatype,则链队结构描述如下:typedef struct nodedatatypedata;structnode *next;

3、QNode; /*链队结点的类型*/typedef structQNnode *front,*rear;LQueue; /*将头尾指针封装在一起的链队*/以下这种链队的几个例子:(分数:15.00)_四、试题四(总题数:1,分数:15.00)4.说明函数 encode()和 decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数 encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:(1)若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中;(2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新

4、字符串中;(3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字值为 n,则将其后继字符重复复制 n+1次到新字符串中;(4)以上述一次变换为一组,在不同组之间另插入一个下划线_用于分隔。例如:encode()函数对字符中 26a3t2的变换结果为 666_a_tttt_2。函数 decode()用于经函数 encode()处理的字符中,即复制不连续相同的单个字符,而将一组连续相同的字符(不超过 10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。注:假定调用变换函数 encode()时的原始字符串中不包含

5、下划线字符。函数int encode(char *instr,char *outstr)char *ip, *op,c;int k,n;ip=instr;op=outstr;while ( * ip) if(*ip=0c= (1) ;for (k=0;kn;k+) *op+=c;else *op+=*ip;(2) ;ip+;if (opoutstr) (3) ;*op=/0;(4) ;int decode(char *instr,char *outstr)char *ip,*op,c;int n;ip=instr; op=outstr;while ( *ip) c=*ip;n=0;while(

6、 *ip=c n+; if(n1) *op+ + =0+n-1;* op+=c;if(*ip=_) ip+;*op=/0;(4) ;(分数:15.00)_五、试题五(总题数:1,分数:15.00)5.说明某银行新近开通外汇定期存款业务。为方便用户查询不同存款方式下的日利率、计算本利,特开发了日利率查询及本利计算程序,其运行窗口如下图所示。用户只要在界面上选择相应的存款方式(包括外汇币种、存期等),便可单击按钮一查询存款日利率。若输入一定数量的本金。程序还会根据所选择的存期计算并输出本利和。(分数:15.00)_六、试题六(总题数:1,分数:15.00)6.说明当用户启动 html浏览器并首次打

7、开下面的 html文档时,Java Applet 小程序在第一个显示面板上显示字符串“HelloWorld“;在第二个显示面板上画一条直线。Java代码import java.awt. *;import javax.swing. *;public class HelloWorldApplet extends JAppletpubhc void (1) (2) str=“HetloWorld“;JLabel label = new JLabel(str);this. getContentPane().add(label);import java.applet.Applet;import java

8、.awt.Graphics;public class AppletPaint extends (3) public void paint( (4) ) g.drawLine(0,0,300,200);HTML文档htmlheadtitle HTML Test Page /title/headbodyapplet code=“ (5) “ width=“300“ height=“100“/appletapplet code=“ AppletPaint.class“ width=“300“ height=“100“/applet/body/html(分数:15.00)_七、试题七(总题数:1,分数

9、:15.00)7.说明下图是一个简易文本编辑器程序的运行界面:(分数:15.00)_八、试题八(总题数:1,分数:15.00)8.说明本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。C+程序#include iostream. h#include string. hclass Userprotected:char user10;char pass7;public:User(char ,char);(1) return user;(2) return pass;User:User(char u,char p)strcpy(use

10、r,u);strcpy(pass,p); void main()User ua=User(“Li“,“123456“),User(“wang“,“654321“),User(“Song“,“666666“)char name10;while(1)cout “输入用户名:“;cin name;if( (3) = =0) break;for(int i=0;i3;i+ +)if(strcmp(name,uai.getuser() = =0)cout “密码:“ uai.getpass() endl;(4) ;if( (5) )cout “该用户不存在!“ endl;(分数:15.00)_初级程序员

11、下午试题-78 答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.说明设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分 max和最低分 min。(分数:15.00)_正确答案:(1) maxa (2) mina (3) a=“.“(4) amax 或 amax 或 maxa 或 maxa(5) amin 或 amin 或 mina 或 mina)解析:解析 本题用到的三个变量及其作用分别为:a,存放读入的一行数据;max 存放最高分;min 存放最低分。算法首先读入文

12、件的第一行数据 a,若 a为文件结束符“.”,则算法提前结束;否则为 max和 min赋初值 a,循环读入文件其余部分,直至文件末尾。循环过程中,当某行数据 a大于 max时,更新max的值;当某行数据 a小于 min时,更新 min的值。二、试题二(总题数:1,分数:15.00)2.函数 2.1说明Fibonacci数列中头两个数均为 1,从第三个数开始,每个数等于前两个数之和。下述程序计算Fibonacci数列中前 15个数,并以每行 5个数的格式输出。函数 2.1#include stdio.hmain()int i,f,f1=1,f2=1;printf(“%5d%5d“,f1,f2);

13、for(i=3;i=15;i+)f= (1) ;printf(“%5d“,f);if( (2) = =0) printf(“/n“);f1=12;(3) ;试题一流程图(分数:15.00)_正确答案:(1) f1+f2 (2) i%5 (3) f2=f(4) str1i+=str2j (5) str1i=/0)解析:解析 (1)根据 Fibonacci数列的性质,f 等于前两数 f1与 f2之和;(2)每输出 5个数以后应当换行,此条件即:i 除以 5余 0;(3)计算一个数值前,f1 与 f2都应更新,其中 f2应为刚计算出的 f;(4)此循环的功能是将 str2的字符添加到 str1末尾;

14、(5)函数结束前应在 str1末尾添加结束符。三、试题三(总题数:1,分数:15.00)3.说明链式存储的队列称为链队。根据队列的 FIFO原则,为了操作上的方便,可以使用带头指针 front和尾指针 rear的单链表来实现链队。若链队元素的数据类型为 datatype,则链队结构描述如下:typedef struct nodedatatypedata;structnode *next;QNode; /*链队结点的类型*/typedef structQNnode *front,*rear;LQueue; /*将头尾指针封装在一起的链队*/以下这种链队的几个例子:(分数:15.00)_正确答案:

15、(1) q-front=q-rear (2) = = (3)q- rear-next (4) p-data (5) q-front-next)解析:解析 (1)初始化链队 q时,需要初始化其头尾指针,空链队的头尾指针相等;(2)链队头尾指针重合当且仅当链队为空;(3)向链队插入新元素的操作是在链队末尾进行的,需要将新元素结点接在原链队队尾,再让新的尾指针指向这一新结点;(4)(5):链队 q的第一个元素存放在其头结点之后的第一个结点(即 p=q-front-next)中。*x= p-data 表示将这个元素取出,以参数*x 的形式返回:q-front-next=p-next 表示将结点 p从链

16、队中取出。四、试题四(总题数:1,分数:15.00)4.说明函数 encode()和 decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数 encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:(1)若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中;(2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中;(3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字值为 n,则将其后继字符重复复制 n+1次到新字符串中;(4)以上述一次变换为一组,在不同组之间另插入一个下划

17、线_用于分隔。例如:encode()函数对字符中 26a3t2的变换结果为 666_a_tttt_2。函数 decode()用于经函数 encode()处理的字符中,即复制不连续相同的单个字符,而将一组连续相同的字符(不超过 10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。注:假定调用变换函数 encode()时的原始字符串中不包含下划线字符。函数int encode(char *instr,char *outstr)char *ip, *op,c;int k,n;ip=instr;op=outstr;while (

18、* ip) if(*ip=0c= (1) ;for (k=0;kn;k+) *op+=c;else *op+=*ip;(2) ;ip+;if (opoutstr) (3) ;*op=/0;(4) ;int decode(char *instr,char *outstr)char *ip,*op,c;int n;ip=instr; op=outstr;while ( *ip) c=*ip;n=0;while( *ip=c n+; if(n1) *op+ + =0+n-1;* op+=c;if(*ip=_) ip+;*op=/0;(4) ;(分数:15.00)_正确答案:(1) *+ip (2)

19、*op+=_(3) op- -或- -op (4) return op - outstr (5) ip+)解析:解析 在 encode和 decode函数中,参数 ip和 op分别指向输入字符串和输出字符串。(1)读到一个非零数字 n时,读取其后一个字符放入 c,将其循环写入输出字符串 n遍;(2)完成一组变换后,应向输出字符中中添加一个下划线字符;(3)如果输出字符串不空,应删除其末尾多余的下划线字符;(4)根据程序说明,此处应返回输出字符串的长度,这里用尾、首位置指针的差表示;(5)此处 while循环的作用是读取连续相同的若干字符,输入字符串的位置指针应后移。五、试题五(总题数:1,分数

20、:15.00)5.说明某银行新近开通外汇定期存款业务。为方便用户查询不同存款方式下的日利率、计算本利,特开发了日利率查询及本利计算程序,其运行窗口如下图所示。用户只要在界面上选择相应的存款方式(包括外汇币种、存期等),便可单击按钮一查询存款日利率。若输入一定数量的本金。程序还会根据所选择的存期计算并输出本利和。(分数:15.00)_正确答案:(1) Exit For (2) Option1.Value (3) getInterestRate (4) Select Case strTime(5) sngCorpus * intDays * getInterestRate()解析:解析 (1)此处

21、需要查询 interestRate中数组元素的下标,即组合框中所选择项的编号。因此循环遍历组合框的各项,当某项与所选项匹配时,应即刻退出循环;(2)由于数组元素 interestRate(i,j,0)对应于个人单位,即单选钮 Option1被选中,其 Value属性为真;(3)函数最后需要返回日利率的值,其形式为:函数名=表达式;(4)“Select Case表达式End Case”是 VB提供的多分支选择结构,这里需要根据用户选择的存期strTime来确定天数;(5)此处应填入计算利息的表达式。六、试题六(总题数:1,分数:15.00)6.说明当用户启动 html浏览器并首次打开下面的 ht

22、ml文档时,Java Applet 小程序在第一个显示面板上显示字符串“HelloWorld“;在第二个显示面板上画一条直线。Java代码import java.awt. *;import javax.swing. *;public class HelloWorldApplet extends JAppletpubhc void (1) (2) str=“HetloWorld“;JLabel label = new JLabel(str);this. getContentPane().add(label);import java.applet.Applet;import java.awt.Gr

23、aphics;public class AppletPaint extends (3) public void paint( (4) ) g.drawLine(0,0,300,200);HTML文档htmlheadtitle HTML Test Page /title/headbodyapplet code=“ (5) “ width=“300“ height=“100“/appletapplet code=“ AppletPaint.class“ width=“300“ height=“100“/applet/body/html(分数:15.00)_正确答案:(1) init() (2) S

24、tring (3) Applet (4) Graphics g (5) HelloWorldApplet.class)解析:解析 (1)applet 初始化的时候要调用该方法,它仅被调用一次。初始化的代码经常放到这里。(2)程序在标签 JLabe1在构造过程中赋予其显示的文本,它的构造函数的输入参数是 String类型的,这个在 str 的定义中也可以看出。(3)AppletPaint继承自 Applet类。(4)很明显,这里需要一个 Graphics类来画直线。(5)这是 Applet的 html标记的使用方法,code 属性给出特定的类文件名,并且必须包括扩展名.class。width 和

25、 height属性定义了该 Applet的窗口大小。七、试题七(总题数:1,分数:15.00)7.说明下图是一个简易文本编辑器程序的运行界面:(分数:15.00)_正确答案:(1) FileSystemObject (2) CommonDialog1.filename (3) ts.ReadAll (4) ts. Write Text1.Text(5) Text1.SelLength)解析:解析 (1)FSO 对象的声明格式是:Dim 对象名 As New FileSystemObject;(2)文件对话框中选中的文件名称(含磁盘路径)包含在 filename属性中;(3)此处要获取文件的全部

26、内容,因此需用 ReadAll方法读取整个文件;(4)此处要将文本框内容 Text1.Text更新至文件,应使用 Write方法一次性写入;(5)文本框中是否选定了内容可以根据属性 SelLength (选定长度)是否为零来判断。八、试题八(总题数:1,分数:15.00)8.说明本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。C+程序#include iostream. h#include string. hclass Userprotected:char user10;char pass7;public:User(char

27、,char);(1) return user;(2) return pass;User:User(char u,char p)strcpy(user,u);strcpy(pass,p); void main()User ua=User(“Li“,“123456“),User(“wang“,“654321“),User(“Song“,“666666“)char name10;while(1)cout “输入用户名:“;cin name;if( (3) = =0) break;for(int i=0;i3;i+ +)if(strcmp(name,uai.getuser() = =0)cout “密

28、码:“ uai.getpass() endl;(4) ;if( (5) )cout “该用户不存在!“ endl;(分数:15.00)_正确答案:(1) char *getuser() (2) char *getpass()(3) strcmp(name, “end“) (4) break(5) i= =3或 i=3 或 i2 或其他等效形式)解析:解析 由上下文可知,User 类中包括数据成员 User和 pass,分别存储用户名和口令,另有一个构造函数和 getuser()、getpass()两个成员函数,分别用于获取用户名和口令。main()中包含一个 User类型的数组 ua,当用户输入一个用户名后,在 ua中查找,若找得到则输出对应的口令,否则输出相应的提示信息。(1)(2)由于 user和 pass属性都是字符串类型,这里的返回值类型为 char *;(3)此处给出了退出程序的判断条件,即输入的用户名等于“end”;(4)此处的 for循环用于查找用户名,若找到了可即刻退出循环;(5)当输入的用户名不正确时,for 循环一直执行直到 i等于 3。

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