面向过程程序设计概述

上传人:san****019 文档编号:70851575 上传时间:2019-01-18 格式:PPT 页数:137 大小:1.72MB
返回 下载 相关 举报
面向过程程序设计概述_第1页
第1页 / 共137页
面向过程程序设计概述_第2页
第2页 / 共137页
面向过程程序设计概述_第3页
第3页 / 共137页
面向过程程序设计概述_第4页
第4页 / 共137页
面向过程程序设计概述_第5页
第5页 / 共137页
点击查看更多>>
资源描述

《面向过程程序设计概述》由会员分享,可在线阅读,更多相关《面向过程程序设计概述(137页珍藏版)》请在金锄头文库上搜索。

1、1,C+面向对象程序设计,第2章 面向过程程序设计概述,2,第2章 面向过程程序设计概述,本章学习要点,从C语言到C+的发展历程 简单的C+程序 C+在面向过程程序设计方面对C语言的扩充 C+的输入输出、数据类型、常变量及指针 C+的引用、函数、名字空间、字符串变量、复数变量 C+程序的编写和实现,3,本章学习目标,了解从C语言到C+的发展历程 对简单的C+程序有整体的感性认识 掌握C+在面向过程程序设计方面对C的扩充 掌握C+的输入输出、数据类型、常变量及指针 掌握C+的引用、函数、名字空间、字符串变量、复数变量 熟悉C+程序的编写和实现流程,第2章 面向过程程序设计概述,4,2.1 从C语

2、言到C+,C语言到C+的发展历程,C+3.0,C+1.0,带类的C,89年,增加类的多继承,91年,增加模板,增加异常处理、名字空间、运行时类型识别,97年, 美国C+标准正式发布,5,下面看几个简单的C+程序,【例2-1】在屏幕上输出一行字符“Welcome to C+!”。 #include /包含头文件命令 using namespace std; /使用名字空间std int main() cout“Welcome to C+!“endl; /输出字符串到屏幕 return 0; /main函数返回0至操作系统 ,2.2 简单C+程序,6,【例2-2】通过函数求两个整数a和b中的较大者

3、。 #include /包含头文件命令 using namespace std; /使用名字空间std int Max(int x, int y) return xy?x:y; /求两数中的大者函数Max int main() int a,b; /定义两个整型变量a和b coutab; /等待用户从键盘输入数据 cout“The bigger is “Max(a, b)endl; return 0; ,2.2 简单C+程序,#include /包含头文件命令 using namespace std; /使用名字空间std int main() int a,b; /定义两个整型变量a和b cou

4、tab; /等待用户从键盘输入数据 int Max(int x, int y); /Max函数原型声明 cout y?x:y; ,2.2 简单C+程序,变量可以在程序的任何地方定义,但要在使用前,8,2.2 简单C+程序,【例2-3】声明一个关于人的类Person,人的信息包括姓名、性别、年龄,程序运行后,人可以输入自己的信息,也可以显示自己的信息。,#include /包含头文件命令 using namespace std; /使用名字空间std class Person int main() ; return 0; ,9,2.2 简单C+程序,class Person /类的声明 publ

5、ic: /以下为类的公用成员函数 void SetInfo() /公用成员函数SetInfo coutnamesexage; void Show() /公用成员函数Show cout “name : “name; cout “sex: “sex; cout “age: “ageendl; private: /以下为类的私有数据成员 char name20; /私有数据成员name char sex2; /私有数据成员sex int age; /私有数据成员age ; /类声明结束,此处必须有分号,10,2.2 简单C+程序,int main() /main函数 Person person1,p

6、erson2; /定义Person类的两个对象person1,person2 person1.SetInfo(); /对象person1信息输入 person2.SetInfo(); /对象person2信息输入 person1.Show(); /对象person1信息输出 person2.Show(); /对象person2信息输出 return 0; ,11,注意: 类的声明和对象的定义的语法形式。 类中的成员分为数据成员和成员函数,成员的可见性分为 3种:公用 、私有、受保护。 类的概念的理解:类是一种用户自定义数据类型,它是不占用实际存储空间的。 对象的理解:对象是类类型的变量,系统会

7、为对象分配内存空间。,2.2 简单C+程序,12,2.3 C+对C语言的扩充,在输入输出方面的扩充 对数据类型的扩充 常变量 在指针方面的扩充 引用的概念 在函数方面的扩充 名字空间的概念 字符串变量 复数变量,本章重点,13,2.3.1 C+的输入输出,C语言输入输出的实现 通过输入输出库函数实现 C语言的输入输出存在着格式复杂、无法保证安全性、无法对自定义类型整体输入输出等缺点 C+对C输入输出的扩充 C+的输入/输出(I/O)流类库 “流”的思想 cout、cin对象, 运算符,14,2.3.2 数据类型的扩展,新增数据类型,功能进行了扩充,15,C+对C语言的结构体、共用体、枚举等自定

8、义数据类型做了扩充。,2.3.2 数据类型的扩展,16,struct Student int num; char name20; char sex; void display() cout“num=“numendl; cout“name=“nameendl; cout“sex=“sexendl; ;,2.3.2 数据类型的扩展,17,struct Student private: int num; char name20; char sex; public: void display() cout“num=“numendl; cout“name=“nameendl; cout“sex=“sex

9、endl; ;,Student stud1,stud2;,2.3.2 数据类型的扩展,18,在C+中用结构体类型名、共用体类型名、枚举类型名定义变量时,不必在类型名前加上前缀struct、union、enum。,2.3.2 数据类型的扩展,19,struct student char ID15; char name20; int age; ;,union xy int x; char y; ; enum color black,white,red,student stud; xy x1; color col;,struct student stud; unoin xy x1; enum col

10、or col;,C语言,C+,2.3.2 数据类型的扩展,20,2.3.3 用const定义常变量,直接常量和符号常量 使用符号常量需要注意的问题: 运行时不分配内存单元 符号常量没有类型,在编译时不进行类型检查 注意替换后的表达式和预想的表达式是否一致,int x=1,y=2; #define PI 3.14159 #define R x+y coutPI*R*Rendl;,输出语句输出的并不是 3.14159*(x+y)*(x+y), 而是 3.14159*x+y*x+y。,21,2.3.3 用const定义常变量,为了使常量也能像变量那样进行类型检查,C+提供了用const定义常变量的方

11、法 定义常变量的语法: const float PI=3.14159;,注意:常变量要在定义的同时进行初始化, 可以是具体的数值,也可以是表达式。,22,【例2-4】利用常变量计算圆的面积。 #include using namespace std; int main() const float PI = 3.14; /定义常变量 float radius = 0; coutradius; cout“The area of circle is: “PI*radius*radiusendl; return 0; ,2.2 简单C+程序,float const PI = 3.14; /定义常变量,

12、23,2.3.4 指针,指针 指针是一个重要概念,如果使用得当可以使程序高效、简洁、紧凑。如果对指针掌握不牢固,编程则会出现意想不到的错误 指针是内存单元的地址 经常所讲的指针是指针变量的简称,是用来存放指针(地址)的变量。 本节重点讨论C+中使用指针需要注意的地方,24,2.3.4.1 指针与0,空指针 空指针表示“未分配”或者“尚未指向任何地方”的指针 空指针一般用来判断内存分配是否成功 注意:“空指针”与“野指针”的区别 在指针上下文中的常数0被编译成空指针 程序员更常使用符号常量NULL来表示空指针,未初始化的指针,25,【例2-5】指针与0。 #include using names

13、pace std; int main() int x = 100; /定义整型变量x并初始化为100 int *p = 0; /定义空指针p /*p = 50; /此语句编译出错,不能使用空指针 p = ,2.2 简单C+程序,int *p = NULL,26,2.3.4.2 指针与const,int *p = NULL,const int *p = NULL,int const *p = NULL,指向const变量的指针,int * const p = NULL,27,2.3.4.2 指针与const,【例2-6】指向const变量的指针。 include using namespace

14、std; int main() const int *p = NULL; /定义指向const变量的指针p const int a = 10 ; /定义常变量a p = ,通过本例可以看到可以改变指向const变量的指针的指向,但是不能通过指针修改指针指向单元的内容。,28,2.3.4.2 指针与const,【例2-7】const指针。 #include using namespace std; int main() int a = 10 ; /定义普通变量a int b = 100; /定义普通变量b int * const p = ,通过本例可以看到可以改变const指针指向单元的内容,但是不能改变const指针的指向。,29,2.3.4.2 指针与const,【例2-8】指向const变量的const指针。 #include using namespace std; int main() int a = 10 ; int b = 100; const int * const p = ,对于指向const变量的const指针,既不能改变指针指向单元的内容,也不能改变指针的指向。,30,2.3.4.2 指针与const,小结指针和const的关系比较复杂,const有两个位置,可形成三种指针:,const int *p = NULL,int const *p = NULL,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号