1、程序员上午试题2006上半年答案真题 120选择题第1题:参考答案:A答案解析:第2题:参考答案:D答案解析:第3题:参考答案:D答案解析:第4题:参考答案:B答案解析:第5题:参考答案:C答案解析:第6题:参考答案:C答案解析:第7题:参考答案:A答案解析:第8题:参考答案:C答案解析:第9题:参考答案:A答案解析:第10题:参考答案:D答案解析:第11题:参考答案:D答案解析:第12题:参考答案:B答案解析:第13题:参考答案:A答案解析:第14题:参考答案:A答案解析:第15题:参考答案:C答案解析:第16题:参考答案:C答案解析:第17题:参考答案:C答案解析:第18题:参考答案:B答
2、案解析:第19题:参考答案:D答案解析:第20题:参考答案:C答案解析:第21题:参考答案:D答案解析:第22题:参考答案:D答案解析:关中断仅仅是用于控制可屏蔽中断,而对于软件中断、CPU内部产生的中断和非屏蔽中断来说,它们并不受关中断的控制,关中断并不影响这些中断。故在关中断的状态下,不能响应可屏蔽中断。第23题:参考答案:B答案解析:第24题:参考答案:C答案解析:第25题:参考答案:B答案解析:本题考查的是操作系统中采用信号量实现进程间同步与互斥的基本知识及应用。在操作系统的进程管理中,由于多个进程竞争同一资源可能会发生死锁,若无外力作用,这些进程都将永远不能再向前推进。为此,最常用的
3、方法是采用信号量(Semaphore)及有关的P、V操作。信号量是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P、V操作改变。P操作是检测信号量是否为正值,若不是,则阻塞调用进程;v操作是唤醒一个阻塞进程恢复执行。根据用途不同,信号量分为:公用信号量和私用信号量。公用信号量用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均可对它实施P、V操作;私用信号量用于实现进程间的同步,初始值通常设为0或n。本题中,信号量的初值为2,当前值为-1,则表示系统中有1个正在等待该资源的进程。因为,当第一个申请该资源的进程对系信号量S执行P操作,信号量S减1等于1,进程可继续执行;当第二个
4、申请该资源的进程对系信号量s执行P操作,信号量S减1等于0,进程可继续执行:当第三个申请该资源的进程对系信号量S执行P操作,信号量 S减1等于-1,进程处于等待状态。所以正确答案为B。第26题:参考答案:C答案解析:本题考查的是操作系统中同步与互斥的基本知识及应用。 本题中,已知有n个进程共享一个互斥段,如果最多允许m个进程(mn)同时进入互斥段,这意味着系统有m个单位的资源,信号量的初值应设为m。当第一个申请该资源的进程对系信号量S执行P操作,信号量S减1等于m l,进程可继续执行:当第二个申请该资源的进程对系信号量S执行P操作,信号量S减1等于m-2,进程可继续执行当第n个申请该资源的进程
5、对系信号量S执行P操作,信号量S减1等于-(n-m)。所以正确答案为C。第27题:参考答案:D答案解析:本题考查的是UNIX操作系统中shell的基本概念。 shell是UNIX操作系统的外壳,是一个功能强大的命令处理器,它是用户与操作系统交互的界面。它接受用户输入的命令,分析、解释和执行该命令,并将结果显示出来。由于shell发展的历史问题,有两种主流的UNIX操作系统,分别是Berkeley UNIX和 System V UNIX,因此在UNIX系统中也有多种风格的shell程序存在,最常见的有三种: 1)Bourne shell:是现代UNIX系统中标准shell,通常会把它设置成系统默
6、认的命令解释程序,它的命令提示符是“$”。B-shell由AT&T贝尔实验室SRBourne 1975年编写,它的程序名为sh。 2)C shell:由加州伯克利分校的学生Bill Joy开发,其程序名为csh(由于它的编程类似于C语言形式而得名),它的提示符是“%”。 3)Kom shell:是B-shell的一个扩展集,在B-shell中编写的脚本程序无需修改即可在Kom shell中运行,它的提示符是“$”。Kom shell是在20世纪80年代由贝尔实验室的David GKoun开发的Bourne Shell的扩充版本。 不同的shell程序虽然在使用方式和命令格式上有所差异,但是它们
7、的功能是类似的,都可以完成用户命令的解释和执行,完成用户环境的设置,完成shell程序的设计与执行。 总的来说C shell提供了某些比B-shell更高级的特性,包括历史命令、别名机制和作业控制。C Shell的控制结构和运算符与C程序语言十分相似。而Bourne shell是三个 shell中最常用的,几乎所有的UNIX操作系统都将B-Shell作为它们的标准配置。还有它比其他两个shell要小,执行效率也高。Korn shell保留了B-shell的全部功能,并且吸取了C shell的许多高级功能。 综上所述,本题的正确答案为D。第28题:参考答案:B答案解析:本题考查的是语言翻译基本知
8、识。 将汇编代码翻译成机器代码的程序称为汇编程序。将C语言翻译成Java语言的程序称为转换程序。SQL是通用的关系数据库语言,包括数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)和数据查询语言(DQL)。SQL可以作为独立语言在终端交互方式下使用,也可以嵌入到某种高级语言中使用。编译程序专指将高级语言程序翻译成机器语言目标代码的程序。第29题:参考答案:C答案解析:本题考查的是程序语言应用基本知识。 目前业界流行多种程序设计语言,有些语言被设计成是通用的,可应用在多种领域,而有些语言则是专用的。每种语言都有其特色,没有一种语言能够在所有的领域都能高效地使用。Java语言主
9、要用于网络编程,在嵌入式领域也得到广泛使用。Lisp语言是函数式语言,主要用于作符号数据处理,如微分和积分演算、数理逻辑、游戏推演以及人工智能等其他领域。编译程序专指将高级语言程序翻译成机器语言目标代码的程序,可以用高级语言编写编译程序,这是目前通行的作法,也可用汇编语言编写。XML是一种描述性的标记语言,由W3C批准并提出,描述标记系统采用标记代码来为文档的不同部分提供有意义的名称。第30题:参考答案:B答案解析:本题考查的是程序错误的基本知识。 一般程序中的错误可分为语法错误和语义错误(或逻辑错误),语法错误是语句形式上的错误,语义错误是含义上的错误。在C程序代码“while(c=getc
10、har()!=a) putchar(c);”中,while语句的循环条件表达式中有三个“(”、两个“)”,括号显然不匹配,因此是该表达式形式上有错误。当程序中出现语法错误后,编译程序不会为该程序产生目标代码,也就不能运行该程序。第31题:参考答案:A答案解析:本题考查的是参数传递基本知识。 引用调用和值调用是进行过程(函数)调用时实际参数与形式参数问传递信息的两种基本方式。 在过程(或函数)首部声明的参数称为形式参数,简称形参:过程(或函数)调用时的参数称为实际参数,简称实参。调用语句实现了对过程(或函数)语句的执行,调用时首先要进行实参与形参间的参数传递。简单地说,以值调用方式进行参数传递时
11、,需要先计算出实参的值并将其传递给对应的形参,然后执行所调用的过程(或函数),在过程(或函数)执行时对形参的修改不影响实参的值。而引用调用时首先计算实际参数的地址,并将此地址传递给被调用的过程,然后执行被调用的过程(或函数)。因此在被调用的过程(函数)中,既得到了实参的值又得到了实参的地址。引用调用方式下,被调用过程(函数)执行时针对形参的修改将反映在对应的实参变量中。 运行函数f()时,参数x的值为5,因此局部变量a的值为9。在传值调用方式下,执行函数g()不会影响实参a,因此函数f()的返回值为14;在引用调用方式下,执行函数g()时,对y的修改就是对a的修改,因此在g()中,局部变量a的
12、值为8,参数y的值改为17,因此函数调用g(a)结束后,a的值为17,函数f()的返回值为22。第32题:参考答案:C答案解析:第33题:参考答案:A答案解析:本题考查的是可视化程序开发基本知识。 可视化编程是指在程序开发阶段就可看到应用系统的运行界面,仍然需要通过编写程序代码完成软件的开发。可视化编程技术已经成为当今软件开发中最重要的工具和手段,尤其是Visual Basic、Power Builder、C+Builder/Delphi、Visual C+等开发工具的出现,极大地推动了可视化编程技术的发展。第34题:参考答案:C答案解析:本题考查的是面向对象程序设计语言的继承特点。 继承是面
13、向对象语言的另一个基本特点。类与类之间可以组成继承层次,一个类的定义可以定义在另一个已定义类的基础上,前者称为子类,后者称为父类。子类可以继承父类中的属性和操作,也可以定义自己的属性和操作,从而使内部表示上有差异的对象可以共享与它们结构中的共同部分有关的操作,达到概念复用和代码重用的目的。第35题:参考答案:A答案解析:本题考查的是队列数据结构的基本特点。 队列的基本特点是先进先出。进入商场的顾客不需要受此限制。一个组织中的管理机构之间一般具有较严格的层次关系,因此适合于采用树结构进行描述。进出住宅楼的访客也不需要先入先出。人们在接受某种服务时,为公平起见应排队,因此在火车票售票窗口等待服务的
14、客户应该按队列结构建模。第36题:参考答案:D答案解析:本题考查的是栈结构的基本特点和运算。 栈的特点是先进后出,元素3、1、2依次全部进入一个栈的过程中栈顶指针的变化情况如下图(a)(d)所示。出栈时,栈顶元素先出栈,其过程如下图(e)(g)所示。 第37题:参考答案:D答案解析:本题考查的是二叉树的存储结构。 将题中给出的该二叉树中结点加上标识,如下图所示。 第38题:参考答案:B答案解析:第39题:参考答案:C详细解答:本题考查的是二分查找。 二分查找的含义是:当待查元素大于查找表中间位置的元素时,则到其后半区间(右子树上)继续进行二分查找,当元素小于查找表中间位置的元素时就到其前半区间
15、(左子树上)查找。在题目给出的二叉树结构中,只有选项C所示的二叉树满足此查找要求。第40题:参考答案:B答案解析:本题考查的是数组元素的存储。 二维数组a0.4,1.5的元素排列情况如下所示: a0,1)a0,2a0,3a0,4a0,5 a1,1a1,2a1,3a1,4a1,5 a2,1)a2,2a2,3a2,4a2,5 a3,1a3,2a3,3a3,4a3,5 a4,1)a4,2a4,3a4,4a4,5 以行为主序存储,元素a2,1之前存储10个元素,由于每个元素仅占一个存储单元,因此元素a2,1的存储位置相对于数组空间起始地址的偏移量为10。第41题:参考答案:C答案解析:本题考查的是面向
16、对象程序设计中的消息概念。 在面向对象的程序设计中,对象间通过消息机制实现相互作用和通信,某对象给另外一个对象发送消息需要指定接收消息对象的名称,要求该对象完成的功能,即执行的函数的名字,以及执行该函数过程中需要的参数。对象间发送消息不需要知道待执行函数的内部结构,这体现了封装的思想。所以正确答案应为C。第42题:参考答案:C答案解析:本题考查的是面向对象程序设计构造函数的调用时刻。 在面向对象的程序设计中,使用构造函数构造一个对象,构造函数通常用来初始化一个对象,以正确的设置对象的状态。所以正确答案应为C。第43题:参考答案:D答案解析:本题考查面向对象程序设计的主要特征。 封装隐藏了内部的
17、实现细节,面向对象程序设计中,通常将相应的数据以及对应的操作封装成一个类,通过对外界提供一些接口,使得使用者不需要关系类以及方法等内部的实现细节。多态在面向对象程序设计中体现为调用同一个方法但执行不同的行为,如虚拟函数、接口等都能够体现多态的特征。继承是面向对象程序设计中十分普遍的机制,子类能够获取父类的成员变量和方法就是通过继承机制实现。结构不是面向对象的主要特征,在面向过程的程序设计中也有其对应的体现,因此正确答案应为D。第44题:参考答案:B答案解析:本题考查变量作用域的基本概念。 所有在函数中定义的变量只能够被该函数访问到,而其他的函数是不可见的,这种类型的变量被称为局部变量。反之,在
18、所有函数外部定义的变量都是全局变量,如果没有访问控制的限制,所有的函数都可以访问该变量。寄存器变量是指变量使用的存储空间为寄存器,它的特点是访问的速度快,但是计算机寄存器的个数是十分有限的。因此正确答案应为B。第45题:参考答案:A答案解析:本题考查的是面向对象程序设计语言。 目前的面向对象程序设计语言都支持自定义类,由开发者定义类中的成员变量和方法,C#、C+和Java都是典型的面向对象程序设计语言,它们都支持用户自定义类。C语言是典型的面向过程的程序设计语言,只能够支持到用户自定义结构类型,不支持用户自定义类。因此正确答案应为A第46题:参考答案:D答案解析:本题考查面向对象的基本概念。
19、在面向对象范型中,类是对象的模板,对象是类的实例;“封装”是指把属性和方法封装在类的框架之内,对任何属性和方法的访问必须通过类的接口才能进行:一个类可以有实例,也可以没有实例,实例是在程序执行过程中动态生成的:子类可以继承其父类的属性和方法,这是对象模型提供的简化程序说明的一种机制。第47题:参考答案:B答案解析:本题考查系统规范的基本概念。 系统规范(specification)描述了系统的功能和行为,在结构化分析和设计方法中用数据流图来表示。第48题:参考答案:C答案解析:本题考查数据流图的概念和应用。 数据流图中加工的命名要采用动词+宾语的形式,既说明该加工完成的功能,又说明该加工的操作
20、对象。第49题:参考答案:D答案解析:本题考查软件质量模型的基本概念。 在ISO/IEC 9126标准中,软件的适应性是指软件运行于不同环境中的能力。第50题:参考答案:B答案解析:本题考查数据流图的概念和应用。 数据流图描述对数据的处理流程,着重系统信息的流向和处理过程。第51题:参考答案:A答案解析:本题考查结构化软件开发方法的基本概念。 结构化分析是面向数据流进行需求分析的方法,适合于数据处理类型的软件的需求分析。由于利用图形来表达需求,显得清晰、简明,易于学习和掌握。具体来说,结构化分析就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自项向下逐层分解,直至找到满足功能要求的所有
21、可实现的软件为止。第52题:参考答案:A答案解析:本题考查软件测试的基本概念。 软件测试在软件生存周期中古有重要地位,它是保证软件质量的关键步骤。据统计,这一阶段占用的时间、花费在人力和成本上的费用占软件开发费用的40%以上。 由于人的主观因素或客观原因,在软件开发过程中不可避免的要产生一些错误。软件测试的任务是在软件投入运行以前尽可能多地发现并改正软件中的错误。通过测试的软件并不能证明其中没有错误。第53题:参考答案:C详细解答:本题考查软件测试的方法。 为了得到判定覆盖,要求图中的判定分别取True和False,只有利用选项C才能达到这个目的。第54题:参考答案:D答案解析:本题考查的是数
22、据库系统原理的基本知识。 数据模型是数据库中非常核心的内容。一般来讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操纵和完整性约束三要素构成。外模式、模式和内模式是数据库系统的三级模式结构。数据库领域中常见的数据模型有网状模型、层次模型、关系模型和面向对象模型,这些指的是数据模型的种类。实体、联系和属性是概念模型的三要素,概念模型又称为信息模型,是数据库中的一类模型,它和数据模型不同,是按用户的观点来对数据和信息建模的。第55题:参考答案:D答案解析:本题考查SQL基本命令。 标准SQL对数据库对象(基本表、
23、索引、视图等)的创建、修改和删除定义了一组操作CREATE、ALTER和DROP;对基本表和视图中数据的插入、删除和修改分别定义了操作INSERT、DELETE和UPDATE,这两组操作不能混淆。第56题:参考答案:C答案解析:第57题:参考答案:B答案解析:该题考核的是关系代数运算。 关系代数是一种抽象的查询语言,用于对关系的运算表达查询。SUR表示关系S和关系R的并,由属于S或者属于R的元组构成,若某个元组同时在S和R中出现,则在结果中只出现一次。S-R表示关系S与关系R的差,由属于S而不属于R的元组构成。SR表示关系S和关系R的交,由属于S且属于R的元组构成。SXR表示关系S和关系R的笛
24、卡儿积,它的运算结果应该有3+3=6列,5*4=20行。由上述说明,可知答案B正确。第58题:参考答案:C答案解析:本题考查的是SQL语言的数据定义语句。 SQL中使用CREATE TABLE命令来定义基本表,其般格式为:CREATE TABLE表名(列名数据类型列级完整性约束条件 ,列名数据类型列级完整性约束条件 ,表级完整性约束条件); 由此可排除选项A和选项B,FOREIGNKEY中定义的是外键,该关键字后面的括号内应该写本表中的属性/属性组,它对应另外一个表中的主属性/属性组。本表中无 employeeID属性,故D错误。第59题:参考答案:C答案解析:第60题:参考答案:A答案解析:本题考查的是简单组合运算。 设5本不同的书分别用A、B、C、D、E,从中任意取出两本,可以是AB、AC、 AD、AE、BC、BD、BE、CD、CE、DE,共10种结果。第61题:参考答案:C答案解析:第62题:参考答案:A答案解析:第63题:参考答案:D答案解析:第64题:参考答案:C答案解析:第65题:参考答案:C答案解析:更多试卷请见麦多课文库
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1