【vb精品源码栏目提醒】:本文主要为网学会员提供“最简单的C 程序 - 其它资料”,希望对需要最简单的C 程序 - 其它资料网友有所帮助,学习一下!
第1章 最简单的C程序 第1章 最简单的C程序 1.1 C和C 1.2 一个简单的C++程序 1.3 C程序的实现与运行环境第1章 最简单的C程序 1.1 C和C1.1.1 C的发展史 C语言是20世纪80年代以来迅速推广使用的一种程 序设计语言。
它既具有高级语言的特点,又具有低级 语言的一些特点,能够很方便地实现汇编级的操作, 目标程序效率较高。
然而,C语言也存在一些缺陷,例 如类型检查机制相对较弱,缺少支持代码重用的语言 结构等,使得用C语言开发大程序比较困难。
为了克服 C语言存在的缺点,并保持C语言简洁、高效的特点, 贝尔实验室的Bjarne Stroustrup博士及其同事于1983年 开始对C语言进行改进和扩充,将“类”的概念引入了C 语言,构成了最早的C语言。
第1章 最简单的C程序 发明C的重要目标就是在保留C原有精华的基础 上提供全面的面向对象的编程支持,使得程序的结构 更加清晰,更容易维护和扩充,同时又不丧失其高效 性。
后来Stroustrup博士及其同事们又为C引进了运 算符重载、引用、虚函数、友元、继承、多态性、I/O 流、New/Delete内存分配与撤销、无名联合等许多新 特性,并使之更加精炼。
C支持面向对象的程序设计方法,很适合于 大、中型软件的开发,从开发时间、费用到软件的可 重用性、可扩充性、可维护性和可靠性等方面,都具 有很大的优越性。
第1章 最简单的C程序 1.1.2 面向对象的程序设计 1.面向对象的程序设计的基本概念 C语言、PASCAL、FORTRAN等都是一种面向过 程的程序设计。
面向过程的程序设计的基本思想是将 问题分成独立的功能模块,用过程或函数来实现,达 到最终解决问题的目的。
它采用函数来描述对数据结 构的操作,但又将函数与其所操作的数据分离。
作为 对现实世界的抽象,函数和它所操作的数据是密切联 系、相互依赖的。
如果数据结构发生改变,则必须改 写相应的函数。
某个函数的改动经常引起许多其它函 数的改动,维护较为困难,特别是难以适应大型复杂 软件系统开发的需要。
第1章 最简单的C程序 面向对象程序设计从所处理的数据入手,并以数据 为中心。
它把现实世界的问题抽象为“类”的概念。
类是对现实世界中的客观事物的抽象,是对具有共同 属性和行为的一类事物的抽象描述,其中,共同属性 被描述为类中的数据成员--属性,共同行为被描述为 类中的成员函数—方法(和
VB类似)。
例如:汽车是 对各种汽车如小轿车、大卡车、公共汽车等的一个 抽象,汽车的颜色、型号、发动机等是属性,而开动 和转弯等是它的成员函数即是它的方法。
面向对象的程序设计方法最基本的思想就是把客 观世界看成一个个相对独立而又相互联系的实体,称 为对象。
第1章 最简单的C程序 类是对象集合的抽象,规定了这些对象的公共属 性和方法,对象是类的一个实例。
例如,钢笔是一个 类,具体到一支钢笔就是一个对象;一个桌子、一个 气球,一个地球都是一个对象。
。
现实世界中的对象既具有静态的属性(或称状 态),又具有动态的行为(或称操作,功能)。
再如 “人”是一个“类”,即人类,人类具有某些共同的属性 (状态,数据成员),即哺乳动物,一个脑袋一张 嘴,两只小手两条腿等;人类也具有某些共同的行为 (方法,函数成员),即上课睡觉,走路吃饭,考试 作弊,花钱享受等;张三是人,李四是人,都是“人 类”的一个对象,也就是“人类”的具体实例。
第1章 最简单的C程序 再比如,所有的狗属于一个类,即“狗类”,一只 哈巴狗,一只赖皮狗,一只落水狗都是狗类的一个具 体实例------即对象。
类又有基类(父类)和派生类 (子类)的概念,比如“狗类”是“好狗类”和“坏狗类” 的父类,同时又是“哺乳动物类”的子类。
父类实际上 是多个子类的进一步抽象,具有更高的层次。
同一个类的对象除了具有某些共同的属性和行为 之外,还可能具有各自不同的属性和行为,比如“人 类”的对象----某个人,可能是男人,女人,好人,坏 人,高矮胖瘦,肤色发型,年龄爱好,贪官良民等等 不同属性;偷窃抢劫,乐善好施,杀人放火,扶危济 困,钓鱼打牌,学习工作等等不同的行为。
第1章 最简单的C程序 2.面向对象程序设计的基本特征 面向对象程序设计具有封装、抽象、继承和多态性 4种基本特征。
1 封装 封装是把函数和数据封藏起来,把它看成一个有 机整体。
封装是面向对象的重要特征,首先它实现了 数据隐藏,保护了对象的数据不被外界随意改变;其 次它使对象成了相对独立的功能模块。
对象好象是一 个黑盒子,表示对象属性的数据和实现各个操作的代 码都被封装在黑盒子里,从外面是看不见的。
使用对象,只需知道它向外界提供的接口,而无 须知道它的数据结构细节和实现操作的算法。
第1章 最简单的C程序 2 抽象 抽象就是忽略一个主题中与当前目标无关的那些 方面,以便充分地注意与当前目标有关的方面。
对象 本身也是一个抽象,是具有特定属性和行为的一个抽 象。
抽象是通过特定的实例对象抽取共同性质以后形 成的概念。
抽象是对系统的简化描述或规范说明,它 强调了系统中的一部分细节和特性,而忽略了其他部 分。
抽象包括两个方面:数据抽象和代码抽象(行为 抽象)。
前者描述了某类对象的属性或状况,也就是 此类对象区别于彼类对象的特征物理量,后者描述了 某类对象的共同行为特征或具有的共同操作。
第1章 最简单的C程序 3 继承 自然界中的大部分事物之间都有很多共性,但也 有不同。
比如,四边形是一个类,而矩形与四边形有 相同的性质,也有自已的属性。
我们可以将事物之间 的共性保留下来也就是继承,如矩形继承四边形这个 类的公共属性,将不同的特性再定义。
面向对象程序 设计方法允许一个类继承其它类称为基类的属性和方 法,该类称为派生类(子类)。
继承是类的层次结构之间共享数据和方法的机 制,允许和鼓励类的重用。
第1章 最简单的C程序 4 多态性 多态性是指不同类的对象对同一消息作出不同的 响应,或者说产生多种不同的行为方式。
例如,同样 是加法,把两个时间加在一起和把两个整数加在一起 的内涵是完全不同的。
再比如,十字路口的交通灯, 同样是灯,当红灯亮时,人们知道该停止;当绿灯亮 时,人们知道该通行。
多态性包括参数多态性和包含 多态性,它具有灵活、抽象、行为共享和代码共享的 优势。
C语言支持两种多态性,即编译时的多态性和运 行时的多态性。
第1章 最简单的C程序 编译时的多态性是通过重载来实现的,运行时的 多态性是通过虚函数来实现的。
重载包括函数重载和运算符重载。
函数重载是指 一个标识符可同时用于为多个函数命名,而运算符重 载是指一个运算符可同时用于多种运算。
相同名字的 函数或运算符在不同的场合可以表现出不同的行为。
虚函数的有关概念较复杂,后续讲解。
对象是具体的类的实例,是客观存在的,而类是 对对象的抽象,只是一个概念,一个层次的描述,是 不存在的但又需要加以利用的东西。
在类的基础上可 以抽象出更高层次的父类。
第1章 最简单的C程序 3.消息和方法 对象之间需要联系,称为对象的交互。
面向对象程序 设计技术必须提供一种机制,允许一个对象与另一个对象 交互,这种机制称为消息传递。
一个对象向另一个对象发出的请求被称为消息。
当对 象接收到发向它的消息时就调用有关的方法,执行相应的 操作。
消息是一个对象要求另一个 对象执行某个操作的 规格的说明,通过消息传递才能完成对象之间的相互请求 或相互协作。
消息传递与用手机发送短信(短消息)具有 非常相似的含义。
第1章 最简单的C程序 消息具有3个性质:(1)同一个对象可以接收不同形式的多个消息, 作出不同的响应。
(2)相同形式的消息可以传递给不同的对象, 所作出的响应可以是不同的。
(3)对消息的响应并不是必须的, 对象可以响应消息,也可以不响应。
方法就是指对象所能执行的操作。
方法包括界面和方 法体两部分,方法的界面也就是消息的模式,它给出了方 法的调用协议,方法体则是实现某种操作的一系列计算步 骤,也就是一段程序。
第1章 最简单的C程序 4.为什么要使用面向对象程序设计 传统程序即面向过程的程序设计方法,开发软件的生 产效率低下,难以应付日益庞大的信息量和多样的信息类 型,难以适应各种新环境。
面向对象程序设计的优点在于:可以提高程序的重用 性,可以控制程序的复杂性,可以改善程序的可维护性, 能更好的支持大型程序设计,增强了处理信息的范围,能 很好的适应新环境,第1章 最简单的C程序 1.2 一个简单的C++程序 1.2.1 一个简单的C程序 例:编程求从键盘上输入的两个浮点数的和 include void main //SAMPLE S1_1 double xy coutxy double zxy cout