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

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

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

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

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

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

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

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

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

    5、中掠过变换函数为不同组之间添加的一个下划线字符。 注:假定调用变换函数 encode()时的原始字符串中不包含下划线字符。 函数 int encode(char *instr,char *outstr) char *ip, *op,c; int k,n; ip=instr; op=outstr; while ( * ip) if(*ip=0 c=U (1) /U; for (k=0;kn;k+) *op+=c; else *op+=*ip; U(2) /U; ip+; if (opoutstr) U(3) /U; *op=/0; U(4) /U; int decode(char *instr,

    6、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; U (4) /U; (分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)5.说明 某银行新近开通外汇定期存款业务。为方便用户查询不同存款方式下的日利率、计算本利,特开发了日利率查询及本利计算程序,其运行窗口如下图所示。用户只要在界面上选择相应的存款方式(包括外汇币种、存期等

    7、),便可单击按钮一查询存款日利率。若输入一定数量的本金。程序还会根据所选择的存期计算并输出本利和。 (分数:15.00)_六、B试题六/B(总题数:1,分数:15.00)6.说明 当用户启动 html浏览器并首次打开下面的 html文档时,Java Applet 小程序在第一个显示面板上显示字符串“HelloWorld“;在第二个显示面板上画一条直线。 Java 代码 import java.awt. *; import javax.swing. *; public class HelloWorldApplet extends JApplet pubhc void U(1) /U U(2) /

    8、U str=“HetloWorld“; JLabel label = new JLabel(str); this. getContentPane().add(label); import java.applet.Applet; import java.awt.Graphics; public class AppletPaint extends U(3) /U public void paint(U (4) /U) g.drawLine(0,0,300,200); HTML文档 html head title HTML Test Page /title /head body applet cod

    9、e=“U (5) /U“ width=“300“ height=“100“ /applet applet code=“ AppletPaint.class“ width=“300“ height=“100“ /applet /body /html(分数:15.00)_七、B试题七/B(总题数:1,分数:15.00)7.说明 下图是一个简易文本编辑器程序的运行界面: (分数:15.00)_八、B试题八/B(总题数:1,分数:15.00)8.说明 本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。 C+程序 #include ios

    10、tream. h #include string. h class User protected: char user10; char pass7; public: User(char ,char); U(1) /Ureturn user; U(2) /Ureturn 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; whi

    11、le(1) cout “输入用户名:“; cin name; if(U (3) /U= =0) break; for(int i=0;i3;i+ +) if(strcmp(name,uai.getuser() = =0) cout “密码:“ uai.getpass() endl; U(4) /U; if(U (5) /U)cout “该用户不存在!“ endl; (分数:15.00)_初级程序员下午试题-38 答案解析(总分:120.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.说明 设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结

    12、束符。下面的流程图读取该文件,统计出全部成绩中的最高分 max和最低分 min。(分数:15.00)_正确答案:()解析:(1) maxa (2) mina (3) a=“.“ (4) amax 或 amax 或 maxa 或 maxa (5) amin 或amin 或 mina 或 mina 解析 本题用到的三个变量及其作用分别为:a,存放读入的一行数据;max存放最高分;min 存放最低分。算法首先读入文件的第一行数据 a,若 a为文件结束符“.”,则算法提前结束;否则为 max和 min赋初值 a,循环读入文件其余部分,直至文件末尾。循环过程中,当某行数据 a大于 max时,更新 max

    13、的值;当某行数据 a小于 min时,更新 min的值。二、B试题二/B(总题数:1,分数:15.00)2.函数 2.1说明 Fibonacci 数列中头两个数均为 1,从第三个数开始,每个数等于前两个数之和。下述程序计算 Fibonacci数列中前 15个数,并以每行 5个数的格式输出。 函数 2.1 #include stdio.h main() int i,f,f1=1,f2=1; printf(“%5d%5d“,f1,f2); for(i=3;i=15;i+) f=U (1) /U; printf(“%5d“,f); if(U (2) /U= =0) printf(“/n“); f1=1

    14、2; U (3) /U; 试题一流程图 (分数: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末尾; (5)函数结束前应在 str1末尾添加结束符。三、B试题三/B(总题数:1,分数:15.00)3.说明 链式存储的队列

    15、称为链队。根据队列的 FIFO原则,为了操作上的方便,可以使用带头指针front和尾指针 rear的单链表来实现链队。若链队元素的数据类型为 datatype,则链队结构描述如下: typedef struct node datatypedata; structnode *next; QNode; /*链队结点的类型*/ typedef struct QNnode *front,*rear; LQueue; /*将头尾指针封装在一起的链队*/ 以下这种链队的几个例子: (分数:15.00)_正确答案:()解析:(1) q-front=q-rear (2) = = (3)q- rear-next

    16、 (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从链队中取出。四、B试题四/B(总题数:1,分数:15.00)4.说明 函数 encod

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

    18、结果为 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 ( * ip) if(*ip=0 c=U (1) /U

    19、; for (k=0;kn;k+) *op+=c; else *op+=*ip; U(2) /U; ip+; if (opoutstr) U(3) /U; *op=/0; U(4) /U; 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; U (4) /U; (分数:15.00)_正确答案:()

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

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

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

    23、:15.00)6.说明 当用户启动 html浏览器并首次打开下面的 html文档时,Java Applet 小程序在第一个显示面板上显示字符串“HelloWorld“;在第二个显示面板上画一条直线。 Java 代码 import java.awt. *; import javax.swing. *; public class HelloWorldApplet extends JApplet pubhc void U(1) /U U(2) /U str=“HetloWorld“; JLabel label = new JLabel(str); this. getContentPane().add

    24、(label); import java.applet.Applet; import java.awt.Graphics; public class AppletPaint extends U(3) /U public void paint(U (4) /U) g.drawLine(0,0,300,200); HTML文档 html head title HTML Test Page /title /head body applet code=“U (5) /U“ width=“300“ height=“100“ /applet applet code=“ AppletPaint.class“

    25、 width=“300“ height=“100“ /applet /body /html(分数:15.00)_正确答案:()解析:(1) init() (2) String (3) Applet (4) Graphics g (5) HelloWorldApplet.class 解析 (1)applet初始化的时候要调用该方法,它仅被调用一次。初始化的代码经常放到这里。 (2)程序在标签JLabe1在构造过程中赋予其显示的文本,它的构造函数的输入参数是 String类型的,这个在 str 的定义中也可以看出。 (3)AppletPaint 继承自 Applet类。 (4)很明显,这里需要一个

    26、 Graphics类来画直线。 (5)这是 Applet的 html标记的使用方法,code 属性给出特定的类文件名,并且必须包括扩展名.class。width 和 height属性定义了该 Applet的窗口大小。七、B试题七/B(总题数:1,分数:15.00)7.说明 下图是一个简易文本编辑器程序的运行界面: (分数:15.00)_正确答案:()解析:(1) FileSystemObject (2) CommonDialog1.filename (3) ts.ReadAll (4) ts. Write Text1.Text (5) Text1.SelLength 解析 (1)FSO 对象的

    27、声明格式是:Dim 对象名 As New FileSystemObject; (2)文件对话框中选中的文件名称(含磁盘路径)包含在 filename属性中; (3)此处要获取文件的全部内容,因此需用 ReadAll方法读取整个文件; (4)此处要将文本框内容 Text1.Text更新至文件,应使用 Write方法一次性写入; (5)文本框中是否选定了内容可以根据属性 SelLength (选定长度)是否为零来判断。八、B试题八/B(总题数:1,分数:15.00)8.说明 本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。 C+程

    28、序 #include iostream. h #include string. h class User protected: char user10; char pass7; public: User(char ,char); U(1) /Ureturn user; U(2) /Ureturn 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“) ch

    29、ar name10; while(1) cout “输入用户名:“; cin name; if(U (3) /U= =0) break; for(int i=0;i3;i+ +) if(strcmp(name,uai.getuser() = =0) cout “密码:“ uai.getpass() endl; U(4) /U; if(U (5) /U)cout “该用户不存在!“ endl; (分数:15.00)_正确答案:()解析:(1) char *getuser() (2) char *getpass() (3) strcmp(name, “end“) (4) break (5) i=

    30、=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。


    注意事项

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




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

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

    收起
    展开