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