【计算机类职业资格】初级程序员下午试题-74及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-74及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-74及答案解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-74 及答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.说明下面的流程图描述了计算自然数 1到 N(N1)之和的过程。流程图(分数:15.00)_二、试题二(总题数:1,分数:15.00)2.函数 2.1说明下面程序的功能是计算 x和 y的最小公倍数。函数 2.1main()int m,n,d,r;seanf(“%d %d“,if(mn) r=m;m=n;n=r;(1) ;while (d%n! =0) (2) ;printf(“%d/n“,d);函数 2.2说明下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输
2、出,但连续的空格输入将转换成一个空格。函数 2.2#include stdio.hmain()char c,preChar=/0;c = getchar();while(c! = .)if( (3) ) putchar(c);else if(preChar! = ) putchar(c);(4) ;c= (5) ;(分数:15.00)_三、试题三(总题数:1,分数:15.00)3.说明二叉树的二叉链表存储结构描述如下:lypedef struct BiTNodedatatype data;street BiTNode *lchiht, *rchild; /*左右孩子指针*/ BiTNode,
3、*BiTree;下列函数基于上述存储结构,实现了二叉树的几项基本操作:(1) BiTree Creale(elemtype x, BiTree lbt, BiTree rbt):建立并返回生成一棵以 x为根结点的数据域值,以 lbt和 rbt为左右子树的二叉树;(2) BiTree InsertL(BiTree bt, elemtype x, BiTree parent):在二叉树 bt中结点 parent的左子树插入结点数据元素 x;(3) BiTree DeleteL(BiTree bt, BiTree parent):在二叉树 bt中删除结点 parent的左子树,删除成功时返回根结点指
4、针,否则返回空指针;(4) frceAll(BiTree p):释放二叉树全体结点空间。函数BiTree Create(elemtype x, BiTree lbt, BiTree rbt) BiTree p;if (p = (BiTNode *)malloc(sizeof(BiTNode)= =NULL) return NULL;p-data=x;p-lchild=lbt;p-rchild=rbt;(1) ;BiTree InsertL(BiTree bt, elemtype x,BiTree parent)BiTree p;if (parent= =NULL) return NULL;if
5、 (p=(BiTNode *)malloc(sizeof(BiTNode)= =NULL) return NULL;p-data=x;p-lchild= (2) ;p-rchild= (2) ;if(parent-lchild= =NULL) (3) ;elsep-lchild= (4) ;parent-lchild=p;return bt;BiTree DeleteL(BiTree bt, BiTree parent)BiTree p;if (parent= =NULL|parent-lchild= =NULL) return NULL;p= parent-lchild;parent-lch
6、ild=NULL;freeAll( (5) );return bt;(分数:15.00)_四、试题四(总题数:1,分数:15.00)4.说明本程序将自然数 1,2,N 2(N=5)按蛇形方式逐个顺序存入 N阶矩阵。令 n=N-1,则矩阵中的每一元素可用 aij标记,其中 i,j(0i,jn)分别为其所在行的行号和所在列的列号。蛇形方式顺序存放的方法是从 an0开始、到 a0n为止,依次填入由 1递增的自然数,交替地对每一斜列从左上角向右下角或从右下角向左上角排列。程序的输出为:(分数:15.00)_五、试题五(总题数:1,分数:15.00)5.说明本程序提供了三阶矩阵加、减及乘运算的功能。用户
7、单击“生成操作数”按钮将随机生成两个矩阵(即操作数 1和操作数 2),再单击某一矩阵运算按钮后,程序将输出相应运算的结果。程序运行界面如下:(分数:15.00)_六、试题六(总题数:1,分数:15.00)6.说明本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。Java代码import java. io. *:public class User public String user;public Siring pass;public User() public User( String u,String p) user=u;pa
8、ss=p;public String (1) () return this. user; public String (2) () return this. pass; public static void main(String args) User ua=new User(“Li“,“123456“), new User(“wang“,“654321“),new User(“Song“,“666666“);while(true) InputStreamReader reader = new InputStreamReader(System. in);BufferedReader inpul
9、 = new BnfferedReader(reader);System. out. print(“Enter your name:“);String name = null;try name = input. readLine();catch (IOException ex) if( (3) ) break;int i;for (i=0;i3;i+) if (name. equals(uai. getUser()System. out. println(“密码:“+uai.getPass();(4) ;if ( (5) ) System. out. println(“该用户不存在!“);(分
10、数:15.00)_七、试题七(总题数:1,分数:15.00)7.说明设有一张学生成绩表存放在 Acess数据库中,其中包括学生编号、姓名以及各科目考试成绩。下面的应用程序利用数据控件(Data)实现了对这张数据表中记录的增加、删除、修改、查找和刷新操作,其中,删除一条记录后,要求界面显示下一条记录;要查找记录,首先要求用户输入学生姓名,程序查找并显示匹配的第一条记录;执行刷新操作后,要求界面显示数据表的第一条记录。程序的运行界面如下:(分数:15.00)_八、试题八(总题数:1,分数:15.00)8.说明本程序实现了雇员信息管理功能,其中封装了雇员信息及其设置、修改、删除操作。已知当输入为“S
11、mith 31 2960.0”时,程序的输出是:姓名:Smith 年龄:31 工资:2960姓名:Smith 年龄:31 工资:3500姓名:Mary 年龄:23 工资:2500C+程序#include iostream.h#include string.hclass employeechar *name; /雇员姓名short age; /年龄float salary;/工资public:employee();void set_name(char *);void set_age(short a) age=a;void set_salary(float s) salary=s;(1) ; em
12、ployee()delete name;employee:employee() name=“;age=0;salary=0.0;void employee:set_name(char *n)name=new charstrlen(n)+1;(2) (name,n);void employee:print()cout“姓名“:“name“ 年龄:“agc“ 工资:“ salaryendl;void main()char *na;short ag=0;float sa=0;(3) ;na=new char10;cinnaagsa;emp.set_name(na);emp.set_age(ag);e
13、mp.set_salary(sa);emp.print();(4) (3500.0);emp.print();(5) ;emp.set_name(“Mary“);emp.set_age(23);emp.set_salary(2500.0);emp.print();(分数:15.00)_初级程序员下午试题-74 答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.说明下面的流程图描述了计算自然数 1到 N(N1)之和的过程。流程图(分数:15.00)_正确答案:(1) 0 (2) S+i (3) i+1 (4) SS+i*(i+2)(5) ii+2)
14、解析:解析 本题中,变量 i用作循环变量,变量 S则用于存放累加和,起初始值为 0。在计算1+2+N时,每循环一次,将 i的值累加到当前的 S中,并且 i自增 1。为计算 1*3+2*4+N*(N+2)的值,只需将其第 i项的值 i*(i+2)累加到 S中;为计算不大于 N的全体奇数之和,令循环变量的步长为 2即可。二、试题二(总题数:1,分数:15.00)2.函数 2.1说明下面程序的功能是计算 x和 y的最小公倍数。函数 2.1main()int m,n,d,r;seanf(“%d %d“,if(mn) r=m;m=n;n=r;(1) ;while (d%n! =0) (2) ;print
15、f(“%d/n“,d);函数 2.2说明下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。函数 2.2#include stdio.hmain()char c,preChar=/0;c = getchar();while(c! = .)if( (3) ) putchar(c);else if(preChar! = ) putchar(c);(4) ;c= (5) ;(分数:15.00)_正确答案:(d=m (2) d+=m 或 d=d+m (3) c!=(4) preChar=c (5) getchar()解析:解析 (1)下文使用了变量 d,
16、因此需在此初始化,由下面循环的条件“d%n!=0”知初值不能是n,因此必为 m;(2)此处 while循环生成最小公倍数 d,其终止条件是 n整除 d,因此循环过程中需要保证 m整除 d并且 d尽可能地小,于是 d应以 m为增量递增;(3)当输入的字符非空格时,原样输出;(4)程序中变量 preChar用于记录上一次读入的字符,循环过程中应不断更新其值;(5)接收下一个输入。三、试题三(总题数:1,分数:15.00)3.说明二叉树的二叉链表存储结构描述如下:lypedef struct BiTNodedatatype data;street BiTNode *lchiht, *rchild;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 74 答案 解析 DOC
