12程序设计基础.docx
《12程序设计基础.docx》由会员分享,可在线阅读,更多相关《12程序设计基础.docx(9页珍藏版)》请在冰豆网上搜索。
12程序设计基础
第2章程序设计基础
2.1程序设计方法与风格
为了测试和维护程序,往往还要阅读和跟踪程序,因此程序设计的风格总体而言应该强调简单和清晰,程序必须是可以理解的。
可以认为,著名的“清晰第一,效率第二”的论点己成为当今主导的程序设计风格。
1.结构化程序设计主要强调的是(b)
A)程序的规模B)程序的易读性
C)程序的执行效率D)程序的可移植性
要形成良好的程序设计风格,主要应注重和考虑下述一些因素。
1.源程序文档化
源程序文档化应考虑如下几点:
(1)符号名的命名。
(2)程序注释。
注释一般分为序言性注释和功能性注释
(3)视觉组织:
利用空格、空行、缩进等技巧使程序层次清晰。
2.数据说明的方法
更易于理解和维护
3.语句的结构
程序应该简单易懂,语句构造应该简单直接
4.输入和输出
输入和输出方式和格式应尽可能方便用户的使用
2对建立良好的程序设计风格,下面描述正确的是(a)
A)程序应简单、清晰、可读性好
B)符号名的命名只要符合语法
C)充分考虑程序的执行效率
D)程序的注释可有可无
17.1.79_4下列叙述中,不符合良好程序设计风格要求的是
A程序的效率第一,清晰第二
B程序的可读性好
C程序中要有必要的注释
D输入数据前要有提示信息
2.源程序文档化要求程序应加注释。
注释一般分为序言性注释和功能性注释。
2.2结构化程序设计
2.2.1结构化程序设计方法的原则
结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。
红61_7结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。
19.2.64_1下列选项中不属于结构化程序设计方法的是
A)自顶向下 B)逐步求精
C)模块化 D)可复用
19.1.84_2)结构化程序设计的原则不包括
A多态性 B自顶向下 C模块化 D逐步求精
99_6.下列选项中不属于结构化程序设计原则的是( )。
A.可封装B.自顶向下C.模块化D.逐步求精
答案A
样3结构化程序设计的一种基本方法是
A筛选法B递归法C归纳法D逐步求精法
2.2.2结构化程序的基本结构与特点
程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
1.顺序结构:
2.选择结构:
选择结构又称为分支结构。
3.重复结构:
重复结构又称为循环结构。
93_3)符合结构化原则的三种基本结构是:
选择结构、循环结构和____【3】______。
顺序
99_2)程序流程图中的菱形框表示的是【2】。
逻辑判断
一、结构化程序设计的三种基本逻辑结构为顺序、选择和__
样2结构化程序设计所规定的三种基本控制结构是
A输入、处理、输出B树形、网形、环形
C顺序、选择、循环D主程序、子程序、函数
2.2.3结构化程序设计原则和方法的应用
红57_3下面描述中,符合结构化设计风格的是
A使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B模块只有一个入口,可以有多个出口控制结构
C注重提高程序的执行效率。
D不使用goto语句
2.3面向对象的程序设计
2.3.1关于面向对象方法
面向对象(objectoriented)的本质,就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物。
主要优点:
1.与人类习惯的思维方法一致
2.稳定性好
3.可重用性好
传统的软件重用技术是利用标准函数库。
在面向对象方法中所使用的对象,其数据和操作是作为平等伙伴出现的。
因此,对象具有很强的自含性。
此外,对象所固有的封装性,使得对象的内部实现与外界隔离,具有较强的独立性。
继承性机制使得子类不仅可以重用其父类的数据结构和程序代码,而且可以在父类代码的基础上方便地修改和扩充,这种修改并不影响对原有类的使用。
红62_20一个类可以从直接或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的____可重用性
4.易于开发大型软件产品
用面向对象范型开发软件时,可以把一个大型产品看作是一系列本质上相互独立的小产品来处理。
5.可维护性好
2.3.2面向对象方法的基本概念
1、对象(object)
应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象。
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。
属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。
操作描述了对象执行的功能,若通过消息传递,还可以为其他对象使用。
这个过程已经封装在对象中,用户也看不到。
对象的这一特性,即是对象的封装性。
对象有如下一些基本特点:
P22
(1)标识惟一性。
(2)分类性。
(3)多态性。
(4)封装性。
(5)模块独立性好。
89_7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性B)分类性C)多态性D)标识唯一性
a
3.在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。
21.2.79_3在面向对象方法中,实现信息隐蔽是依靠.
A对象的继承B对象的多态
C对象的封装D对象的分类
21.3.74_4)下面选项中不属于面向对象程序设计特征的是
A)继承性 B)多态性 C)类比性 D)封装性
2.类(Class)和实例(Instance)
类是具有共同属性、共同方法的对象的集合。
所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的—个实例
54_2在面向对象方法中,类的实例称为【2】。
对象
21.1.64_2)在面向对象方法中, 【2】 描述的是具有相似属性与操作的一组对象。
类
4.类是一个支持集成的抽象数据类型,而对象是类的实例。
红62_21面向对象的模型中,最基本的概念是对象和类
3.消息
对象间的这种相互合作需要一个制协助进行,这样的机制称为“消息”。
消息是一个实例与另一个实例之间传递的信息。
消息中只包含传递者的要求,它告诉接受者需要做哪些处理,但并不指示接受者应该怎样完成这些处理。
一个对象能够接受不同形式、不同内容的多个消息;相同形式的消息可以送往不同的对象,不同的对象对于形式相同的消息可以有不同的解释,能够做出不同的反映。
一个对象可以同时往多个对象传递信息,两个对象也可以同时向某个对象传递消息。
5.下面对对象概念描述错误的是(a)
A)任何对象都必须有继承性
B)对象是属性和方法的封装体
C)对象间的通讯靠消息传递
D)操作是对象的动态属性
3.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(d)
A)调用语句B)命令
C)口令D)消息
4.继承(Inheritance)
继承是使用已有的类定义作为基础建立新类的定义技术。
广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。
一个类直接继承其父类的描述(数据和操作)或特性,子类自动地共享基类中定义的数据和方法。
继承具有传递性。
继承分为单继承与多重继承。
单继承是指,一个类只允许有一个父类,即类等级为树形结构。
多重继承是指,一个类允许有多个父类。
多重继承的类可以组合多个父类的性质构成所需要的性质。
因此,功能更强,使用更方便;但是,使用多重继承时要注意避免二义性。
继承性的优点是,相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息。
5.在面向对象方法中,类之间共享属性和操作的机制称为继承。
5.多态性(Polymphism)
对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。
多态性机制不仅增加了面向对象软件系统的灵活性,进一步减少了信息冗余,利用多态性,用户能够发送一般形式的消息,而将所有的实现细节都留给接受消息的对象。
红57_4下面概念中,不属于面向对象方法的是
A对象B继承C类D过程调用
红59_14面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是
A模拟现实世界中不同事物之间的联系
B强调模拟现实世界中的算法而不强调概念
C使用现实世界的概念抽象地思考问题从而自然地解决问题
D鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考