《C++程序设计 第2版 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 邓振杰 第2章 C++程序设计基础》由会员分享,可在线阅读,更多相关《C++程序设计 第2版 普通高等教育十一五 国家级规划教材 教学课件 ppt 作者 邓振杰 第2章 C++程序设计基础(61页珍藏版)》请在金锄头文库上搜索。
1、2.1 词法符号 2.2 基本数据类型 2.3 常量与变量 2.4 运算符和表达式 2.5 控制语句,第2章 C+程序设计基础,over,2.1.1 标识符 2.1.2 关键字 2.1.3 运算符 2.1.4 分隔符,2.1 词法符号,return,标识符是程序员为命名程序中的一些实体而定义的专用单词。常见的有函数名,类名、变量名、常量名、对象名等。C+语言中标识符的命名规则如下: 标识符是由英文字母(包括大写和小写)、数字和下划线组成,并且以字母和下划线开始,其后跟零个或多个字母、数字或下划线。标识符不可以数字开始。例如:Abc、X1、_x1、desk都是合法的标识符,而2A是非法的。 标识
2、符中大写和小写字母是有区别的。例如,A1和a1是两个不同的标识符。 标识符的长度是任意的,但有的编译系统仅识别前32个字符。 标识符不能和C+语言的关键字同名。,2.1.1 标识符,return,2.1.2 关键字,关键字是一种有特殊用途的词法符号,是C+系统预定义的保留字,不能再用作其他用途。下面列举一些C+语言中常用的关键字: auto break bool case char catch class Const continue default delete do double else Enum explicit export extern false float for friend
3、 goto if inline int long new Mutable name space operator private protected public register return short signed sizeof Static atruct switch this typedef true union unsigned typename void using virtual volatile while static_cast,return,运算符是C+语言实现各种运算的符号,如+、*、/ 等。运算符根据操作对象个数的不同,可以分为单目运算符、双目运算符和三目运算符。 单
4、目运算符又称一元运算符,它只对一个操作数进行操作。例如,求负运算符、逻辑求反运算符!等。 双目运算符又称二元运算符,它可以对两个操作数进行操作。例如,加法运算符+、乘法运算符*等。 三目运算符又称三元运算符,它可以对三个操作数进行操作。C+语言中只有一个三目运算符,就是条件运算符? :。,2.1.3 运算符,return,分隔符又称标点符号,是用来分隔单词或程序正文的,它可以表示某个程序实体的结束和另一个程序实体的开始。在C+语言中,常用的分隔符有以下几个: 空格符:常用来作为单词与单词之间的分隔符。 逗号:用来作为多个变量之间的分隔符,或用来作为函数多个参数之间的分隔符。 分号:用来作为fo
5、r循环语句中for关键字后面括号中三个表达式的分隔符,或用作语句结束的标志。 冒号:用来作为语句标号与语句之间的分隔符,或switch语句中关键字case与语句序列之间的分隔符。,2.1.4 分隔符,return,C+语言的数据类型是十分丰富的,大致可分为基本数据类型和非基本数据类型。基本数据类型包括整型、字符型、浮点型和布尔型。非基本数据类型主要包括数组类型、结构体类型、共用体类型、指针类型和空类型等,如图2-1所示。 数据类型决定了数据在内存中所占的空间大小,也确定了其表示范围。各种基本数据类型的长度和取值范围见表2-1。,2.2 基本数据类型,表2-1 C+基本数据类型的长度和取值范围,
6、return,2.3.1 常量 2.3.2 变量,2.3 常量与变量,return,1整型常量 整型常量即整型常数,只有整数部分而没有小数部分,可以用十进制、八进制和十六进制3种形式来表示。 十进制整型常量由09组成,没有前缀,不能以0开始。例如,234、-67为合法的十进制整型常量。 八进制整型常量以0为前缀,后跟由07组成的整型常数。例如,0134、-076为合法的八进制整型常量。 十六进制整型常量以0X或0x为前缀,后跟由09和AF组成的整型常数。例如,0x2F、0xA3B4为合法的十六进制整型常量。 注意:整型常量中的长整型用L或l作后缀表示。例如,324L、076L等;整型常量中的无
7、符号型用U或u作后缀表示。例如,431U、0x34DU等。,2.3.1 常量,2浮点型常量 浮点型常量又称实型常量,是由整数部分和小数部分组成的,只能用十进制表示。浮点型常量有两种表示方法:小数表示法和科学计数法。 小数表示法:是由符号、数字和小数点组成。例如,9.55、.25等。 科学计数法:是用指数形式来表示浮点型常量,即在小数表示法后 面加上E或e表示指数。例如,3.2E-5,7e10,-34.5e2等。 3字符常量 C+中有两种字符常量,即一般字符常量和转义字符常量。 一般字符常量 一般字符常量是用一对单引号括起来的一个字符,其值为ASCII码值。例如,a、A、$、5等都是合法的字符常
8、量。 在内存中,字符常量是以ASCII码存储的,以整数表示,占据一个字节。 注意:字符常量区分大小写,如a和A是两个不同的字符常量。一个 字符常量只能包含一个字符,如AB是错误的。单引号是字符常量的定 界符,在输出字符常量时不显示单引号。字符常量具有数值属性,因 为在ASCII码表中每个字符都对应着一个ASCII码值。,转义字符 转义字符是一个以“”开头的特定字符,表示其后的字符具有特殊意义。例如,n中的n不是代表字符n,而是代表回车换行的意思。常用的转义字符见表2-2。,表2-2 C+中常用的转义字符,4字符串常量 在C+语言中,字符串常量和字符常量是不同的。字符串常量是用一对双引号括起来的
9、字符序列。例如,“a“、“123“、“hello“等都是字符串常量。这些字符在内存中连续存储,并在最后加上字符0作为字符串结束的标志。 例如,字符串“HELLO”在内存中占连续6个内存单元,存放示意图如图2-2所示。 图2-2 字符串“HELLO“在内存中的存放示意图 字符常量是用单引号括起来的一个字符。它在内存中只占一个字节。所以,“x“和x是不同的。 注意:不能将一个字符串常量赋给字符常量。例如,语句char c=“abc“是错误的。 5逻辑常量 在C+程序设计中经常会用到两个逻辑值(也称布尔值)0和1,这两个值称为逻辑常量,逻辑常量常出现在各种表达式中参与各种运算。逻辑值“0”代表“假”
10、、“不成立”、“false”等,逻辑值“1”代表“真”、“成立”、“true”等。,6符号常量 在C+中,可以用一个标识符来表示一个常数,这个标识符就是符号常量。C+语言提供了两种定义符号常量的方法: 用const语句定义符号常量 一般格式为:const 数据类型 符号常量=表达式; 例如:const double pi = 3.1415926; 注意:在定义符号常量时必须进行初始化,否则将出现编译错误。 用#define语句定义符号常量 #define是预处理指令,缺点是不能显示声明常量的类型。其一般格 式为:#define 常量名 常量值 例如:#define pi 3.1415926 注
11、意: #define语句的最后不允许加分号“;”。 符号常量在声明时一定要赋初值,而在程序中间不能改变其值。,return,变量是指在程序运行过程中其值可以改变的量。变量是有名字的,在内存中占据一定的存储单元。C+语言中使用变量前,必须先对它的数据类型进行说明,以便编译程序为变量分配存储空间。 1变量的命名 变量的命名要遵循C+语言中标识符的命名规定: 系统使用的关键字不能再作为变量名。 第一个字符必须是字母或下划线,后跟字母、数字或下划线,中间不能有空格。 命名变量应尽量做到“见名知意”,这样有助于记忆,增加可读性。 在命名变量时,大小写字母是不一样的,习惯上用小写字母命名变量。 2变量的定
12、义 变量定义的一般格式为:数据类型 变量1,变量2,; 其中数据类型可以是前面讲过的各种数据类型,它决定了变量在内存中所占的存储单元数。 例如:int x,y,z; /定义了3个整型变量x、y、z float a,b,c; /定义了3个实型变量a、b、c,2.3.2 变量,3变量与初始化 在使用已定义的变量前,用赋值运算符“=”对它进行赋值,称为变量的初始化。格式为:数据类型 变量名=初始化值; 初始化值可以是一个常量,也可以是一个表达式。 例如:int x=10,y=20+a; 也可以先定义变量,后赋值。例如: int x1,y1; x1=10;y1=20; 在C+语言中,还有另外一种方式给
13、变量赋初值,例如: int i(1) /该语句定义了一个整型变量i,其初值为1 注意: 在一个语句中可以定义同一类型的多个变量;不能在一个语句中同时赋值多个变量。如:int a=b=c=5;是错误的。但可以分别赋值。 在同一个程序块中,不能有两个相同的变量名。 变量赋值时,等号左边的变量类型要和等号右边值的类型匹配。如果等号两边的类型不匹配,一种情况是系统自动进行隐式类型的转换;另一种情况就是出现错误,这种错误对程序来说是非常危险的。,return,表达式是由运算符和各种运算对象(常数、变量、常量等,也称操作数)组合而成。在C+程序中,表达式与我们在数学中学到的类似,是用于计算的式子,是计算求
14、值的基本单位。 C+语言定义了丰富的运算符。运算符给出计算的类型,而参与运算的数据叫操作数。按运算符的运算性质又可分为算术运算符、关系运算符和逻辑运算符等。 使用运算符时,要注意以下几点: 运算符的功能。如加、减、乘、除等。 与操作数的关系,注意操作数的个数和类型。 运算符的优先级别。 运算符的结合性。,2.4 运算符和表达式,表2-3 C+中常用运算符的优先级、功能和结合性,表2-3 C+中常用运算符的优先级、功能和结合性(续表),2.4.1 算术运算符与算术表达式 2.4.2 关系运算符与关系表达式 2.4.3 逻辑运算符与逻辑表达式 2.4.4 赋值运算符与赋值表达式 2.4.5 位运算
15、符 2.4.6 其他运算符 2.4.7 表达式中数据类型的转换,2.4 运算符和表达式,return,1基本算术运算符与算术表达式 基本算术运算符有:+(取正或加)、(取负或减)、*(乘)、(除)、%(取余)。其中+(取正)、(取负)是单目运算符,其余是双目运算符。上述运算符与其在数学中的意义、优先级、结合性基本相同,即先进行乘法、除法和求余运算,优先级相同,后执行加法和减法运算,优先级相同。 注意:要求取余运算符(%)的两个操作数必须是整数或字符型数据。 算术表达式是由算术运算符与操作数组成的,其表达式的值是一个数值,表达式的类型由运算符和操作数共同确定。,2.4.1 算术运算符与算术表达式,【例2.1】基本算术表达式的计算。 #include void main() int i=4,j=5,k=6; int x; x=i+j-k; cout“x=“xendl; /输出x=3 x=(i+j)*k/2; cout“x=“xendl; /输出x=27 x=25*4/2%k; cout“x=“xendl; /输出x=2 double y=2.5; cout“y=“y-(y+0.5)*2endl; /输出y= -3.5 ,运行程序后,输出结果为: x=3 x=27 x=2 y= -3.5,2增1、减1运算符及