第2章数据类型与表达式精选PPT.ppt
《第2章数据类型与表达式精选PPT.ppt》由会员分享,可在线阅读,更多相关《第2章数据类型与表达式精选PPT.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章数据类型与表章数据类型与表达式达式第1页,此课件共30页哦常量常量n整型常量:整型常量:int,short int,long int;unsigned int,unsigned short,unsigned long(区分数值常量以进行赋值区分数值常量以进行赋值或函数的参数虚实结合或函数的参数虚实结合)n整型常量表示:十进制整数整型常量表示:十进制整数(1357,421L),八进制整数,八进制整数(020),十六进制整数,十六进制整数(0X20)n浮点数表示:十进制小数浮点数表示:十进制小数(21.456,-7.98,1234F,-43f)指数形式指数形式(0.314159e1,3.1
2、4159e0,31.4159e-1)第2页,此课件共30页哦常量常量n普通的字符常量:普通的字符常量:单撇号括起来的一个字符单撇号括起来的一个字符a,#,D 字符常量只能包括一个字符字符常量只能包括一个字符 字符常量区分大小写字母字符常量区分大小写字母 撇号撇号()是定界符,而不属于字符常量的一部分。是定界符,而不属于字符常量的一部分。n转义字符常量:转义字符常量:以以“”开头的特殊字符开头的特殊字符n字符数据在内存中的存储形式:字符数据在内存中的存储形式:在存储单元中存放该字符相应的在存储单元中存放该字符相应的ASCII代码;在代码;在C+中中字符型数据和整型数据之间就可以通用字符型数据和整
3、型数据之间就可以通用。第3页,此课件共30页哦常量常量n字符串常量:字符串常量:用双撇号括起来的部分用双撇号括起来的部分abc,Hello!字符串结束标志字符串结束标志0 字符串常量要用字符数组来存放字符串常量要用字符数组来存放char c;/定义一个字符变量定义一个字符变量c=a;/正确正确c=a;/错误,错误,c只能容纳一个字符只能容纳一个字符coutabcnendl;输出:输出:abc,然后换行。,然后换行。coutI say Thank you!n;输出:输出:I say Thank you!coutWe must study C +hard!;则输出则输出:We must study
4、 C+hard!n符号常量:一个符号名代表一个常量,称为符号常量,即以标识符形式出符号常量:一个符号名代表一个常量,称为符号常量,即以标识符形式出现的常量。(预处理命令现的常量。(预处理命令#define)第4页,此课件共30页哦变量变量n在程序运行期间其值可以改变的量称为变量。在程序运行期间其值可以改变的量称为变量。n变量的名字必须遵循标识符的命名规则。变量的名字必须遵循标识符的命名规则。C+规定标识符只能由规定标识符只能由字母、数字和下划线字母、数字和下划线3种字符组成,且种字符组成,且第一第一个字符必须为字母或下划线个字符必须为字母或下划线。合法的变量名:合法的变量名:sum,avera
5、ge,Student_name,tan,BASIC不合法的标识符和变量名:不合法的标识符和变量名:M.D.John,$123,#33,3G64,Ling li,C+,Zhang-ling,U.S.A.大写字母和小写字母被认为是两个不同的字符。大写字母和小写字母被认为是两个不同的字符。变量名不能与变量名不能与C+的关键字、系统函数名和类名相同。的关键字、系统函数名和类名相同。第5页,此课件共30页哦变量变量n变量定义:变量类型变量定义:变量类型 变量名表列;变量名表列;(float a=83.5,b,c,d=81.2;)nC+要求对变量作强制定义:要求对变量作强制定义:(1)凡未被事先定义的,不
6、作为变量名,这就能保证程序中变量凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确。名使用得正确。(2)每一个变量被指定为一确定类型,在编译时就能为其分配相应的存每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。储单元。(3)指定每一变量属于一个特定的类型,这就便于在编译时,据此检指定每一变量属于一个特定的类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。查该变量所进行的运算是否合法。n为变量赋初值:为变量赋初值:在定义变量时对它赋予一个初值,称为变量初始化。在定义变量时对它赋予一个初值,称为变量初始化。float a,b=5.78*3.5,c=2*si
7、n(2.0);couta b cendl;输出结果可能为输出结果可能为1.48544e-38 15 1.81858多个变量赋予同一初值,必须分别指定:多个变量赋予同一初值,必须分别指定:float a=b=c=4.5;第6页,此课件共30页哦常变量常变量n常变量常变量(constant variable):在定义变量时,如果加上关键字:在定义变量时,如果加上关键字const,则,则变量的值在程序运行期间不能改变变量的值在程序运行期间不能改变 const int a=3;const int b=3+6,c=3*cos(1.5);n定义常变量时必须同时对它初始化定义常变量时必须同时对它初始化(即指
8、定其值即指定其值),此后它的值不能,此后它的值不能再改变再改变 const int a;a=3;/常变量不能被赋值常变量不能被赋值n符号常量只是用一个符号代替一个字符串,在预编译时把所有符号常量替换符号常量只是用一个符号代替一个字符串,在预编译时把所有符号常量替换为所指定的字符串,它没有类型,在内存中并不存在以符号常量命名的存储为所指定的字符串,它没有类型,在内存中并不存在以符号常量命名的存储单元。单元。n常变量具有变量的特征,它具有类型,在内存中存在着以它命名的存储单常变量具有变量的特征,它具有类型,在内存中存在着以它命名的存储单元,可以用元,可以用sizeof运算符测出其长度。与一般变量惟
9、一的不同是指定变量运算符测出其长度。与一般变量惟一的不同是指定变量的值不能改变。的值不能改变。第7页,此课件共30页哦C+的运算符的运算符(1)算术运算符算术运算符 +(加加)-(减减)*(乘乘)/(除除)%(整除求余整除求余)+(自加自加)-(自减自减)(2)关系运算符关系运算符(大于大于)(小于小于)(等于等于)(大于或等于大于或等于)(小于或等于小于或等于)!(不等于不等于)(3)逻辑运算符逻辑运算符 (逻辑与逻辑与)|(逻辑或逻辑或)!(逻辑非逻辑非)(4)位运算符位运算符(按位右移按位右移)(按位与按位与)|(按位或按位或)(按位异或按位异或)(按位取反按位取反)(5)赋值运算符赋值
10、运算符(及其扩展赋值运算符及其扩展赋值运算符)(6)条件运算符条件运算符(?:)(7)逗号运算符逗号运算符(,)(8)指针运算符指针运算符(*)(9)引用运算符和地址运算符引用运算符和地址运算符()(10)求字节数运算符()求字节数运算符()(11)强制类型转换运算符(强制类型转换运算符((类型类型)或类型或类型())(12)成员运算符成员运算符(.)(13)指向成员的运算符指向成员的运算符(-)(14)下标运算符下标运算符()(15)其他其他(如函数调用运算符()(如函数调用运算符()第8页,此课件共30页哦算术运算符与算术表达式算术运算符与算术表达式n基本的算术运算符:基本的算术运算符:(
11、加法运算符,或正值运算符。如(加法运算符,或正值运算符。如3+5,+3)(减法运算符,或负值运算符。如(减法运算符,或负值运算符。如5-2,-3)*(乘法运算符。如(乘法运算符。如3*5)(除法运算符。如(除法运算符。如5/3)(模运算符,两侧均应为整型数据,如的值为)。(模运算符,两侧均应为整型数据,如的值为)。参加参加+,-,*,/运算的两个数中有一个数为运算的两个数中有一个数为float型数据,则运算型数据,则运算的结果是的结果是double型。型。n优先级与结合性优先级与结合性 用算术运算符和括号将运算对象(也称操作数)连接起来的、用算术运算符和括号将运算对象(也称操作数)连接起来的、
12、符合符合C+语法规则的式子,称语法规则的式子,称C+算术表达式。算术表达式。(1)在求解表达式时,先按运算符的优先级别高低次序执行;在求解表达式时,先按运算符的优先级别高低次序执行;(2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向结合方向”处理。处理。“自左至右的结合方向自左至右的结合方向”称称“左结合性左结合性”,“自右至自右至左的结合方向左的结合方向”称右结合性称右结合性第9页,此课件共30页哦算术运算符与算术表达式算术运算符与算术表达式n各类数值型数据间的混合运算:先转换成同一类型,然后进行运算。转换规各类数
13、值型数据间的混合运算:先转换成同一类型,然后进行运算。转换规则:则:假设已指定为整型变量,为假设已指定为整型变量,为float变量,为变量,为double型变量,为型变量,为long型,有表达式:型,有表达式:10+a+i*f-d/e运算次序为:运算次序为:进行进行10+a的运算,先将的运算,先将转换成整数转换成整数97,运算结果为,运算结果为107。进进行行i*f的运算。先将的运算。先将i与与f都转换成都转换成double型,运算结果为型,运算结果为double型。型。整数整数107与与i*f的积相加。先将整数的积相加。先将整数107转换成双精度数(小数点后加若干个转换成双精度数(小数点后加
14、若干个0,即,即107.00000),),结果为结果为double型。型。将变量将变量e转换成转换成double型,型,d/e结果为结果为double型。型。将将10+a+i*f的结果与的结果与d/e的商相减,结果为的商相减,结果为double型。型。上述的类型转换是由系统自动进行的。上述的类型转换是由系统自动进行的。第10页,此课件共30页哦算术运算符与算术表达式算术运算符与算术表达式n自增和自减运算符自增和自减运算符+n 表示先将表示先将n的值增的值增1,然后再使用,然后再使用n的值,即先加后用;的值,即先加后用;n+表示先使用表示先使用n的值,然后再将的值,然后再将n增增1,即先用后加;
15、,即先用后加;-n 表示先将表示先将n的值减的值减1,然后再使用,然后再使用n的值,即先减后用;的值,即先减后用;n-表示先使用表示先使用n的值,然后再将的值,然后再将n减减1,即先用后减。,即先用后减。n强制类型转换运算符强制类型转换运算符 (类型名类型名)(表达式表达式):(double)a;(int)(x+y);(float)(5%3)类型名类型名(表达式表达式):int(x)或或 int(x+y)在强制类型转换时,得到一个所需类型的中间变量,但原来变量的类在强制类型转换时,得到一个所需类型的中间变量,但原来变量的类型未发生变化。型未发生变化。int i;x=3.6;i=(int)x;c
16、outx=x,i=iendl;输出:输出:x=3.6,i=3第11页,此课件共30页哦赋值运算符与赋值表达式赋值运算符与赋值表达式n赋值运算符:将一个数据赋给一个变量;也可以将一个表达式的值赋给一赋值运算符:将一个数据赋给一个变量;也可以将一个表达式的值赋给一个变量。个变量。n赋值过程中的类型转换赋值过程中的类型转换对数值型或字符型在赋值时自动进行的类型转换:对数值型或字符型在赋值时自动进行的类型转换:(1)将浮点型数据(包括单、双精度)赋给整型变量时,舍弃其小数部分。将浮点型数据(包括单、双精度)赋给整型变量时,舍弃其小数部分。(2)将整型数据赋给浮点型变量时,数值不变,但以指数形式存储到变
17、量中。将整型数据赋给浮点型变量时,数值不变,但以指数形式存储到变量中。(3)将一个将一个double型数据赋给型数据赋给float变量时,要注意数值范围不能溢出。变量时,要注意数值范围不能溢出。(4)字符型数据赋给整型变量,将字符的字符型数据赋给整型变量,将字符的ASCII码赋给整型变量。码赋给整型变量。(5)将一个将一个int、short或或long型数据赋给一个型数据赋给一个char型变量,只将其低型变量,只将其低8位原封不动地送到位原封不动地送到char型变型变量(发生截断)。量(发生截断)。(6)将将signed(有符号有符号)型数据赋给长度相同的型数据赋给长度相同的unsigned(
18、无符号无符号)型变量,将存储单元内容原型变量,将存储单元内容原样照搬。样照搬。第12页,此课件共30页哦赋值运算符与赋值表达式赋值运算符与赋值表达式n复合的赋值运算符:在赋值符复合的赋值运算符:在赋值符“”之前加上其他运算符,可以构成复合的之前加上其他运算符,可以构成复合的运算符。运算符。a+=3 等价于等价于 a=a+3 x*=y+8 等价于等价于 x=x*(y+8)x%=3 等价于等价于 x=x%3 C+中常见的复合赋值运算符:中常见的复合赋值运算符:,*,&,|n赋值表达式:由赋值运算符将一个变量和一个表达式连接起来的式子。一般赋值表达式:由赋值运算符将一个变量和一个表达式连接起来的式子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 表达式 精选 PPT
限制150内