2005 年下半年程序员上午试卷 欢迎访问软件考试网(www.hbsoft.net)

●在 Word 文字处理软件的界面上,单击工具栏上的“”按钮,其作用是__(1)__。 欢迎访问软件考试网(www.hbsoft.net)

(1) A. 打印当前页B. 打印文档全文

C. 打印预览D. 弹出打印对话框进行设置

 

●已知汉字“大”的国标码为 3473H,其机内码为__(2)__。 欢迎访问软件考试网(www.hbsoft.net)

(2) A. 4483H B. 5493H C. B4F3H D. 74B3H

 

●计算机内数据采用二进制表示因为二进制数__(3)__。 欢迎访问软件考试网(www.hbsoft.net)

(3) A. 最精确B. 最容易理解

C. 最便于硬件实现D. 运算最快

 

●以下计算机操作中,不正确的是__(4)__。 欢迎访问软件考试网(www.hbsoft.net)

(4) A. 各种汉字输入方法的切换操作是可以由用户设置的

B. 在文件夹中删除应用程序的方法往往不能彻底卸载软件产品

C. 用Del键删除的文件还可以从回收站中执行还原操作来恢复

D. 用 Shift+Del键删除的文件还可以从回收站中执行还原操作来恢复

 

●在 Windows 环境中,选择某一部分信息(例如文字、一个图形)移动到别处,应当首先执行

“编辑”菜单下的__(5)__命令。 欢迎访问软件考试网(www.hbsoft.net)

(5) A. 复制 B. 粘贴 C. 剪切 D. 选择性粘贴

 

●在 Word 中,如果要选择多个文本框对象,可__(6)__。 欢迎访问软件考试网(www.hbsoft.net)

(6) A. 按住 Alt 键不放,用鼠标分别单击各个文本框

B. 按住 Shift 键不放,用鼠标分别单击各个文本框

C. 按住 Tab 键不放,用鼠标分别单击各个文本框

D. 直接用鼠标分别单击各个文本框

 

●若磁盘的转速提高一倍,则__(7)__。 欢迎访问软件考试网(www.hbsoft.net)

(7) A. 平均存取时间减半B. 平均寻道时间减半

C. 存储道密度提高一倍D. 平均寻道时间不变

 

●某微型机字长 16 位,若采用定点补码整数表示数值,最高 1 位为符号位,其它 15 位为数 欢迎访问软件考试网(www.hbsoft.net)

值部分,则所能表示的最小整数为__(8)__,最大负数为__(9)__。

(8) A. +1B. -215C. -1D.-216

(9) A. +1B. -215C. -1D.-216

 

●在进行定点原码乘法运算时,乘积的符号位是被乘数的符号位和乘数的符号位__(10)__运

算来获得。 欢迎访问软件考试网(www.hbsoft.net)

(10) A.相或 B. 相与 C.相异或 D.分别取反后再相或

 

●某二进制无符号数 11101010,转换为三位非压缩 BCD 数,按百位、十位和个位的顺序表示

应为__(11)__。 欢迎访问软件考试网(www.hbsoft.net)

(11) A.00000001 00000011 00000111B. 00000011 00000001 00000111

C.00000010 00000011 00000100D. 00000011 00000001 00001001

 

●下列标准代号中,__(12)__是国家标准的代号。 欢迎访问软件考试网(www.hbsoft.net)

(12) A. IEEE B. ISO C. GBD. GJB

 

●软件著作权受法律保护的期限是__(13)__。一旦保护期限届满,权利自行终止,成为社会

公众可以自由使用的知识。 欢迎访问软件考试网(www.hbsoft.net)

(13)A. 10 年 B. 25 年 C. 50 年 D. 不确定的

 

●某商场的部门和商品两个实体之间的关系如下图所示。假设每个部门负责销售若干种商

品,每种商品只能由一个部门负责销售,那么部门和商品之间存在着__(14)__的联系。 欢迎访问软件考试网(www.hbsoft.net)

 

 

 

(14)A.一对一B.一对多C. 多对多D.一对多对多

 

●在关系代数运算中,若对表 1 按__(15)__,可以得到表 2。 欢迎访问软件考试网(www.hbsoft.net)

 

 

(15)A.商品号都进行选择运算

B.名称、单价进行投影运算

C.名称等于“毛巾”进行选择运算,再按名称、单价进行投影运算

D.商品号等于“01020211”进行选择运算,再按名称、单价进行投影运算

 

● Windows 系统安装时生成的 Documents and Settings、Winnt 和 System32 文件夹是不能随 欢迎访问软件考试网(www.hbsoft.net)

意更改的,因为它们是__(16)__。在 Windows 文件系统中,__(17)__是一个合法的文件名;

__(18)__不是合法的可执行文件的扩展名。 欢迎访问软件考试网(www.hbsoft.net)

(16)A. Windows 的桌面

B. Windows 正常运行时所必需的应用软件文件夹

C. Windows 正常运行时所必需的用户文件夹

D. Windows 正常运行时所必需的系统文件夹

(17)A. Dyx03 ent.dllB. Explorer*.arj

C. Hewlett<Packard.rarD.Print|Magic.exe

(18)A. exe B.comC. rar D.bat

 

● __(19)__无助于加强计算机的安全。 欢迎访问软件考试网(www.hbsoft.net)

(19)A.安装杀毒软件并及时更新病毒库

B.及时更新操作系统补丁包

C.把操作系统管理员帐号的口令设置为空

D.安装使用防火墙

 

●下面描述正确的是__(20)__。 欢迎访问软件考试网(www.hbsoft.net)

(20)A.只要不使用 U 盘,就不会使系统感染病毒

B.只要不执行 U 盘中和程序,就不会使系统感染病毒

C.软盘比U 盘更容易感染病毒

D.设置写保护后使用 U 盘就不会使 U 盘内的文件感染病毒

 

●使用浏览器上网时,__(21)__不可能影响系统和个人信息安全。 欢迎访问软件考试网(www.hbsoft.net)

(21)A.浏览包含有病毒的网站

 

B.改变浏览器显示网页文字的字体大小

C.在网站上输入银行帐号、口令等敏感信息

D.下载和安装互联网上的软件或者程序

 

● __(22)__不属于多媒体输入设备。 欢迎访问软件考试网(www.hbsoft.net)

(22)A.麦克风 B. 摄像头 C.扫描仪D.SCSI 硬盘

 

●依据__(23)__,声卡可以分为 8 位、16 位、32 位等。 欢迎访问软件考试网(www.hbsoft.net)

(23)A.采样频率 B.量化位数 C.量化误差D.接口总线

 

●在选择多媒体数据压缩算法时需要综合考虑__(24)__。 欢迎访问软件考试网(www.hbsoft.net)

(24)A.数据质量和存储要求B.数据的用途和计算要求

C.数据质量、数据量和计算的复杂度D.数据质量和计算要求

 

● __(25)__语言不是面向对象的程序设计语言。 欢迎访问软件考试网(www.hbsoft.net)

(25)A.Java B.C++C.SmalltalkD.Fortran77

 

●程序中凡是引用__(26)__对象的地方都可以使用__(27)__对象代替。 欢迎访问软件考试网(www.hbsoft.net)

(26)A.基类B.派生类C.基本类型D.用户定义类型

(27)A.基类B.派生类C.抽象类D.用户定义类型

 

● __(28)__是有运行时把过程调用和响应调用需要的代码加以结合的过程。 欢迎访问软件考试网(www.hbsoft.net)

(28)A.词法分析 B. 静态绑定 C.动态绑定 D.预编译

 

●若 push、pop 分别表示入栈、出栈操作,初始栈为空且元素 1、2、3 依次进栈,则经过操

作序列 push、push、pop、pop、push、pop 之后,得到的出栈序列为__(29)__。 欢迎访问软件考试网(www.hbsoft.net)

(29)A.321 B.213 C.231 D.123

 

●若 in、out 分别表示入、出队操作,初始队列为空且元素 a、b、c 依次入队,则经过操作

序列 in、in、out、out、in、out 之后,得到的出队序列为__(30)__。 欢迎访问软件考试网(www.hbsoft.net)

(30)A.cba B.bac C.bca D.abc

 

●若线性表采用链式存储结构,则适用的查找方法为__(31)__。 欢迎访问软件考试网(www.hbsoft.net)

(31)A.随机查找 B.散列查找 C.二分查找 D.顺序查找

 

●字符串“computer”中长度为 3 的子串有__(32)_个。 欢迎访问软件考试网(www.hbsoft.net)

(32)A.4 B.5 C.6 D.7

 

●可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到

右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式

“(a+b*(a+b))/c)+(a+b)”,检查时,__(33)__;对算术表达式“((a+b/(a+b)-c/a)/b”,检

查时,__(34)__。这两种情况都表明所检查的算术表达式括号不匹配。 欢迎访问软件考试网(www.hbsoft.net)

(33)A.栈为空却要进行出栈操作 欢迎访问软件考试网(www.hbsoft.net)

B.栈已满却要进行入栈操作

C.表达式处理已结束,栈中仍留下有字符“(”

D.表达式处理已结束,栈中仍留下有字符“)”

(34)A.栈为空却要进行出栈操作

B.栈已满却要进行入栈操作

C.表达式处理已结束,栈中仍留下有字符“(”

D.表达式处理已结束,栈中仍留下有字符“)”

 

●堆排序是一种基于__(35)__的排序方法,__(36)__不是堆。 欢迎访问软件考试网(www.hbsoft.net)

(35)A.计数 B.插入 C.选择D.归并

(36)A.15,28,25,56,68,63,30B.15,28,25,30,68,63,56

C.68,28,63,25,15,56,30D. 68,56,39,63,28,25,15

 

●若循环体执行的次数为 m,则在 do-while 型循环中,循环条件的执行次数为__(37)__,

在 while-do 型循环中,判断循环条件的次数为__(38)__。 欢迎访问软件考试网(www.hbsoft.net)

(37)A. m-1B. mC. m+1D. 2m

(38)A. m-1B. mC. m+1D. 2m

 

●程序语言的语句从功能上大体可分为__(39)__两大类。 欢迎访问软件考试网(www.hbsoft.net)

(39)A.声明语句和可执行语句B.简单语句和复杂语句

C.顺序语句和判定语句D.程序语句和注释语句

 

●某 C 语言程序中,x 是一个浮点型变量,m 是一个值为正整数的整型常量,表达式 x%m(x

被 m 除取余数)在__(40)__时会报错,这是一种__(41)__错误。 欢迎访问软件考试网(www.hbsoft.net)

(40)A.编译B.预处理C.编辑D.运行

(41)A.词法B.语法C.语义D.运行

 

●设数组 a[1..3,1..4]中的元素以列为主序存放,每个元素占用 1 个存储单元,则数组元素

a[2,3]相对于数组空间首地址的偏移量为__(42)__。 欢迎访问软件考试网(www.hbsoft.net)

(42)A. 6 B. 7 C. 8 D. 9

 

●在下面的程序代码中,a 是整型全局变量,b 是整型局部变量,x 是整数形参,若调用 com()

时以引用调用的方式传递信息,则输出结果为__(43)__;若调用 com()进以传值的方式传递信

息,则输出结果为__(44)__。 欢迎访问软件考试网(www.hbsoft.net)

Main programFunction com(x)

 

 

(43)A. 8B. 12C. 14D. 16

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

 

●若课程域 D1={数据库,操作系统,面向对象},教师域 D2={王强,刘亦},学生域 D3={刘

海华,张刚,昊琨,梁谦},则 D1×D2×D3__(45)__。在关系代数运算中,D1×D2的结果有__(46)__

个元组。 欢迎访问软件考试网(www.hbsoft.net)

(45)A.可以用一个二维表来表示B.不能用一个二维表来表示

C.不是一个集合也不是一个关系D.不是一个集合但它是一个关系

(46)A. 3 B. 4 C. 5D. 6

 

●职员关系模式为 E(Eno,Ename,Dept,Eage,Eaddr),其中 Eno 表示职员号,Ename 表示职

员名,Dept 表示职员所在部门,Eage 表示年龄,Eaddr 表示职员的家庭住址。建立“开发部”

(DS 表示开发部)职员的视图 DS_E 如下,要求进行修改、插入操作时保证该视图只有开发部

的职员。 欢迎访问软件考试网(www.hbsoft.net)

CREATE VIEW DS_E

AS SELECT Eno,Ename,Dept,Eage,Eaddr

FROM

WHERE __(47)__

如下 SQL 语句可以查询开发部姓“王”职员的姓名和家庭住址。

Select Ename,Eaddr

From DS_E

Where __(48)__;

(47)A. Dept=DSB. Dept=DS WITH CHECK OPTION

C. Dept=’DS’D. Dept=’DS’S WITH CHECK OPTION

(48)A. Ename=’王%’B. Ename Link ’王%’

C. Ename=’王*’D. Ename Link ’王*’

 

●系统中有 4 个单位的存储器资源,被 n 个进程共享,如果每个进程都要求 i 个单位的存器

资源,那么当__(49)__时系统不会发生死锁。 欢迎访问软件考试网(www.hbsoft.net)

(49)A.n=2,i=4 B.n=4,i=3 C.n=3,i=3 D.n=3,i=3

 

●在分页存储管理系统中,地址由页号和页内地址组成。下图所示页式管理的地址结构中,

__(50)__。 欢迎访问软件考试网(www.hbsoft.net)

 

 

(50)A.页面的大小为 1K,最多有16M个页B.页面的大小为 2K,最多有8M个页

C.页面的大小为 4K,最多有1M个页D.页面的大小为 8K,最多有2M个页

 

●数据流图包含的成分有__(51)__。 欢迎访问软件考试网(www.hbsoft.net)

(51)A.关系、实体和属性B.数据流、加工和数据存储

C.数据流、数据源和数据实体D.数据流、属性、数据存储和加工

 

●在面向对象的系统中,由于有了__(52)__,所以父类的数据和方法可以应用于子类。 欢迎访问软件考试网(www.hbsoft.net)

(52)A.继承性 B.封装性 C.抽象性 D.多态性

 

●如果用户对系统的目标不是很清楚,需求难以定义,这时最好使用__(53)__进行系统开发。 欢迎访问软件考试网(www.hbsoft.net)

(53)A.原型法 B.瀑布模型 C.V-模型 D.螺旋模型

 

●在软件开发的各个阶段中,对软件开发成败影响最大的是__(54)__。 欢迎访问软件考试网(www.hbsoft.net)

(54)A.需求分析 B.概要设计 C.详细设计 D.编码

 

●系统测试计划应该在软件开发的__(55)__阶段制定。 欢迎访问软件考试网(www.hbsoft.net)

(55)A.需求分析 B.概要设计 C.详细设计 D.系统测试

 

●某计算机字长为 16 位,运算器为 16 位,有 16 个 16 位通用寄存器,8 种寻址方式,主存

容量为 64K 字。指令中地址码由寻址方式字段和寄存器字段组成,采用单字长指令,则该计

算机最多可构成__(56)__条单操作数指令;寄存器间接寻址的范围为__(57)__K 字。 欢迎访问软件考试网(www.hbsoft.net)

(56)A. 256B. 512C. 1024D. 4096

(57)A. 16B. 32C. 64D. 128

 

●某计算机的地址线、数据线均为 8 位,一条两字节的相对寻址的无条件转移指令,存于内

存 20H 和 21H 单元中,指令操作码存放在 20H 中,存放在 21H 中的位移量为 15H。则取该指令

时 PC(程序设计数器)为__(58)__H,该指令执行结束时 PC 为__(59)__H。 欢迎访问软件考试网(www.hbsoft.net)

(58)A. 20B. 21C. 22D. 41

(59)A. 21B. 35C. 37D. 41

 

●内存的段式存储管理有许多优点。下面描述中,__(60)__不是段式存储管理的优点。 欢迎访问软件考试网(www.hbsoft.net)

(60)A.支持程序的模块化设计和并行编程的要求

B.各段程序的修改互不影响

 

C.地址变换速度快、内存碎片(零头)小

D.便于多道程序共享内存的某些段

 

●邮件服务器使用 POP3 的主要目的是__(61)__。 欢迎访问软件考试网(www.hbsoft.net)

(61)A.创建邮件 B.管理邮件 C.收了邮件D.删除邮件

 

●下列__(62)__不属于电子商务的应用模式。 欢迎访问软件考试网(www.hbsoft.net)

(62)A. B-B B. B-C C. G-CD.C-C

 

● Internet 中域名与 IP 地址之间的翻译是由__(63)__来完成的。 欢迎访问软件考试网(www.hbsoft.net)

(63)A.域名服务器 B.代理服务器 C.FTP 服务器D.Web 服务器

 

● WWW 服务使用的协议为__(64)__。 欢迎访问软件考试网(www.hbsoft.net)

(64)A. HTML B. HTTP C. SMTP D. FTP

 

●在 Outlook 中可以借助__(65)__的方式传送一个文件。 欢迎访问软件考试网(www.hbsoft.net)

(65)A.FTP B.导出 C.导入 D.附件

 

● A sequence of any number of characters enclosed in the double queotes “” is

called a character __(66)__. 欢迎访问软件考试网(www.hbsoft.net)

(66)A. array B. group C. set D. string

 

● In C launguage, when an array name is passed to a function, what is passed is the

__(67)__ of the beginning of the array. 欢迎访问软件考试网(www.hbsoft.net)

(67)A. data B. value C. location D. element

 

● In C language, the result of the logical __(68)__ operator is 1 if the value of

its operand is 0, 0 if the value of its operand is non-zero. 欢迎访问软件考试网(www.hbsoft.net)

(68)A. AND B. NOT C. OR D. EOR

 

● A floating constant consists of an integer part, a decimal point, a fraction part,

an e or E, and an optionally signed integer __(69)__. 欢迎访问软件考试网(www.hbsoft.net)

(69)A. exponent B. order C. superfluous D. superior

 

● The __(70)__ is a temporary storage area that you can use to copy or move selected

text or object among application. 欢迎访问软件考试网(www.hbsoft.net)

(70)A. cache B. pool C. buffer D. clipboard

 

 

● The __(71)__ program means a program written in a high-level language. It is

generally translated to an __(72)__ program, which is in a form directly

understandably by the computer. The translation is usually done by a program called

__(73)__. 欢迎访问软件考试网(www.hbsoft.net)

(71)A. assembleB. webC. CD. source

(72)A. objectB. basicC. CD. assemble

(74)A. compilerB. assemblerC. compileD.transfer

 

● __(74)__ processing offers many ways to edit text and establish document formats.

you can easily insert, delete, change, move and copy words or blocks of text.

(74) A. Data B. Database C. Word D. File 欢迎访问软件考试网(www.hbsoft.net)

 

●“scrolling” is a technique most commonly associated with __(75)__.

(75)A. disk B. display C. printer D. memory 欢迎访问软件考试网(www.hbsoft.net)

 

2005 年下半年程序员下午试卷 欢迎访问软件考试网(www.hbsoft.net)

(考试时间 14:00-16:30 共 150 分钟)

试题一至试题三是必答题 欢迎访问软件考试网(www.hbsoft.net)

试题一(共 15 分)

阅读下列说明和流程图,将应填入(n)处的字句写在答题纸的对应栏内。

[流程图说明] 欢迎访问软件考试网(www.hbsoft.net)

流程图 1-1 描述了一个算法,该算法将给定的原字符串中的所有前导空白和尾部空白都

删除,但保留非空字符的空白。例如,原字符串“ File Name ”,处理变成“File Name”。

流程图 1-2、流程图 1-3、流程图 1-4 分别详细描述了流程图 1-1 中的框 A、B、C。

假设原字符串中的各个字符依次存放在字符数组 ch 的各元素 ch(1)、ch(2)、…、ch(n)

中,字符常量 KB 表示空白字符。

流程图 1-1 的处理过程是:先从头开始找出该字符串中的第一个非空白字符 ch(i),再从

串尾开始向前找出位于最末位的非空白字符 ch(j),然后将 ch(i)、…、ch(j)依次送入 ch(1)、

ch(2)、…中。如果字符串中没有字符或全是空白字符,则输出相应的说明。在流程图中,strlen

是取字符串长度函数。

[流程图 1-1] 欢迎访问软件考试网(www.hbsoft.net)

 

[流程图 1-2] 欢迎访问软件考试网(www.hbsoft.net)

[流程图 1-3] 欢迎访问软件考试网(www.hbsoft.net)

 

 

[流程图 1-4] 欢迎访问软件考试网(www.hbsoft.net)

 

[问题] 欢迎访问软件考试网(www.hbsoft.net)

在流程图 1-1 中,判断框 P 中的条件可表示为:

i > ___(5)___ 欢迎访问软件考试网(www.hbsoft.net)

试题二(共 15 分)

阅读以下说明和 C 语言函数,将应填入(n)处的字句写在答题纸的对应栏内。

[说明] 欢迎访问软件考试网(www.hbsoft.net)

函数 int find_Max_Min(int a[ ],int n)的功能是:找出 n 个元素的数组 a 中的最大元

素和最小元素并输出,返回查找过程中元素的比较次数。查找方法如下:比较 a[0]和 a[n-1],

若 a[0]大,则交换 a[0]和 a[n-1]的值;再比较 a[1]和 a[n-2],若 a[1]大,则交换 a[1]和

a[n-2]的值;依此类推,直到所有的元素都比较完。然后在数组的前半区从前往后找出小元

素,在后半区从后往前找出大元素。 欢迎访问软件考试网(www.hbsoft.net)

[函数] 欢迎访问软件考试网(www.hbsoft.net)

int find_Max_Min(int a[ ],int n)

{/*找出 n 个元素的数组 a 中的最大元素、最小元素并输出,返回查找过程中元素的比较次数*/

int i,Count = 0;

int temp,Maxnum,Minnum;

for(i = 0; i < n/2; i++){

 

Count = Count + 1; /*元素比较次数计数*/

if (a[i] > a[ (1) ]

{/*数组元素交换代码略*/}

}

Maxnum=a[n-1]; Minnum=a[0];

for(i = 1; i < n/2+ n%2; i++){

Count = (2) ; /*元素比较次数计数*/

Minnum = _____(3)_____ ? a[i]:Minnum; /*找出最小元素*/

Maxnum = _____(4)_____ ? _______(5)_____:Maxnum; /*找出最大元素*/

}

printf(“Max=%d\n,Maxnum”);

printf(“Min=%d\n”,Minnum);

return Count;

}

试题三(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

阅读以下说明和 C 语言函数,将应填入(n)处的字句写在答题纸的对应栏内。

[说明] 欢迎访问软件考试网(www.hbsoft.net)

某种传感器的输出值 Ratio 依赖于环境温度 temp(-40℃≦temp≦50℃)。对一组环境温度

值(ITEMS 个),人们已经测量得到了相应的 Ratio 值(见表 1)。该表粗略地描述了曲线

Ration(temp)。

 

表 1 曲线 Ration(temp)的列表值表 2 曲线 K(temp)的列表值

环境温度

Temp

传感器的输出值

Ratio

 

环境温度

Temp

校正系数K

-40℃

0.20

-40℃

5.00

-20℃

0.60

-39℃

4.55

-10℃

0.80

-38℃

4.17

0℃

1.00

-37℃

3.85

10℃

1.17

30℃

1.50

-20℃

1.67

50℃

1.80

-19℃

1.61

 

 

-10℃

1.25

-9℃

1.22

50℃

0.56

 

校正系数 K 是 Ratio 的倒数,因此也依赖于环境温度 temp。在数据处理中,人们需要用

更多的列表值细致地描述曲线 K(temp),如表 2 所示。在表 2 中,各温度值所对应的 K 值是

对表 1 进行线性插值再求倒数得到的,具体的计算方法如下: 欢迎访问软件考试网(www.hbsoft.net)

1. 根据 temp 值,在表 1 中用二分法查找;

2. 若找到相应的温度值,则按相应的 Ratio 值求倒数得到 K 值;

3. 若没找到相应的温度值,则可确定 temp 所在的温度区间[Tp1,Tp2],同时获得了相应

的 Ratio1 和 Ratio2,再按如下公式计算 K 值: 欢迎访问软件考试网(www.hbsoft.net)

Step = (Ratio1 - Ratio2) / (Tp1 - Tp2)

K = 1.0 / (Ratio1 + Step * (temp - Tp1))

在程序中,当 temp 高于50℃或低于-40℃时,设定 K=0。 欢迎访问软件考试网(www.hbsoft.net)

[程序] 欢迎访问软件考试网(www.hbsoft.net)

#include <stdio.h>

typedef struct{

int Temp; /*环境温度*/

double Ratio; /*传感器的输出值*/

}CURVE;

#define ITEMS 7

double GetK(int,CURVE *,int);

void main()

{

int Degree;

double k;

CURVE Curve[ITEMS] = {{-40,0.2},{-20,0.60},{-10,0.8},{0,1.0},

{10,1.17},{30,1.50},{50,1.8}};

printf(“环境温度校正系数\n”);

for(Degree = -40; Degree <= 50; Degree++){

k = GetK(Degree,Curve,ITEMS);

printf(“%3d %4.2f\n”,Degree,k);

}

}

double GetK(int Temp,CURVE *p,int n)

{/*用二分法在 n 个元素的有序表 p 中查找与 Temp 对应的传感器输出值*/

int low,high,m; double Step;

low = 0; high = n-1;

if ((Temp < p->Temp)||(Temp > (p+high)->Temp))

return 0.0; /*超出温度范围时返回 0.0*/

while (low <= high){

 

m=(1);

if (Temp == (p+m)->Temp)

return (2);

if (Temp < (p+m)->Temp) high = m-1;

else low =(3);

}

p += high;

Step = ((4)) / ((p+1)->Temp - p->Temp);

return 1.0 / (p->Ratio + Step * ((5)));

}

从下列的 2 道试题(试题四试题五)中任选 1 解答。如果解答的试题数超 1 道,则

题号小 1 道解答有效。 欢迎访问软件考试网(www.hbsoft.net)

 

 

试题四(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

阅读以下应用说明以及用 Visual Basic 开发过程中进行的属性设置和所编写的程序代

码,将应填入 (n) 处的字句写在答题纸的对应栏内。

[应用说明]

启动某应用程序运行的登录窗口如下:

 

 

其中的标签(Label1)“用户名(U)”对应文本框 Username,标签(Label2)“密码(P)”对

应文本框“Password”。当用户在 Username 文本框中输入用户名“ali88”,在 Password 文本

框中输入“zmkm”(显示的字符均为“*”),并单击“确定”按钮时,就会弹出应用程序的主

窗口 frmAPP,而该登录窗口就会卸载。

如果用户名或密码输入错误,则会弹出报警信息框。当用户单击其中的“确定”按钮后,

登录窗口“Password”文本框的内容就会消失,光标停留在该框内,以便用户重新输入密码,

必要时用户还可以再修改用户名,再次做登录尝试。本应用程序允许发生 3 次输入错误。在

第 3 次输入错误后,就会立即退出该应用程序。

在弹出登录窗口后,当按键“Alt+U”时光标就会停留在 Usename 文本框中;当按键“Alt+P”

时光标就会停留在 Password 文本框中。当用户按“Enter”键时,就相当于单击“确定”按

钮;当用户按“Esc”键时,就相当于单击“取消”按钮,立即退出该应用程序。

[属性设置]

 

 

在开发过程中,部分控件及属性设置如下: 欢迎访问软件考试网(www.hbsoft.net)

 

 

 

[程序代码]

Private Sub cmdOK_Click()

_____(3)_____ As Integer‘静态变量 time 的说明

If ___(4)___ Then

Unload Me‘卸载本登录窗口

____(5)_____‘弹出应用程序主窗口 frmAPP

Else

MsgBox(“用户名密码错!”)

Times = times+1

Password.Text = ””‘清除密码框中的内容

Password.SetFocus‘将光标定位于密码框

If times = 3 Then End

End If

End Sub

Private Sub cmdCancel_Click()

End

End Sub

试题五(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

阅读以下说明和 C 语言函数,将应填入__(n)__处的字句写在答题纸的对应栏内。

[说明]

二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:若它的左子树非空,则左

子树上所有结点的值小于根结点的值;若它的右子树非空,则右子树上所有结点的值均大于

根结点的值;左、右子树本身就是两棵二叉排序树。

函数 insert_BST(char *dtr)的功能是:对给定的字符序列按照 ASCII 码值大小关系创建

二叉排序树,并返回指向树根结点的指针。序列中重复出现的字符只建一个结点,并由结点

 

中的 Count 域对字符的重复次数进行计数。 欢迎访问软件考试网(www.hbsoft.net)

二叉排序树的链表结点类型定义如下:

typedef struct BSTNode{

char Elem;/*结点的字符数据*/

int Count;/*记录当前字符在序列中重复出现的次数*/

struct BSTNode *Lch,*Rch; /*结点的左、右指针*/

}*BiTree;

[函数] 欢迎访问软件考试网(www.hbsoft.net)

BiTree insert_BST(char * str)

{ BiTree root,parent,p;

char _______(1)________; /*变量定义及初始化*/

root = (BiTree)malloc(sizeof(struct BSTNode));

if (!root || *s==’\0’) return NULL;

root->Lch = root->Rch = NULL; root->Count = 1; root->Elem = *s++;

for(;*s != ‘\0’;s++){

______(2)______; parent = NULL;

while (p) {/*p 从树根结点出发查找当前字符*s 所在结点*/

parent = p;

if (*s == p->Elem) /*若树中已存在当前字符结点,则当前字符的计数值加 1*/

{ p->Count++; break;}

else /*否则根据字符*s 与结点*p 中字符的关系,进入*p 的左子树或右子树*/

if (*s > p->Elem) p = p->Rch;

else p = p->Lch;

} /*while*/

if (______(3)_____) { /*若树中不存在字符值为*s 的结点,则申请结点并插入树中*/

p = (BiTree)malloc(sizeof(struct BSTNode));

if (!p) return NULL;

p->Lch = p->Rch = NULL; p->Count = 1; p->Elem = *s;

/*根据当前字符与其父结点字符值的大小关系,将新结点作为左子树或右子树插入*/

if (p->Elem > parent->Elem) ______(4)_____ = p;

else_________(5)________ = p;

}

}/*for*/

return root;

}

 

 

 

从下列的 3 道试题(试题六至试题八)中任选 1 道解答。如果解答的试题数超过

1 道,则题号小的 1 道解答有效。 欢迎访问软件考试网(www.hbsoft.net)

 

 

试题六(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

阅读以下说明和 C++代码,将解答写入答题纸的对应栏内。

[说明] 欢迎访问软件考试网(www.hbsoft.net)

类 Stock 的定义中有三处错误,分别在代码的第 04、06、10 行。请补齐下述代码中的空

缺 1,修改错误并给处修改后该行的完整代码,最后完善程序运行后的输出结果。

[C++代码]

01 #include <iostream>

02 using namespace std;

03 class Stock{

04 protected:

05Stock(){shares=0; share_val=0.0; Output();}

06Stock(int n=0, double pr=3.5):_____(1)______{//初始化 shares 值为 n

07share_val=pr;

08Output();

09};

10void ~Stock(){};

11void Output(){cout << shares <<’:’ << share_val << endl;}

12 public:

13 //成员函数

14 private:

15//成员变量

16int shares;

17double share_val;

18 };

19

20 void main(){ //构造三个 Stock 对象 a,b,c

21Stock a(1);

22Stock b;

23Stock c = Stock();

24//其他代码省略,且代码无输出

25 }

程序运行后的输出结果为:

1:3.5

_____(2)_____

 

 

_____(3)_____

 

试题七(15 分)

阅读以下应用说明以及用 Visual Basic 编写的程序代码,将应填入_____(n)_____处的

字句写在答题纸的对应栏内。 欢迎访问软件考试网(www.hbsoft.net)

[应用说明] 欢迎访问软件考试网(www.hbsoft.net)

本应用程序的运行窗口中将显示一个简单的模拟时钟如下:

 

 

该圆形钟面上有时针、分针和秒针在运动,不断显示系统的当前时间。

在开发该喁喁时,首先建立一个圆形 Shape 控件作为钟面(背景为白色)。设圆心为象素

坐标(X0,Y0),半径为 940。再在圆心处建立一个小的实心圆 Shape 控件作为轴心。钟面上

的刻度 3,6,9,12 为四个标签。时针、分针、秒针(红色)为线型控件,名称分别为 LineH、

LineM、LineS,线宽属性值分别为:3,2,1,线长属性值分别为 500,700,900。这三个线

型控件的起点坐标都固定在(X0,Y0)其终点坐标随转角θ而动态变化:

 

 

设置定时器 Timer1 使该时钟能反映系统的当前时间,其定时间隔为 0.5 秒,该定时器的

Interval 属性值应设置为_____(1)_____。每隔0.5 秒,秒针需要调整位置,但分针和时针只

是在初始显示时以及在每次秒计数为 0 时才需要调整位置(可节省计算量)。

[程序代码] 欢迎访问软件考试网(www.hbsoft.net)

Const Pi = 3.1416

Const X0 = 1750

Const Y0 = 1150

Const LH = 500, LM = 700, LS = 900

Public first As Boolean

Private Sub Form_Load()

 

LineS.X1 = X0‘秒针的起点位置

LineS.Y1 = Y0

LineM.X1 = X0‘分针的起点位置

LineM.Y1 = Y0

LineH.X1 = X0‘时针的起点位置

LineH.Y1 = Y0

first = True

End Sub

Private Sub Timer1_Timer()

S = Second(Time)

S_seta = Pi * ______(2)______‘秒针的转角

LineS.X2 = X0 + LS * Sin(S_seta) ‘秒针的终点位置

LineS.Y2 = Y0 –LS * Cos(S_seta)

If (____(3)_____) Then

M = Minute(Time)

LineM.X2 = X0 + LM * Sin(Pi*M/30)‘分针的终点位置

LineM.Y2 = Y0 – LM * Cos(Pi*M/30)

H = Hour(Time)

If (H >= 12) Then H = H –12

H_seta = Pi * (______(4)______)‘时针的转角

LineH.X2 = X0 + LH * Sin(H_seta)‘时针的终点位置

LineH.Y2 = Y0 – Lh * Cos(H_seta)

first = ________(5)________

End If

End Sub

 

试题八(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

阅读以下说明和 Java 代码,将解答写入答题纸的对应栏内。

[说明] 欢迎访问软件考试网(www.hbsoft.net)

已知类 Stock 和类 JavaMain 都定义在 JavaMain.java 文件中,类 Stock 的定义中有四处

错误,分别在代码的第 01、02、06、07 行。请修改错误并给出修改后该行的完整代码,并写

出改正错误后程序运行的输出结果。

 

 

 

[Java 代码] 欢迎访问软件考试网(www.hbsoft.net)

01 public class Stock{

02static {

03shares = 0;

04share_val = 0.0;

05}

06private Stock(){getData();}

07private Stock(int n, double pr=0){

08shares = n;

09share_val = pr;

10getData();

11}

12pbulic void getData(){

13System.out.print(shares + “:” + share_val + “ ”);

14}

15private int shares;//非静态变量

16private double share_val;//非静态变量

17 };

18

19 public class JavaMain{

20public static void main(String args[]){

21Stock a = new Stock();

22Stock b = new Stock(1,67.5);

23//其他代码省略,且代码无输出

24}

25 }