程序设计习题解析.docx
- 文档编号:24651488
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:26
- 大小:27.72KB
程序设计习题解析.docx
《程序设计习题解析.docx》由会员分享,可在线阅读,更多相关《程序设计习题解析.docx(26页珍藏版)》请在冰豆网上搜索。
程序设计习题解析
经典讲解
一、选择题
1.对建立良好的程序风格,下面描述正确的是()。
A)程序应力求简单、清晰、可读性好
B)符号的命名只要符合语法
C)充分考虑程序的执行效率
D)程序的注释可有可无
【命题目的】本题主要考查程序设计应该遵循的一些原则
【解题要点】良好的程序设计风格可以减少编码错误,减少程序阅读时间,从而提高软件的开发效率。
程序是由人来编写的,为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理解的。
所以本题正确答案为A)。
【错解分析】程序设计中,符号的命名不但要符合语法,还要具有一定的实际含义,以便于对程序功能的理解。
所以B)选项错误。
“清晰第一,效率第二”已经成为当今主导的程序设计风格,所以在充分考虑程序的执行效率时,一定要保证程序清晰、可读。
所以C)选项错误。
程序的注释能够帮助读者理解程序,良好的程序设计风格应该包括完整的注释。
所以D)选项错误。
【考点链接】良好的程序设计应该遵循的原则。
答案:
A)
2.序言性注释的主要内容不包括()。
A)模块的接口B)数据的描述
C)模块的功能D)数据的状态
【命题目的】考查序言性注释的主要内容。
【解题要点】序言性注释通常位于每个程序的开头部分,它给出程序的整体说明,主要描述内容可以包括:
程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等等。
所以本题正确答案为D)。
【错解分析】对序言性注释掌握得不够准确导致本题错误。
【考点链接】功能性注释的主要内容。
答案:
D)
3.在面向对象的方法出现以前,我们都是采用面向()的程序设计方法。
A)用户B)结构
c)过程D)以上都不对
【命题目的】考查程序设计发展的基础知识。
【解题要点】传统的程序设计方法是面向过程的,其核心方法是以算法为核心,把数据和过程作为相互独立的部分,数据代表问题空间中的客体,程序则用于处理这些数据,这种方法忽略了数据和操作之间的内在联系。
面向对象方法和技术以对象为核心。
对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。
对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。
【错解分析】面向用户是相对程序设计的目的来说的,所以A】选项错误;
结构化程序设计方法引人了工程思想和结构化思想,所以B】选项错误;
而面向过程正是早期的软件设计方法,所以D】选项也是错误的。
【考点链接】面向对象方法的基本概念。
答案:
C】
4.结构化程序设计方法的结构不包括()。
A)顺序结构B)分支结构
C)循环结构D)跳转结构
【命题目的】考查结构化设计的基本知识。
【解题要点】结构化设计是指采用自顶向下、逐步求精、模块化和尽量避免GoTo跳转语句的设计方法,其程序结构按功能划分为若干个基本模块,这些模块形成一个树状结构,每一个模块均采用顺序、选择(分支)和循环3种基本结构组成的。
【错解分析】由以上分析知A)选项、B)选项和C)选项均是结构化程序设计的一部分,只有D)选项不是结构化程序设计的思想。
【考点链接】结构化程序设计方法。
答案:
D)
5.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过()发送的。
(A)调用语句B)命令C)口令D)消息
【命题目的】考查对象之间的的通信方式。
【解题要点】消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一处的信息,它统一了数据流和控制流。
接收消息的实例执行消息中指定的操作,并将形式参数与参数表对应的值结合起来。
【错解分析】本题考查的内容是对象之间通过消息传递来请求服务,属于基本概念范围,A)选项、B)选项和C)选项都是错误的。
由上面分析知,答案:
D)
【考点链接】消息的定义和作用。
6.对象是现实世界中一个实际存在的事物,它可以是有形的也可以是无形的,下面所列举的不是对的是()。
A)桌子C)狗
B)飞机D)苹果的颜色
【命题目的】考查对象的定义。
。
【解题要点】对象是构成客观世界的一个独立单位,它具有自己的静态特征(属性)和动态特征(对象的行为或功能)
【错解分析】桌子、飞机、狗是客观存在的事物,符合对象的定义;而苹果的颜色是对象所具有的特征,即对象的服务,所以只有D)选项不是对象。
【考点链接】对象的属性和方法。
答案:
D)
7.下面对对象概念描述不正确的是________
A)任何对象都必须有继承性C)对象间的通信靠消息传递
B)对象是属性和方法的封装体D)操作是对象的动态属性
【命题目的】考查对对象概念的掌握。
【解题要点】继承性是类所具有的性质,而对象是类的实例,它没有继承性。
【错解分析】面向对象程序设计中对象是用来描述客观事物的一个实体,是构成系统的一个基本单位)它由一组表示其静态特征的属性和它可执行的一组操作组成,通常把对象的操作称为方法或服务,所以B)选项说法是正确的;
消息是一个实例与另一个实例传递的信息,所以c)选项说法正确;
客观世界中的实体通常都有静态的属性,又具有动态行为,对象可以做的操作表示它的动态行为,所以D)选项说法正确。
【考点链接】对象的基本概念,对象和类的关系。
答案:
A)
8.信息隐蔽是通过()实现的。
A)抽象性B)封装性
C)继承性D)传递性
【命题目的】考查对象的基本特征。
【解题要点】在面向对象的程序设计中,对象是数据和一组相关的操作的封装体。
从外面只能看到对象的外部特征,根本无需知道数据的具体结构以及实现操作的具体算法,对象的内部,即处理能力的实行和内部的状态,对外是不可见的。
从外面不能直接使用对象的处理能力,也不能直接修改其内部的状态,对象的内只能由其自身改变。
这就是类的封装性。
通过这种封装性,类向外界隐藏了自己的信息。
所以正确答案:
B)
【错解分析】现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就同属性、共同方法的对象的集合,是对对象的抽象。
这就是类的抽象性。
所以A)选项
继承是使用已经存在的类定义作为基础建立一个新的类定义的技术,它使得相似的对象可以共享程序,从而大大减少了程序中的冗余信息,提高了软件的可重用性,便于软件修改维护。
所以c)选项错误。
【考点链接】对象的三个基本特征。
9.面向对象的开发方法中,类与对象的关系是()
A)具体与抽象B)抽象与具体C)整体与部分D)部分与整体
【命题目的】考查类和对象之间的关系。
【解题要点】现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就提说类是具有共同属性、共同方法的对象的集合,是对对象的抽象,它描述了该对象类型的所有对象的性质,而一个对象则是其对应类的一个具体实例。
所以本题正确答案为B)。
【错解分析】类是具有相似性质的对象的集合,是从对象中抽象出来的一个定义,而对象则是一个类的具体的一个实例。
所以A)选项将它们的关系说反了,是错误的。
类是对象的抽象,对象是类的具体实例,它们之间并不是整体与部分或者部分与整体的关系。
所以C)选项和D)选项都是错误的。
【考点链接】对象和类之间的区别和联系。
答案:
B)
10.结构化程序设计的3种基本结构是()。
A)顺序、选择、重复B)递归、嵌套、调用
C)过程、子过程、主程序D)顺序、转移、调用
【命题目的】考查程序设计的3种基本结构。
【解题要点】经过推理证明,程序设计语言仅仅使用顺序、选择和重复3种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
所以本题正确答案为A)。
【错解分析】B)选项、c)选项和D)选项都不是程序设计的3种基本结构。
【考点链接】结构化程序设计的特点和应用。
答案:
A)
11.面向对象的程序设计主要考虑的是提高软件的()。
A)可靠性B)可重用性
C)可移植性D)可修改性
【命题目的】考查面向对象程序设计的可重用性优点。
【解题要点】在面向对象方法中,所使用的对象将数据和对数据的操作封装在一起,数据和操作是作为平等伙伴的关系出现的。
因此,对象具有较强的自含性,此外,对象所固有的封装性,使得对象的内部实现和外界隔离,具有较强的独立性。
因此,对象提供了比较理想的模块化机制和比较理想的可重用的软件成卜。
所以本题正确答案为B)。
【错解分析】对于A)选项,可靠性,没有这种说法;
对于C)选项,可移植性,与设计的方法无关,而是与软硬件环境有关;
对于D)选项,可修改性,不是面向对象程序设计的主要目的。
所以A)选项、c)选项和D)选项都是错误的。
【考点链接】面向对象程序设计的优点。
答案:
B)
12.模块的功能性注释的主要内容不包括()。
A)程序段的功能B)语句的功能
C)模块的功能D)数据的状态
【命题目的】考查功能性注释的主要内容。
【解题要点】功能性注释的位置一般嵌在源程序体中,主要描述其后的语句或者程序的主要功能。
所以本题正确答案为C)。
【错解分析】对功能性注释掌握得不够准确导致本题错误。
【考点链接】序言性注释的主要内容。
答案:
C)
13.在软件工程学中,我们把一组具有相同的数据结构和相同的行为特征的对象的集合定义为()。
A)类B)属性C)对象D)消息
【命题目的】考查类的定义。
【解题要点】客观世界中很多实体都具有相似的属性和行为,将属性和操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。
【错解分析】属性是指对象所包含的信息,通常用来描述对象所处的状态。
所以B)选项错误;
对象具有类所定义的数据结构和行为特征,但它只是类的一个具体实例。
所以C)选项错误;消息是一个实例与另一个实例之间传递的信息,是对象之间的一个相互合作的机制。
所以D)选项错误。
【考点链接】类的继承性、抽象性和共享性的特点。
答案:
A)
14.软件部件的内部实现和外部可访问性分离,这是指软件的()。
A)继承性B)共享性
C)封装性D)抽象性
【命题目的】考查类的封装性的定义。
【解题要点】在面向对象的程序设计中,对象是数据和一组相关操作的封装体。
从外面只能看到对象的外部特性,根本无需知道数据的具体结构以及实现操作的具体算法,对象的内部,即处理能力的实行和内部状态,对外是不可见的。
从外面不能直接使用对象的处理能力,也不能直接修改其内部的状态,对象的内部状态只能由其自身改变。
这就是类的封装性。
【错解分析】在面向对象程序设计中,把现实世界中具有相似的属性和操作的对象加以抽象,归为类,也就是说类是具有共同属性、共同方法的对象的集合,是对对象的抽象。
这就是类的抽象性。
继承性是指能够直接获得已有的性质和特征,而不必重复定义它们。
类的继承性使得相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息,提高了软件的可重用性,便于对软件进行修改维护。
【考点链接】类的继承性、抽象性和共享性的特点。
答案:
C)
15.以下()不是面向对象的特征。
A)多态性B)过程调用
C)封装性D)继承性
【命题目的】考查面向对象技术的主要特征。
【解题要点】面向对象技术具有多态性、封装性和继承性。
多态性是指同一个操作可以是不同对象的行为;
封装性是指事先已经设计好各种过程,这些过程已经封装在对象中,操作的具体实现过程对用户隐藏,用户只能看到这一操作实施后的结果;
继承性是指能够直接获得已有的性质和特征,而不必重复定义它们。
无论是在面向对象程序设计中,还是在结构化程序设计中,都存在过程调用。
所以本题正确答案为B)。
【错解分析】对面向对象的特征掌握的不够准确,导致解题错误。
【考点链接】面向对象程序设计和结构化程序设计的区别。
答案:
B)
二、填空题
1.结构化程序设计具有很多优点,但它仍是一种面向_______的程序设计方法。
【命题目的】考查结构化程序设计的性质。
【解题要点】结构化程序设计把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改,是一种面向过程的程序设计方法。
答案:
过程
2.就程序设计方法和技术的发展而言,程序设计主要经过了_______和面向对象的程序设计的程序设计阶段。
【命题目的】考查程序设计方法所经历的阶段。
【解题要点】在面向对象的方法出现以前,我们都是采用面向过程的程序设计方法。
早期的计算机是用于数学计算,软件设计的主要工作就是设计求解问题的过程。
随着计算机硬件系统的高速发展,计算机的性能越来越强,用途也更加广泛,不再仅限于数学计算,由于所处理的问题日益复杂,程序也就越来越庞大。
20世纪70年代到80年代,结构化程序设计方法成为所有软件开发设计领域及每个程序员采用的方法。
虽然结构化程序设计方法具有很多优点,但它仍然是一种面向过程的程序设计方法。
开发和维护都很困难。
面向对象方法跟面向过程方法是截然不同的设计方法,它把客观世界中任何一个事物都看成是一个对象,面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统。
答案:
结构化程序设计
3.注释说明了程序的功能,它分为_______和功能性注释。
【命题目的】考查注释的作用。
【解题要点】注释一般分为序言性注释和功能性注释。
(l)序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等;
(2)功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序做什么。
答案:
序言性注释
4.源程序文档化一般应注意_______、程序的注释和视觉组织。
【命题目的】考查程序文档化的具体要求。
【解题要点】程序文档化应注意以下几点:
(1)符号名的命名。
符号名的命名具有一定的实际含义,以便于对程序功能理解;
(2)程序注释。
正确的注释可以帮助读者理解程序;
(3)视觉组织。
为了增加程序的可读性和格式的美观,可以在程序中利用空格、空行、缩进等技巧使程序层次分明。
答案:
符号名的命名
5.结构化程序设计方法的主要原则包括_______、逐步求精、模块化和限制使用GOTO语句等4条原则。
【命题目的】考查结构化程序设计方法。
【解题要点】结构化程序设计的原则是:
(l)自顶向下:
即先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。
(2)逐步求精:
对复杂问题,应设计一些子目标作过渡,逐步细化。
(3)模块化:
模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个jJ目标称为一个模块。
(4)限制使用GOTO语句。
答案:
自顶向下
6.采用结构化程序设计方法能够使程序易读、易理解、_______和结构良好。
【命题目的】考查结构化程序设计方法的优点。
【解题要点】遵循结构化程序的设计原则,按结构化程序设计方法设计出的程序具有明显优点:
l.易读。
由于采用了逐步求精和模块化的设计原则,使程序更加容易被读懂;
2.易理解。
由于采用结构化程序设计的顺序、选择和循环结构,使程序看起来一目了然,更容易被理解;
3.易维护。
由于结构化程序设计容易被阅读和理解,便于用户使用和维护。
答案:
易维护
7.按照程序段本身语句行的自然顺序,一条语句一条语句地执行程序,这样的程序结构称为_______。
【命题目的】考查顺序结构的定义。
【解题要点】顺序结构是一种简单的程序设计,它是最基本、最常用的结构,顺序结构是顺序执行的结构,就是按照语句的自然顺序,一条一条地执行程序。
答案:
顺序结构
8.根据假定的条件,判断应该选择哪一条分支来执行相应的程序语句序列,这样的程序结构称为
【命题目的】考查选择结构的定义。
【解题要点】选择结构又叫分支结构,
它包括简单选择和多分支选择结构,其中简单选择结构是根据设
定的条件,判断应该选择哪一条分支来执行相应的序列。
答案:
分支结构或选择结构
9.根据给定的条件,判断是否需要执行某一相同的或者相似的程序段,这样的程序结构称为_______。
【命题目的】考查循环结构的定义。
【解题要点】循环结构又叫重复结构,它根据给定的条件,判断是否需要重复执行某一相同或相似的程序段,利用重复结构可简化大量的程序行。
在程序设计语言中,重复结构对应两类循环语句:
(l)当型循环结构:
先判断后执行循环体。
(2)直到型循环结构:
对先执行循环体后判断。
答案:
循环结构或者重复结构
10.程序的重复结构对应两类循环语句,分别是当型循环结构和_______。
【命题目的】考查两类循环语句。
【解题要点】在程序设计中,重复结构对应两类循环语句。
(l)对先判断后执行的语句称为当型循环结构;
(2)对先执行后判断的语句称为直到型循环语句。
答案:
直到型循环结构
11.而向对象的程序设计主要优点包括与人类习惯的思维方法一致、_______、可重用性好、易于开发大型软件产品和可维护性好等5个方面。
【命题目的】考查面向对象方法的优点。
【解题要点】面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方式来认识、理解和描述客观事物。
它具有如下优点:
(l)与人类的习惯思维方式一致。
面向对象设计方法与传统的面向过程的设计方法有本质的不同,它以对象为核心,对象之间通过消息互相联系,从而模拟现实世界中不同事物之间的联系;
(2)稳定性好。
采用面向对象程序设计方法,当系统的功能需求变化时并不会引起软件整体的变化,只需要作局部的修改,因此以对象为中心构造的软件也是比较稳定的;
(3)可重用性好。
采用面向对象程序设计,可以通过创建实例和派生新类的方法重复使用一个对象类;(4)易于开发大型软件产品;
)
(5)可维护性好。
面向对象设计的软件稳定性好、容易修改、容易理解、易于测试和调试,使之更容易维护。
答案:
稳定性好
12.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,它由_和可执行的一组操作共同组成。
【命题目的】考查对象的含义。
【解题要点】客观世界中的实体通常都是既具有静态属性,又具有动态的行为,因此,面向对象方法学中的对象是由描述该对象属性的数据以及可以对这些数据施加的操作封装在一起构成的统一体。
答案:
数据
13.在面向对象分析和设计中,通常把对象所进行的操作称为_______。
【命题目的】考查对象方法的含义。
【解题要点】对象可以做的操作表示它的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作也称为方法或服务。
答案:
方法或者服务
14.对象的多态性是指_______
【命题目的】考查多态性的特点。
【解题要点】对象根据所接受的消息做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,这种现象就叫做多态性。
答案:
同样的消息被不同的对象接受时可导致不同的行为
15.类是对象的抽象,而一个对象则是其对应类的_______
【命题目的】考查类和对象的关系。
【解题要点】将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。
所以类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。
答案:
一个实例
16.在面向对象的程序设计中,_______是指一个类实例和另一个类实例之间传递的信息。
【命题目的】考查消息的定义。
【解题要点】面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息”。
消息是一个实例与另外一个实例之间传递的信息,它请求对象执行某一要求的信息,它统一了数据流和控制流。
答案:
消息
17.使用已经存在的类定义作为基础建立新的类定义,这样的技术叫做_______。
【命题目的】考查继承的概念。
【解题要点】继承是面向对象方法的一个主要特征。
继承是使用已有的类定义作为基础建立新类的定义技术。
已有的类可当作基类来引用,则新类相应地可当作派生类来引用。
答案:
继承
18一个类只允许有一个父类,这样的继承称为_______。
【命题目的】考查单继承的定义。
【解题要点】继承分为单继承和多重继承。
单继承是指,一个类只允许有一个父类,即类等价为树型结构。
答案:
单继承
19.继承使得相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息,提高了软件的_______
【命题目的】考查继承的意义。
【解题要点】继承的优点是,相似的对象可以共享程序的代码和数据结构,从而大大减少了程序中的冗余信息,提高软件的可重用性,便于软件的修改和维护。
答案:
可重用性
20.对象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为_______
【命题目的】考查多态性的定义。
【解题要点】对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行为,该现象称为多态性。
答案:
多态性
21.对象和类的关系可以表示为_______和的关系。
【命题目的】考查类和对象的关系。
【解题要点】类是具有共同属性、共同方法的对象的集合。
所有类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则可以看做是对应类的一个具体实例。
答案:
具体抽象
22.重复使用一个对象类有两种方法,分别是_______和_______。
【命题目的】考查面向对象开发的可重用性。
【解题要点】面向对象的软件开发技术在利用可重用的软件成分构造新的软件系统时,有很大的灵活性。
有两种方法可以重复使用一个对象类:
(1)创建该类的实例,从而直接使用它;
(2)从它派生出一个满足当前需要的新类。
答案:
创建该类的实例从而直接使用它从它派生出一个满足当前需要的新类
23.为了保证软件的质量,对软件进行维护之后必须进行_______,以保证要求修改或者扩充的功能已经正确地实现了。
【命题目的】考查软件测试的目的。
【解题要点】为了保证软件的质量,对软件进行维护之后必须进行必要的测试,以确保要求修改或扩充的功能已正确地实现了,而且没有影响到软件未修改的部分。
如果测试过程中发现了错误,还必须通过调试改正过来。
答案:
必要的测试
24.类通过_______与外界发生关系。
【命题目的】考查类的概念。
【解题要点】数据以及对数据的操作形成对象,对同类对象抽象出其共性,形成类。
类是通过接口与外界发生关系的。
答案:
接口
25.类是具有共同属性和服务的一组对象的集合,它为属于该类的全部对象提供了抽象的描述,其内部包括_______和行为两个主要部分。
【命题目的】考查类的性质。
【解题要点】类是具有共同属性、共同操作性质的对象的集合,是已经定义了的关于对象的特征、外观和行为的模板,它包含属性和行为两个重要部分。
答案:
属性
26.对象的基本特点包括标识惟一性、分类性、多态性、_______和模块独立性好等5个特点。
【命题目的】考查对象的基本特点。
【解题要点】对象具有如下的基本特点:
(l)标识惟一性,对象是可区分的,并且由对象的内在本质来区分;
(2)分类性,可以将具有相同属性和操作的对象抽象成类;
(3)多态性,同一个操作可以是不同对象的行为;
(4)封装性,只能看到对象的外部特征,无需知道数据的具体结构以及实现操作的算法;(5)模块独立性好,面向对象是由数据及可以对这些数据施加的操作所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 习题 解析