c++课件第2章数据类型与表达式

上传人:E**** 文档编号:90579103 上传时间:2019-06-13 格式:PPT 页数:32 大小:312.50KB
返回 下载 相关 举报
c++课件第2章数据类型与表达式_第1页
第1页 / 共32页
c++课件第2章数据类型与表达式_第2页
第2页 / 共32页
c++课件第2章数据类型与表达式_第3页
第3页 / 共32页
c++课件第2章数据类型与表达式_第4页
第4页 / 共32页
c++课件第2章数据类型与表达式_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《c++课件第2章数据类型与表达式》由会员分享,可在线阅读,更多相关《c++课件第2章数据类型与表达式(32页珍藏版)》请在金锄头文库上搜索。

1、第2章 数据类型与表达式,2.1 基本数据类型 2.2 常量与变量 2.3 运算符与表达式 2.4 思考练习,2.1 基本数据类型,2.1.1 整型数据 除以上三种整型数据外,还有三种对应的无符号(unsigned)整型数据,用于保存正整数,取值范围也相应变化。编程时可根据用到数据的大小决定采用哪种数据类型存放数据。,第2章 数据类型与表达式,2.1 基本数据类型,2.1.2 实型数据,第2章 数据类型与表达式,2.1 基本数据类型,2.1.3 字符型数据 字符型数据(char)占1个字节。字符型数据也可以分为有符号字符型数据和无符号字符型数据,有符号字符型数据的取值范围为-128127(指字

2、符的ASCII码),无符号字符型数据的取值范围为0255。 2.1.4 bool型数据 bool型数据(bool)占1个字节。取值只有true(真)和false(假)。 sizeof运算符:用于获得指定数据类型或指定变量占用内存的字节数。 sizeof(数据类型或变量名),第2章 数据类型与表达式,例2.1 检测基本数据类型所占的字节数,#include void main() cout “int: “ sizeof(int) endl; cout “short: “ sizeof(short) endl; cout “long: “ sizeof(long) endl; cout “floa

3、t: “ sizeof(float) endl; cout “double: “ sizeof(double) endl; cout “long double: “ sizeof(long double) endl; cout “char: “ sizeof(char) endl; cout “bool: “ sizeof(bool) endl; ,第2章 数据类型与表达式,2.2 常量与变量,2.2.1 常量 常量:在程序运行中,其值不能被改变的量称为常量。常量又分为直接常量和符号常量两种。 1. 直接常量:直接使用数值或文字表示的值 (1)整型常量 如:10、-20、0 还可以八进制或十六

4、进制表示:如034、0x23 不带后缀的整型常量为 int 型,带后缀 L 或 l 可表示长整型常量,带后缀 U 或 u 表示无符号整型常量 (2)实型常量 如:2.18、-5.6、2.3E+2、-3.12E-2 不带后缀的实型常量为 double 型,带后缀 F 或 f 可表示单精度实型常量,第2章 数据类型与表达式,2.2 常量与变量,2.2.1 常量(续一) (3)字符型常量 以单引号括起来的单个字符:如a、3、* 转义字符:键盘不便于直接输入的字符,如回车符、制表符等,通常以 “ ” 开头 表2.3 转义字符,第2章 数据类型与表达式,例2.4 用转义字符输出字符,#include v

5、oid main() cout 101 n; cout x41 n; cout t t n; cout “ n; cout n; cout n; ,第2章 数据类型与表达式,程序执行结果为: A A t “ ,2.2 常量与变量,2.2.1 常量(续二) (4)bool型常量 bool常量只有两个:true(真)、false(假) 在内存中占有一个字节的存储空间 (5)字符串常量 由一对双引号括起来的若干字符,如“abc” 字符串常量的末尾自动加入结束标志 0,因此字符串在内存中占有的字节数为 字符个数+1 若字符串中包含特殊字符,如 、回车、制表符等,也应以他们对应的转义字符形式表示,第2章

6、 数据类型与表达式,2.2 常量与变量,2.2.1 常量(续三) 2. 符号常量:直接使用符号表示的常量值,包括宏定义和const定义的符号常量。 (1)宏定义 语法形式:#define 宏名 字符串 如: #define PI 3.14 程序编译前会自动用字符串取代程序中出现的宏名 (2)const定义 语法形式:const 类型说明符 常量名=常量值; 如: const float pi = 3.14 ; 宏定义在预编译时,只进行简单的替换,不做语法检查 宏定义没有数据类型,而const定义的符号常量是有数据类型的。,第2章 数据类型与表达式,2.2 常量与变量,2.2.2 变量 1. 变

7、量:程序运行中值可以被改变的量。变量必须先定义再使用。 (1)变量定义的一般形式 语法形式:数据类型 变量名1, 变量名2, , 变量名n; 如: int a, b, c; (2)变量的初始化 含义:定义变量的同时为其赋初值 两种形式:用赋值号(“=”) 或用括号 如: float a = 3.14 ; 或 float a(3.14);,第2章 数据类型与表达式,2.2 常量与变量,2.2.2 变量(续) 2. 标识符:程序中的变量名、数组名和函数名统称为标识符。 标识符的定义应遵循以下规则: (1)有效字符 标识符只能由数字、字母或下划线组成,以字母或下划线开头。 如: a, _str, c

8、1都是有效的,而1a, a?b, x+y都是无效的。 (2)区分大小写 C+中的大写字母和小写字母表示不同的标识符。 如: Pi 和 pi 是两个不同的标识符。 (3)C+的关键字不能用作标识符,第2章 数据类型与表达式,2.3 运算符与表达式,算术运算符 + - * / % 关系运算符 = = != 逻辑运算符 ! & | 位运算符 | & 自增自减运算符 + - 赋值运算符 = 及其扩展(+= -= *= /= %= 等) 条件运算符 ? : 指针运算符 * 和 & 逗号运算符 , 分量运算符 * - 函数调用运算符() 下标运算符 求字节运算符 sizeof 强制类型转换运算符:(typ

9、e),2.3 运算符与表达式,2.3.1 算术运算符与算术表达式 1. 五种基本算术运算符:+、-、*、/、%(求余) 注意:对于除号(“/”),若两个整数相除,结果仍为整数 求余运算符%,要求两个操作数必须为整型数据 2. 自增自减运算符:+、-(仅用于整型或字符型变量) 运算符前置:先将变量值增1(或减1),再使用变量的值 运算符后置:先使用该变量的值,再将变量值增1(或减1),第2章 数据类型与表达式,例1: int i=10, j; j = i+;,例2: int i=10, j; j = +i;,执行后: j =10 ,i = 11,执行后: j =11 ,i = 11,2.3 运算

10、符与表达式,2.3.1 算术运算符与算术表达式(续一) 3. 运算符的优先级与结合性: 优先级:运算符参与运算的先后顺序 结合性:当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。自左至右的结合方向,称为左结合。反之,称为右结合性。 在进行C+程序设计时,并不需要记住所有运算符的优先级和结合性,可以适当使用括号来显示指定运算的先后顺序,而且使用括号可以增加程序的可读性。,第2章 数据类型与表达式,2.3 运算符与表达式,2.3.1 算术运算符与算术表达式(续二) 4. 数据类型转换: (1)数据类型的自动转换 运算符两侧数据类型不同时会发生自

11、动类型转换,转换规则为 低类型转化为高类型 类型高低顺序: double, float, unsigned long, long, unsigned, int, short, char 高 低 (2)强制类型转换 将表达式的结果强制转换为类型说明符所指定的类型 语法形式:类型说明符(表达式) 或 (类型说明符)(表达式),第2章 数据类型与表达式,例2.7 强制类型转换的应用,#include void main() float s1,s2,a,h; a=4.0; h=5.0; s1 = 1/2*a*h; s2 = float (1)/2*a*h; cout s1 endl; cout s2

12、endl; ,第2章 数据类型与表达式,程序执行结果为: 0 10,整数相除,结果仍为整数。舍去小数后,此处结果为0,将1强制类型转换为实数,再和2相除,结果为实数0.5,2.3 运算符与表达式,2.3.2 赋值运算符与赋值表达式 1. 赋值运算:= 赋值表达式的一般形式: 变量 = 表达式 若表达式值的类型与变量类型不一致,会自动将表达式类型转换为变量类型后再赋值 2. 复合赋值运算:+=、-=、*=、/=、%=、=、&=、 |=、= 含义: 例: a += 10 等价于 a = a+10 a *= 10 等价于 a = a*10 a %= 10 等价于 a = a % 10,第2章 数据类

13、型与表达式,2.3 运算符与表达式,2.3.3 关系运算符与关系表达式 6个关系运算符:、=、=、!= 优先级高 优先级低 关系运算符优先级低于算术运算符、高于赋值运算符 注意区分“等于”运算符 “=” 与“赋值”运算符 “=” 关系表达式的结果类型为bool,值只能为 true 或 false 如: int a = 4, b = 10; a b, a=b, a=b, a!=b 的结果分别为:true, true, false, false, false, true,第2章 数据类型与表达式,2.3 运算符与表达式,2.3.4 逻辑运算符与逻辑表达式 3个逻辑运算符: | 、&、! 优先级:低

14、 高 逻辑表达式:用逻辑运算符连接进行逻辑运算的式子,逻辑表达式的结果类型为bool,值只能为 true 或 false 如: (a=60) & (a90) | (b85) / a大于90,或者b大于85,结果为true,条件成立 ! (a= =100) / a不等于100时,条件成立,第2章 数据类型与表达式,2.3 运算符与表达式,2.3.4 逻辑运算符与逻辑表达式(续) 逻辑运算符的运算规则 逻辑与&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。 逻辑或 | :当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。 逻辑非! :当运算量的值为“真”时

15、,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。,第2章 数据类型与表达式,2.3 运算符与表达式,2.3.5 条件运算符 条件运算符: ?: 条件表达式:表达式1 ? 表达式2 : 表达式3 运算规则:如果“表达式1”的值为真(非0),则整个表达式的值等于表达式2的值,否则,整个表达式的值等于表达式3的值。 如: ab ? a : b / 如ab,结果为a,否则为b,可求两数中较大者 ab ? a : b / 如ab,结果为a,否则为b,可求两数中较小者,第2章 数据类型与表达式,2.3 运算符与表达式,2.3.6 sizeof运算符 sizeof运算符用于计算指定数据类型或指定变量占用内存的字节数 用法: sizeof(数据类型) 或 sizeof(表达式) 如: sizeof ( int ) / 结果为4 sizeof ( 3.3 +20 ) / 结果为8,第2章 数据类型与表达式,2.3 运算符与表达式,2.3.7 位运算符 C+使用位运算符可以对数据按二进制位进行操作。 1. 按位与(&):将两个操作数对应的每一位分别进行逻辑与 如:9&7 9: 00001001 7: 00000111 9&7: 00000001 9&7结果为1 2. 按位或(|) :将两个操作数对应的每一位分别进行逻辑或 3. 按

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

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

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