第 1 章 C++ 编程体系概述

23
第 1 第 C++ 第第 第第第

description

第 1 章 C++ 编程体系概述. 1. 内容提要. 本章主要介绍编程语言的产生历史,着重介绍 C 语言的产生过程和 C++ 语言的产生过程。 总体上介绍目前常见编程语言的体系划分,介绍 C++ 语言的优势、 C++ 语言包括的内容、 C++ 的编译工具以及学习方法。 为了熟悉编程工具,利用程序说明 C++ 语言编写、编译和执行的过程。. 编程语言的产生. 最早的计算机是机器语言(也称为第一代语言),完全由二进制数字 0 和 1 组成,能够被计算机直接识别和执行,具有灵活、速度快等优点。 但是,程序员要熟悉全部的指令及其含义,手工处理每条指令和每个数据。. - PowerPoint PPT Presentation

Transcript of 第 1 章 C++ 编程体系概述

Page 1: 第 1 章  C++ 编程体系概述

第 1 章 C++ 编程体系概述

Page 2: 第 1 章  C++ 编程体系概述

内容提要 本章主要介绍编程语言的产生历史,着重介绍

C 语言的产生过程和 C++ 语言的产生过程。

总体上介绍目前常见编程语言的体系划分,介绍 C++ 语言的优势、 C++ 语言包括的内容、C++ 的编译工具以及学习方法。

为了熟悉编程工具,利用程序说明 C++ 语言编写、编译和执行的过程。

Page 3: 第 1 章  C++ 编程体系概述

编程语言的产生 最早的计算机是机器语言(也称为第一

代语言),完全由二进制数字 0 和 1 组成,能够被计算机直接识别和执行,具有灵活、速度快等优点。

但是,程序员要熟悉全部的指令及其含义,手工处理每条指令和每个数据。

Page 4: 第 1 章  C++ 编程体系概述

C 语言的产生 1967 年剑桥大学学者 Richard 在 CPL 语言的基础上推出

了 BCPL 语言。 1970 年美国贝尔实验室对 BCPL 语言进行了简化,并取 BCPL 的第一个字母“ B” 作为新语言的名称。

1972 年,贝尔实验室的 Kernighan 和 Ritchie 对“ B” 语言进行了完善和扩充,在保留强大的硬件处理能力的基础上,扩充了数据类型,恢复了通用性,并取“ BCPL” 的第二个字母作为新语言的名称——这就是著名的 C 语言。

此 后 两 个 人 采 用 C 语 言 重 写 了 UNIX 操 作 系 统 , 随 着UNIX 的广泛应用, C 语言成为一种极受欢迎的计算机语言。 1987 年美国标准化协会( ANSI )制定了 C 语言标准,也就是 ANSI C 。

Page 5: 第 1 章  C++ 编程体系概述

C++ 语言的产生 1982 年,美国 AT&T 公司贝尔实验室的 Bjarne Stroustrup 博

士在 C 语言的基础上,扩充了 Simula67 语言中面向对象的概念,发明了一种新的语言,这种新语言被命名为C ++ 语言。

1990 年, Bjarne Stroustrup 博士出版了 The Annotated C++ Reference Manual ( ARM ),由于当时还没有出台 C++标准, ARM 成为事实上的标准。 1990 年, C++ 引入了模板和异常的概念,使 C++ 具备了泛型编程和更好的错误处理能力。

1993 年 , 运 行 时 类 型 识 别 ( RTTI ) 和 命 名 空 间( Namespace )的概念被加入到 C++ 中。 1998 年, ANSI和 ISO 先后批准 C++ 语言成为美国国家标准和国际标准。

Page 6: 第 1 章  C++ 编程体系概述

编程语言的体系划分 目前流行两大语法体系: Basic 语系和

C 语系。同一个语系下语言的基本语法是一样。两大语系如图

C C / C++ / J ava / Perl / C#/ J avaScri pt语系: 语言 语言 语言 语言Basi c Basi c / VB6. 0/ VB. NET/ VBScri pt/ VBA语系: 语言

Page 7: 第 1 章  C++ 编程体系概述

程序设计方法 用计算机语言为计算机编写程序,解决某种问

题,称之为程序设计。程序设计需要一定的方法来指导,以便提高程序的可维护性、可读性、稳定性以及编程效率。

目前有两种重要的程序设计方法:结构化程序设计方法和面向对象程序设计方法。

Page 8: 第 1 章  C++ 编程体系概述

结构化程序设计方法 结构化程序设计有两个主要特征:

( 1 )总是由三种基本结构组成,即由顺序结构、选择结构和循环结构构成。这三种结构都是单入口/单出口的程序结构。

( 2 )自顶向下、逐步求精和模块化是结构化程序设计方法中最典型、最具有代表性的方法。

结构化程序设计的缺点是: ( 1 )数据与处理数据的方法(函数)相分离,这

使得对函数的理解变得很难。 ( 2 )可重用性差。希望程序设计具有可重用性,

能够使用已经设计好的代码。

Page 9: 第 1 章  C++ 编程体系概述

面向对象程序设计方法 面向对象程序设计语言的三个主要特征是:封装性、继承性和多态性。

         封装性:也叫数据隐藏,用户无需知道内部工作流程,只要知道接口和操作就可以,一般用类来实现封装。

         继承性:一种支持重用的思想,用现有的类型派生出新的子类,例如新型电视机在原有型号的电视机基础上,增加若干中功能,新型电视机是原有电视机的派生,继承了原由电视机的属性,并增加了新的功能。

         多态性 ::指在类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

Page 10: 第 1 章  C++ 编程体系概述

C++ 语言编程体系 C 语言是一种简单的语言。它真正提供的只有宏、

指针、结构、数组和函数。不管什么问题, C 语言都靠宏、指针、结构、数组和函数来解决。

C++不是这样。宏、指针、结构、数组和函数当然还存在,此外还有私有和保护型成员、函数重载、缺省参数、构造和析构函数、自定义操作符、内联函数、引用、友元、模板、异常、命名空间,等等。用 C++比用 C 具有更宽广的空间,因为设计时有更多的选择可以考虑。

Page 11: 第 1 章  C++ 编程体系概述

C++ 语言的优势 总的来说, C++ 语言具有 4个方面的优

点。 ( 1 )降低程序开发和维护的成本。 ( 2 )比用 C 语言编写的程序更加有效率。 ( 3 ) C++允许程序员更自由地使用各种库。 ( 4) C++ 的异常处理机制能够保证在运行期间检查到错误,并转至相应的处理程序,减少了代码的长度和复杂度。

Page 12: 第 1 章  C++ 编程体系概述

C++ 语言的内容 C++ 语言是一门难学易用的语言, C++ 的难

学,不仅在其广博的语法、语法背后的语义、语义背后的深层思维、深层思维背后的程序模型

还在于它提供了四种不同的程序设计思维模式:基于过程程序设计( Procedural-based ),基于对象程序设计( Object-based ),面向对象程序设计( Object-Oriented )和基于泛型程序设计( Generic Paradigm )。

Page 13: 第 1 章  C++ 编程体系概述

C++ 程序结构初步 从总体上看, C++ 程序文件一般可以分成 4

个部分:预处理指令、全局说明、程序的主函数和用户自定义函数。预处理指令就是源程序中所包含的各种编译指令。

所有的预处理指令都以“ #”开始。 全局说明一般包括一些程序所要使用的全局变量、类说明等等;任何一个 C++ 程序都有且仅有一个主函数 main() 。

Page 14: 第 1 章  C++ 编程体系概述

预处理指示符初步 头 文 件 通 过 include 预 处 理 指 令

( Preprocessor include directive )而成为程序的一部分。预处理指令用“ #” 标识。

#include 指示符读入指定文件的内容,有两种格式 :

#include <somefile.h> #include "myfile.h"

Page 15: 第 1 章  C++ 编程体系概述

注释 注释是用来帮助程序员读程序,用来概括程序的算法、

标识变量的意义或者阐明一段比较难懂的代码。注释不会增加程序的可执行代码。在代码生成以前,编译器会将注释从程序删除。

C++ 有两种注释符号,一种是注释对( /*,*/),与C 语言中的一样。编译器把“ /*” 和“ */” 之间的代码当作注释。注释可以放在程序的任意位置,可以跨越多行程序。

另一种注释是双斜线( //),用来注释一个单行,程序行注释符右边的内容都被当作注释而被编译器忽略。

Page 16: 第 1 章  C++ 编程体系概述

使用 C++ 语言编写简单代码 C++ 语言经过不断的发展,大体经过四

个主要的阶段。 1 、面向过程的 C 语言。 2 、面向对象的 C++ 语言。 3 、 SDK ( Software Development

Kit )编程。 4 、 MFC 编 程 ( Microsoft Foundation

Class :微软基类库)。

Page 17: 第 1 章  C++ 编程体系概述

面向过程的 C 语言 案例名称:使用 C 语言编程程序名称: proj1_02.cpp #include <stdio.h>main(){

printf("Hello C\n");}

Page 18: 第 1 章  C++ 编程体系概述

面向过程的 C++ 语言 案例名称:读取命令行参数程序名称: proj1_03.cpp #include <iostream.h>int main(int argc, char *argv[ ]){

int i;for (i = 1; i < argc; i++){

cout<<argv[i]<<endl;}return 0;

}

Page 19: 第 1 章  C++ 编程体系概述

面向对象的 C++ 语言 案例名称:在 C++ 中使用类程序名称: proj1_04.cpp #include <iostream.h>class person{public: int heart; char *name; int run() // 定义成员函数 run()

{heart = heart + 20;return heart;

}};void main(){

int iRunStop;person ZhangSan;ZhangSan.name = "张三 ";ZhangSan.heart = 72;cout<< "姓名 :" <<ZhangSan.name <<endl;cout<< "跑步前心跳 " <<ZhangSan.heart<<endl;//run() 为对象的方法iRunStop = ZhangSan.run();cout<< "跑步后心跳 " <<iRunStop<<endl;

}

Page 20: 第 1 章  C++ 编程体系概述

小结 本章需要了解 C 语言和 C++ 语言的产生和发

展,熟悉两种常用的程序设计方法 熟悉面向对象程序设计方法优于结构化程序设

计方法原因。 熟悉 C++ 语言的优势以及内容。掌握编程工

具 VC++6.0 的使用方法。 熟悉 C++ 程序的结构,掌握使用 VC++6.0

编写简单的 C++ 程序。

Page 21: 第 1 章  C++ 编程体系概述

本章习题 一、选择题 1 、最初的计算机编程语言是 ___________ 。 A) 机器语言 B) 汇编语言 C) 高级语言 D) 低级语言 2 、下列各种高级语言中, ___________ 是面向对象编程语言。 A) BASIC B) C 语言 C) C++ 语言 D) Pascal 语言 3 、结构化程序设计的基本结构不包含 ___________ 。 A) 顺序 B) 选择 C) 跳转 D) 循环 4 、 ___________ 不是面向对象程序设计的主要特征。 A) 封装 B) 继承 C) 多态 D) 结构 5 、关于 C++ 与 C 语言的关系的描述中, ___________ 是错误的。 A) C 语言是 C++ 的一个子集。 B) C 语言与 C++ 是兼容的 C) C++ 对 C 语言进行了一些改进 D) C++ 和 C 语言都是面向对象的

Page 22: 第 1 章  C++ 编程体系概述

二、填空题

1 、目前,有两种重要的程序设计方法,分别是 ___________和___________。

2 、 C++ 程序一般可以分成 4个部分,它们分别是 ___________、 ___________、 ___________和 ___________。

3 、目前流行两大语法体系: ___________和 ___________。 4、 C++ 提供了四种不同的程序设计思维模式: ___________,___________, ___________, ___________。

5、学习编程需要经历三大步: ___________ ; ___________ ;___________。

6 、 C++ 有两种注释符号,一种是 __________,另一种是 ___________。

Page 23: 第 1 章  C++ 编程体系概述

三、简答题和程序设计题 1 、简述 C 语言和 C++ 包含的内容有何不同。

2 、简述 C++ 语言的优势。 3 、编写程序,并利用 VC++6.0 编译

成可执行文件,读取命令行参数。