复件1基本数据与表达式.ppt

上传人:本田雅阁 文档编号:3130580 上传时间:2019-07-14 格式:PPT 页数:408 大小:3.83MB
返回 下载 相关 举报
复件1基本数据与表达式.ppt_第1页
第1页 / 共408页
复件1基本数据与表达式.ppt_第2页
第2页 / 共408页
复件1基本数据与表达式.ppt_第3页
第3页 / 共408页
复件1基本数据与表达式.ppt_第4页
第4页 / 共408页
复件1基本数据与表达式.ppt_第5页
第5页 / 共408页
点击查看更多>>
资源描述

《复件1基本数据与表达式.ppt》由会员分享,可在线阅读,更多相关《复件1基本数据与表达式.ppt(408页珍藏版)》请在三一文库上搜索。

1、第1章 基本数据与表达式,1.1 概述,1.2 C+的字符集与词汇,1.3 C+的基本数据类型与存储形式,1.4 数据对象与访问,1.5 表达式,1.6 数据输入和输出,小结,程序设计语言 人指挥计算机工作的工具,是由字、词和语法规则构成的指令系统,程序设计 根据特定的问题,使用某种程序设计语言,设计出计算机执行的指令序列主要完成两方面工作: 数据描述 (2) 数据处理,1.1.1 程序设计与程序设计语言,1.1 概述,问题:输入圆的半径,求圆的周长和面积,数据描述: 半径,周长,面积均用实型数表示 数据处理: 输入半径 r; 计算周长 = 2*r ; 计算面积 = * r2 ; 输出半径,周

2、长,面积;,1.1.2 一个简单的C+程序,1.1 概述,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,例

3、1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,数据描述,例1-1 方法一,用结构化方法编程,求圆的周长和面积

4、,/ count the girth and area of circle #include void main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,数据处理,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and ar

5、ea of circle #include void main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,输入数据,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include voi

6、d main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,计算周长和面积,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, gi

7、rth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,输出计算结果,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const doubl

8、e PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,注释行,例1-1 方法一,用结构化方法编程,求圆的周长和面积,#include void main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r

9、 ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,/ count the girth and area of circle,/ this is a simple program,注释 第一种形式: 以 ” / ” 开始至行末,例1-1 方法一,用结构化方法编程,求圆的周长和面积,#include void main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI *

10、r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,/* this is a simple program count the girth and area of circle */,注释 第一种形式: 以 ” / ” 开始至行末,第二种形式: /* 字符串 */,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main ()

11、double r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,预编译指令 在程序编译之前把指定文件内容复制到此处,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () doub

12、le r, girth, area ; const double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,函数头,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const

13、double PI = 3.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,函数返回值类型 void 空类型,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double PI = 3

14、.1415 ; cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,函数名 main 主函数名,系统预定义,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double PI = 3.1415 ; co

15、ut r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,参数表 没有参数不能省略圆括号,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double PI = 3.1415 ; cout r ; girth =

16、 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,函数体 花括号相括的语句序列 各语句以分号结束 一行可以写多个语句 一个语句可以分多行书写,例1-1 方法一,用结构化方法编程,求圆的周长和面积,/ count the girth and area of circle #include void main () double r, girth, area ; const double PI = 3.1415 ;

17、cout r ; girth = 2 * PI * r ; area = PI * r * r ; cout “radius = “ r endl ; cout “girth = “ girth endl ; cout “area = “ area endl ; ,函数是程序基本运行单位,一般形式为: 类型 函数名 ( 参数表 ) 语句序列 ,例1-2 用面向对象方法编程,求圆的周长和面积,分析,“圆”是抽象的类类型,建立具体的圆(对象),半径?,圆的周长 ? 面积 ?,实例化,例1-2 用面向对象方法编程,求圆的周长和面积,分析,圆类 数据成员 半径 成员函数 置半径值 求圆的半径 求周长

18、求面积,实例化,例1-2 用面向对象方法编程,求圆的周长和面积,#include class Circle double radius ; public : void Set_Radius( double r ) radius = r ; double Get_Radius() return radius ; double Get_Girth() return 2 * 3.14f * radius ; double Get_Area() return 3.14f * radius * radius ; ; void main() Circle A, B ; A.Set_Radius( 6.23

19、 ) ; cout “A.Radius = “ A.Get_Radius() endl ; cout “A.Girth = “ A.Get_Girth() endl ; cout “A.Area = “ A.Get_Area() endl ; B.Set_Radius( 10.5 ) ; cout “B.radius = “ B.Get_Radius() endl ; cout “B.Girth=“ B.Get_Girth() endl ; cout “B.Area = “ B.Get_Area() endl ; ,例1-2 用面向对象方法编程,求圆的周长和面积,#include class

20、Circle double radius ; public : void Set_Radius( double r ) radius = r ; double Get_Radius() return radius ; double Get_Girth() return 2 * 3.14 * radius ; double Get_Area() return 3.14 * radius * radius ; ; void main() Circle A, B ; A.Set_Radius( 6.23 ) ; cout “A.Radius = “ A.Get_Radius() endl ; cou

21、t “A.Girth = “ A.Get_Girth() endl ; cout “A.Area = “ A.Get_Area() endl ; B.Set_Radius( 10.5 ) ; cout “B.radius = “ B.Get_Radius() endl ; cout “B.Girth=“ B.Get_Girth() endl ; cout “B.Area = “ B.Get_Area() endl ; ,Circle 类定义,例1-2 用面向对象方法编程,求圆的周长和面积,#include class Circle double radius ; public : void S

22、et_Radius( double r ) radius = r ; double Get_Radius() return radius ; double Get_Girth() return 2 * 3.14 * radius ; double Get_Area() return 3.14 * radius * radius ; ; void main() Circle A, B ; A.Set_Radius( 6.23 ) ; cout “A.Radius = “ A.Get_Radius() endl ; cout “A.Girth = “ A.Get_Girth() endl ; co

23、ut “A.Area = “ A.Get_Area() endl ; B.Set_Radius( 10.5 ) ; cout “B.radius = “ B.Get_Radius() endl ; cout “B.Girth=“ B.Get_Girth() endl ; cout “B.Area = “ B.Get_Area() endl ; ,数据成员,例1-2 用面向对象方法编程,求圆的周长和面积,#include class Circle double radius ; public : void Set_Radius( double r ) radius = r ; double Ge

24、t_Radius() return radius ; double Get_Girth() return 2 * 3.14 * radius ; double Get_Area() return 3.14 * radius * radius ; ; void main() Circle A, B ; A.Set_Radius( 6.23 ) ; cout “A.Radius = “ A.Get_Radius() endl ; cout “A.Girth = “ A.Get_Girth() endl ; cout “A.Area = “ A.Get_Area() endl ; B.Set_Rad

25、ius( 10.5 ) ; cout “B.radius = “ B.Get_Radius() endl ; cout “B.Girth=“ B.Get_Girth() endl ; cout “B.Area = “ B.Get_Area() endl ; ,成员函数,例1-2 用面向对象方法编程,求圆的周长和面积,#include class Circle double radius ; public : void Set_Radius( double r ) radius = r ; double Get_Radius() return radius ; double Get_Girth(

26、) return 2 * 3.14 * radius ; double Get_Area() return 3.14 * radius * radius ; ; void main() Circle A, B ; A.Set_Radius( 6.23 ) ; cout “A.Radius = “ A.Get_Radius() endl ; cout “A.Girth = “ A.Get_Girth() endl ; cout “A.Area = “ A.Get_Area() endl ; B.Set_Radius( 10.5 ) ; cout “B.radius = “ B.Get_Radiu

27、s() endl ; cout “B.Girth=“ B.Get_Girth() endl ; cout “B.Area = “ B.Get_Area() endl ; ,建立对象 (类类型变量),例1-2 用面向对象方法编程,求圆的周长和面积,#include class Circle double radius ; public : void Set_Radius( double r ) radius = r ; double Get_Radius() return radius ; double Get_Girth() return 2 * 3.14 * radius ; double

28、Get_Area() return 3.14 * radius * radius ; ; void main() Circle A, B ; A.Set_Radius( 6.23 ) ; cout “A.Radius = “ A.Get_Radius() endl ; cout “A.Girth = “ A.Get_Girth() endl ; cout “A.Area = “ A.Get_Area() endl ; B.Set_Radius( 10.5 ) ; cout “B.radius = “ B.Get_Radius() endl ; cout “B.Girth=“ B.Get_Gir

29、th() endl ; cout “B.Area = “ B.Get_Area() endl ; ,通过对象 调用类的成员函数,编辑程序,在VC集成开发环境 选择新建文件命令,1.1.3 程序的编译执行,编辑程序,在弹出对话框 选择文件类型,1.1.3 程序的编译执行,编辑程序,输入源程序文件名,1.1.3 程序的编译执行,编辑程序,在编辑窗口 输入源程序,1.1.3 程序的编译执行,编辑程序,编译程序,选择 编译命令,1.1.3 程序的编译执行,用热键 选择编译命令,编辑程序,编译程序,1.1.3 程序的编译执行,1.1.3 程序的编译执行,执行程序,编辑程序,编译程序,1.1.3 程序的编

30、译执行,选择 执行命令,1.1.3 程序的编译执行,执行程序,编辑程序,编译程序,热键 选择执行命令,1.1.3 程序的编译执行,执行程序,编辑程序,编译程序,1.1.3 程序的编译执行,1.1.3 程序的编译执行,等待输入数据,执行程序,编辑程序,编译程序,1.1.3 程序的编译执行,运行结果,所有的语言系统都是由字符集和规则集组成的 “字符”是语言的不可分解的最基本语法单位 由字符可以组成“词”,由词组成“表达式”、“句子”,又由各种句子构成“函数”、“程序”,1.2 C+的字符集与词汇,C+语言的字符集是ASCII码的子集,有: 26个小写字母: a b c d e f g h i j

31、k l m n o p q r s t u v w x y z 26个大写字母: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 10个数字: 0 1 2 3 4 5 6 7 8 9 其他符号: 空格 ! # % ? _ | .,1.2 C+的字符集与词汇,单词是语言中有意义的最小语法单位。根据形成规则,一个单词由一个或多个字符组成。,1.2 C+的字符集与词汇,1关键字 又称保留字 关键字是系统预定义的单词。C+不允许对关键字重定义。,1.2 C+的字符集与词汇,C+常用的关键字: auto break case char class

32、const continue default delete else enum explicit extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch this typedef union unsigned virtual void while,2标识符 由程序员定义的命名符,1.2 C+的字符集与词汇,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,注

33、意:,break main int 等 不能用于命名程序中的自定义 函数、变量、常量,(1) 不能使用关键字作用户标识符;,(2) C+中,字母大小写敏感;,(3) C+没有规定标识符的长度,不同编译系统有不同的识别长度;,(4) 标识符尽可能做到见文知义。,Aa 和 aa 是两个不同的标识符,2标识符 由程序员定义的命名符,1.2 C+的字符集与词汇,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,例1-3 判断以下标识符的正确性:,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程

34、序员定义的命名符,1.2 C+的字符集与词汇,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,例1-3 判断以下标识符的正确性:,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程序员定义的命名符,1.2 C+的字符集与词汇,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,例1-3 判断以下标识符的正确性:,以数字开头,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程序员定义

35、的命名符,1.2 C+的字符集与词汇,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,例1-3 判断以下标识符的正确性:,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,2标识符 由程序员定义的命名符,1.2 C+的字符集与词汇,语法:以字母或下划线开始,由字母、数字和下划线组成的符号串,例1-3 判断以下标识符的正确性:,关键字,合法标识符有: a x1 no_1 _a2c sum Name name 不合法标识符有: 2a x+y a,b a&b const,3运算符 运算符是对数据进行操作的

36、简洁表达,以单词的形式调用系统预定义函数,1.2 C+的字符集与词汇,例如: + 加 - 减 * 乘 / 除 大于 = 大于或等于 = 等于 != 不等于 = 小于或等于,4分隔符 用于在程序分隔不同的语法单位,便于编译系统的识别,1.2 C+的字符集与词汇,常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等, 有些单词,例如运算符,也起到分隔符的作用,例如: int a, b, c ; a=b+c ;,必须用 空格作分隔符,4分隔符 用于在程序分隔不同的语法单位,便于编译系统的识别,1.2 C+的字符集与词汇,常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等, 有些单词,例如运算符

37、,也起到分隔符的作用,例如: int a, b, c ; a=b+c ;,5常数,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,例如: 500 3.14159 0.263e-10 N,1.2 C+的字符集与词汇,例如: 500 3.14159 0.263e-10 N,整数,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,5常数,1.2 C+的字符集与词汇,例如: 500 3.14159 0.263e-10 N,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,5常

38、数,1.2 C+的字符集与词汇,例如: 500 3.14159 0.263e-10 N,字符,常数由数据的书写形式定义它的类型和值 基本类型常数在程序运行时直接参与运算,不占用内存存储,5常数,1.2 C+的字符集与词汇,“类型”是对数据的抽象 类型相同的数据有相同的表示形式、存储格式以及相关的操作 程序中使用的所有数据都必定属于某一种数据类型,1.3 C+的基本数据类型与存储形式,1.3.1 C+的数据类型,1.3.2 数据存储,一个二进制位 ( bit ),存储阵列,一个二进制位 ( bit ),存储阵列,1.3.2 数据存储,一个二进制位 ( bit ),存储阵列,1.3.2 数据存储,

39、8位一个字节 ( byte ),存储阵列,1.3.2 数据存储,8位一个字节 ( byte ),存储阵列,1.3.2 数据存储,16位一个字 ( word ),存储阵列,1.3.2 数据存储,32位一个字 ( word ),存储阵列,1.3.2 数据存储,空字符 ,存储阵列,1.3.2 数据存储,字符A ,存储阵列,1.3.2 数据存储,整型值65 ,存储阵列,1.3.2 数据存储,1.3.3 基本类型,常用数据类型描述,1整型,十进制 ( Decimal , base 10 ),示数形式,+ | - Digits L | l ,1整型,十进制 ( Decimal , base 10 ),+

40、| - Digits L | l ,09 数字串 第一个数字必须非0,1整型,示数形式,+ | - Digits L | l ,可选 L or l 指定 long int,十进制 ( Decimal , base 10 ),1整型,示数形式,例如: 23 -45 101 +55 23L -45L 101L +55L,+ | - Digits L | l ,十进制 ( Decimal , base 10 ),1整型,示数形式,八进制 ( Octal, base 8 ),OctalDigits L | l ,1整型,示数形式,OctalDigits L | l ,07 数字串 必须以数字 0 为前

41、缀,八进制 ( Octal, base 8 ),1整型,示数形式,OctalDigits L | l ,例如: 023 0771 045 010,八进制 ( Octal, base 8 ),1整型,示数形式,OctalDigits L | l ,例如: 023 0771 045 010,八进制 ( Octal, base 8 ),1整型,示数形式,281380 = 19,OctalDigits L | l ,例如: 023 0771 045 010,八进制 ( Octal, base 8 ),1整型,示数形式,782 781180 = 505,OctalDigits L | l ,例如: 02

42、3 0771 045 010,八进制 ( Octal, base 8 ),1整型,示数形式,481580 = 37,OctalDigits L | l ,例如: 023 0771 045 010,八进制 ( Octal, base 8 ),1整型,示数形式,181080 = 8,十六进制 ( Hexadecimal, base 16 ),( 0x | 0X ) HexDigits L | l ,1整型,示数形式,以 0x 或 0X 为前缀,( 0x | 0X ) HexDigits L | l ,十六进制 ( Hexadecimal, base 16 ),1整型,示数形式,十六进制数字串 可以

43、为 09, af ( 或 AF ),( 0x | 0X ) HexDigits L | l ,十六进制 ( Hexadecimal, base 16 ),1整型,示数形式,( 0x | 0X ) HexDigits L | l ,例如: 0x2a 0x45 0xffL 0xA1e,十六进制 ( Hexadecimal, base 16 ),1整型,示数形式,( 0x | 0X ) HexDigits L | l ,例如: 0x2a 0x45 0xffL 0xA1e,十六进制 ( Hexadecimal, base 16 ),1整型,示数形式,216110160 = 42,( 0x | 0X )

44、 HexDigits L | l ,例如: 0x2a 0x45 0xffL 0xA1e,十六进制 ( Hexadecimal, base 16 ),1整型,示数形式,41615160 = 69,( 0x | 0X ) HexDigits L | l ,例如: 0x2a 0x45 0xffL 0xA1e,十六进制 ( Hexadecimal, base 16 ),1整型,示数形式,1516115160 = 255,( 0x | 0X ) HexDigits L | l ,例如: 0x2a 0x45 0xffL 0xA1e,十六进制 ( Hexadecimal, base 16 ),1整型,示数形

45、式,10162 116114160 = 2590,float 4 字节 单精度浮点型 double 8 字节 双精度浮点型 long double 16 字节 长双精度浮点型,2浮点型,常用示数方式, + | - Digits. Digits F | f | L | l ,2浮点型, + | - Digits. Digits F | f | L | l ,常用示数方式,2浮点型, + | - Digits. Digits F | f | L | l ,只允许省略 其中一个数字串,常用示数方式,2浮点型, + | - Digits. Digits F | f | L | l ,可选的类型说明符,

46、常用示数方式,2浮点型, + | - Digits. Digits F | f | L | l ,例如: -2.34 3.1416 29.00 .23 0.23,常用示数方式,2浮点型,科学示数方式, + | - Digits. Digits Exponent F | f | L | l ,2浮点型, + | - Digits. Digits Exponent F | f | L | l ,科学示数方式,2浮点型, + | - Digits. Digits Exponent F | f | L | l ,有指数部分时 不能省略尾数部分,科学示数方式,2浮点型, + | - Digits. Di

47、gits Exponent F | f | L | l ,可选择的指数部分,科学示数方式,2浮点型, + | - Digits. Digits Exponent F | f | L | l ,指数部分的表示形式,( e | E ) + | - Digits,科学示数方式,2浮点型, + | - Digits. Digits Exponent F | f | L | l ,( e | E ) + | - Digits,以字母 e 或 E 开始,指数部分的表示形式,科学示数方式,2浮点型, + | - Digits. Digits Exponent F | f | L | l ,( e | E ) + | - Digits,可选符号,指数部分的表示形式,科学示数方式,2浮点型, + | - Digits. Digits Exponent F | f | L | l ,( e | E ) + | - Digit

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1