历年程序员试题真题档(3)

2007年下半年 程序员 上午试卷

● 在Word编辑状态下,有些英文单词和汉字下面会自动加上红色或绿色的波浪型细下划线。以下叙述中,“波浪型细下划线 (1) ”是错误的;按 (2) 键与工具栏上的按钮功能相同。

(1)A. 提醒用户此处可能有拼写或语法错误

B. 为红色表示可能是拼写问题,为绿色可能是语法问题

C. 是文档内容的一部分,打印文档时会被打印出来

D. 不属于文档内容,打印文档时不会被打印出来

(2)A. Ctrl+C B. Ctrl+V C. Ctrl+A D. Ctrl+S

● 在Excel中,通过冻结或者拆分窗格可以在滚动工作表时始终保持部分数据可见。下图中 (3) ,当鼠标指针在上述位置变为 (4) 后,将该框拖至所需的位置即可。

(3)A. ①和③分别表示水平拆分框和垂直冻结框

B. ①和③分别表示水平冻结框和垂直冻结框

C. ②和③分别表示垂直冻结框和水平拆分框

D. ②和③分别表示水平拆分框和垂直拆分框

(4)

A. 或

B. 或 C. 或

D. 或

● 给定URL为http://www.ceiaec.org/index.htm,其中www.ceiaec.org表示 (5) 。

(5)A. 所用的协议 B. 所访问网站的域名

C. 请求查看的文档名 D. 电子邮件地址

● 计算机中数据输入输出的控制方式有多种,“中断”方式的优点不包括 (6) 。

(6)A. I/O与CPU并行处理 B. 并行处理多种I/O

C. 实时响应突发事件 D. 批量传送数据

● 欲知8位二进制数(b7b6b5b4b3b2b1b0)的b2是否为1,可将该数与二进制数00000100进行 (7) 运算,若运算结果不为0,则此数的b2必为1。

(7)A. 加 B. 减 C. 与 D. 或

● 光盘驱动器与主机的接口总线常采用 (8) 总线。

(8)A. ISA B. CETRONIC

C. EIDE﹙ATA﹚ D. PCI

● 汉字机内码与国标码的关系为:机内码 = 国标码 + 8080H。若已知某汉字的国标码为3456H,则其机内码为

(9)A. B4D6H B. B536H C. D4B6H D. C4B3H

● 设某系统由P1和P2

两个子系统组成,当且仅当两个子系统都能正常工作时,该系

统才能正常工作。若P1和P2的可靠性均为0.9,则该系统的可靠性是 (10) 。

(10)A. 0.1 B. 0.45 C. 0.81 D. 0.9

● 评价计算机系统性能时,MIPS是衡量 (11) 的一种单位。

(11)A. 时钟频率 B. 运算速度

C. 系统可靠性 D. 系统失效率

● 下面的图像格式中, (12) 不支持透明控制信息。

(12)A. GIF B. PNG C. PSD D. JPG

● 对同一段音乐可以选用MIDI格式或WAV格式来记录存储。以下叙述中, (13) 是不正确的。

(13)A. WAV格式的音乐数据量比MIDI格式的音乐数据量大

B. 记录演唱会实况不能采用MIDI格式的音乐数据

C. WAV格式的音乐数据没有体现音乐的曲谱信息

D. WAV格式的音乐数据和MIDI格式的音乐数据都能记录音乐波形信息

● 某块SoundBlaster声卡是8位的,这里的“8位”指 (14) 。

(14)A. 声音采集最大量化精度是8位 B. MIDI通道数是8

C. 可以产生的音色数是28 D. 声道数为8

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

(15)A. 禁用ActiveX控件 B. 禁用脚本

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

● 在公司内网中部署 (16) 可以最大限度防范内部攻击。

(16)A. 防火墙 B. 电磁泄密及防护系统

C. 邮件过滤系统 D. 入侵检测系统

● 向商标局提出注册商标转让申请的人应当是 (17) 。

(17)A. 转让人 B. 受让人 C. 商标注册人 D. 转让人和受让人 ● 下列标准代号中, (18) 表示国际标准。

(18)A. GJB B. IEC C. GB/T D. ANSI

● 用补码表示的8位二进制数11100000,其值为十进制数 (19) 。

(19)A. -31 B. -32 C. -64 D. -65

● 用ASCII码表示的大写英文字母B﹙42H﹚加偶校验后的二进制编码为 (20) 。

(20)A. 10001000 B. 10000010 C. 11000001 D. 01000010

● CPU主要由运算单元(ALU)、控制单元(CU)、寄存器和时序电路组成,对指令进行译码的功能是由 (21) 实现的。

(21)A. 运算单元 B. 控制单元 C. 寄存器 D. 时序电路

● 两个带符号的数进行运算时,在 (22) 的情况下有可能产生溢出。

(22)A. 同符号数相加 B. 同符号数相减

C. 异符号数相加 D. 异符号数相“或”

● 主板(也称母板或系统板)是计算机硬件系统集中管理的核心载体,几乎集中了全部系统功能,是计算机中的重要部件之一。下图所示的微机主板上,①处是(23) ,②处是 (24) 。

(23)A. CPU插槽 B. 内存插槽 C. PCI插槽 D. IDE插槽

(24)A. CPU插槽 B. 内存插槽 C. PCI插槽 D. IDE插槽

● 计算机加电自检以后,引导程序首先装入 (25) ,否则,计算机不能做任何事情。

(25)A. 操作系统 B. 编译程序 C. Office系列软件 D. 应用软件

● 已知有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,则信号量S的初值为 (26) ,信号量S的变化范围是 (27) 。

(26)A. 0 B. 1 C. 5 D. 6

(27)A. 0~10 B. – 1~9 C. – 4~6 D. –5~5

● (28) 不属于程序语言翻译软件。

(28)A. 编译程序 B. 解释程序 C. 汇编程序 D. 编辑程序

● 若程序P经编译并链接后可执行,则 (29) 。

(29)A. P是正确的程序 B. P中没有语法错误

C. P中没有逻辑错误 D. P在运行中不会出错

● 若程序中定义了局部变量与全局变量,则 (30) 。

(30)A. 在函数内只能访问局部变量,但不能访问全局变量

B. 局部变量与全局变量的名字不得相同

C. 一个函数被多次调用时,其定义的局部变量必定分配同一个存储单元

D. 函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量

● (31) 不是良好的编程风格。

(31)A. 变量名采用单字母符号或单字母加数字串

B. 程序代码采用缩进格式

C. 为变量设置初始值

D. 程序中包含必要的注释

● 函数调用采用“ (32) ”方式时,系统将实参的地址传递给形式参数。

(32)A. 传值调用 B. 引用调用 C. 宏调用 D. 内部调用

● 若程序中使用的变量未设置初始值,则 (33) 。

(33)A. 编译时一定出错 B. 运行时一定会出错

C. 链接时一定出错 D. 运行结果可能出错

● 在统一建模语言(Unified Modeling Language,UML)中,描述本系统与外部系统及用户之间交互的图是 (34) ;按时间顺序描述对象间交互的图是 (35) 。

(34)A. 用例图 B. 类图 C. 对象图 D. 状态图

(35)A. 部署图 B. 序列图 C. 协作图 D. 状态图

● n个元素依次全部进入栈后,再陆续出栈并经过一个队列输出。那么, (36) 。

(36)A. 元素的出队次序与进栈次序相同

B. 元素的出队次序与进栈次序相反

C. 元素的进栈次序与进队次序相同

D. 元素的出栈次序与出队次序相反

● 若一个栈以向量V[1..n]存储,且空栈的栈顶指针top为n+1,则将元素x入栈的正确操作是 (37) 。

(37)A. top = top+1; V[top] = x;

C. top = top-1; V[top] = x; B. V[top] = x; top = top+1; D. V[top] = x; top = top-1;

● 广度优先遍历的含义是:从图中某个顶点v出发,在访问了v之后依次访问v的各个未被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,且“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,直至图中所有已被访问的顶点的邻接点都被访问到。 (38) 是下图的广度优先遍历序列。

(38)A. 1 2 6 3 4 5 B. 1 2 3 4 5 6 C. 1 6 5 2 3 4 D. 1 6 4 5 2 3

● 对于长度为11的顺序存储的有序表,若采用折半查找(向下取整),则找到第5个元素需要与表中的 (39) 个元素进行比较操作(包括与第5个元素的比较)。

(39)A. 5 B. 4 C. 3 D. 2

● 与单向链表相比,双向链表 (40) 。

(40)A. 需要较少的存储空间

B. 遍历元素需要的时间较短

C. 较易于访问相邻结点

D. 较易于插入和删除元素

● 如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。 (41) 是稳定的排序方法,因为这种方法在比较相邻元素时,值相同的元素并不进行交换。

(41)A. 冒泡排序 B. 希尔排序 C. 快速排序 D. 简单选择排序

● 对下图所示的二叉树进行中序遍历(左子树、根、右子树)的结果是 (42) 。

(42)A. 2 5 3 4 6 1 B. 2 5 3 4 1 6

C. 2 6 5 4 1 3 D. 2 6 4 5 3 1

● 采用一维数组S存储一个n阶对称矩阵A的下三角部分(按行存放,包括主对角线),设元素A[i][j]存放在S[k] 中(i、j、k均从1开始取值),且S[1]=A[1][1],则k与i、j的对应关系是 (43) 。例如,元素A[3][2]存在S[5]中。

(43)A. ki(i1)i(i1) B. kj1 j 22

i(i1)i(i1)C. kj1 D. kj 22

● 关于对象和类的叙述,正确的是 (44) 。

(44)A. 如果两个对象的所有成员变量的值相同,则这两个对象是同一对象

B. 编写代码时,不允许使用匿名类

C. 不同的对象一定属于不同的类

D. 每个对象都有惟一标识,以彼此区分

● (45) 关系描述了某对象由其他对象组成。

(45)A. 依赖 B. 一般化 C. 聚合 D. 具体化

● 关于对象封装的叙述,正确的是 (46) 。

(46)A. 每个程序模块中都封装了若干个对象

B. 封装可实现信息隐藏

C. 封装使对象的状态不能改变

D. 封装是把对象放在同一个集合中

● 在面向对象技术中,抽象类是 (47) 。

(47)A. 接口 B. 没有方法的类

C. 没有子类的类 D. 至少有一个未定义消息的类

● 在面向对象技术中,多态性的含义是 (48) 。

(48)A. 一个对象可同时指向不同的类的对象

B. 同一消息在不同时刻可调用不同的方法

C. 对象的生存周期中包含对象的多种状态

D. 不同消息可以调用相同的方法

● (49) 语言最适用于过程式程序设计。

(49)A. C B. HTML C. JAVA D. PROLOG

● (50) 是正确的叙述。

(50)A. 解释方式比编译方式更适用于规模较大的程序

B. 解释方式下生成的目标代码长,编译方式下生成的目标代码短

C. 解释方式下不生成源程序的目标代码

D. 解释方式只能用于批处理

● 由多个源文件组成的C程序,经过编辑、预处理、编译、链接等阶段才能生成最终的可执行程序。此过程中,在 (51) 阶段可以发现被调用的函数未定义。

(51)A. 编辑和预处理 B. 预处理 C. 编译 D. 链接

● 在软件开发过程中, (52) 。

(52)A. 增加更多的程序员可以加快软件开发速度

B. 只有对目标的一般描述还不能立即开始编码

C. 若项目需求有变化,应先在编码中进行处理以不耽误开发进度

D. 程序的质量只能在用户使用之后才能进行评估

● 采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是 (53)

阶段产生的。

(53)A. 系统分析 B. 概要设计 C. 详细设计 D. 编码

● 软件维护可分为改正性维护、适应性维护、完善性维护和预防性维护。在软件的整个维护活动中, (54) 维护所占比重最大。

(54)A. 改正性 B. 适应性 C. 完善性 D. 预防性

● 在软件的使用过程中,用户往往会对软件提出新的功能要求与性能要求。为了满足这些要求而进行的维护属于 (55) 维护。

(55)A. 改正性 B. 适应性 C. 完善性 D. 预防性

● 对于如下的程序流程,若采用语句覆盖法设计测试案例(使每条语句都至少执行1次),则至少需要设计 (56) 个测试案例。

输入X和Y

否是X > 0

Y = Y + XY = Y - X

否是Y > 0

X = 1

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

● 关系代数运算是以集合操作为基础的运算,其五种基本运算是并、差、 (57) 、投影和选择,其他运算可由这些运算导出。为了提高数据的操作效率和存储空间的利用率,需要对 (58) 进行分解。

(57)A. 交 B. 连接 C. 笛卡尔积 D. 自然连接

(58)A. 内模式 B. 视图 C. 外模式 D. 关系模式

● 设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),其中,属性“系名”是关系DEPT的主键,用户要求访问“家庭住址”的某个成分,如邮编、省、市、街道以及门牌号。关系Students的主键和外键分别是 (59) 。“家庭住址”是一个 (60) 属性。

(59)A. 学号、家庭住址 B. 姓名、家庭住址

C. 学号、系名 D. 姓名、系名

(60)A. 简单 B. 复合 C. 多值 D. 派生

● 设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),如果要查询姓“李”的且家庭住址包含“科技路”的学生学号、姓名以及所在系,则对应的SELECT语句如下:

SELECT 学号,姓名,系名

FROM Students

WHERE AND ;

(61)A. 姓名LIKE '李_ _' B. 姓名LIKE '李%'

C. 姓名AS '李_ _' D. 姓名AS '李%'

(62)A. 家庭住址LIKE '%科技路%' B. 家庭住址LIKE '*科技路*'

C. 家庭住址AS '%科技路%' D. 家庭住址AS '*科技路*'

● 为了用一个数代表一批数,人们常用这批数据的算术平均值(简称平均值)或中位

数来代表。中位数就是位于这批数中间的数(大于它的数与小于它的数一样多)。对于奇数个数而言,排序后很容易确定中间那个数;对于偶数个数而言,排序后中间会有两个数,再取这两个数的算术平均,就是中位数。以下关于平均值与中位数的叙述中, (63)是不正确的。

(63)A. 中位数比平均值稳健,不易受极端值影响

B. 每个数据加倍后,平均值也加倍;每个数据增加1后,平均值也增加1

C. 三组各n个数据有三个中位数,它们的中位数就是这三组数据全体的中位数

D. 三组各n个数据有三个平均值,它们的平均值就是这三组数据全体的平均值

● 某村领导需要估计该村某池塘中鱼的大致数量。技术人员想出了一个办法:先从池塘中捕出30条鱼,在每条鱼身上做一记号后,又放回池塘。几天后,再从该池塘中捕出40条鱼,发现其中有2条是有记号的。因此,他估计该池塘大致有 (64) 条鱼。

类似地,为估计某程序中所含的错误个数,程序员A对该程序进行测试时发现了5个错误,程序员B独立对该程序进行测试时发现了8个错误,但其中2个错误是程序员A已经发现的。因此,人们可以估计,该程序中大致含有 (65) 个错误。

(64)A. 300 B. 400 C. 600 D. 1200

(65)A. 12 B. 15 C. 16 D. 20

● 客户端通过 (66) 协议发送电子邮件。

(66)A. FTP B. SMTP

C. HTTP D. POP3

● 在URL中不填写协议类型,IE浏览器默认使用 (67) 协议。

(67)A. FTP B. Gopher

C. File D. HTTP

● 如果访问一个网站速度很慢,可能有多种原因,但首先应该排除的是 (68) 。

(68)A. 网络服务器忙 B. 通信线路忙

C. 本地终端遭遇病毒 D. 没有访问权限

● 在Windows XP中,可以使用 (69) 来浏览日志文件,其中包含有 (70) 、安全性日志和系统日志。

(69)A. 事件查看器 B. 浏览器 C. 超级终端 D. 信息服务

(70)A. 用户访问日志 B. 应用程序日志

C. 记帐日志 D. 网络攻击日志

● A (71) is a functional unit that interprets and carries out instructions.

(71) A. memory

communicate with computer.

(72)A. programming language B. network

D. display C. keyboard

processors, spreadsheets etc.

(73)A. Application

most recently.

(74)A. a line B. a queue C. an array D. a stack

● Most (75) measures involve data encryption and password.

(75)A. security B. hardware C. display D. program B. System C. Compiler D. Utility ● In (74) , the only element that can be deleted or removed is the one that was inserted B. processor C. storage D. network ● A (72) consists of the symbols, characters, and usage rules that permit people to ● (73) software, also called end-user program, includes database programs, word

2007年下半年 程序员 下午试卷

试题一(共15分)

阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。

[说明]

某单位动态收集的数据中常包含重复的数据,所以需要进行处理,使得重复的数据仅出现一次。下面流程图的功能是:在n(n≥1)个数据D1、D2、„、Dn中,选出其中所有不重复的k个数据,置于原来前k个数据的位置上。

该流程图的算法如下:第1个数据必然被选出,然后从第2个数据开始,逐个考察其余的数据。假设D1、D2、„、D(是已经选出的、不重复的数据,则对于数据D(,mm≥1)im

例如,如下10个数据:

5,2,2,7,4,4,7,1,9,1 (n=10)

经过上述算法处理后的结果为:

5,2,7,4,1,9 (k=6)

[流程图]

主控处理数据D[i]

返回

注:循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。

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

[说明]

已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。

函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。

程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是(或不是)闰年。

[C语言函数]

int count_5_13(int year)

{

int date; /* date为0表示星期日,为1~6分别表示星期一至星期六 */ long days = 0; /* days记录天数 */

int m, y, c = 0; /* c用于表示黑色星期五的个数 */

if (year

/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/

days = 12;

for (y = 1900; y

days += 365;

if (isLeapYear(y)) (1) ;

}

date = ((days % 7) + 1) % 7; /* 算出给定年份year的1月13日是星期几 */ c = ( (2) ) ? 1 : 0;

for(m = 1; (3) ; m++) {

switch (m) {

case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break;

case 4: case 6: case 9: case 11:

days = 30; break;

case 2: days = 28;

if ( (4) ) days = 29;

break;

}/* end of switch*/

date =((days % 7) + (5) ) % 7;

if (date == 5) c++;

} /* end of for*/

return c;

}

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

[说明]

某电信公司记录了每个用户的详细通话情况(每次通话数据记录在一行),现将某用户某月的通话数据存入一个文本文件“dial.txt”,其数据格式如下:

拨入或拨出标记 通话开始时间 通话结束时间 对方号码

注1:数据字段以一个空格作为分隔符。

注2:拨入和拨出标记均为小写字母。拨入标记为“i”,表示其他用户呼叫本机,本机用户不需付费;拨出标记为“o”,表示本机呼叫其他用户,此时本机用户需要付费。

注3:通话开始和结束时间的格式均为:HH:MM:SS。其中HH表示小时,取值00~23;MM表示分钟,取值00~59;SS表示秒,取值00~59。从通话开始到结束这段时间称为通话时间,假定每次通话时间以秒为单位,最短为1秒,最长不超过24小时。

注4:跨月的通话记录计入下个月的通话数据文件。

例如“o 23:01:12 00:12:15 „”表示本次通话是本机呼叫其他用户,时间从23时01分12秒至次日的0时12分15秒,通话时间为71分03秒。

下面程序的功能是计算并输出该用户本月电话费(单位:元)。

通话计费规则为:

1. 月通话费按每次通话费累加;

2. 每次的通话费按通话时间每分钟0.08元计算,不足1分钟时按1分钟计费。

对于每次的拨出通话,程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度(以秒为单位),然后算出本次通话时间和通话费。

例如,若输入文件dial.txt的数据如下所示,则输出fee = 7.44。

o 14:05:23 14:11:25 82346789

i 15:10:00 16:01:15 [1**********]

o 10:53:12 11:07:05 63000123

o 23:01:12 00:12:15 [1**********]

[C程序代码]

#include

FILE *fin;

int main()

{

char str[80];

int h1,h2,m1,m2,s1,s2;

long t_start,t_end, interval;

int c;

double fee = 0;

fin = fopen("dial.txt","r");

if (!fin)

return -1;

while (!feof(fin)) {

if (!fgets(str,80,fin)) break;

if ( (1) ) continue;

h1 = (str[2] - 48) * 10 + str[3] - 48;

m1 = (str[5] - 48) * 10 + str[6] - 48;

s1 = (str[8] - 48) * 10 + str[9] - 48;

h2 = (str[11] - 48) * 10 + str[12] - 48;

m2 = (str[14] - 48) * 10 + str[15] - 48;

s2 = (str[17] - 48) * 10 + str[18] - 48;

t_start = h1*60*60 + m1*60 + s1; /* 通话开始时间 */

t_end = h2*60*60 + m2*60 + s2; /* 通话结束时间 */

if ( (2) ) /* 若通话开始和结束时间跨日 */

interval = (3) - t_start + t_end;

else

interval = t_end - t_start;

c = (4) ; /* 计算完整分钟数表示的通话时间 */

if (interval % 60)

(5) ;

fee += c * 0.08;

}

fclose(fin);

printf("fee = %.2lf\n",fee);

return 0;

}

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

[说明]

已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数compress(NODE *head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。

处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。

图4-1(a)、(b)是经函数compress()处理前后的链表结构示例图。

(a)

(b)

图4-1

链表的结点类型定义如下:

typedef struct Node {

int data;

struct Node *next;

}NODE;

[C语言函数]

void compress(NODE *head)

{ NODE *ptr,*q;

ptr = (1) ; /* 取得第一个元素结点的指针 */

while ( (2) && ptr -> next) {

q = ptr -> next;

while(q && (3) ) { /* 处理重复元素 */

(4) = q -> next;

free(q);

q = ptr -> next;

}

(5) = ptr -> next;

}/* end of while */

}/* end of compress */

阅读下列说明、图和Java代码,回答问题1至问题3,将解答写在答题纸的对应栏内。

[说明]

已知四个类之间的关系如图7-1所示,分别对每个类的方法进行编号,例如Shape的perimeter()为1号,表示为“1:perimeter()”,Rectangle类的perimeter()为2号,表示为“2:perimeter()”,依此类推,其中,每个类的perimeter方法签名相同。

2:perimeter()

4:perimeter() 图7-1 类图

[Java 代码]

Triangle tr = new Triangle();

Square sq = new Square();

Shape sh = tr;

[问题1] 关于上述Java代码中sh 和 tr的以下叙述中,哪两个是正确的(写出编号)。 ① sh 和 tr分别引用同一个对象;

② sh 和 tr分别引用同一类型的不同的对象;

③ sh 和 tr分别引用不同类型的不同对象;

④ sh 和 tr分别引用同一个对象的不同拷贝;

⑤ sh 和 tr所引用的内存空间是相同的。

[问题2] 写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请填写“无”)。

tr.height() (1)

sh.perimeter() (2)

sq.height() (3)

sq.perimeter() (4)

sh.height() (5)

tr.perimeter() (6)

[问题3] 下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)。

① sq = sh; ② sh = tr; ③ tr = sq; ④ sq = tr; ⑤ sh = sq;

2007年下半年 程序员 上午试卷

● 在Word编辑状态下,有些英文单词和汉字下面会自动加上红色或绿色的波浪型细下划线。以下叙述中,“波浪型细下划线 (1) ”是错误的;按 (2) 键与工具栏上的按钮功能相同。

(1)A. 提醒用户此处可能有拼写或语法错误

B. 为红色表示可能是拼写问题,为绿色可能是语法问题

C. 是文档内容的一部分,打印文档时会被打印出来

D. 不属于文档内容,打印文档时不会被打印出来

(2)A. Ctrl+C B. Ctrl+V C. Ctrl+A D. Ctrl+S

● 在Excel中,通过冻结或者拆分窗格可以在滚动工作表时始终保持部分数据可见。下图中 (3) ,当鼠标指针在上述位置变为 (4) 后,将该框拖至所需的位置即可。

(3)A. ①和③分别表示水平拆分框和垂直冻结框

B. ①和③分别表示水平冻结框和垂直冻结框

C. ②和③分别表示垂直冻结框和水平拆分框

D. ②和③分别表示水平拆分框和垂直拆分框

(4)

A. 或

B. 或 C. 或

D. 或

● 给定URL为http://www.ceiaec.org/index.htm,其中www.ceiaec.org表示 (5) 。

(5)A. 所用的协议 B. 所访问网站的域名

C. 请求查看的文档名 D. 电子邮件地址

● 计算机中数据输入输出的控制方式有多种,“中断”方式的优点不包括 (6) 。

(6)A. I/O与CPU并行处理 B. 并行处理多种I/O

C. 实时响应突发事件 D. 批量传送数据

● 欲知8位二进制数(b7b6b5b4b3b2b1b0)的b2是否为1,可将该数与二进制数00000100进行 (7) 运算,若运算结果不为0,则此数的b2必为1。

(7)A. 加 B. 减 C. 与 D. 或

● 光盘驱动器与主机的接口总线常采用 (8) 总线。

(8)A. ISA B. CETRONIC

C. EIDE﹙ATA﹚ D. PCI

● 汉字机内码与国标码的关系为:机内码 = 国标码 + 8080H。若已知某汉字的国标码为3456H,则其机内码为

(9)A. B4D6H B. B536H C. D4B6H D. C4B3H

● 设某系统由P1和P2

两个子系统组成,当且仅当两个子系统都能正常工作时,该系

统才能正常工作。若P1和P2的可靠性均为0.9,则该系统的可靠性是 (10) 。

(10)A. 0.1 B. 0.45 C. 0.81 D. 0.9

● 评价计算机系统性能时,MIPS是衡量 (11) 的一种单位。

(11)A. 时钟频率 B. 运算速度

C. 系统可靠性 D. 系统失效率

● 下面的图像格式中, (12) 不支持透明控制信息。

(12)A. GIF B. PNG C. PSD D. JPG

● 对同一段音乐可以选用MIDI格式或WAV格式来记录存储。以下叙述中, (13) 是不正确的。

(13)A. WAV格式的音乐数据量比MIDI格式的音乐数据量大

B. 记录演唱会实况不能采用MIDI格式的音乐数据

C. WAV格式的音乐数据没有体现音乐的曲谱信息

D. WAV格式的音乐数据和MIDI格式的音乐数据都能记录音乐波形信息

● 某块SoundBlaster声卡是8位的,这里的“8位”指 (14) 。

(14)A. 声音采集最大量化精度是8位 B. MIDI通道数是8

C. 可以产生的音色数是28 D. 声道数为8

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

(15)A. 禁用ActiveX控件 B. 禁用脚本

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

● 在公司内网中部署 (16) 可以最大限度防范内部攻击。

(16)A. 防火墙 B. 电磁泄密及防护系统

C. 邮件过滤系统 D. 入侵检测系统

● 向商标局提出注册商标转让申请的人应当是 (17) 。

(17)A. 转让人 B. 受让人 C. 商标注册人 D. 转让人和受让人 ● 下列标准代号中, (18) 表示国际标准。

(18)A. GJB B. IEC C. GB/T D. ANSI

● 用补码表示的8位二进制数11100000,其值为十进制数 (19) 。

(19)A. -31 B. -32 C. -64 D. -65

● 用ASCII码表示的大写英文字母B﹙42H﹚加偶校验后的二进制编码为 (20) 。

(20)A. 10001000 B. 10000010 C. 11000001 D. 01000010

● CPU主要由运算单元(ALU)、控制单元(CU)、寄存器和时序电路组成,对指令进行译码的功能是由 (21) 实现的。

(21)A. 运算单元 B. 控制单元 C. 寄存器 D. 时序电路

● 两个带符号的数进行运算时,在 (22) 的情况下有可能产生溢出。

(22)A. 同符号数相加 B. 同符号数相减

C. 异符号数相加 D. 异符号数相“或”

● 主板(也称母板或系统板)是计算机硬件系统集中管理的核心载体,几乎集中了全部系统功能,是计算机中的重要部件之一。下图所示的微机主板上,①处是(23) ,②处是 (24) 。

(23)A. CPU插槽 B. 内存插槽 C. PCI插槽 D. IDE插槽

(24)A. CPU插槽 B. 内存插槽 C. PCI插槽 D. IDE插槽

● 计算机加电自检以后,引导程序首先装入 (25) ,否则,计算机不能做任何事情。

(25)A. 操作系统 B. 编译程序 C. Office系列软件 D. 应用软件

● 已知有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,则信号量S的初值为 (26) ,信号量S的变化范围是 (27) 。

(26)A. 0 B. 1 C. 5 D. 6

(27)A. 0~10 B. – 1~9 C. – 4~6 D. –5~5

● (28) 不属于程序语言翻译软件。

(28)A. 编译程序 B. 解释程序 C. 汇编程序 D. 编辑程序

● 若程序P经编译并链接后可执行,则 (29) 。

(29)A. P是正确的程序 B. P中没有语法错误

C. P中没有逻辑错误 D. P在运行中不会出错

● 若程序中定义了局部变量与全局变量,则 (30) 。

(30)A. 在函数内只能访问局部变量,但不能访问全局变量

B. 局部变量与全局变量的名字不得相同

C. 一个函数被多次调用时,其定义的局部变量必定分配同一个存储单元

D. 函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量

● (31) 不是良好的编程风格。

(31)A. 变量名采用单字母符号或单字母加数字串

B. 程序代码采用缩进格式

C. 为变量设置初始值

D. 程序中包含必要的注释

● 函数调用采用“ (32) ”方式时,系统将实参的地址传递给形式参数。

(32)A. 传值调用 B. 引用调用 C. 宏调用 D. 内部调用

● 若程序中使用的变量未设置初始值,则 (33) 。

(33)A. 编译时一定出错 B. 运行时一定会出错

C. 链接时一定出错 D. 运行结果可能出错

● 在统一建模语言(Unified Modeling Language,UML)中,描述本系统与外部系统及用户之间交互的图是 (34) ;按时间顺序描述对象间交互的图是 (35) 。

(34)A. 用例图 B. 类图 C. 对象图 D. 状态图

(35)A. 部署图 B. 序列图 C. 协作图 D. 状态图

● n个元素依次全部进入栈后,再陆续出栈并经过一个队列输出。那么, (36) 。

(36)A. 元素的出队次序与进栈次序相同

B. 元素的出队次序与进栈次序相反

C. 元素的进栈次序与进队次序相同

D. 元素的出栈次序与出队次序相反

● 若一个栈以向量V[1..n]存储,且空栈的栈顶指针top为n+1,则将元素x入栈的正确操作是 (37) 。

(37)A. top = top+1; V[top] = x;

C. top = top-1; V[top] = x; B. V[top] = x; top = top+1; D. V[top] = x; top = top-1;

● 广度优先遍历的含义是:从图中某个顶点v出发,在访问了v之后依次访问v的各个未被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,且“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,直至图中所有已被访问的顶点的邻接点都被访问到。 (38) 是下图的广度优先遍历序列。

(38)A. 1 2 6 3 4 5 B. 1 2 3 4 5 6 C. 1 6 5 2 3 4 D. 1 6 4 5 2 3

● 对于长度为11的顺序存储的有序表,若采用折半查找(向下取整),则找到第5个元素需要与表中的 (39) 个元素进行比较操作(包括与第5个元素的比较)。

(39)A. 5 B. 4 C. 3 D. 2

● 与单向链表相比,双向链表 (40) 。

(40)A. 需要较少的存储空间

B. 遍历元素需要的时间较短

C. 较易于访问相邻结点

D. 较易于插入和删除元素

● 如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。 (41) 是稳定的排序方法,因为这种方法在比较相邻元素时,值相同的元素并不进行交换。

(41)A. 冒泡排序 B. 希尔排序 C. 快速排序 D. 简单选择排序

● 对下图所示的二叉树进行中序遍历(左子树、根、右子树)的结果是 (42) 。

(42)A. 2 5 3 4 6 1 B. 2 5 3 4 1 6

C. 2 6 5 4 1 3 D. 2 6 4 5 3 1

● 采用一维数组S存储一个n阶对称矩阵A的下三角部分(按行存放,包括主对角线),设元素A[i][j]存放在S[k] 中(i、j、k均从1开始取值),且S[1]=A[1][1],则k与i、j的对应关系是 (43) 。例如,元素A[3][2]存在S[5]中。

(43)A. ki(i1)i(i1) B. kj1 j 22

i(i1)i(i1)C. kj1 D. kj 22

● 关于对象和类的叙述,正确的是 (44) 。

(44)A. 如果两个对象的所有成员变量的值相同,则这两个对象是同一对象

B. 编写代码时,不允许使用匿名类

C. 不同的对象一定属于不同的类

D. 每个对象都有惟一标识,以彼此区分

● (45) 关系描述了某对象由其他对象组成。

(45)A. 依赖 B. 一般化 C. 聚合 D. 具体化

● 关于对象封装的叙述,正确的是 (46) 。

(46)A. 每个程序模块中都封装了若干个对象

B. 封装可实现信息隐藏

C. 封装使对象的状态不能改变

D. 封装是把对象放在同一个集合中

● 在面向对象技术中,抽象类是 (47) 。

(47)A. 接口 B. 没有方法的类

C. 没有子类的类 D. 至少有一个未定义消息的类

● 在面向对象技术中,多态性的含义是 (48) 。

(48)A. 一个对象可同时指向不同的类的对象

B. 同一消息在不同时刻可调用不同的方法

C. 对象的生存周期中包含对象的多种状态

D. 不同消息可以调用相同的方法

● (49) 语言最适用于过程式程序设计。

(49)A. C B. HTML C. JAVA D. PROLOG

● (50) 是正确的叙述。

(50)A. 解释方式比编译方式更适用于规模较大的程序

B. 解释方式下生成的目标代码长,编译方式下生成的目标代码短

C. 解释方式下不生成源程序的目标代码

D. 解释方式只能用于批处理

● 由多个源文件组成的C程序,经过编辑、预处理、编译、链接等阶段才能生成最终的可执行程序。此过程中,在 (51) 阶段可以发现被调用的函数未定义。

(51)A. 编辑和预处理 B. 预处理 C. 编译 D. 链接

● 在软件开发过程中, (52) 。

(52)A. 增加更多的程序员可以加快软件开发速度

B. 只有对目标的一般描述还不能立即开始编码

C. 若项目需求有变化,应先在编码中进行处理以不耽误开发进度

D. 程序的质量只能在用户使用之后才能进行评估

● 采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是 (53)

阶段产生的。

(53)A. 系统分析 B. 概要设计 C. 详细设计 D. 编码

● 软件维护可分为改正性维护、适应性维护、完善性维护和预防性维护。在软件的整个维护活动中, (54) 维护所占比重最大。

(54)A. 改正性 B. 适应性 C. 完善性 D. 预防性

● 在软件的使用过程中,用户往往会对软件提出新的功能要求与性能要求。为了满足这些要求而进行的维护属于 (55) 维护。

(55)A. 改正性 B. 适应性 C. 完善性 D. 预防性

● 对于如下的程序流程,若采用语句覆盖法设计测试案例(使每条语句都至少执行1次),则至少需要设计 (56) 个测试案例。

输入X和Y

否是X > 0

Y = Y + XY = Y - X

否是Y > 0

X = 1

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

● 关系代数运算是以集合操作为基础的运算,其五种基本运算是并、差、 (57) 、投影和选择,其他运算可由这些运算导出。为了提高数据的操作效率和存储空间的利用率,需要对 (58) 进行分解。

(57)A. 交 B. 连接 C. 笛卡尔积 D. 自然连接

(58)A. 内模式 B. 视图 C. 外模式 D. 关系模式

● 设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),其中,属性“系名”是关系DEPT的主键,用户要求访问“家庭住址”的某个成分,如邮编、省、市、街道以及门牌号。关系Students的主键和外键分别是 (59) 。“家庭住址”是一个 (60) 属性。

(59)A. 学号、家庭住址 B. 姓名、家庭住址

C. 学号、系名 D. 姓名、系名

(60)A. 简单 B. 复合 C. 多值 D. 派生

● 设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),如果要查询姓“李”的且家庭住址包含“科技路”的学生学号、姓名以及所在系,则对应的SELECT语句如下:

SELECT 学号,姓名,系名

FROM Students

WHERE AND ;

(61)A. 姓名LIKE '李_ _' B. 姓名LIKE '李%'

C. 姓名AS '李_ _' D. 姓名AS '李%'

(62)A. 家庭住址LIKE '%科技路%' B. 家庭住址LIKE '*科技路*'

C. 家庭住址AS '%科技路%' D. 家庭住址AS '*科技路*'

● 为了用一个数代表一批数,人们常用这批数据的算术平均值(简称平均值)或中位

数来代表。中位数就是位于这批数中间的数(大于它的数与小于它的数一样多)。对于奇数个数而言,排序后很容易确定中间那个数;对于偶数个数而言,排序后中间会有两个数,再取这两个数的算术平均,就是中位数。以下关于平均值与中位数的叙述中, (63)是不正确的。

(63)A. 中位数比平均值稳健,不易受极端值影响

B. 每个数据加倍后,平均值也加倍;每个数据增加1后,平均值也增加1

C. 三组各n个数据有三个中位数,它们的中位数就是这三组数据全体的中位数

D. 三组各n个数据有三个平均值,它们的平均值就是这三组数据全体的平均值

● 某村领导需要估计该村某池塘中鱼的大致数量。技术人员想出了一个办法:先从池塘中捕出30条鱼,在每条鱼身上做一记号后,又放回池塘。几天后,再从该池塘中捕出40条鱼,发现其中有2条是有记号的。因此,他估计该池塘大致有 (64) 条鱼。

类似地,为估计某程序中所含的错误个数,程序员A对该程序进行测试时发现了5个错误,程序员B独立对该程序进行测试时发现了8个错误,但其中2个错误是程序员A已经发现的。因此,人们可以估计,该程序中大致含有 (65) 个错误。

(64)A. 300 B. 400 C. 600 D. 1200

(65)A. 12 B. 15 C. 16 D. 20

● 客户端通过 (66) 协议发送电子邮件。

(66)A. FTP B. SMTP

C. HTTP D. POP3

● 在URL中不填写协议类型,IE浏览器默认使用 (67) 协议。

(67)A. FTP B. Gopher

C. File D. HTTP

● 如果访问一个网站速度很慢,可能有多种原因,但首先应该排除的是 (68) 。

(68)A. 网络服务器忙 B. 通信线路忙

C. 本地终端遭遇病毒 D. 没有访问权限

● 在Windows XP中,可以使用 (69) 来浏览日志文件,其中包含有 (70) 、安全性日志和系统日志。

(69)A. 事件查看器 B. 浏览器 C. 超级终端 D. 信息服务

(70)A. 用户访问日志 B. 应用程序日志

C. 记帐日志 D. 网络攻击日志

● A (71) is a functional unit that interprets and carries out instructions.

(71) A. memory

communicate with computer.

(72)A. programming language B. network

D. display C. keyboard

processors, spreadsheets etc.

(73)A. Application

most recently.

(74)A. a line B. a queue C. an array D. a stack

● Most (75) measures involve data encryption and password.

(75)A. security B. hardware C. display D. program B. System C. Compiler D. Utility ● In (74) , the only element that can be deleted or removed is the one that was inserted B. processor C. storage D. network ● A (72) consists of the symbols, characters, and usage rules that permit people to ● (73) software, also called end-user program, includes database programs, word

2007年下半年 程序员 下午试卷

试题一(共15分)

阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。

[说明]

某单位动态收集的数据中常包含重复的数据,所以需要进行处理,使得重复的数据仅出现一次。下面流程图的功能是:在n(n≥1)个数据D1、D2、„、Dn中,选出其中所有不重复的k个数据,置于原来前k个数据的位置上。

该流程图的算法如下:第1个数据必然被选出,然后从第2个数据开始,逐个考察其余的数据。假设D1、D2、„、D(是已经选出的、不重复的数据,则对于数据D(,mm≥1)im

例如,如下10个数据:

5,2,2,7,4,4,7,1,9,1 (n=10)

经过上述算法处理后的结果为:

5,2,7,4,1,9 (k=6)

[流程图]

主控处理数据D[i]

返回

注:循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。

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

[说明]

已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。

函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。

程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是(或不是)闰年。

[C语言函数]

int count_5_13(int year)

{

int date; /* date为0表示星期日,为1~6分别表示星期一至星期六 */ long days = 0; /* days记录天数 */

int m, y, c = 0; /* c用于表示黑色星期五的个数 */

if (year

/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/

days = 12;

for (y = 1900; y

days += 365;

if (isLeapYear(y)) (1) ;

}

date = ((days % 7) + 1) % 7; /* 算出给定年份year的1月13日是星期几 */ c = ( (2) ) ? 1 : 0;

for(m = 1; (3) ; m++) {

switch (m) {

case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break;

case 4: case 6: case 9: case 11:

days = 30; break;

case 2: days = 28;

if ( (4) ) days = 29;

break;

}/* end of switch*/

date =((days % 7) + (5) ) % 7;

if (date == 5) c++;

} /* end of for*/

return c;

}

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

[说明]

某电信公司记录了每个用户的详细通话情况(每次通话数据记录在一行),现将某用户某月的通话数据存入一个文本文件“dial.txt”,其数据格式如下:

拨入或拨出标记 通话开始时间 通话结束时间 对方号码

注1:数据字段以一个空格作为分隔符。

注2:拨入和拨出标记均为小写字母。拨入标记为“i”,表示其他用户呼叫本机,本机用户不需付费;拨出标记为“o”,表示本机呼叫其他用户,此时本机用户需要付费。

注3:通话开始和结束时间的格式均为:HH:MM:SS。其中HH表示小时,取值00~23;MM表示分钟,取值00~59;SS表示秒,取值00~59。从通话开始到结束这段时间称为通话时间,假定每次通话时间以秒为单位,最短为1秒,最长不超过24小时。

注4:跨月的通话记录计入下个月的通话数据文件。

例如“o 23:01:12 00:12:15 „”表示本次通话是本机呼叫其他用户,时间从23时01分12秒至次日的0时12分15秒,通话时间为71分03秒。

下面程序的功能是计算并输出该用户本月电话费(单位:元)。

通话计费规则为:

1. 月通话费按每次通话费累加;

2. 每次的通话费按通话时间每分钟0.08元计算,不足1分钟时按1分钟计费。

对于每次的拨出通话,程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度(以秒为单位),然后算出本次通话时间和通话费。

例如,若输入文件dial.txt的数据如下所示,则输出fee = 7.44。

o 14:05:23 14:11:25 82346789

i 15:10:00 16:01:15 [1**********]

o 10:53:12 11:07:05 63000123

o 23:01:12 00:12:15 [1**********]

[C程序代码]

#include

FILE *fin;

int main()

{

char str[80];

int h1,h2,m1,m2,s1,s2;

long t_start,t_end, interval;

int c;

double fee = 0;

fin = fopen("dial.txt","r");

if (!fin)

return -1;

while (!feof(fin)) {

if (!fgets(str,80,fin)) break;

if ( (1) ) continue;

h1 = (str[2] - 48) * 10 + str[3] - 48;

m1 = (str[5] - 48) * 10 + str[6] - 48;

s1 = (str[8] - 48) * 10 + str[9] - 48;

h2 = (str[11] - 48) * 10 + str[12] - 48;

m2 = (str[14] - 48) * 10 + str[15] - 48;

s2 = (str[17] - 48) * 10 + str[18] - 48;

t_start = h1*60*60 + m1*60 + s1; /* 通话开始时间 */

t_end = h2*60*60 + m2*60 + s2; /* 通话结束时间 */

if ( (2) ) /* 若通话开始和结束时间跨日 */

interval = (3) - t_start + t_end;

else

interval = t_end - t_start;

c = (4) ; /* 计算完整分钟数表示的通话时间 */

if (interval % 60)

(5) ;

fee += c * 0.08;

}

fclose(fin);

printf("fee = %.2lf\n",fee);

return 0;

}

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

[说明]

已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数compress(NODE *head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。

处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。

图4-1(a)、(b)是经函数compress()处理前后的链表结构示例图。

(a)

(b)

图4-1

链表的结点类型定义如下:

typedef struct Node {

int data;

struct Node *next;

}NODE;

[C语言函数]

void compress(NODE *head)

{ NODE *ptr,*q;

ptr = (1) ; /* 取得第一个元素结点的指针 */

while ( (2) && ptr -> next) {

q = ptr -> next;

while(q && (3) ) { /* 处理重复元素 */

(4) = q -> next;

free(q);

q = ptr -> next;

}

(5) = ptr -> next;

}/* end of while */

}/* end of compress */

阅读下列说明、图和Java代码,回答问题1至问题3,将解答写在答题纸的对应栏内。

[说明]

已知四个类之间的关系如图7-1所示,分别对每个类的方法进行编号,例如Shape的perimeter()为1号,表示为“1:perimeter()”,Rectangle类的perimeter()为2号,表示为“2:perimeter()”,依此类推,其中,每个类的perimeter方法签名相同。

2:perimeter()

4:perimeter() 图7-1 类图

[Java 代码]

Triangle tr = new Triangle();

Square sq = new Square();

Shape sh = tr;

[问题1] 关于上述Java代码中sh 和 tr的以下叙述中,哪两个是正确的(写出编号)。 ① sh 和 tr分别引用同一个对象;

② sh 和 tr分别引用同一类型的不同的对象;

③ sh 和 tr分别引用不同类型的不同对象;

④ sh 和 tr分别引用同一个对象的不同拷贝;

⑤ sh 和 tr所引用的内存空间是相同的。

[问题2] 写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请填写“无”)。

tr.height() (1)

sh.perimeter() (2)

sq.height() (3)

sq.perimeter() (4)

sh.height() (5)

tr.perimeter() (6)

[问题3] 下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)。

① sq = sh; ② sh = tr; ③ tr = sq; ④ sq = tr; ⑤ sh = sq;


相关文章

  • 2015年职称计算机考试模块
  • 2015年职称计算机考试模块 职考宝典 2015年职称计算机考试模拟题库包含:Internet 应用.word2003 2007.winXP .WPS Office.Excel2003 2007.ppt2003 2007.等数十个模块的模拟 ...查看


  • 武汉科技大学考研历年初试真题之法理学2007--2010(2007--2009有答案)年考研真题
  • 武汉科技大学 2007年硕士研究生入学考试试题 考试科目代码及名称: 454法理学 共 1页 第1页 说 明 :1.适用招生专业:马克思主义基本原理 2.答题内容写在答题纸上,写在试卷或草稿纸上一律无效. 3.考试时间3小时,总分值150分 ...查看


  • 2011年国家司法考试复习方法大全
  • 一.民法的复习方法 在司法考试中,民法占有很大的比重,除了卷三.卷四中的民法试题外,其他部门法的学习 也要以民法的基本理论为支撑,可见,掌握民法是通过司法考试的关键. 民法内容博大精深,学习民法要有窍门而不能死学.民法学科有其自身的体系,比 ...查看


  • 公务员考试学习计划
  • 篇一:公务员考试学习计划 英国著名哲学家.思想家培根曾经说过:"合理安排时间,就等于节约时间."尤其对即将参加20XX年国考的考生来说,如何才能使自己的水平发挥到最好从而在众考生中脱颖而出,一个科学而合理的学习计划表是必 ...查看


  • 2012年经济师考试历年真题
  • 抵押房地产的房屋所有权人或建设用地使用权人是( ). A.借款人 B.抵押人 C.贷款人 D.抵押权人 参考答案:B 答案解析: 抵押房地产的房屋所有权人或建设用地使用权人是抵押人. 试题点评:本题考查抵押人的含义.参见教材P299. 52 ...查看


  • 四川大学939生物化学考研历年真题及解析
  • 历年真题解析 [内部资料] 四川大学考研历年真题解析 --939生物化学 主编:弘毅考研 www.hykaoyan.com 历年真题解析 [内部资料] 资料说明 <生物化学专业历年真题解析(专业课)>系四川大学优秀生物学考研辅导 ...查看


  • 2016-2017年中国人民银行招聘考试笔试题内容历年真题
  • 人民银行招聘考试笔试真题复习资料 人民银行全国统一考试,分专业类别进行,考试内容主要包括行测+专业知识,建议报考的同学提前做好复习准备,考试复习资料可以到资料网上面找找,资料确实不错,比较有针对性,资料都是上次参加考试的学长们精心整理出来的 ...查看


  • 南京工业大学807机械设计历年真题
  • 第二章 机械设计总论(10分) 设计机器的一般程序:对机器的主要要求*: 机械零件的主要失效形式*:设计机械零件时应满足的基本要求: 机械零件的设计准则*: 机械零件的设计方法*:机械零件设计的一般步骤: 机械零件的材料及其选用 第三章 机 ...查看


  • 司法考试复习计划
  • 篇一:司法考试复习计划 一.真正了解司法考试 司法考试题目的设置,主要针对三个要素: 1.记忆要素 司法考试最大的困难在于记忆,考的最多的也是记忆,特别是精确记忆.解决记忆问题,常见的方法如下: (1)缩减记忆量,比如采用标注关键词,做记忆 ...查看


  • 中国电信招聘全国统一考试笔试题内容试卷历年考试真题
  • 中国电信招聘考试历年真题汇总整理题目实际上是不难的,但要有针对性的复习,多练题目是肯定的!建议报考的同学提前做好复习准备,考试资料可以到"易壹考资料网"上面找找,资料确实不错,比较有针对性,资料都是上次参加考试的学长们精 ...查看


热门内容