第04讲 算术运算符、表达式赋值运算与逗号运算.ppt
《第04讲 算术运算符、表达式赋值运算与逗号运算.ppt》由会员分享,可在线阅读,更多相关《第04讲 算术运算符、表达式赋值运算与逗号运算.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4讲算术运算符、表达式 赋值运算与逗号运算&整型变量n占字节数随机器不同而不同,一般占2个字节。nshortintlong。n可用sizeof(类型标识符)测量。&实型变量nfloat:占4字节,提供7位有效数字ndouble:占8字节,提供1516位有效数字&字符型变量n字符变量存放字符ASCII码nchar与int数据间可进行算术运算复习22.6 算术运算符1.基本算术运算符有:基本算术运算符有:、*、/、%注意事项注意事项两个整型数据相除的结果只能为整型数值,如两个整型数据相除的结果只能为整型数值,如72的的结果为结果为3“+”或或“-”用作单目运算符时只能有一个运算量,用作单目运算符
2、时只能有一个运算量,如如x=-5,则则+x的值还是的值还是-5,而,而-x的值为的值为+5。求余运算只能在两个整型数据之间进行,如求余运算只能在两个整型数据之间进行,如9%5的值的值为为4,而,而9.5%3为非法的运算为非法的运算 当运算量为负数时,所得结果的符号未作明确的规定。当运算量为负数时,所得结果的符号未作明确的规定。TURBO C系统规定余数的符号与被除数相同。系统规定余数的符号与被除数相同。32.算术表达式用算术运算符和圆括号将函数和运算对象(如常用算术运算符和圆括号将函数和运算对象(如常量、变量等)按一定的规则连接起来就可以构成量、变量等)按一定的规则连接起来就可以构成一个算术表
3、达式,如:一个算术表达式,如:(ab)*c5.0、x*y2*sin(z)等都是算术表达式等都是算术表达式 表达式都有一个值,即运算结果。表达式都有一个值,即运算结果。应该注意表达式中运算符的应该注意表达式中运算符的优先级优先级和和结合性结合性优先级用于决定运算中的运算顺序,即有多个运算符优先级用于决定运算中的运算顺序,即有多个运算符出现时,哪一个先计算,哪一个后计算。出现时,哪一个先计算,哪一个后计算。(P34-39)(P34-39)结合性则决定同一优先级的运算符之间的运算顺序结合性则决定同一优先级的运算符之间的运算顺序.C C语言有两种结合性即是先左后右还是先右后左。语言有两种结合性即是先左
4、后右还是先右后左。(P34-39)(P34-39)4运算符名称优先级结合性()括号1(最高)自左至右 下标指向结构体成员结构体成员!逻辑非2自右至左按位取反增1减1&取地址*取内容+、正、负号(类型)强制类型转换sizeof计算类型长度*乘3自左至右除%求余加4自左至右减按位左移5自左至右按位右移5大于6自左至右小于大于或等于小于或等于等于7自左至右!不等于&按位与8自左至右按位异或9自左至右按位或10自左至右&逻辑与11自左至右逻辑或12自左至右?:条件运算13自右至左赋值14自右至左 *复合运算%&,逗号15(最低)自左至右6关于结合性所谓结合性是指,当一个操作数两侧的运算符具有相同的优先
5、级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。不同的运算符将有不同的结合性(P34P39)73.算术运算中的类型转换在在C语言中要求参加运算的语言中要求参加运算的两个运算量是同一数两个运算量是同一数据类型据类型,而运算结果也是该数据类型。,而运算结果也是该数据类型。对数据类型不一致的两个运算量,系统会进行数对数据类型不一致的两个运算量,系统会进行数据类型转换,将其中的一个低级别类型的数据向据类型转换,将其中的一个低级别类型的数据向另一个高级别类型的数据转换(按空间大小和数另一个高级别类型的数据转换(按空间大小和数值范围),然后才进行相应的算术运算,运算的值范围),然后才进行相
6、应的算术运算,运算的结果为其中高级别类型的数据。结果为其中高级别类型的数据。高高doublefloatlong(unsignedlong)低低int(unsignedint)shortint、char图图2.4算术运算中的类型转换算术运算中的类型转换8n隐式转换n什么情况下发生n运算转换-不同类型数据混合运算时n赋值转换-把一个值赋给与其类型不同的变量时n输出转换-输出时转换成指定的输出格式n函数调用转换-实参与形参类型不一致时转换n运算转换规则:不同类型数据运算时先自动转换成同一类型9doublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同
7、时转换例 char ch;int i;float f;double d;ch/i +f*d -(f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f -d/l例 int i;float f;double d;long l;103.强制类型转换运算符当当自自动动类类型型转转换换不不能能达达到到目目的的时时,可可以以使使用用强强制制类类型型转转换换运运算算符符。强强制制类类型型转转换换运运算算符符就就是是用用一一对括号括起来的类型名标识符,其一般格式为:对括
8、号括起来的类型名标识符,其一般格式为:(类型名标识符类型名标识符)()(表达式表达式)例例如如:假假设设x x为为floatfloat类类型型,则则表表达达式式“x%3x%3”是是不不合合法法的的,因因为为%运运算算符符要要求求其其两两侧侧的的数数据据都都必必须须是是整整型型数数据据。可可以以使使用用表表达达式式“(int)x%3(int)x%3”达达到到求求余余数数的的目目的的,即即先先将将实实型型变变量量x x强强制制转转换换为为整整型型值,然后再进行取余运算。值,然后再进行取余运算。11n显式转换(强制转换)n一般形式:(类型名)(表达式)例 (int)(x+y)(将x+y的值转换为整型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第04讲 算术运算符、表达式 赋值运算与逗号运算 04 算术 运算 表达式 赋值 逗号
限制150内