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

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

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

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

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

    1、初级程序员下午试题-85 及答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.说明下面的流程图用于统计一个英文句子中单词的个数 N。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。流程图(分数:15.00)_二、试题二(总题数:1,分数:15.00)2.函数 2.1说明函数 void find(int *a, int n, int * max, int * min)的功能是在长度为 n的整型数组 a中,查找最大元素和最小元素的下标。main()中给出了调用 find函数的一个实例。函数 2.1#incl

    2、udestdio.hvoid find(int *a, int n,int *max,int * min)int i;*max =* min=0;for(i=1;in;i+ +)if(aia* max) (1) ;else if(aia*min) (2) ;return;main()int a=4,6,8,9,0,6,max,min;find(a,6, (3) );printf(“%5d%5d/n“, max,min);函数 2.2说明以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串前端的公共部分。例如:输入的两个字符串分别是 abcdefg和 abceef,则输出为 abc

    3、。函数 2.2#include stdio.hmain()char str1100,str2100,str100,c;int i=0,s;printf(“/nInput string 1:“);gets(str1);printf(“/nInput string 2:“);gets(str2);while( (4) )i+;printf(“%s/n“,str);(分数:15.00)_三、试题三(总题数:1,分数:15.00)3.说明二叉树的二叉链表存储结构描述如下:typedef struct BiTNodedatatype data;struct BiTNode *lchild, * rchi

    4、ld; /*左右孩子指针*/BiTNode,* BiTree;对二叉树进行层次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首先将根结点指针入队列,然后从队首取出一个元素,执行下面两个操作:(1) 访问该元素所指结点;(2) 若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。此过程不断进行,当队列为空时,二叉树的层次遍历结束。下面的函数实现了这一遍历算法,其中 Visit(datatype a)函数实现了对结点数据域的访问,数组queueMAXNODE用以实现队列的功能,变量 front和 rear分别表示当前队首元素和队尾元素在数组中的位置。函

    5、数void LevelOrder(BiTree bt) /*层次遍历二叉树 bt*/BiTree QueueMAXNODE;int front,rear;if(bt= =NULL)return;front=-1;rear=0;queuerear= (1) ;while(front (2) )(3) ;Visit(queuefront-data); /*访问队首结点的数据域*/if(queuefrontlchild!:NULL)rear+;queuerear= (4) ;if(queuefront-rchild! =NULL)rear+;queuerear= (5) ;(分数:15.00)_四、

    6、试题四(总题数:1,分数:15.00)4.说明本程序在 33方格中填入 1到 10以内 9个互不相等的整数,使所有相邻两个方格内的两个整数之和为质数。程序的输出是全部满足条件的方格。方格的序号如下图所示。程序采用试探法,从序号为 0的方格开始,依次为当前方格寻找一个合理的可填整数,并在当前位置正确填入后,为下一方格寻找可填入的合理整数;如不能为当前方格寻找一个合理的可填整数,就要后退到前一方格,调整前一方格的填入整数;当序号为 8的方格也填入合理的整数后,就找到了一个解。(分数:15.00)_五、试题五(总题数:1,分数:15.00)5.说明某单位组织一次职业技术考核比赛,由十名评委对选手的现

    7、场表现打分(0 到 100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计算并输出选手最后得分。在接收输入第 i个评分时,若输入数据的类型、范围不正确,程序将给出相应提示,并等待下一次输入,直至正确接收第 i个评分为止。程序的运行界面如下:(分数:15.00)_六、试题六(总题数:1,分数:15.00)6.说明本程序使用类来管理员工的通讯地址信息。已知程序的输出为:输出记录:5姓名:王丽华街道地址:中华路 15号市:襄樊市省:湖北省邮政编码:430070Java代码public class Employeeprotected String (1) ;protected S

    8、tring street;protected String city;protected String prov;protected String post;protected int no;public Empbyee()public Employee(String name,String street,String city,String prov,String post, (2) )this.name=name;this.street=street;this.city=city;this.prov=prov;this.post=post;this.no=no;public static

    9、void main(Stringargs)Employee emp=new Employee(“王华”,“中华路 15号”,“武汉市”,“湖北省”,“430070”,1);emp.changeName(“王丽华”);(3) (“襄樊市”);emp.changeNo(5);(4) ;void changeName(String name)this.name=name;void changeStreet(String street)this.street=street;void changeCity(String city)this.city=city;void changeProv(String

    10、 prov)this.prov=prov;void changeNo(int no) (5) ;void display()System.out.println(“输出记录:”+this.no);System.out.Println(“姓名:”+this.name);System.out.println(“街道地址:”+this.street);System.out.println(“市:”+this.city);System.out.println(“省:”+this.prov);System.out.println(“邮政编码:”+this.post);(分数:15.00)_七、试题七(总

    11、题数:1,分数:15.00)7.说明某公司的服务器上为每位员工提供了一定大小的存储空间,用于数据的备份。下面的程序面向公司员工,提供了本地计算机与服务器端之间文件传输的功能。主要操作介绍如下:(1)连接服务器:员工需要输入用户名和口令才能连接到服务器端,checkUser 函数用于检查用户名和口令是否合法,返回真假值。(2)上传文件:从本地计算机上传文件到服务器。员工可以在本地文件列表中选择一个或多个文件,这些文件通过上传操作被复制到服务器端指定的某个文件夹中;(3)下载文件:从服务器端下载文件到本地。(分数:15.00)_八、试题八(总题数:1,分数:15.00)8.说明以下程序的功能是统计

    12、学生成绩,包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前百分之七十的学生定为合格(PASS),而后百分之三十的学生定为不合格(FAIL)。例如,当输入 4名学生的姓名和成绩“Alice 67 Mary 90 Tom 56 John 88”后,程序的执行结果如下:姓名 成绩 合格否Mary 90 PASSJohn 88 PASSAlice 67 FAILTom 56 FAILC+程序#include stdio.h#include string.h#define N 10class studentprotected:char name10;int deg;public:void se

    13、tname(charna) strcpy(name,na);char * getname() return name;void setdeg(int d) deg= d;int getdeg()return deg;class computeint ns;student naN;public:void getdata();void sort();void disp();void compute:getdata()int i,tdeg;char tname10;printf(“输入学生人数:“);scanf(“%d“,printf(“输入学生姓名和成绩:/n“);for(i=0;ins;i+ +

    14、)scanf(“%s%d“,tname,(1) ;nai.setdeg(tdeg);void compute:sort()int i,j,pick;(2) ;for(i=0;ins-1;i+ +)pick=i;for(j=i+1;jns;j+ +)if(naj.getdeg()napick.getdeg() (3) ;temp=nai;nai=napick;napick=temp;void compute:disp()int cutoff,i;printf(“RESULT/n“);printf(“姓名 成绩 合格否/n“);cutoff=ns*7/10-1;for(i=0;ins;i+ +)

    15、printf(“%-6s%3d“, (4) );if( (5) ) printf(“/tPASS/n“);else printf(“/tFAIL/n“);void main()compute obj;obj.getdata();obj.sort();obj.disp();(分数:15.00)_初级程序员下午试题-85 答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.说明下面的流程图用于统计一个英文句子中单词的个数 N。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。流程图(分数:15.00)_正确答案

    16、:(1) N0 (2) N+1 (3) 是 (4) 否 (5) =)解析:考点分析 考查算法的流程图表示。解析 本题用到的两个变量及其作用分别为:A,存放输入的一个字符;N 存放当前读取的单词个数。(1)使用变量 N应先赋予初值,由上下文知其初值为 0;(2)读取单词的首字母后,单词个数 N应增 1;(3)读取单词的首字母后,循环读入单词的后继字母,直到遇到下一个非字母字符(空格或句点)为止;(4)略;(5)读到句点表明句子结束,这时输出结果并结束算法。二、试题二(总题数:1,分数:15.00)2.函数 2.1说明函数 void find(int *a, int n, int * max, i

    17、nt * min)的功能是在长度为 n的整型数组 a中,查找最大元素和最小元素的下标。main()中给出了调用 find函数的一个实例。函数 2.1#includestdio.hvoid find(int *a, int n,int *max,int * min)int i;*max =* min=0;for(i=1;in;i+ +)if(aia* max) (1) ;else if(aia*min) (2) ;return;main()int a=4,6,8,9,0,6,max,min;find(a,6, (3) );printf(“%5d%5d/n“, max,min);函数 2.2说明以

    18、下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串前端的公共部分。例如:输入的两个字符串分别是 abcdefg和 abceef,则输出为 abc。函数 2.2#include stdio.hmain()char str1100,str2100,str100,c;int i=0,s;printf(“/nInput string 1:“);gets(str1);printf(“/nInput string 2:“);gets(str2);while( (4) )i+;printf(“%s/n“,str);(分数:15.00)_正确答案:(1) * max=i (2) * min=i

    19、(3) struct BiTNode *lchild, * rchild; /*左右孩子指针*/BiTNode,* BiTree;对二叉树进行层次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首先将根结点指针入队列,然后从队首取出一个元素,执行下面两个操作:(1) 访问该元素所指结点;(2) 若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。此过程不断进行,当队列为空时,二叉树的层次遍历结束。下面的函数实现了这一遍历算法,其中 Visit(datatype a)函数实现了对结点数据域的访问,数组queueMAXNODE用以实现队列的功能,变量 f

    20、ront和 rear分别表示当前队首元素和队尾元素在数组中的位置。函数void LevelOrder(BiTree bt) /*层次遍历二叉树 bt*/BiTree QueueMAXNODE;int front,rear;if(bt= =NULL)return;front=-1;rear=0;queuerear= (1) ;while(front (2) )(3) ;Visit(queuefront-data); /*访问队首结点的数据域*/if(queuefrontlchild!:NULL)rear+;queuerear= (4) ;if(queuefront-rchild! =NULL)r

    21、ear+;queuerear= (5) ;(分数:15.00)_正确答案:(1) bt (2) ! =rear (3) front+ + (4) queue front-lchild(5) queuefront-rchild)解析:考点分析 考查用 C语言实现二叉树的层次遍历。解析 (1)遍历开始时队列长度为 1,其中只存放了根结点 bt;(2)遍历过程是一个循环访问队列的过程,其终止条件是队列为空,即 front等于 rear;(3)遍历到某结点时,该结点应退出队列,因此队首元素的位置应该增 1;(4)此处应将队首结点的左孩子结点放入队列,即插在队尾;(5)此处应将队首结点的右孩子结点放入队

    22、列,即插在队尾。四、试题四(总题数:1,分数:15.00)4.说明本程序在 33方格中填入 1到 10以内 9个互不相等的整数,使所有相邻两个方格内的两个整数之和为质数。程序的输出是全部满足条件的方格。方格的序号如下图所示。程序采用试探法,从序号为 0的方格开始,依次为当前方格寻找一个合理的可填整数,并在当前位置正确填入后,为下一方格寻找可填入的合理整数;如不能为当前方格寻找一个合理的可填整数,就要后退到前一方格,调整前一方格的填入整数;当序号为 8的方格也填入合理的整数后,就找到了一个解。(分数:15.00)_正确答案:(1) checkMatrixposi (2) apos+aj (3)

    23、a+pos (4) bapos=1(5) pos= =8或 pos=8 或 pos7)解析:考点分析 考查 C语言程序设计,主要是试探和回溯算法。解析 程序中主要变量及其作用说明如下:pos 用于标记当前要填数的方格序号;数组元素 ai表示第i个方格所填的内容;数组元素 bj标记整数 j是否被使用 (初始化时设为 1,表示没有使用);一维数组 checkMatrixi记录了填写第 i个方格需要检查的方格序号,例如 checkMatrix4=1,3,-1,其中-1用作结束标记。(1)此循环遍历一维数组 checkMatrixpos,取出第 i个数 checkMatrixposi赋给 j,直至-1

    24、;(2)j是 checkMatrixpos中不等于-1 的值,即表示需要检查当前方格(第 pos个)与第 j个的和是否是素数;(3)这条语句应包含 pos增 1以及 apos=selectNum (1)前后两个操作,因此需用+pos;(4)若能为当前方格找到下一个未被使用的数,则应先释放当前格中的数,再填入新数;(5)这条语句包含输出方格操作,因此判断的条件是全部方格被填满,即 pos值已增至 8。五、试题五(总题数:1,分数:15.00)5.说明某单位组织一次职业技术考核比赛,由十名评委对选手的现场表现打分(0 到 100以内的数值)。本程序接收原始评分后,去掉一个最高分、一个最低分,最后计

    25、算并输出选手最后得分。在接收输入第 i个评分时,若输入数据的类型、范围不正确,程序将给出相应提示,并等待下一次输入,直至正确接收第 i个评分为止。程序的运行界面如下:(分数:15.00)_正确答案:(1) Not (2) marks(1)或 marks(i) (3) minMark=marks(i) (4) sumMark-maxMark-minMark(5) Text1)解析:考点分析 考查 VB语言程序设计,主要是控件的使用。解析 (1)程序在输入数据 temp不是数值(即 IsNumeric (temp)返回 False值)时报告错误,因而此处应填写逻辑运算符:取非;(2)由程序最后的输

    26、出可推断:maxMark 和 minMark分别用于记录最高分和最低分。它们通过 For循环求得,此处需要为其赋初值;(3)当第 i个评分 marks(i)小于当前 minMark的值时,应该更新 minMark;(4)根据程序说明,选手最后的分为去掉一个最高分、一个最低分后的平均分;(5)略。六、试题六(总题数:1,分数:15.00)6.说明本程序使用类来管理员工的通讯地址信息。已知程序的输出为:输出记录:5姓名:王丽华街道地址:中华路 15号市:襄樊市省:湖北省邮政编码:430070Java代码public class Employeeprotected String (1) ;prote

    27、cted String street;protected String city;protected String prov;protected String post;protected int no;public Empbyee()public Employee(String name,String street,String city,String prov,String post, (2) )this.name=name;this.street=street;this.city=city;this.prov=prov;this.post=post;this.no=no;public s

    28、tatic void main(Stringargs)Employee emp=new Employee(“王华”,“中华路 15号”,“武汉市”,“湖北省”,“430070”,1);emp.changeName(“王丽华”);(3) (“襄樊市”);emp.changeNo(5);(4) ;void changeName(String name)this.name=name;void changeStreet(String street)this.street=street;void changeCity(String city)this.city=city;void changeProv(

    29、String prov)this.prov=prov;void changeNo(int no) (5) ;void display()System.out.println(“输出记录:”+this.no);System.out.Println(“姓名:”+this.name);System.out.println(“街道地址:”+this.street);System.out.println(“市:”+this.city);System.out.println(“省:”+this.prov);System.out.println(“邮政编码:”+this.post);(分数:15.00)_正

    30、确答案:(1) name (2) int no (3) emp.changeCity (4) emp.display() (5)this.no=no)解析:考点分析 考查 Java语言程序设计,主要是类的使用。解析 本程序创建一个 employee类,包括姓名、街道地址、市、省、邮政编码和记录号等信息以及若干函数:构造函数 employee()初始化每个成员;changname()、changeno()等用于更改类中各属性的值;display()函数用于打印数据。七、试题七(总题数:1,分数:15.00)7.说明某公司的服务器上为每位员工提供了一定大小的存储空间,用于数据的备份。下面的程序面向

    31、公司员工,提供了本地计算机与服务器端之间文件传输的功能。主要操作介绍如下:(1)连接服务器:员工需要输入用户名和口令才能连接到服务器端,checkUser 函数用于检查用户名和口令是否合法,返回真假值。(2)上传文件:从本地计算机上传文件到服务器。员工可以在本地文件列表中选择一个或多个文件,这些文件通过上传操作被复制到服务器端指定的某个文件夹中;(3)下载文件:从服务器端下载文件到本地。(分数:15.00)_正确答案:(1) Dir1.Path=Drive1.Drive (2) InpatBox (3) File1.ListCount-1 (4) File1.Selected(i) (5) G

    32、etFile)解析:考点分析 考查 VB语言程序设计,主要是文件系统对象的使用。解析 (1)驱动器列表框的 Drive属性表示当前选择的驱动器;目录列表框的 Path属性表示当前目录的路径;文件列表框的 path属性则表示列表中文件所在的目录的路径;(2)此处需要提供输入框以供用户输入用户名和密码;(3)Flie1.ListCount表示 File1中文件的总数目,因文件编号自 0起,所以还应减去 1;(4)若文件列表框中某项被选中,则其 Selected(index)属性将为 True,此循环中,index 就足循环变量i;(5)FSO对象的 GetFile方法返回一个和指定路径中文件相对应

    33、的 File对象。八、试题八(总题数:1,分数:15.00)8.说明以下程序的功能是统计学生成绩,包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前百分之七十的学生定为合格(PASS),而后百分之三十的学生定为不合格(FAIL)。例如,当输入 4名学生的姓名和成绩“Alice 67 Mary 90 Tom 56 John 88”后,程序的执行结果如下:姓名 成绩 合格否Mary 90 PASSJohn 88 PASSAlice 67 FAILTom 56 FAILC+程序#include stdio.h#include string.h#define N 10class student

    34、protected:char name10;int deg;public:void setname(charna) strcpy(name,na);char * getname() return name;void setdeg(int d) deg= d;int getdeg()return deg;class computeint ns;student naN;public:void getdata();void sort();void disp();void compute:getdata()int i,tdeg;char tname10;printf(“输入学生人数:“);scanf(

    35、“%d“,printf(“输入学生姓名和成绩:/n“);for(i=0;ins;i+ +)scanf(“%s%d“,tname,(1) ;nai.setdeg(tdeg);void compute:sort()int i,j,pick;(2) ;for(i=0;ins-1;i+ +)pick=i;for(j=i+1;jns;j+ +)if(naj.getdeg()napick.getdeg() (3) ;temp=nai;nai=napick;napick=temp;void compute:disp()int cutoff,i;printf(“RESULT/n“);printf(“姓名 成绩

    36、 合格否/n“);cutoff=ns*7/10-1;for(i=0;ins;i+ +) printf(“%-6s%3d“, (4) );if( (5) ) printf(“/tPASS/n“);else printf(“/tFAIL/n“);void main()compute obj;obj.getdata();obj.sort();obj.disp();(分数:15.00)_正确答案:(1) nai.setname(tname) (2) student temp(3) pick=j(4) nai.getname(),nai.getdeg() (5) i=cutoff)解析:考点分析 考查

    37、C+语言程序设计,主要是类的使用。解析 本程序定义了两个类 student和 compute,另有三个公共成员函数 getdata()、sort()和 disp(),它们分别用于获取数据、按成绩排序和输出数据。(1)此处获取扑更新学生对象 nai的姓名属性;(2)sort()函数后半部分使用了 student类型的变量 temp,应该在此处声明;(3)sort()函数的功能是将数组 na按成绩降序排列,这里使用的是简单选择排序算法,pick 和 i都是数组下标,且 pick记录了自第 i个位置起最大元素的下标;(4)根据程序输出的示例,此处应依次输出 nai的姓名和成绩,分别需使用 getname()和 getdeg()方法获得;(5)cutoff是前百分之七十学生的序号。


    注意事项

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




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

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

    收起
    展开