2004-2010年历年程序员试题

更新时间:2023-06-02 08:22:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

顶顶顶顶顶顶

2004~2010年程序员历年试题

顶顶顶顶顶顶

目 录

2004年5月份程序员上午题 ...............................................................................................................................1

2004年5月份程序员下午题 ...............................................................................................................................7

2004 年11月程序员上午题 ..............................................................................................................................17

2004 年11月程序员下午题 ..............................................................................................................................22

2005年5月程序员考试试题上午试卷 ...........................................................................................................32

2005年5月程序员考试试题下午试卷 ...........................................................................................................38

2005 年11月程序员考试试题上午试卷........................................................................................................45

2005 年11月程序员考试试题下午试卷........................................................................................................51

2006年5月程序员上午试题 .............................................................................................................................60

2006年5月程序员下午试题 .............................................................................................................................67

2006年11月程序员上午试题...........................................................................................................................76

2006年11月程序员下午试题...........................................................................................................................83

2007年上半年程序员上午试卷.........................................................................................................................94 2007年下半年程序员上午试卷...................................................................................................................... 103 2007年下半年程序员下午试卷.......................................................................................................................110 2008 年上半年程序员上午试卷 .....................................................................................................................119 2008 年下半年程序员上午试卷(B)......................................................................................................... 126 2009 年上半年程序员上午试卷 .................................................................................................................... 133

顶顶顶顶顶顶

2004年5月份程序员上午题

2004年5月份程序员上午题

● 面向对象程序设计以_(1)_为基本的逻辑构件,用_(2)__来描述具有共同特征的一组对象,以_(3)_为共享机制,共享类中的方法和数据。

(1) A.模块 B.对象 C.结构 D.类

(2) A.类型 B.抽象 C.类 D.数组

(3) A.引用 B.数据成员 C.成员函数 D.继承

● 链表不具备的特点是__(4)__ 。

(4) A.可随机访问任何一个元素

B.插入、删除操作不需要引动元素

C.无需事先估计存储空间的大小

D.所需存储空间与线性表长度成正比

● 对矩阵压缩存储的主要目的是_(5) 。

(5) A.方便运算 B.节省存储空间

C.降低计算复杂度 D.提高运算效率

● 判断“链式队列为空”的条件是_(6) (front为头指针,rear为尾指针)。

(6) A.front==NULL B.rear==NULL

C.front==rear D.front!=rear

● 以下关于字符串的判定语句中正确的是_(7)__ 。

(7) A.字符串是一种特殊的线性表 B.串的长度必须大于零

C.字符串不属于线性表的一种 D.空格字符组成的串就是空串

● 在具有100个结点的树中,其边的数目为_(8)__ 。

(8) A.101 B.100 C.99 D.98

● 程序设计语言的定义一般包括_(9)_几个方面。

(9) A.语法、语义和语句 B.语法、语义和语用

C.语义、语句和语用 D.语法、语用和语句

● 在C语言中,若函数调用时实参是数组名,则传递给对应形参的是_(10)_。(10) A.数组空间的首地址 B.数组的第一个元素值

C.数组中元素的个数 D.数组中所有的元素

● 在下面的程序中,若实参a与形参x以引用调用(call by reference)的方式传递信息,则输出结果为_(11)_;若实参a与形参x以值调用(call by value)的方式传递信息,那么输出结果为_(12)_。

Main program Procedure addone(x)

(11) A.1 B.2 C.3 D.4

(12) A.1 B.2 C.3 D.4

● 在程序的执行过程中,用_(13)_结构可以实现嵌套调用函数的正确返回。

(13) A.队列 B.栈 C.树 D.图

顶顶顶顶顶顶

97782348.docx

● 已知有一维数组T[0..m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1..m]中,即B[1]=T[0],B[2]=T[n],依次类推,那么放入B[k](1<=k<=m)的元素是_(14)__。

(14) A.T[(k-1)*n] B.T[k*n] C.T[(k-1)*m] D.T[k*m]

● 已知递归函数f(n)的功能是计算1+2+ +n,且n>=1,应采用的代码段是_(15)_。

(15) A.if n>1 then return 1 else return n+f(n-1)

B.if n>1 then return 1 else return n+f(n+1)

C.if n<1 then return 0 else return n+f(n-1)

D.if n<1 then return 0 else return n+f(n+1)

● 在下面的流程图中,如果标记为b的运算执行了m次(m>1),那么标记为a的运算执行次数为_(16)_。

(16) A.1 B.m-1 C.m D.m+1

● 数据库系统从广义的角度看,应该由_(17)_组成。数据字典中存放_(18)__,数据库管理系统对应用程序的操作都要通过数据字典来进行。

(17) A.数据库、硬件、软件和人员 B.数据库、硬件、数据库管理系统和软件

C.数据库、软件和人员 D.数据库、数据库管理系统和人员

(18) A.数据库管理系统软件 B.数据定义语言DDL

C.数据操纵语言DML D.数据库体系结构的描述

● 设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:

SELECT 学号,姓名,AVG(成绩) AS 平均成绩

FROM Student

GROUP BY _ (19)__

HAVING _ (20)__

(19) A.学号 B.姓名 C.系名 D.课程号(20)

A.COUNT(DISTINCT 学号)>3 B.COUNT(课程号)>3

C.COUNT(DISTINCT 学号)>=3 D.COUNT(课程号)>=3

● 通过关系数据库的__(21)__运算,可以从表1和表2获得表3。

表1 表2 表3

编号 产品名 编号 订货者 编号 产品名 订货者

010 PC机 010 A公司 010 PC机 A公司

011 显示器 011 B公司 011 显示器 B公司

020 打印机 020 C公司 020 打印机 C公司

025 键盘 025 D公司 025 键盘 D公司

030 调制解调器 030 E公司 030 调制解调器E公司

顶顶顶顶顶顶

2004年5月份程序员上午题

(21) A.连接 B.投影 C.选择 D.包括

● 若计算机系统中的进程在“就绪”、“运行”和“等待”三种状态之间转换,进程不可能出现_(22)_的状态转换。

(22) A.“就绪”→“运行” B.“运行”→“就绪”

C.“运行”→“等待” D.“就绪”→“等待”

● 若内存采用固定分区管理方案,在已分配区可能会产生未用空间,通常称之为__(23)__。

(23) A.废快 B.空闲页面 C.碎片 D.空闲簇

● 在虚拟分页存储管理系统中,若进程访问的页面不在主存,且主存中没有可用的空闲块时,系统正确的处理顺序为_(24)_。

(24) A.决定淘汰页→页面调出→缺页中断→页面调入

B.决定淘汰页→页面调入→缺页中断→页面调出

C.缺页中断→决定淘汰页→页面调出→页面调入

D.缺页中断→决定淘汰页→页面调入→页面调出

● 系统软件是__(25)的软件。

(25) A.向应用软件提供系统调用等服务。 B.与具体硬件逻辑功能无关

C.在应用软件基础上开发 D.并不具体提供人机界面

● 在操作系统中,SPOOLing技术是一种并行机制,它可以使_(26)_。

(26) A.不同进程同时运行 B.应用程序和系统软件同时运行

C.不同的系统软件同时运行 D.程序的执行与打印同时进行

● 在常用的字处理软件中,选中文本块后,按下Ctrl键再拖曳鼠标,可以_(27)_;直接用鼠标拖曳已选定的文本,可以_(28)_ 。

(27) A.复制选中的文本

C.选中一个段落

(28) A.复制选中的文本

C.选中一个段落 B.移动选中的文本 D.选中一个矩形区域中的文本 B.移动选中的文本 D.选中一个矩形区域中的文本

● 通过设置文件的_(29)_ ,可以使其成为“只读”文件。

(29) A.类型 B.格式 C.属性 D.状态

● 办公自动化软件一般应用于_(30)_。

(30) A.科学计算 B.实时控制 C.信息管理 D.辅助设计

● Windows“回收站”占用的是_(31)_中的空间。

(31) A.主存 B.软盘 C.光盘 D.硬盘

● 软件的复杂性与许多因素有关。__(32)__ 不属于软件的复杂性参数。

(32) A.源程序的代码行数 B.程序的结构

C.算法的难易程度 D.程序中注释的多少

● 在结构化分析与设计方法中,为了在需求改变时对软件的影响较小,应该使_(33)_。

(33) A.程序结构与问题结构相对应 B.程序结构与问题结构相独立

C.程序结构与用户界面相对应 D.程序结构与用户界面相独立

● 系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行维护,这种维护属于_(34) 。

(34) A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护

● 以下选项中,主要联系高层管理人员的信息系统是_(35)_ 。

(35) A.MIS(管理信息系统) B.DSS(决策支持系统)

C.EDPS(电子数据处理系统) D.TPS(事务处理系统)

●__(36)__ 是关于质量管理体系的一系列标准,有助于企业交付符合用户质量要求的产品。

顶顶顶顶顶顶

97782348.docx

(36) A.ISO 9000 B.CMM C.ISO 1400 D.SW-CMM

● 某软件公司根据市场需求,组织开发一套应用软件,并对其公司的职工进行了保密的约束,以确保市场竞争。但是该公司某开发人员将该应用软件的程序设计技巧和算法(由该开发人员设计)作为论文向社会发表。该软件开发人员_(37)_ ,而该软件公司丧失了这套应用软件的_(38)_ 。

(37) A.丧失了计算机软件著作权 B.未丧失计算机软件著作权

C.丧失了发表权 D.丧失了专利权

(38) A.商业秘密 B.计算机软件著作权 C.发表权 D.专利权

● 在网络通信中,当消息发出后,接收方能确认消息确实是由声称的发送方发出的;同样,当消息接收到后,发送方能确认消息确实已由声称的接收方收到。这样的安全服务称为__(39)__ 服务。

(39) A.数据保密性 B.数据完整性 C.不可否认性 D.访问控制

● OSI(Open System Interconnection)安全体系方案X.800将安全服务定义为通信开放系统协议层提供的服务,用来保证系统或数据传输有足够的安全性。X.800定义了五类可选的安全服务。下列相关的选项中不属于这五类安全服务的是__(40)__。

(40) A.数据保密性 B.访问控制 C.认证 D.数据压缩

● 下列关于加密的叙述中,正确的是__(41)__ 。

(41) A.DES属于公钥密码体制

B.RSA属于公钥密码体制,其安全性基于大数因子分解困难

C.公钥密码体制的密钥管理复杂

D.公钥密码体制中,加密和解密采用不同的密钥,解密密钥是向社会公开的

● 多媒体技术中,表达信息的媒体数据具有一些特定的性质。下述关于媒体数据性质的描述中,不正确的是_(42)_。

(42) A.有格式的数据才能表达信息 B.不同的媒体所表达的信息量不同

C.媒体之间的关系也代表着信息 D.任何媒体都可以直接进行相互转换

● PC机中数字化后的声音有两类表示方式:一类是波形声音,一类是合成声音。__(43)__是一种合成声音文件的后缀。

(43) A.WAV B.MID C.RA D.MP3

● 在RGB彩色空间中,R(红)、G(绿)、B(蓝)为三基色,青色、品红和黄色分别为红、绿、蓝三色的补色。根据相加混色原理,绿色+品红=_(44)_。

(44) A.蓝色 B.黄色 C.紫色 D.白色

● 若码值FFH是一个整数的原码表示,则该整数的真值为_(45)_ ;若码值FFH是一个整数的补码表示,则该整数的真值为_(46)_。

(45) A.127 B.0 C.-127 D.-1

(46) A.127 B.0 C.-127 D.-1

● 内存地址从4000H到43FFH,共有_(47)_个内存单元。若该内存每个存贮单元可存储16位二进制数,并用4片存储芯片构成,则芯片的容量是_(48)_。

(47) A.256 B.512 C.1024 D.2048

(48) A.512*16bit B.256*8bit C.256*16bit D.1024*8bit

● 某程序的目标代码为16384个字节,将其写到以字节编址的内存中,以80000H为首地址开始依次存放,则存放该目标程序的末地址为_(49)_。

(49) A.81000H B.83FFFH C.84FFFH D.86000H

● 构成运算器需要多个部件,__(50)__ 不是构成运算器的部件。

(50) A.加法器 B.累加器 C.地址寄存器 D.ALU(算术逻辑部件)

顶顶顶顶顶顶

2004年5月份程序员上午题

● 程序计数器(或指令地址寄存器)属于CPU的_(51)_ 部件。

(51) A.运算器 B.控制器 C.存储器 D.I/O接口

● 控制机器指令执行的微程序存放在_(52)_中。

(52) A.控制存储器 B.指令寄存器 C.内部寄存器 D.SRAM

● 构成4M*8bit的存储器,若采用256k*8bit的芯片,需_(53)_片;若采用512k*1bit的芯片,需_(54)_片。

(53) A.8 B.16 C.32 D.64

(54) A.8 B.16 C.32 D.64

● 在进行原码乘法时,乘积的符号位是由被乘数的符号位和乘数的符号位通过__(55)__运算来获得的。

(55) A.或 B.与 C.异或 D.分别取反后再进行或

● 在CPU执行一段程序的过程中,Cache的存取次数为3800次,由主存完成的存取次数为200次。若Cache的存取周期为5ns,主存的存取周期为25ns,则Cache的命中率为_(56)_;CPU的平均访问时间为_(57)_ ns。

(56) A.0.93 B.0.95 C.0.97 D.0.99

(57) A.5 B.6 C.7 D.8

● 磁盘存取时间包括寻道的时间、定位扇区的时间以及读写数据的时间,若磁盘的转速提高一倍,则_(58)_。

(58) A.平均存取时间减少 B.平均寻道时间减少

C.存储的密度增加一倍 D.平均寻道时间增加

● 以串行同步方式传送数据块时,经常采用的差错校验方法是(59) 。

(59) A.偶校验码 B.奇校验 C.海明码校验 D.CRC校验

● 在主存和CPU之间增加Cache的目的是_(60)_。

(60) A.增加内存容量 B.为程序员编程提供方便

C.解决CPU与内存间的速度匹配问题 D.提供内存工作的可靠性

● ADSL对应的中文术语是_(61)_,它的两种Internet接入方式是_(62)_接入。

(61) A.分析数字系统层 B.非对称数字线

C.非对称数字用户线 D.异步数字系统层

(62) A.固定接入和虚拟拨号 B.专线接入和VLAN

C.固定接入和VLAN D.专线接入和虚拟拨号

● TCP/IP是一个协议簇,它的体系结构分四层:应用层、网际层、网络接口层和__(63)__,其中ARP协议属于_(64)_。为了在源主机和目的主机之间传送数据,IP协议需要确定源主机和目的主机是否在同一个网络中。如果不在同一网络时,则必须通过_(65)_进行通信。

(63) A.会话层 B.传输层 C.网络层 D.表示层

(64) A.应用层 B.传输层 C.网际层 D.网络接口层

(65) A.网关或路由器 B.中继器 C.集线器 D.终端匹配器

● One use of networks is to let several computers share __(66)__ such as file system,printers,and tape drives.

(66) A.CPU B.memory C.resources D.data

● A firewall is a __(67)__ system designed to __(68)__ an organization’s network against threats.

(67) A. operating B. programming C. security D. service

(68) A. prevent B. protect C. develop D. exploit

顶顶顶顶顶顶

97782348.docx

● The __(69)__ has several major components, including the system kernel, a memory management system, the file system manager, device drivers, and the system

libraries.

(69) A. application B. information system

C. network D. operating system

● __(70)__ is the address of a variable or a variable in which the address of another variable is stored.

(70) A. Director B. Pointer C. Array D. Record

● C++ is used with proper __(71)__ design techniques.

(71) A. object-oriented B. object-based

C. face to object D. face to target

● __(72)__ is a contiguous, numbered set of variables of a given base type, which can be used and passed to functions as a unit.

(72) A. Record B. Array C. File D. Parameter

● __(73)__ is not a programming language.

(73) A. COBOL B. Java C. UML D. Basic

● __(74)__ is nonprogram text embedded in a program to explain its form and function to human readers.

(74) A. Command B. Compile C. Comment D. Statement

● When the result of an operation becomes larger than the limits of the

representation, __(75)__ occurs.

(75) A. overdose B. overflow C. overdraft D. overexposure

顶顶顶顶顶顶

2004年5月份程序员下午题

2004年5月份程序员下午题

试题一

[流程图说明]

下面的流程图用N-S盒图形式描述了数组A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标移动。当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:

[流程图]

[算法说明]

将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排

序。设函数int p(int A[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A[],int L,int H)的功能是实现数组A中元素的递增排序。

[算法]

void sort(int A[],int L,int H) {

if(L<H) {

k=p(A,L,H); //p()返回基准数所在数组A中的下标

sort( __(4)__ ); //小于基准数的元素排序

sort( __(5)__ );//大于基准数的元素排序

}

}

顶顶顶顶顶顶

97782348.docx

试题二

[函数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<pj && __(1)__ ) {

pi++;pj--;

}

if( __(2)__ ) return –1;

else return 0;

}

[函数2.2说明]

函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并

输出,del表示分割时的标志字符。

例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,将输出三个子

字符串,分别为“12”、“4”和“5”。

[函数2.2]

void f(char *str, char del)

{

int i, j, len;

len=strlen(str);

i=0;

While(i<len) {

While( __(3)__ ) i++;/*忽略连续的标志字符*/

/*寻找从str[i]开始直到标志字符出现的一个子字符串*/

j=i+1;

while ( str[j]!=del&& str[j]!=’\0’) j++;

__(4)__ = ‘\0’; /*给找到的字符序列置字符串结束标志*/

printf(“%s\t”,&str[i]);

___(5)___ ;

}

}

试题三

以下是与Visual Basic开发应用有关的5个问题。对每一个问题,请将答案填入答题

纸的对应栏内。

(1)在Visual Basic中,工程文件、窗体文件和标准模块文件的扩展名是什么?请从下

列选项中选择:

prg、prj、exe、vbp、form、frm、win、fra、std、bas、vbs、vbm

顶顶顶顶顶顶

2004年5月份程序员下午题

(2)设某窗体上有一个命令按钮,其名称为CmdSave,运行时该按钮上显示有“保存(S)”字样的信息。为使热键ALT+S与该命令按钮相关联,应该对按钮CmdSave的Caption属性设置什么样的属性值?

(3)设某窗口内有一个图象框Image1,以及两个命令按钮“放大”和“缩小”。单击

“放大”按钮就会使该图象框的长和宽都放大10%;单击“缩小”按钮就会使该图象框的长和宽都缩小10%(该图象框的左上角不动)。请分别写出这两个命令按钮的单击事件过程中的程序代码。

(4)为使某个单选按钮初始时默认被选中,在开发时应怎样做?

(5)若有语句Tmpval=MsgBox(“非法操作!”,vbOKCancel+vbCritical,“提示”),

请简要描述程序运行时弹出的消息框的主要特征。

试题四

[说明]

函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n转换成

B(2<=B<=16)进制整数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:

#define MAXSIZE 32

typedif struct {

int *elem; /*栈的存储区*/

int max; /*栈的容量,即栈中最多能存放的元素个数*/

int top; /*栈顶指针*/

} Stack;

[C代码]

int InitStack(Stack *S, int n) /*创建容量为n的空栈*/

{

S->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.top)?1 : 0; /*判断栈是否为空*/

}

int Pop(Stack *S) /*栈顶元素出栈*/

顶顶顶顶顶顶

97782348.docx

{

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(&S,MAXSIZE)){

printf(“Failure!\n”);

return;

}

do {

if (Push(&S,__ (4)__ )) {

printf(“Failure!\n”);

return;

}

n= ___(5)___ ;

}while(n!=0);

while(!StackEmpty(S)) { /*输出B进制的数*/

m=Pop(&S);

if(m<10) printf(“%d”,m); /*小于10,输出数字*/

else printf(“%c”, m+55); /*大于或等于10,输出相应的字符*/

}

printf(“\n”);

}

试题五

[应用说明5.1]

本应用程序的窗体中有一个下拉式列表框(名称为Combo1)和两个文本框(名称分别为

Txt1和Txt2)。运行时,用户从Combo1的列表中进行选择,程序就会将选中条目的内容以及编号(从0开始)分别在文本框Txt1和Txt2中显示出来。

[程序代码5.1]

Private Sub Combo1_Click()

Txt1.Text=Combo1. __(1)__ ;

Txt2.Text=Combo1. __(2)__ ;

End Sub

(注:可供(2)处选择的选项:List,Index,ListIndex,ListCount,Number)

[应用说明5.2]

本应用程序的运行窗口如下图所示:

顶顶顶顶顶顶

2004年5月份程序员下午题

当用户在输入框(名为TxtIn)中输入数值数据,并从下拉式列表框(名为CmbOp)中选择

所需的运算后,输出框(TxtOut)中就会显示运算的结果。用户单击“清除”按钮(名为

CmdClear)后,输入框和输出框都清空。开发该应用的部分程序代码如下:

[程序代码5.2]

Private Sub CmbOp_Click()

Dim DataIn As Double,DataOut as Double

DataIn = __(3)__

Select Case __(4)__

Case “取整数部分”

DataOut = int(DataIn)

Case “求平方根”

If DataIn < 0 Then

MsgBox$ (“负数不能开平方”)

Else

DataOut = Sqr(DataIn)

End if

Case “取绝对值”

DataOut = Abs(DataIn)

___(5)___

TxtOut.Text = str$(DataOut)

End Sub

试题六

[函数6说明]

函数DelA_insB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能

是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为:

typedif 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 || !Lb->next || len<=0) return –

1;

顶顶顶顶顶顶

97782348.docx

p=La->next; prep=La;

while(p && p->key !=key1) { /*查找表A中键值为key1的结点*/

prep=p; p=p->next;

}

if(!p) return –1; /*表A中不存在键值为key1的结点*/

q=p; k=1;

while (q && __(1)__ ) { /*在表A中找出待删除的len个结点*/

___(2)___ ; k++;

}

if(!q) return –1; /*表A中不存在要被删除的len个结点*/

s=Lb->next; ___(3)___ ;

while(s && s->key !=key2) { /*查找表B中键值为key2的结点*/

pres=s;s=s->next;

}

if(!s) return –1; /*表B中不存在键值为key2的结点*/

__(4)__ =q->next; /*将表A中的len个结点删除*/

q->next= __(5)__ ;

pres->next=p; /*将len个结点移至表B*/

return 0;

}

试题七

[应用说明7]

本应用程序的运行窗口如下图所示:

只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复进

行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。在开发过程中,需要设置的属性如下:

对象 对象名 属性名 属性值

窗体 Frm1 Caption 闪烁显示演示

标签 Label Caption 欢迎光临

命令按钮 CmdF Caption 闪烁

命令按钮 CmdT Caption 停止

定时器 Timer1 Enabled __(1)__

Interval __(2)__

[程序代码7]

private Sub CmdF_Click()

顶顶顶顶顶顶

2004年5月份程序员下午题

Timer1. __(3)__ = True

Label1.Visible = False

End Sub

Private Sub Timer1_Timer()

__(4)__ = not Label.Visible

End Sub

Private Sub CmdT_Click()

Timer1.Enabled = __(5)__

Label.Visible = true

End Sub

试题八

[程序8说明]

程序8用于计算某公司每个职工应缴纳的个人所得税额和全体职工缴纳的个人所得税

总额。职工的当月收入(工资或薪金)通过键盘输入,每次输入一个职工的工号和工资(或薪金)。由于该公司的工资或薪金是不定时发放的,所以输入过程中每个职工的收入会出现多次输入,整个输入以工号小于等于0结束。

假设个人所得税法规定:个人收入所得,按月计税,以每月收入总额减除免税金额800

元后的余额作为该月的月应纳所得税额。适用税率如下表所示。

设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额

S(元):

若0<k<=500,则S=K*5%;

若500<k<=2000,则S=500*5%+(k-500)*10%;

若2000<k<=5000,则S=500*5%+1500*10%+(k-2000)*15%;

若5000<k<=20000,则S=500*5%+1500*10%+3000*15%+(k-5000)*20%;

例如,某人某月收入总额为4100元,减去800元后,应纳税所得额为3300元,其应纳

税的个人所得额为500*5%+1500*10%+1300*15%=370。

[程序8]

#include <stdio.h>

#define MaxNum 50

#define BASE 800 /*免税金额基数*/

int paylevel[]={0,500,2000,5000,20000,40000,60000,80000,100000,1000001};

int taxPrate[]={5,10,15,20,25,30,35,40,45};/*税费表*/

顶顶顶顶顶顶

97782348.docx

typedef struct {

int Id; /*职工的工号*/

long Salary; /*职工的工资*/

}Info;

/*查找工号为Id的职工在数组employee中的下标,返回值为0表示没有*/

int find(int Id,Info employee[],int m) {

int j;

employee[0].Id=Id;

for(j=m; ___(1)___ ;j--);

return j;

}

void main(void)

{

Info employee[MaxNum+1];

long wage;

double sum=0,k,s;

int i,j,n=0,code;

scanf(“%d%ld”,&code,&wage); /*读入职工号、工资或薪金*/

while(code>0) {

i=find(code,employee,n);

if(i>0) employee[i].Salary += wage;

else {

___(2)___ ;

Employee[n].Id=code;employee[n].Salary=wage;

}

scanf(“%d%ld”,&code,&wage);

}

for(i=1;i<=n;i++) {

k= __(3)__ ; /*计算月应纳税所得额*/

s=0; /*月应纳税额赋初值*/

if(k>0) {

for(j=1;j<=9;j++)

If( __(4)__ ) /*月应纳税所得额超过第j级*/

s=s+(paylevel[j]-paylevel[j-1]*taxPrate[j-1]/100;

else {s=s+( __(5)__ )*taxPrate[j-1]/100;break;}

}

printf(“职工%d应缴纳的个人所得税额: %10.21f\n”,employee[I].Id,s);

sum+=s;

}

printf(“全体职工个人所得税总额:%10.21f\n”,sum);

}

试题九

[应用说明9]

本应用程序的运行窗口如下图所示:

顶顶顶顶顶顶

2004年5月份程序员下午题

窗口中的三个文本框和两个按钮名称分别为Txt_salary、Txt_base、Txt_tax、

Cmd_compute和Cmd_quit。运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框Txt_salary中输入月收入(工资或薪金)并单击“计算”按钮Cmd_compute后,Txt_tax框中就显示计算所得的应纳税额。文本框Txt_base和Txt_tax在运行时不接受用户输入,Txt_base的内容以灰色显示。

个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减

去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算。目前的免税金额基数为800元,税率如下所示:

上表表明,个人收入所得税是按照超额累进的税率来征收的。

设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额

S(元):

若0<k<=500,则S=K*5%;

若500<k<=2000,则S=500*5%+(k-500)*10%;

若2000<k<=5000,则S=500*5%+1500*10%+(k-2000)*15%;

若5000<k<=20000,则S=500*5%+1500*10%+3000*15%+(k-5000)*20%;

例如,某人某月收入总额为4100元,减去800元后,应纳税所得额为3300元,其应纳

税的个人所得额为500*5%+1500*10%+1300*15%=370。在开发的过程中,需要编写的程序代码如下:

[程序代码9]

Option Base 0

Private Sub Cmd_compute_Click()

Dim paylevel,taxPrate

Paylevel=Array(0,500,2000,5000,20000,40000,60000,80000,100000,1000001)

TaxPrate=Array(5,10,15,20,25,30,35,40,45)

顶顶顶顶顶顶

97782348.docx

K= ___(1)___ ;

S=0;

If(K>0) then

For j=1 to 9

If ___(2)___ then

S=S+(paylevel[j]-paylevel[j-1])*taxPrate[j-1]/100;

Else

S=S+( __(3)__ )*taxPrate[j-1]/100;

Exit for;

End if

Next j

End If

___(4)___ =Str$(S);

End Sub

Private Sub Cmd_quit_Click()

End

End Sub

Private Sub Form_Load()

Txt_tax.Text=””;

Txt_salary.Text=””;

Txt_base.Text=800

Txt_base.Enabled= ___(5)___

End Sub

(15) C (30) C (45) C

(60) C (75) B

顶顶顶顶顶顶

2004 年11月程序员上午题

2004 年11月程序员上午题

●在Windows 操作系统中,“回收站”可以恢复(1)上使用<Del>键删除的文件或文件夹。在“我的电脑”窗口中,如果要整理磁盘上的碎片,应选择磁盘“属性”对话框的(2)选项卡。使用“资源管理器”时,(3),不能删除文件或文件夹。

(1)A.软盘 B.硬盘 C.U 盘 D.软盘和硬盘

(2)A.常规 B.硬件 C.共享 D.工具

(3)A.在驱动器或文件央窗口中,选择要删除的文件并单击退格键

B.在驱动器或文件夹窗口中,选择要删除的文件同时按下<Shift>+<Del>键

C. 在要删除的文件或文件夹上单击鼠标右键,选择“删除”

D.用鼠标直接拖曳选中的文件夹到“回收站”

●在以下关于电子邮件的叙述中,“(4)”是不正确的。

(4) A.打开来历不明的电子邮件附件可能会传染计算机病毒

B.在网络拥塞的情况下,发送电子邮件后,接收者可能过几个小时后才能收到

C.在试发电子邮件时,可向自己的Email 邮箱发送一封邮件

D.电子邮箱的容量指的是用户当前使用的计算机上,分配给电子邮箱的硬盘容量

●某数值编码为FFH,若它所表示的真值为-127,则它是用(5)表示的;着它所表示的真值为-1,则它是用(6)表示的。

(5)A.原码 B.反码 C.补码 D.移码

(6)A.原码 B.反码 C.补码 D.移码

●用定点补码表示纯小数,采用8 位字长,编码10000000 表示的十进制数是 (7)。

(7)A.0 B.-1 C.+1 D.128

●假设用12 个二进制位表示数据。它能表示的最大无符号整数为(8);若采用原码,它能表示的最小负整数为(9)。

(8)A.2047 B.2048 C.4095 D.4096

(9)A.-2047 B.-2048 C.-4095 D.-4096

●某数据的7 位编码为0110101,若在其最高位之前增加一位偶校验位,则编码为(10)。

(10)A.10110101 B.00110101 C.01101011 D.01101010

●堆栈操作中,(11)保持不变。

(11)A.堆栈的顶 B.堆栈中的数据 C 堆栈指针 D.堆栈的底

●执行指令时,以寄存器的内容作为操作数的地址,这种寻址方式称为(12)寻址。

(12)A.寄存器 B.相对 C.基址变址 D.寄存器间接

●若某处理器的时钟频率为500MHz,每四个时钟周期组成一个机器周期,执行一条指令平均需要三个机器周期,则该处理器的一个机器周期为(13) ns,平均执行速度约为(14) MIPS。

(13)A.4 B.8 C.12 D.16

(14)A.24 B.33 C.42 D.51

●操作系统是一种(15)。

(15)A.应用软件 B.系统软件 C 工具软件 D.杀毒软件

●在进程管理中,当 (16)时,进程从阻塞状态变为就绪状态。

(16)A.进程被进程调度程序选中B.等待某一事件

C.等待的事件发生D.时间片用完

●操作系统的功能不包括(17)。

顶顶顶顶顶顶

97782348.docx

(17)A.提供用户操作界面B.管理系统资源

C.提供应用程序接口 D.提供HTML

●作业J1,J2,J3,J4 的提交时间和运行时间如下表所示采用短作业优先调度算法,则作业调度次序为(18),平均周转时间为(19) 分钟(这里不考虑操作系统的开销)

┌─────┬─────┬───────┐

│作业号 │提交时间 │运行时间(分钟)│

├─────┼─────┼───────┤

│ J1

│ J2

│ J3

│ J4 │ 6:00 │ 6:24 │ 6:48 │ 7:00 │ 60 │ │ 6 │ │ 30 │ │ 12 │

└─────┴─────┴───────┘

(18)A.J→J4→J2→J1 B.J1→J2→J3→J4

C.J→J3→J4→J2 D.J4→J3→J2→J1

(19)A.45 B.58.5 C.64.5 D.72

●关系数据库是(20)的集合,它由一个或多个关系模式定义。SQL 语言中的数据定义功能包括对数据库、基本表、(21)和(22)的定义。

设有关系Students(学号,姓名,年龄,性别,系名),如果要查询姓名至少包含5 个字母,且倒数第二个字母为“G”的学生的学号、姓名以及所在系,则对应的SELECT 语句

如下:

SELECT 学号,姓名,系名

FROMStudents WHERE (23) LIKE (24);

(20)A.元组 B.列 C.字段 D.表

(21)A.数据项 B.表 C.索引 D.列

(22)A.视图 B.列 C 字段 D.元组

(23)A.” _ _ _G_%” B.” _ _ _%G_”

C.姓名 D.” _ _ _G%”

(24)A.” _ _ _G_%” B.” _ _ _%G_”

C.姓名 D.” _ _ _G%”

●按照《计算机软件保护条例》的规定,自然人的软件著作权的保护期限为(25)。

(25)A.其终生及其死亡后50 年 B.没有限制

C.软件开发完成后25 年 D.软件开发完成后50 年

●我国标准分为国家标准、行业标准、地方标准和企业标准四类,(26) 是企业标准的代号。

(26)A.GB B.QJ C.Q D.DB

●知识产权具有无形性、双重性、独占性、时间性和(27)等特点。

(27)A.地域性 B.公平性 C 公正性 D.有效性

●在计算机系统的日常维护工作中,应当注意硬盘工作时不能(28) 。另外,需要注意防范病毒,但是,(29) 是不会被感染病毒的。

(28)A.大声喧哗 B.有强烈震动 C.装入程序 D.有日光照射

(29)A.电子邮件 B.硬盘 C.软盘 D.ROM

●使用IE 浏览器浏览网页时,出于安全方面的考虑,需要禁让执行Java Script,可以在IE 中(30)。

(30)A.禁用Acfive X 控件 B.禁用cookie

顶顶顶顶顶顶

2004 年11月程序员上午题

C.禁用没有标记为安全的ActiveX 控件 D.禁用脚本

●在面向对象程序设计语言中,(31)是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性;(32)可以实现发送一个通用的消息而调用不同的方法; (33) 是实现信息隐蔽的一种技术,其目的是使类的(34) 相互分离。

(31)A.封装 B.消息传递 C.引用 D.继承

(32)A.封装 B.多态 C.引用 D.继承

(33)A.引用 B.继承 C.封装 D.多态

(34)A.定义与实现 B.分析与测试 C 分析与设计 D.实现与测试

●为了描述n 个人之间的同学关系,可用(35)结构表示。

(35)A.线性表 B.树 C 图 D.队列

●判断一个表达式中左右括号是否匹配,采用(36)实现较为方便。

(36)A.线性表的顺序存储 B.队列

C.线性表的链式存储 D.栈

●字符串是一种线性表,其特殊性表现在 (37)。

(37)A.它的数据元素是一个字符B.它可以链式存储

C.它可以顺序存储 D.它的数据元素可以是多个字符

●在一颗非空二叉树中,叶子节点的总数比度为2 的节点总数多 (38)个。

(38)A.-1 B.0 C.1 D.2

●采用邻接表表示一有向图,若图中某顶点的入度和出度分别为d1 和d2,则该顶点对应的单链表的结点数为(39)。

(39)A.dl B.d2 C.d1-d2 D.dl+d2

●在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终位置上的排序算法是(40) 。

(40)A.冒泡排序 B.基数排序 C 快速排序 n 归并排序

●编译程序在语法分析阶段能检查出(41)错误。

(41)A.表达式中的括号不匹配 B.以零作除数

C.数组下标越界 D.无穷递归

●计算机能直接识别和执行的语言是(42),该语言是由(43)组成的。

(42)A.机器语言 B.C 语言 C 汇编语言 D.数据库语言

(43)A.ASCII 码 B.SQL 语句 C.0、1 序列 D.BCD 码

●对于二维数组aCl..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相对于数组空间起始地址的偏移量分别是(44)和(45)。

(44)A.12 B.14 C.16 D.18

(45)A.12 B.14 C.16 D.18

●在C 语言中,若有定义“inta[10]”,则(46) l 不能表示a[1]的地址。

(46)A.a+l B.&a(0)+1 C.a++ D.&a[1]

●在下面的程序中,若调用F1(X)时,参数传递采用传值方式,调用F2(Y)时,参数传递采用引用方式,则输出效果为 (47);调用F2(Y)时,参数传递采用传值方式,则输出效果为(48)。

main() procedure f1(x) procedure f2(y)

┌─────┬─┬───────┬─┬─────┐

│int a=2;│ │f2(x); │ │y=y*y; │

│fl(a); │ │x=x+x; │ │return; │

本文来源:https://www.bwwdw.com/article/d2z1.html

Top