面向对象程序设计与C++语言 第二版 教学课件 ppt 作者 杨庚 王汝传 叶晓国 第二讲

上传人:E**** 文档编号:89456942 上传时间:2019-05-25 格式:PPT 页数:26 大小:415.50KB
返回 下载 相关 举报
面向对象程序设计与C++语言 第二版  教学课件 ppt 作者  杨庚 王汝传 叶晓国 第二讲_第1页
第1页 / 共26页
面向对象程序设计与C++语言 第二版  教学课件 ppt 作者  杨庚 王汝传 叶晓国 第二讲_第2页
第2页 / 共26页
面向对象程序设计与C++语言 第二版  教学课件 ppt 作者  杨庚 王汝传 叶晓国 第二讲_第3页
第3页 / 共26页
面向对象程序设计与C++语言 第二版  教学课件 ppt 作者  杨庚 王汝传 叶晓国 第二讲_第4页
第4页 / 共26页
面向对象程序设计与C++语言 第二版  教学课件 ppt 作者  杨庚 王汝传 叶晓国 第二讲_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《面向对象程序设计与C++语言 第二版 教学课件 ppt 作者 杨庚 王汝传 叶晓国 第二讲》由会员分享,可在线阅读,更多相关《面向对象程序设计与C++语言 第二版 教学课件 ppt 作者 杨庚 王汝传 叶晓国 第二讲(26页珍藏版)》请在金锄头文库上搜索。

1、第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,第二讲 C+语言基础,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,他是谁?,Dr. Bjarne Stroustrup,美国Bell公司大规模编程研究中心主任,C+语言的设计创建人。,第3章 C+基础,例1:简单的C+程序 /example 3.1 #include /预处理 void main( ) /主函数 cout “ n Hello C+ !“ endl; /输出 ,要点: / 表示解释行,# 引导一个预处理语句

2、 main 表示主函数,void 表示无返回值 cout为输出流,类似C语言的printf。endl 是换行函数。n 为换行符,将光标指向新行的开头。函数体用括起来。 注意与C的区别。它没有用到类的概念。,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,例2: /example 3.2 #include /预处理 class test /定义类 test public: /定义类的公共部分 test(int y) x=y; void prin

3、t( ) cout x endl; private: /定义类的私有部分 int x; ;,void main( ) /主函数 test ob(5); /定义具体的对象 ob.print( ); /消息激活服务 print ,结果 显示 x 的值5,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,语 素,1. 运算符 算术运算符:+、* 等 关系运算符: ,例3:x+y、x*y x= =y x ,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,2. 字符串,一对双引号括起

4、来的字符序列,例4:“this is a string”,3. 标识符,由程序设计者确定的名字、 包括:常量名、变量名、函数名、类名等等。,例5: const pi; 中的 pi int x; 中的 x void add( ); 中的 add class student; 中的 student,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,标识符的构成,字母、数字和下划线 不能以数字开头,大小写有区别。,例6:_under_bar, m9909, t5, b7, Bb等等,问题:下列哪些是正确的标识符? Her_sales ( )

5、 MyAdd ( ) 9_class ( ) class_9 ( ) class 9 ( ) 2h ( ),第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,4. 关键字,系统定义的有特定作用的名字,C 和 C+ 都有 (常用),int、float、char、struct、union、const、static、long、short、unsigned、signed、void、enum、extern、double、typedef。,for、if、else、while、do、switch、case、default、break、continu

6、e、return、 goto,例7:int x; float a; const pi=3.1415; if(a= =b) x=a; else x=b;,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.4 基本语句 3.4 函数 3.5 数组与指针,问题 能否用关键字作标识符?,答案:不能!(为什么?),C+ 特有的关键字 (常用),class: 定义类; public, private, protected : 定义公共, 私有, 保护属性和服务; friend: 定义友元; operator: 定义运算符; inline: 定义内联函数; virtual: 定义虚函数; tem

7、plate: 定义模板; new, delete:分配和消除存储空间 this: 指向自己的指针,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,例8:C+关键字的引用,class person public: char name10; void print ( ); protected: char add20; void chAdd( ); private: int ID; int enum; ;,/错,不能用关键字为变量,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针

8、,5. 分隔符,如 ; / /* */ 等等,6. 字面常量,3.1415926,例9:常量与分隔符的使用 #include void main( ) const float pi=3.1415926; /pi 的值 float r; r=1.0; float x=r*r*pi; /* 计算面积 */ cout x endl; ,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,数据和表达式,基本数据类型:,字符 char 整数 int 实数 float: 短整数 short 长整数 long 双精度 double 无符号整数 uns

9、igned int:,类 型,大小,取值范围,1字节 2字节 4字节 2字节 4字节 8字节 2字节,256个字符 -32768 32767 1.2e-38 3.4e38 与 int 一样 2,147,483,647 2.2e-308 1.8e308 0 65535,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,其它数据类型:,指针 * 引用 & 数组 函数 ( ) 结构 struct 枚举 enum,类 型,举 例,int *p; /定义指针变量 p int /定义函数 print,注意:可以用sizeof()函数求数据类型的内

10、存大小,如sizeof(float) 将得到float 类型的长度 4。,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,常 量 类 型,const,标识符在其作用域内不能改变,注意:在大型软件开发中常量类型很重要,为什么:1. 防止在函数体内改变参数的值 2. 减小程序出错的可能性 3. 提高程序的可维护性,例10. const int buf=512; const int d =1,2,3,4; buf=333; /出错,因为是常量 d2=12; /出错,因为是常量,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.

11、3 基本语句 3.4 函数 3.5 数组与指针,void print( const int v) cout v endl; /输出 v+; /出错,常量不能改变其值 ,作用:将参数声明为常量,使在函数 的调用过程中,参数不被改变。 在软件的实际开发中很有用。,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,变 量,t v t v t *v t *v t &v t v( ) t *v( ),变量定义形式(其中 t 为类型,v 为变量),形式,语 义,示 例,类型为 t 的变量 t 型数组 指向 t 型的指针 t 型指针数组 t 型的引

12、用 返回类型 t 的函数 返回指向 t 型指针的函数,int a float b int *p int *p int &a void f( ) void *f( ),第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,例 11: 类型的定义、引用和指针运算 int a=1, b; /定义整型变量 a, b int ,结果: a=2 s=2 *pi=2,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,变 量的作用域及算符 :,局部变量:在函数体内声明 作用域: 从声明处 函数结

13、束 全局变量:在函数体外声明 作用域: 从声明处 程序结束,问题:局部变量名和全局变量名相同, 如何在函数体内访问全局变量? 方法:用前缀作用域算符 : 以示访问全局 变量,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,例12: #include / int i=5; /定义全局变量 void print( ); /定义函数名 void main( ) /定义主函数 print ( ); void print( ) /定义函数体 int i=6; /定义局部变量(同名) /输出局部变量 cout “local value=“ i

14、endl; /输出全局变量 cout “global value=“ :iendl; ,结果: local value=6 global value=5,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,运 算 符,要点: 1. 运算功能:能做什么 2. 运算对象的限制: 运算对象的个数: 如 + 为双对象(双目) 类型的限制: 求余运算 %只能用 int 值的限制: 除数非零 3. 运算优先规则 多个运算符的运算次序。 4. 结合规律 多个运算符的结合次序。 如: 2*6/2 从左到右 x=y=z=2 从右到左, 5. 运算值的类型

15、:结果类型,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,算术运算符,优先级,运算符,结合,高 低,括号:( ) 单目: 双目:* / % + 输出输入: 赋值: =,内到外,左到右 右到左 左到右 左到右 左到右 右到左,例: y= x=2*5*5+17%10+(2*4+(2+4),1,2,3,4,5,6,7,8,9,例:cout 6* 4“ , “ 1/2“ , “ 1/2.0;,5 2 1 6 7 3 8 9 4 结果:-24,0,0.5,10,第3章 C+基础,3.1 C+概述 3.2 数据和表达式 3.3 基本语句 3.4 函数 3.5 数组与指针,关系运算符 (6 个,运算结果:1=真; 0=假),优先级,运算符,结合,高 低,输出输入: = = = != 赋值: =,左到右 左到右 左到右 右到左,例:int i=4, j=5,

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

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

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