1、申明:此为 2004 上半年至今的所有程序员软考上午试题真题并且每套后面均配有答案,接近 30 套,每年两套。由于文件过大,拆成上午试题和下午试题,在百度文库同样可以搜索“最全历年程序员软考考试下午真题合集“。此外还有模拟试题提供,百度文库搜索“最全程序员软考考试上午模拟试题合集”和“最全程序员软考考试下午模拟试题合集” 。注:如果图片显示不全,适当将图片缩小即可。初级程序员 2004 上半年上午试题面向对象程序设计以 1 为基本的逻辑构件,用 2 来描述具有共同特征的一组对象,以 3 为共享机制,共享类中的方法和数据。1、A 模块 B对象 C结构 D类2、A 类型 B抽象 C类 D数组3、A
2、 引用 B数据成员 C成员函数 D继承4、链表不具备的特点是_。A可随机访问任何一个元素 B插入、删除操作不需要移动元素C无须事先估计存储空间的大小 D所需存储空间与线性表长度成正比5、矩阵压缩存储的主要目的是_。A方便运算 B节省存储空间C降低计算复杂度 D提高运算效率6、判断“ 链式队列为空 ”的条件是_(front 为头指针,rear 为尾指针)。Afront=NULL Brear=NULLCfront=rear Dfront!=rear7、以下关于字符串的判定语句中正确的是_。A字符串是一种特殊的线性表 B串的长度必须大于零C字符串不属于线性表的一种 D空格字符组成的串就是空串8、在具
3、有 100个结点的树中,其边的数目为 _。A101 B100 C99 D989、程序设计语言的定义一般包括_几个方面。A语法、语义和语句 B语法、语义和语用C语义、语句和语用 D语法、语用和语句10、在 C语言中,若函数调用时实参是数组名,则传递给对应形参的是_。A数组空间的首地址 B数组的第一个元素值C数组中元素的个数 D数组中所有的元素在下面的程序中,若实参 a与形参 x以引用调用(call by reference)的方式传递信息,则输出结果为 11 ;若实参 a与形参 x以值调用(call by value)的方式传递信息,那么输出结果为 12 。Main program Proced
4、ure addone(x)a:=1; a:=x+1;addone(a); x:=x+2;write(a); return;11、 A1 B2 C3 D412、 A1 B2 C3 D413、在程序的执行过程中,用_结构可以实现嵌套调用函数的正确返回。A队列 B栈 C树 D图14、已知有一维数组 T0.m*n-1,其中 mn。从数组 T的第一个元素(T0)开始,每隔 n个元素取出一个元素依次存入数组 B1.m中,即 B1T0,B2)= Tn,依次类推,那么放入 Bk(1km)的元素是_。AT(k-1)*n BTk*nCT(k-1)*m DTk*m15、已知递归函数 f(n)的功能是计算 1+2+n
5、,且 n1,应采用的代码段是_。Aif n1 then return 1 else return n+f(n-1)Bif n1 then return 1 else return n+f(n+1)Cif n1 then return 0 else return n+f(n-1)Dif n1 then return 0 else return n+f(n+1)16、在如图 1-2所示的流程图中,如果标记为 b的运算执行了 m次(m 1),那么标记为a的运算执行次数为_。A1 Bm-1 Cm Dm+1数据库系统从广义的角度看,应该由 17 组成。数据字典中存放 18 ,数据库管理系统对应用程序的操
6、作都要通过数据字典来进行。17、 A数据库、硬件、软件和人员 B数据库、硬件、数据库管理系统和软件C数据库、软件和人员 D数据库、数据库管理系统和人员18、 A数据库管理系统软件 B数据定义语言(DDL)C数据操纵语言(DML) D数据库体系结构的描述设有一个关系 Student(学号,姓名,系名,课程号,成绩) ,查询至少选修了 4门课程的学生学号、姓名及平均成绩的 SELECT语句应该是:SELECT学号,姓名,AVG(成绩) AS平均成绩FROM StudentGROUP BY 19 HAVING 20 19、 A学号 B姓名 C系名 D课程号20、 ACOUNT(DISTINCT 学号
7、)3 BCOUNT(课程号)3CCOUNT(DISTINCT 学号)3 DCOUNT(课程号 )321、通过关系数据库的_ 运算,可以从表 1-1和表 1-2获得表 1-3。A联接 B投影 C选择 D包括22、若计算机系统中的进程在“就绪” 、 “运行”和“等待”3 种状态之间转换,进程不可能出现_的状态转换。A “就绪 ”“运行 ” B “运行”“就绪”C “运行 ”“等待 ” D “就绪”“等待”23、若内存采用固定分区管理方案,在已分配区可能会产生未用空间,通常称为_。A废块 B空闲页面 C碎片 D空闲簇24、在虚拟分页存储管理系统中,若进程访问的页面不在主存,且主存中没有可用的空闲块时
8、,系统正确的处理顺序为_。A决定淘汰页 页面调出缺页中断页面调入B决定淘汰页 页面调入缺页中断页面调出C缺页中断决定淘汰页页面调出页面调入D缺页中断决定淘汰页页面调入页面调出25、系统软件是_的软件。A向应用软件提供系统调用等服务 B与具体硬件逻辑功能无关C在应用软件基础上开发 D并不具体提供人机界面26、在操作系统中,SPOOLing 技术是一种并行机制,它可以使_。A不同进程同时运行 B应用程序和系统软件同时运行C不同的系统软件同时运行 D程序的执行与打印同时进行在常用的字处理软件中,选中文本块后,按下 Ctrl键再拖曳鼠标,可以 27 ;直接用鼠标拖曳已选定的文本,可以 28 。27、
9、A复制选中的文本 B移动选中的文本C选中一个段落 D选中一个矩形区域中的文本28、 A复制选中的文本 B移动选中的文本C选中一个段落 D选中一个矩形区域中的文本29、通过设置文件的_ ,可以使其成为“只读”文件。A类型 B格式 C属性 D状态30、办公自动化软件一般应用于_。A科学计算 B实时控制 C信息管理 D辅助设计31、 Windows“回收站” 占用的是_中的空间。A主存 B软盘 C光盘 D硬盘32、软件的复杂性与许多因素有关。_不属于软件的复杂性参数。A源程序的代码行数 B程序的结构C算法的难易程度 D程序中注释的多少33、在结构化分析与设计方法中,为了使需求改变时对软件的影响较小,
10、应该使_。A程序结构与问题结构相对应 B程序结构与问题结构相独立C程序结构与用户界面相对应 D程序结构与用户界面相独立34、系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行维护,这种维护属于_。A校正性维护 B适应性维护 C完善性维护 D预防性维护35、以下选项中,主要联系高层管理人员的信息系统是_ 。AMIS(管理信息系统 ) BDSS( 决策支持系统 )CEDPS(电子数据处理系统) DTPS(事务处理系统 )36、 _是关于质量管理体系的一系列标准,有助于企业交付符合用户质量要求的产品。AISO 9000 BCMM CISO 1400 DSW-CMM某软件公司根据市场需求,组织
11、开发一套应用软件,并对其公司的职工进行了保密约束,以确保市场竞争。但是该公司某开发人员将该应用软件的程序设计技巧和算法(由该开发人员设计)作为论文向社会发表。该软件开发人员 37 ,而该软件公司丧失了这套应用软件的 38 。37、 A丧失了计算机软件著作权 B未丧失计算机软件著作权C丧失了发表权 D丧失了专利权38、 A商业秘密 B计算机软件著作权C发表权 D专利权39、在网络通信中,当消息发出后,接收方能确认消息确实是由声称的发送方发出的;同样,当消息接收到后,发送方能确认消息确实已由声称的接收方收到。这样的安全服务称为_服务。A数据保密性 B数据完整性 C不可否认性 D访问控制40、 OS
12、I(Open System Interconnection)安全体系方案 X.800将安全服务定义为通信开放系统协议层提供的服务,用来保证系统或数据传输有足够的安全性。X.800 定义了 5类可选的安全服务。下列相关的选项中不属于这 5类安全服务的是_。A数据保密性 B访问控制 C认证 D数据压缩41、下列关于加密的叙述中,正确的是_。ADES 属于公钥密码体制BRSA 属于公钥密码体制,其安全性基于大数因子分解困难C公钥密码体制的密钥管理复杂D公钥密码体制中,加密和解密采用不同的密钥,解密密钥是向社会公开的42、多媒体技术中,表达信息的媒体数据具有一些特定的性质。下列关于媒体数据性质的描述中
13、,不正确的是_。A有格式的数据才能表达信息 B不同的媒体所表达的信息量不同C媒体之间的关系也代表着信息 D任何媒体都可以直接进行相互转换43、 PC机中数字化后的声音有 2类表示方式:一类是波形声音,另一类是合成声音。_是一种合成声音文件的后缀。AWAV BMID CRA DMP344、在 RGB彩色空间中, R(红) 、G( 绿) 、B( 蓝) 为三基色,青色、品红和黄色分别为红、绿、蓝三色的补色。根据相加混色原理,绿色+品红=_。A蓝色 B黄色 C紫色 D白色若码值 FFH是一个整数的原码表示,则该整数的真值为 45 ;若码值 FFH是一个整数的补码表示,则该整数的真值为 46 。45、
14、A127 B0 C-127 D-146、 A127 B0 C-127 D-1内存地址从 4000H到 43FFH,共有 47 个内存单元。若该内存每个存储单元可存储 16位二进制数,并用 4片存储器芯片构成,则芯片的容量是 48 。47、 A256 B512 C1024 D204848、 A51216b B2568b C25616b D10248b49、某程序的目标代码为 16384B,将其写到以字节编址的内存中,以 80000H为首地址开始依次存放,则存放该目标程序的末地址为_。A81000H B83FFFH C84FFFH D86000H50、构成运算器需要多个部件,_不是构成运算器的部件
15、。A加法器 B累加器 C地址寄存器 DALU(算术逻辑部件)51、程序计数器(或指令地址寄存器)属于 CPU的_部件。A运算器 B控制器 C存储器 DI/O 接口52、控制机器指令执行的微程序存放在_中。A控制存储器 B指令寄存器 C内部寄存器 DSRAM构成 4M8b的存储器,若采用 256K8b的芯片,需 53 片;若采用 512K1b的芯片,需 54 片。53、 A8 B16 C32 D6454、 A8 B16 C32 D6455、进行原码乘法时,乘积的符号位是由被乘数的符号位和乘数的符号位通过_运算来获得的。A或 B与 C异或 D分别取反后再进行或在 CPU执行一段程序的过程中,cac
16、he 的存取次数为 3800次,由主存完成的存取次数为200次。若 cache的存取周期为 5ns,主存的存取周期为 25ns,则 cache的命中率为 56 ;CPU 的平均访问时间为 57 ns。56、 A0.93 B0.95 C0.97 D0.9957、 A5 B6 C7 D858、磁盘存取时间包括寻道的时间、定位扇区的时间以及读写数据的时间,若磁盘的转速提高一倍,则_。A平均存取时间减少 B平均寻道时间减少C存储的密度增加一倍 D平均寻道时间增加59、以串行同步方式传送数据块时,经常采用的差错校验方法是_。A偶校验 B奇校验 C海明码校验 DCRC 校验60、在主存和 CPU之间增加
17、cache的目的是_。A增加内存容量B为程序员编程提供方便C解决 CPU与内存间的速度匹配问题D提供内存工作的可靠性ADSL对应的中文术语是 61 ,它的 2种 Internet接入方式是 62 接入。61、 A分析数字系统层 B非对称数字线C非对称数字用户线 D异步数字系统层62、 A固定接入和虚拟拨号 B专线接入和 VLANC固定接入和 VLAN D专线接入和虚拟拨号TCP/IP是一个协议族,它的体系结构分为 4层:应用层、网际层、网络接口层和 63 ,其中 ARP协议属于 64 。为了在源主机和目的主机之间传送数据,IP 协议需要确定源主机和目的主机是否在同一个网络中。如果不在同一网络时
18、,则必须通过 65 进行通信。63、 A会话层 B传输层 C网络层 D表示层64、 A应用层 B传输层 C网际层 D网络接口层65、 A网关或路由器 B中继器 C集线器 D终端匹配器66、 One use of networks is to let several computers share_such as file systems, printers, and tape drives.ACPU B. memory C. resources D. dataA firewall is a 67 system designed to 68 an organizations network ag
19、ainst threats.67、 A. operating B. programming C. security D. service68、 A. prevent B. protect C. develop D. exploit69、 The_has several major components, including the system kernel, a memory management system, the file system manager, device drivers, and the system libraries.Aapplication B. informat
20、ion systemC. network D. operating system70、 _is the address of.a variable or a variable in which the address of another variable is stored.ADirector B. Pointer C. Array D. Record71、 C+ is used with proper_design techniques.Aobject-oriented B. object-basedC. face to object D. face to target72、 _is a
21、contiguous, numbered set of variables of a given base type, which can be used and passed to functions as a unit.ARecord B. Array C. File D. Parameter73、 _is not a programming language.ACOBOL B. Java C. UML D. Basic74、 _is nonprogram text embedded in a program to explain its form and function to huma
22、n readers.ACommand B. Compile C. Comment D. Statement75、 When the result of an operation becomes larger than the limits of the representation,_ occurs.Aoverdose B. overflow C. overdraft D. overexposure答案:1、B解析 面向对象的程序设计是通过为对象(数据和代码) 建立分块的内存区域,以便提供对程序进行模块化设计的一种程序设计方法。它是通过类来描述一组具有相同属性和相同操作的对象集合,并以继承作为
23、类的层次,关联不同的类共享属性和操作的一种机制。2、C 3、D 4、A解析 链接方式存储的线性表简称链表(linked list)。链表的具体存储表示为:(1)用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)。(2)链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息( 称为指针(pointer)或链(link)。与顺序存储结构相比,链表的缺点主要有 2个:(1)每个元素增加了一个后继指针成分,要占用更多的存储空间。(2)不便于随机地直接访问线性表的任一结点。5、B解
24、析 所谓矩阵的压缩存储,就是为多个相同的非零元素只分配一个存储空间,对零元素不分配存储空间的矩阵元素存储方法。这样可以节省大量的内存空间。6、C解析 用链表作为队列的存储结构时称为链式队列(链表)。链表的第一个表元是队列首结点,链表的末尾表元是队列的队尾结点,队尾结点的链接指针值为 NULL。如果是带头结点的链式队列,则空队列的情形如图 1-1(a)所示;若是带头结点的循环链式队列,则空队列的情形如图 1-1(b)所示;若不带头结点,则空队列的情形如图 1-1(c)所示,因此,当front=rear时表示队列为空。7、A解析 字符串是一种特殊的线性表,是由某字符集上的字符所组成的任何有限字符序
25、列。当一个字符串不包含任何字符时,称它为空字符串。仅由一个或多个空格组成的串称为空白串(blank string)。空串和空白串不同。字符串通常存储于足够大的字符数组中。事实上,像这种试题,因为选项 A和选项 C是一对矛盾体,必须有一个正确一个错误,所以根本不要考虑选项 B和 D。8、C解析 在树中,除了根结点外,其他的所有结点都是其父结点通过一条边连接出来的,所以设 T V,E为一棵树,|V|n,|E|m ,则 mn-1。由此可知,100 个结点的树有99条边。9、B解析 程序设计语言用来编写计算机程序(指计算任务的处理对象和处理规则的描述 ),包括语法、语义、语用 3个方面。语法表示程序的
26、结构或形式,即表示构成语言的各记号间的组合规则,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。语用表示程序与使用者的关系。程序设计语言的基本成分有数据、运算、控制和传输。数据成分描述程序中所涉及的数据;运算成分描述程序中包含的运算;控制成分表达程序中的控制结构;传输成分表达程序中数据的传输。可以从不同的角度对程序设计语言进行分类,从程序语言的本质上来看,可以分为 3类:机器语言、汇编语言和高级语言。机器语言是特定计算机系统所固有的语言,用机器语言编写的程序可读性很差,程序员难以修改和维护。汇编语言用助记符号来表示机
27、器指令中操作码和操作数,汇编语言仍然是一种和计算机的机器语言十分接近的语言,它的书写格式在很大程度上取决于特定计算机的机器指令。目前已有许多流行的高级语言,如 FORTRAN、COBOL 、Pascal、C/C+ 、Java 等。这类语言与人们的自然语言比较接近,大大提高了程序设计的效率。FORTRAN 是第一个被广泛用于科学计算的高级语言。Algol 60是另一个早期研制出来的高级语言。它有严格的文法规则,用巴科斯范式 BNF来描述语言的文法。Algol 60 是一个分程序结构的语言。COBOL是一种面向事务处理的高级语言。Pascal 语言提供的为数不多而又相当紧凑的机制使得该语言具有相当
28、强的表达能力。C 语言是一种通用程序设计语言。C 语言作为一种较低级的语言,提供了指针和地址操作的功能。C 语言提供编写结构良好的程序所需的控制结构。C 语言与 UNIX操作系统紧密相关,UNIX 操作系统及其上的许多软件都是用 C语言编写的。10、 A解析 C语言中,数组名代表该数组的起始地址。可以用数组名做函数参数。在函数的定义中,被声明为数组的形参实际上是一个指针。当实参向形参传递数组时,按值调用传递数组的首地址。数组元素本身不被复制。因此,如果函数调用时实参是数组名,则形参指针接收到的是实参数组的首地址。11、 D解析 所有函数的定义都是独立的、平行的。在一个函数定义中不允许定义另外一
29、个函数,但可以对别的函数进行调用或做引用说明;它也可以对自身进行调用,即递归调用。函数原型的形式如下:函数 函数名(形参表) ;形参表中的形参名可以省略。函数原型提供了更强的函数检查功能,在编译阶段就能发现函数的返回值的类型以及参数个数和类型是否正确。传值调用是指把实形参数的值传递给相应的形式参数,子程序不能通过这种方式传回任何结果。引用调用是指把实形参数的地址传递给相应的形式参数,此时子程序对形式参数的一次引用或赋值都是对形式参数的间接访问。实参 a与形参 x以引用调用的方式传递信息,那么,addone(a)则会通过语句“a: = x+1; ”和“x :=x+2;”改变 a的值。因此,变量
30、a的值变为 4。实参 a与形参 x以传值调用的方式传递信息,则 a的值保持不变。这里需要说明的是,变量 a没有进行声明而在“Main program”和“addone”中进行引用,在这里应当视为全局变量。12、B 13、 B解析 栈是在同一端进行插入和删除运算的线性表,具有先进后出的特性。栈的这种特性正好适用函数嵌套调用的过程。(1)调用函数时:系统将为调用者构造一个由参数表和返回地址组成等信息的活动记录,并将其压入到由系统提供的运行时刻栈的栈顶,然后将程序的控制权转移到被调函数。若被调函数有局部变量,则其活动记录还包括为局部变量分配的存储空间。(2)被调函数执行完毕时:系统将运行时刻栈顶的活
31、动记录退栈,并根据退栈的活动记录中所保存的返回地址将程序的控制权转移给调用者继续执行。14、 A解析 由题可知,B1=T(1-1)*n,B2=T(2-1)*n ,B3=T(3-1)*n,.,根据归纳法可得 Bk=T(k-1)*n)。15、 C解析 递归函数的目的是执行一系列调用,一直到达某一点,序列终止。为了保证递归函数正常执行,应该遵守下面的规则:(1)每当一个递归函数被调用时,程序首先应该检查其基本的条件是否满足,例如,某个参数的值等于零,如果是这种情形,函数应停止递归。(2)每当函数被递归调用时,传递给函数一个或多个参数,应该以某种方式变得“更简单” 。即这些参数应该逐渐靠近上述基本条件。例如,一个正整数在每次递归调用时会逐