(中职)编程语言基础------C++模块1教学课件.ppt
《(中职)编程语言基础------C++模块1教学课件.ppt》由会员分享,可在线阅读,更多相关《(中职)编程语言基础------C++模块1教学课件.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Y CF正版可修改PPT(中职)编程语言基础-C+模块1 教学课件模块1 C+概述 任务1 C+的产生和发展 任务2 C+程序设计语言的特点 任务3 C+语言的基本概念 任务4 C+程序开发过程 任务5 C+程序的结构与组成 任务6 C+程序风格返回任务1 C+的产生和发展 C+C+程序设计语言由 程序设计语言由C C 语言发展而来。语言发展而来。C C 语言最早是由贝尔实验室的 语言最早是由贝尔实验室的Dennis Ritchie Dennis Ritchie 在 在B B 语言的基础上开发出来的,并于 语言的基础上开发出来的,并于1972 1972 年在一台 年在一台DEC DEC PDP
2、 PDP 一 一11 11 计算机上首次实现。计算机上首次实现。C C 语言产生以后,最早在 语言产生以后,最早在UNIX UNIX 操作系统 操作系统上使用,并且迅速被人们接受而得到了广泛的应用。到了 上使用,并且迅速被人们接受而得到了广泛的应用。到了20 20 世纪 世纪80 80 年 年代,代,C C 语言已经风靡全球,成为一种应用最为广泛的程序设计语言。语言已经风靡全球,成为一种应用最为广泛的程序设计语言。但 但C C 语言在盛行的时候也显现出厂自己的局限性,突出表现在以下儿 语言在盛行的时候也显现出厂自己的局限性,突出表现在以下儿个方面。个方面。(1)C(1)C 语言类型检查机制较弱
3、,这使得程序中的一些错误不能在编译 语言类型检查机制较弱,这使得程序中的一些错误不能在编译时被发现。时被发现。(2)C(2)C 语言本身儿乎没有支持代码的重用机制,这使得各个程序的代 语言本身儿乎没有支持代码的重用机制,这使得各个程序的代码很难为其他程序所用。码很难为其他程序所用。下一页 返回任务1 C+的产生和发展(3)C(3)C 语言不适合开发大型的程序,当程序达到一定的规模时,程序员 语言不适合开发大型的程序,当程序达到一定的规模时,程序员很难控制程序的复杂性。为了弥补 很难控制程序的复杂性。为了弥补c c 语言的不足之处,语言的不足之处,1980 1980 年贝尔实 年贝尔实验室的 验
4、室的Bjarne Stroustrup Bjarne Stroustrup 博士开始对 博士开始对C C 语言进行改编。一开始 语言进行改编。一开始C+C+是 是作为 作为C C 语言的增强版出现的,从给 语言的增强版出现的,从给C C 语言增加类开始,不断增加新特 语言增加类开始,不断增加新特性。虚函数 性。虚函数(virtual function)(virtual function)、运算符重载、运算符重载(operator overloading)(operator overloading)、多、多重继承 重继承(multiple in-hesitance)(multiple in-he
5、sitance)、模板、模板(template)(template)、异常、异常(exception),(exception),RTTI RTTI、名字空间、名字空间(namespace)(namespace)逐渐被加人标准,逐渐被加人标准,1983 1983 年正式命名为 年正式命名为C C+。1998 1998 年国际标准组织 年国际标准组织(ISO)(ISO)颁布厂 颁布厂C+C+程序设计语言的国际标准 程序设计语言的国际标准ISO/IEC 14882 ISO/IEC 14882 一 一1998 1998。上一页 下一页 返回任务1 C+的产生和发展 C+C+是具有国际标准的编程语言,通
6、常称作 是具有国际标准的编程语言,通常称作ANSI/ISO C+1998 ANSI/ISO C+1998 年是 年是C+C+标准委员会成立的第一年,以后每 标准委员会成立的第一年,以后每5 5 年视实际需要更新一次标准。年视实际需要更新一次标准。C+C+不仅继承厂 不仅继承厂C C 语言的原有精髓,并且增加厂对开发大型软件非常 语言的原有精髓,并且增加厂对开发大型软件非常有效的面向对象的机制,弥补厂 有效的面向对象的机制,弥补厂C C 语言不支持代码重用的不足,成为 语言不支持代码重用的不足,成为一种既可表现过程模型,又可表现对象模型的优秀的程序设计语言之 一种既可表现过程模型,又可表现对象模
7、型的优秀的程序设计语言之一。日前 一。日前C+C+仍在不断的发展当中。仍在不断的发展当中。另外,就日前学习 另外,就日前学习C+C+而言,可 而言,可以认为它是一门独立的语言 以认为它是一门独立的语言;它并不依赖 它并不依赖C C 语言,我们可以完全不学 语言,我们可以完全不学C C语言,而直接学习 语言,而直接学习C+C+。根据。根据 C+C+编程思想 编程思想(Thinking in C+)(Thinking in C+)一 一书所评述的,书所评述的,C+C+与 与C C 的效率往往相差 的效率往往相差15%15%。所以有人认为在大多数。所以有人认为在大多数场合 场合C+C+完全可以取代
8、完全可以取代C C 语言 语言(然而在单片机等需要谨慎,利用空间、然而在单片机等需要谨慎,利用空间、直接操作硬件的地方还是要使用 直接操作硬件的地方还是要使用C C 语言 语言)。上一页 返回任务2 C+程序设计语言的特点 C+C+继承厂 继承厂C C 语言的所有特点,包括语言简洁、紧凑 语言的所有特点,包括语言简洁、紧凑;使用方便、灵活 使用方便、灵活;拥有丰富的运算符 拥有丰富的运算符;生成的日标代码质量高,程序执行效率高 生成的日标代码质量高,程序执行效率高;可移植 可移植性好等。性好等。同时,同时,C+C+对 对C C 语言进行厂一定的改进。如引人 语言进行厂一定的改进。如引人cons
9、t const 常量和内联函 常量和内联函数,取代宏定义 数,取代宏定义;引入 引入refrence(refrence(引用 引用)概念等 概念等;支持面向过程和面向对象 支持面向过程和面向对象的方法。在 的方法。在C+C+环境下既可以进行面向对象的程序设计,也可以进行 环境下既可以进行面向对象的程序设计,也可以进行面向过程的程序设计。面向过程的程序设计。C+C+现在得到厂越来越广泛的应用,其特点主要有以下几个方面。现在得到厂越来越广泛的应用,其特点主要有以下几个方面。(1)(1)兼容 兼容c c 语言。这主要表现在大部分 语言。这主要表现在大部分c c 程序不需修改即可在 程序不需修改即可在
10、c+c+的编译 的编译环境下运行,用 环境下运行,用c c 语言编写的许多库函数和应用软件都可用于 语言编写的许多库函数和应用软件都可用于c+c+中。中。下一页 返回任务2 C+程序设计语言的特点(2)(2)用 用C+C+编写的程序可读性更好,代码结构更合理,可直接在程序中 编写的程序可读性更好,代码结构更合理,可直接在程序中映射问题空间的结构。映射问题空间的结构。(3)(3)生成的代码质量高,运行效率仅比汇编语言代码段慢 生成的代码质量高,运行效率仅比汇编语言代码段慢10%10%一 一20%20%(4)(4)从开发时间、费用到形成的软件的可重用性、可扩充性、可维护 从开发时间、费用到形成的软
11、件的可重用性、可扩充性、可维护性和可靠性等方面有了很大的提高,使得大中型的程序开发项日变得 性和可靠性等方面有了很大的提高,使得大中型的程序开发项日变得容易得多。容易得多。(5)C+(5)C+是面向对象的程序设计语言,可方便地构造出模拟现实问题的 是面向对象的程序设计语言,可方便地构造出模拟现实问题的实体和操作。实体和操作。上一页 返回任务3 C+语言的基本概念 1.3.1程序 为厂对 为厂对C+C+程序结构有一个初步厂解,下面通过一个简单例子来厂解 程序结构有一个初步厂解,下面通过一个简单例子来厂解C+C+程序 程序【例 例1 1 一 一1 1】一个简单的 一个简单的C+C+程序 程序#in
12、clude#include void main(void)void main(void)/*/*输出 输出 This is my first C+program.*/This is my first C+program.*/cout This is my first C+program./n”;cout This is my first C+program./n”;下一页 返回任务3 C+语言的基本概念 这个程序运行后在屏幕上输出字符串 这个程序运行后在屏幕上输出字符串 This is my first C+program.This is my first C+program.。我们可以发现以
13、下儿方面的内容。我们可以发现以下儿方面的内容。(1)C+(1)C+源程序文件的扩展名为 源程序文件的扩展名为.cpp.cpp(2)C+(2)C+注释不但可以使用符号 注释不但可以使用符号“/*”/*”和 和“*“*/”/”,表示符号,表示符号“/*”/*”和 和“*“*/”/”之间的内容都是注释 之间的内容都是注释;而且还可以使用一个双斜线 而且还可以使用一个双斜线“/”,表示,表示“/”之后的本行内容是注释,注释在按回车键后自动结束。之后的本行内容是注释,注释在按回车键后自动结束。(3)C+(3)C+程序一般包含的是标准输人、输出流的头文件 程序一般包含的是标准输人、输出流的头文件iostr
14、eam.h iostream.h,输,输人、输出可以通过使用输人、输出流对象 人、输出可以通过使用输人、输出流对象(如 如cin,cout)cin,cout)来完成。来完成。上一页 下一页 返回任务3 C+语言的基本概念 一个结构化的 一个结构化的C+C+程序可以由多个函数构成,函数与函数之间是相对 程序可以由多个函数构成,函数与函数之间是相对独立的,它们的定义是并行的,一个函数可以被其他函数调用。每个 独立的,它们的定义是并行的,一个函数可以被其他函数调用。每个程序都从主函数 程序都从主函数main)main)开始执行,从主函数返回时结束执行。同其他 开始执行,从主函数返回时结束执行。同其他
15、高级编程语言一样,高级编程语言一样,C+C+程序可以由多个源文件构成,它们分别被编 程序可以由多个源文件构成,它们分别被编译成日标代码,然后连接成一个可执行程序。译成日标代码,然后连接成一个可执行程序。1.3.2 对象和类 从面向对象的角度来说,类是对某一类对象的抽象,而对象是类的具 从面向对象的角度来说,类是对某一类对象的抽象,而对象是类的具体实例 体实例;从程序设计语言的角度来说,类是一种复杂的自定义数据类型 从程序设计语言的角度来说,类是一种复杂的自定义数据类型,对象是属于这种数据类型的变量,对象是属于这种数据类型的变量C+C+引人厂类这种抽象数据类型,引人厂类这种抽象数据类型,实现厂对
16、对象的抽象和封装。实现厂对对象的抽象和封装。上一页 下一页 返回任务3 C+语言的基本概念 C+C+类的结构比较复杂,可以将其看做是一种既包含数据又包含函数 类的结构比较复杂,可以将其看做是一种既包含数据又包含函数的数据类型。显然,描述不同编程对象的类应有不同的内部结构,在 的数据类型。显然,描述不同编程对象的类应有不同的内部结构,在使用类来声明对象前应先定义其结构。使用类来声明对象前应先定义其结构。C+C+定义类的基本形式如下 定义类的基本形式如下:class class 上一页 下一页 返回任务3 C+语言的基本概念 private:private:;public:public:;prot
17、ected:protected:;上一页 下一页 返回任务3 C+语言的基本概念 其中,其中,class class 是定义类的关键字,是定义类的关键字,是用户自定义的标识符,花括 是用户自定义的标识符,花括号括起来的部分称为类体,它包括所有数据成员和成员函数的声明。号括起来的部分称为类体,它包括所有数据成员和成员函数的声明。数据成员又称成员变量 数据成员又称成员变量(member variable)(member variable),成员函数又称为方法,成员函数又称为方法(method)(method)。关键字。关键字private,public private,public 和 和prot
18、ected protected 称为访问权限控制符,称为访问权限控制符,用来设置数据成员 用来设置数据成员 private private 属性表示数据成员或成员函数是类的私有成员,这类成员只允 属性表示数据成员或成员函数是类的私有成员,这类成员只允许被本类的成员函数访问或调用 许被本类的成员函数访问或调用;public;public 属性表示数据成员或成员函数 属性表示数据成员或成员函数是公有成员,这类成员允许被本类或其他类的成员函数 是公有成员,这类成员允许被本类或其他类的成员函数(通过对象 通过对象)访 访问或调用 问或调用;protected;protected 属性表示数据成员或成员
19、函数是保护成员,这类 属性表示数据成员或成员函数是保护成员,这类成员允许被本类的成员函数和派生类的成员函数访问或调用。和成员 成员允许被本类的成员函数和派生类的成员函数访问或调用。和成员函数的访问权限属性。函数的访问权限属性。上一页 下一页 返回任务3 C+语言的基本概念 在类的外部通过对象只能访问所属类的公有成员,而私有成员只能在 在类的外部通过对象只能访问所属类的公有成员,而私有成员只能在类的成员函数中被访问。一般而言,数据成员定义为 类的成员函数中被访问。一般而言,数据成员定义为private private 属性 属性;成 成员函数定义为 员函数定义为public public 属性,
20、作为类的外部接口。在声明成员时如果省 属性,作为类的外部接口。在声明成员时如果省略厂访问权限控制符,则其属性默认为 略厂访问权限控制符,则其属性默认为private private。上一页 下一页 返回任务3 C+语言的基本概念【例 例1 1 一 一2 2】定义类 定义类Time(Time(时间 时间)。class Time class Time private:private:int hour;int hour;int minute;int minute;int second;int second;public:public:void setTime(int,int,int);void se
21、tTime(int,int,int);void showTime();void showTime();上一页 下一页 返回任务3 C+语言的基本概念 类 类Time Time 有 有hour,minute hour,minute 和 和second second 三个私有数据成员,它们只能在类的 三个私有数据成员,它们只能在类的成员函数中被访问或赋值 成员函数中被访问或赋值;类 类Time Time 有两个公有成员函数,可在类的外 有两个公有成员函数,可在类的外部被调用,它们可视为访问类 部被调用,它们可视为访问类Time Time 的外部接口,但必须通过一个对象 的外部接口,但必须通过一个对
22、象实现其调用。实现其调用。利用 利用C+C+类进行面向对象的程序设计,以上声明类的成员只是完成 类进行面向对象的程序设计,以上声明类的成员只是完成厂任务的第一步,最重要的任务是实现定义的类。类的实现实质上是 厂任务的第一步,最重要的任务是实现定义的类。类的实现实质上是类的成员函数的实现,即定义类的成员函数。成员函数的定义形式与 类的成员函数的实现,即定义类的成员函数。成员函数的定义形式与一般函数的定义基本相同,但如果在类的外部定义成员函数,必须在 一般函数的定义基本相同,但如果在类的外部定义成员函数,必须在成员函数名前加上类名和作用域限定符 成员函数名前加上类名和作用域限定符“:”:”。上一页
23、 下一页 返回任务3 C+语言的基本概念【例 例1-3 1-3】类 类Time Time 的实现 的实现 void Time:set Time(int h,int m,int s)void Time:set Time(int h,int m,int s)hour=(h=0&h=0&h=0&m=0&m=0&s=0&s 60)?s:0;void Time:showTime()void Time:showTime()couthour?;minute?:secondendl;/couthour?;minute?:secondendl;/输出时间 输出时间 上一页 下一页 返回任务3 C+语言的基本概念
24、 由于不允许在类的外部访问或修改类 由于不允许在类的外部访问或修改类Time Time 的私有数据成员 的私有数据成员hour,minut hour,minut。和 和*econd econd,所以类,所以类Time Time 增加两个公有成员函数、增加两个公有成员函数、tTime)tTime)和 和*howPime howPime),以供在类的外部设置或显示类,以供在类的外部设置或显示类Time Time 的私有数据成员 的私有数据成员hour,minute hour,minute和 和*econd econd 一般将类的定义放在头文件 一般将类的定义放在头文件(x.h)(x.h)中,类的实
25、现放在源文件 中,类的实现放在源文件(*(*PP PP 中,而 中,而main main 主函数可以放在另一个源文件中。在源文件中用 主函数可以放在另一个源文件中。在源文件中用#include#include 编译预处理指令包含头文件。编译预处理指令包含头文件。对象是类的一个实例,定义并实现厂类后,就可以利用类来声明对 对象是类的一个实例,定义并实现厂类后,就可以利用类来声明对象,其形式与普通变量的声明类似。例如,以下用类 象,其形式与普通变量的声明类似。例如,以下用类Time Time 声明厂对象 声明厂对象t1,today t1,today 和对象的指针 和对象的指针ptl;ptl;上一页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 语言 基础 C+ 模块 教学 课件
限制150内