清华C++语言程序设计:第02章数据类型、运算符与表达式.ppt_第1页
清华C++语言程序设计:第02章数据类型、运算符与表达式.ppt_第2页
清华C++语言程序设计:第02章数据类型、运算符与表达式.ppt_第3页
清华C++语言程序设计:第02章数据类型、运算符与表达式.ppt_第4页
清华C++语言程序设计:第02章数据类型、运算符与表达式.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 数据类型、运算符与表达式,2,讲授内容,C+语言的基本元素、字符集和关键字 基本的数据类型的表示方法 常量和变量 类型转换 各种运算符与表达式,3,2.1 C+的字符集和关键字(1/2),字符集 由52个字母、10个数字、27个特殊字符组成 所有C+程序(忽略换行符和字符串常量中的内容)都由字符集中的字符按一定规则构成,4,2.1 C+的字符集和关键字(2/2),C+标识符是满足如下条件的一串字符 由字母(az,AZ)或下划线(_)开头; 其它部分可以由字母、下划线或数字(09)组成; 只有前32个字符有效; C+的63个关键字也是标识符,但不能作其它用(保留字),5,2.2 基本数据类型(1/5),C+程序中的每个数据对象(如2、x1、x1+2)都有确定的数据类型 C+的数据类型包括基本数据类型和复合数据类型 基本数据类型有 整型、浮点型、字符型、布尔型 不同数据类型有自己的取值范围和所允许的操作,6,2.2 基本数据类型(2/5),整型 signed short int (简写为 short ) signed int (简写为 int ) signed long int (简写为 long ) unsigned short int (简写为 unsigned short) unsigned int (简写为 unsigned ) unsigned long int (简写为 unsigned long),7,2.2 基本数据类型(3/5),浮点型 float (浮点型) double (双精度型) long double (长双精度型) 均有符号 不允许的操作:取余、位运算等,8,2.2 基本数据类型(4/5),字符型 char signed char unsigned char 实质是占一个字节的整型数(小整数) 允许的操作:和整型相同,9,2.2 基本数据类型(5/5),布尔型 bool 值为true和false 可以当作整数用(true一般为1,false为0) 把其它类型的值转换为布尔值时,非零值转换为true,零值转换为false,10,2.3 变量与常量(1/9),函数体 说明语句 类型名、变量、常量表达式 执行语句 表达式 变量、常量、运算符,11,2.3 变量与常量(2/9),扩充的巴克斯范式 表示语法(全书统一,不涉及语义) 1|2|3|4|5|6|7|8|9 0|1|2|3|4|5|6|7 0|1|2|3|4|5|6|7|8|9| a|b|c|d|e|f|A|B|C|D|E|F | u|U l|L 0,12,2.3 变量与常量(3/9),扩充的巴克斯范式 | | 0| 0 0x | 0X 0|1|2|3|4|5|6|7|8|9,13,2.3 变量与常量(4/9),扩充的巴克斯范式 | .|. e | E + | f|l|F|L,14,2.3 变量与常量(5/9),扩充的巴克斯范式 字符集中除单引号、反斜线外的任意字符 | | |“|?|a|b|f|n| r|t|v | | x,15,2.3 变量与常量(6/9),扩充的巴克斯范式 “” 字符集中除双引号“、反斜线外的任意字符 | 其它可显示字符 | ,16,2.3 变量与常量(7/9),变量 四要素: 变量名、类型、存储空间、值 必须先声明后使用,一般声明形式为: auto|register|static|extern ,17,2.3 变量与常量(8/9),符号常量 符号常量是经过定义的代表常量的标识符 C+定义符号常量的格式如下: #define #define是C+的预处理指令,说明程序中的都代表了。,18,2.3 变量与常量(9/9),例子: #define PRICE 30 #include main() int num, total; num=10; total=num* PRICE; cout“total= “totalendl; return 0; ,19,2.4 类型转换(1/4),举例 (int)3.14 将3.14转换成整数3 (double)3 将3转换成双精度浮点数3.0 double(3) 将3转换成双精度浮点数3.0,20,2.4 类型转换(2/4),提升规则 将数值转换成较低的类型,如从float到int 必须显式地使用类型转换,如(int)3.14; 将数值转换成较高的类型 可以通过隐式的类型转换,如3.14+2,21,2.4 类型转换(3/4),隐式类型转换 表达式中运算符的操作数类型与要求不符时,要进行隐式类型转换,使之符合要求 隐式类型转换规则: (1)表达式中如有char、short和enum类型的数据时,自动将它们转换成int类型 (2)把表达式中不同类型的数据转换成精度最高、占用内存最多的那个数据的类型 在赋值表达式中,自动将赋值运算符右边表达式的值的类型转换成左边变量的类型,22,2.4 类型转换(4/4),强制类型转换(显式类型转换) 形式为: () 或 () 例如: (double)3/2 或 double(3)/2 (double)(3/2)或 double(3/2),23,2.5 运算符和表达式(1/11),运算符的优先级和结合性 运算符包括: 算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符 根据组成表达式的运算符的不同,表达式可以分为算术表达式、关系表达式、逻辑表达式、位运算表达式、逗号表达式和赋值表达式,24,2.5 运算符和表达式(2/11),算术运算之一:一元算术运算 + 正,运算结果同操作数 - 负,运算结果为操作数的负数 + 自增运算符;操作数的位置? - 自减运算符,25,2.5 运算符和表达式(3/11),算术运算之一:基本算术运算(二元) + 加法,运算结果为两个操作数的和 - 减法,运算结果为左操作数减去右操作数的差 * 乘法,运算结果为两个操作数的乘积 / 除法,运算结果为左操作数除以右操作数的商 求余,运算结果为左操作数除以右操作数的余数,只用于整型数据,其结果也是整型,26,2.5 运算符和表达式(4/11),算术运算之一:基本算术运算 两个整数作/运算,其结果为整数 具体结果依赖于具体机器,一般为直接截去小数部分 两个整数求余 如果两数都是正数,结果为正 否则结果与左操作数的符号一致(Microsoft C+),27,2.5 运算符和表达式(5/11),算术表达式 | | + | - | + | + | - | - | | () ,28,2.5 运算符和表达式(6/11),关系运算 |=|=|!=,29,2.5 运算符和表达式(7/11),逻辑运算 | | | & | | | ! | () !、|、 & 的优先级和结合性 逻辑表达式的“短路计算法” (慎用自增、自减),30,2.5 运算符和表达式(8/11),位运算 | & | | | | | 操作数只能是整型或字符型数据,结果亦然 符号位参加运算 向右移位运算,但左操作数是负数时,高位填0或1,31,2.5 运算符和表达式(9/11),逗号运算 , 二元运算,左结合 先左后右计算表达式的值,取右表达式的值为运算结果 逗号的左、右表达式作为逗号运算符的操作数,类型可以不同,32,2.5 运算符和表达式(10/11),赋值运算 = | *= | /= | %= | += | = | = | 可以是由标识符表示的变量,也可以是数组元素或指针指向的存储空间(“左值性质”) 赋值运算可用于变量初始化,运算符右边的表达式需编译时可计算,33,2.5 运算符和表达式(11/11),条件运算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论