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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】计算机水平考试初级程序员2004年上半年下午真题及答案解析.doc

1、计算机水平考试初级程序员 2004 年上半年下午真题及答案解析(总分:135.00,做题时间:150 分钟)1.试题一 阅读下列说明、流程图和算法,将应填入 (n) 处的字句写在答题纸的对应栏内。 流程图说明 下面的流程图用 N-S 盒图形式描述了数组 A 中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于 Ai,并且数组中下标小于 i 的元素的值均小于基准数,下标大于 i 的元素的值均大于基准数。设数组 A 的下界为 low,上界为 high,数组中的元素互不相同。例如,对数组(4

2、,2,8,3,6),以 4 为基准数的划分过程如下: 流程图 (分数:15.00)_二、从下列的 2 道试题(试题二至试题三)中任选(总题数:2,分数:30.00)2.试题二 阅读下列函数说明和 C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 函数 2.1 说明 函数 palindrome(char s)的功能是:判断字符串 s 是否为回文字符串,若是,则返回 0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。 函数 2.1 int palindrome(char s) char *pi, *pj; p

3、i = s; pj = s+strlen(s)-1; while ( pi elem = (int *)malloc(n * sizeof(int); if(S-elem = NULL) return -1; S-max = n; (1) = 0 ; return 0; int Push(Stack *S, int item) /* 将整数 item 压入栈顶 */ if(S-top = S-max) printf(“Stack is full!n“); return -1; (2) = item ; return 0; int StackEmpty(Stack S) return (!S.t

4、op) ? 1 : 0; /* 判断栈是否为空 */ int Pop(Stack *S) /* 栈顶元素出栈 */ if(!S-top) printf(“Pop an empty stack!n“); return -1; return (3) ; void MultibaseOutput(long n, int B) int m; Stack S; if (InitStack( return; do if (Push( return; n = (5) ; while(n != 0); while(!StackEmpty(S) /* 输出 B 进制的数 */ m = Pop( if(m nex

5、t|!Lb-next|len next; prep = La; while ( p p = p-next; if (!p) return -1; /*表 A 中不存在键值为 key1 的结点*/ q = p; k = 1; while (q k+; if (!q) return -1; /*表 A 中不存在要被删除的 len 个结点*/ s = Lb-next; (3) ; while (s s = s-next; if (!s) return -1; /*表 B 中不存在键值为 key2 的结点*/ (4) = q-next; /*将表 A 中的 len 个结点删除*/ q-next = (

6、5) ; pres-next = p; /*将 len 个结点移至表 B*/ return 0; (分数:15.00)_7.试题七 阅读以下应用说明、属性设置及 Visual Basic 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 应用说明 7 本应用程序的运行窗口如下图所示: 只要用户单击“闪烁”按钮,文字“欢迎光临”就会以 0.3 秒消失、0.3 秒显示反复进行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。 在开发过程中,需要设置的属性如下: 属性设置 7 (分数:15.00)_五、从下列的 2 道试题(试题八至试题九)中任选(总题数:2,分数:30.00)8.试题八

7、 阅读下列程序说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。 程序 8 说明 程序 8 用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额。职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于 0 结束。 假设个人所得税法规定:个人收入所得,按月计税,以每月收入总额减除免税金额 800 元后的余额作为该月的月应纳税所得额。适用税率如下表所示。 (分数:15.00)_9.试题九 阅读以下应用说明及 Visual Basic

8、 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。应用说明 9 本应用程序的运行窗口如下图所示: 窗口中的三个文本框和两个按钮名称分别为Txt_salary、Txt_base、Txt_tax、Cmd_compute 和 Cmd_quit。运行时,文本框 Txt_base 中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框 Txt_salary 中输入月收入(工资或薪金)并单击“计算”按钮 Cmd_compute 后,Txt_tax 框中就显示计算所得的应纳税额。文本框 Txt_base 和 Txt_tax 在运行时不接受用户输入,Txt_base 的内容以灰色显示。 个人工资

9、(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算。目前的免税金额基数为 800 元,税率如下表所示: (分数:15.00)_计算机水平考试初级程序员 2004 年上半年下午真题答案解析(总分:135.00,做题时间:150 分钟)1.试题一 阅读下列说明、流程图和算法,将应填入 (n) 处的字句写在答题纸的对应栏内。 流程图说明 下面的流程图用 N-S 盒图形式描述了数组 A 中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移

10、动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于 Ai,并且数组中下标小于 i 的元素的值均小于基准数,下标大于 i 的元素的值均大于基准数。设数组 A 的下界为 low,上界为 high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以 4 为基准数的划分过程如下: 流程图 (分数:15.00)_正确答案:(1)j- (2)j+ (3)Aipivot 或 jpivot (4)A,L,k-1 (5)A,k+1,H)解析:二、从下列的 2 道试题(试题二至试题三)中任选(总题数:2,分数:30.00)2.试题二 阅读下列函数说明和 C 函数,将应填入 (n) 处的字句

11、写在答题纸的对应栏内。 函数 2.1 说明 函数 palindrome(char s)的功能是:判断字符串 s 是否为回文字符串,若是,则返回 0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。 函数 2.1 int palindrome(char s) char *pi, *pj; pi = s; pj = s+strlen(s)-1; while ( pi elem = (int *)malloc(n * sizeof(int); if(S-elem = NULL) return -1; S-max = n;

12、(1) = 0 ; return 0; int Push(Stack *S, int item) /* 将整数 item 压入栈顶 */ if(S-top = S-max) printf(“Stack is full!n“); return -1; (2) = item ; return 0; int StackEmpty(Stack S) return (!S.top) ? 1 : 0; /* 判断栈是否为空 */ int Pop(Stack *S) /* 栈顶元素出栈 */ if(!S-top) printf(“Pop an empty stack!n“); return -1; retu

13、rn (3) ; void MultibaseOutput(long n, int B) int m; Stack S; if (InitStack( return; do if (Push( return; n = (5) ; while(n != 0); while(!StackEmpty(S) /* 输出 B 进制的数 */ m = Pop( if(m top (2)S-elemS-top+ (3)S-elem-S-top (4)n % B (5)n / B)解析:5.试题五 阅读以下应用说明及 Visual Basic 程序代码,将应填入_ (n) 处的字句写在答题纸的对应栏内。 应用

14、说明 5.1 本应用程序的窗体中有一个下拉式列表框(名称为 Combo1)和两个文本框(名称分别为 Txt1 和 Txt2)。运行时,用户从 Combo1 的列表中进行选择,程序就会将选中条目的内容以及编号(从 0 开始)分别在文本框 Txt1 和 Txt2 中显示出来。 程序代码 5.1 Private Sub Combo1_Click() Txt1.Text = Combol. (1) Txt2.Text = Combol. (2) End Sub (注:可供(2)处选择的选项:List, Index, ListIndex, ListCount, Number) 应用说明 5.2 本应用程

15、序的运行窗口如下图所示: (分数:15.00)_正确答案:(1)Text (2)ListIndex (3)Val(TxtIn.Text) 或 TxtIn.Text (4)CmbOp.Text (5)End Select)解析:四、从下列的 2 道试题(试题六至试题七)中任选(总题数:2,分数:30.00)6.试题六 阅读下列函数说明和 C 函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 函数 6 说明 函数 DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表 A 中关键码为 key1 的结点

16、开始的 len 个结点,按原顺序移至线性表 B 中关键码为 key2 的结点之前,若移动成功,则返回 0;否则返回-1。线性表的存储结构为带头结点的单链表,La 为表 A 的头指针,Lb 为表B 的头指针。单链表结点的类型定义为: typedef struct node int key; struct node *next; *LinkedList; 函数 6 int DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len) LinkedList p,q,s,prep,pres; int k; if (!La-next|!

17、Lb-next|len next; prep = La; while ( p p = p-next; if (!p) return -1; /*表 A 中不存在键值为 key1 的结点*/ q = p; k = 1; while (q k+; if (!q) return -1; /*表 A 中不存在要被删除的 len 个结点*/ s = Lb-next; (3) ; while (s s = s-next; if (!s) return -1; /*表 B 中不存在键值为 key2 的结点*/ (4) = q-next; /*将表 A 中的 len 个结点删除*/ q-next = (5)

18、; pres-next = p; /*将 len 个结点移至表 B*/ return 0; (分数:15.00)_正确答案:(1)knext (3)pres = Lb (4)prep-next (5)s 或 pres-next )解析:7.试题七 阅读以下应用说明、属性设置及 Visual Basic 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 应用说明 7 本应用程序的运行窗口如下图所示: 只要用户单击“闪烁”按钮,文字“欢迎光临”就会以 0.3 秒消失、0.3 秒显示反复进行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。 在开发过程中,需要设置的属性如下: 属性设置

19、7 (分数:15.00)_正确答案:(1)false (2)300 (3)enabled (4)Label.Visible (5)false)解析:五、从下列的 2 道试题(试题八至试题九)中任选(总题数:2,分数:30.00)8.试题八 阅读下列程序说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。 程序 8 说明 程序 8 用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税总额。职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小

20、于等于 0 结束。 假设个人所得税法规定:个人收入所得,按月计税,以每月收入总额减除免税金额 800 元后的余额作为该月的月应纳税所得额。适用税率如下表所示。 (分数:15.00)_正确答案:(1)employeej.Id!=Id (2)n=n+1;或者 n+;或者+n (3)employeei.Salary-BASE (4)kpaylevej (5)k-paylevej-1)解析:9.试题九 阅读以下应用说明及 Visual Basic 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。应用说明 9 本应用程序的运行窗口如下图所示: 窗口中的三个文本框和两个按钮名称分别为Txt_sa

21、lary、Txt_base、Txt_tax、Cmd_compute 和 Cmd_quit。运行时,文本框 Txt_base 中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框 Txt_salary 中输入月收入(工资或薪金)并单击“计算”按钮 Cmd_compute 后,Txt_tax 框中就显示计算所得的应纳税额。文本框 Txt_base 和 Txt_tax 在运行时不接受用户输入,Txt_base 的内容以灰色显示。 个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算。目前的免税金额基数为 800 元,税率如下表所示: (分数:15.00)_正确答案:(1)Txt_salary.Text-Txt_base.Text (2)kpaylevel(j) (3)k-paylevel(j-1) (4)Txt_tax.Text (5)False ()解析:

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