文档详情

程序的设计02章数据类型和运算.ppt

发布:2020-02-21约1.25万字共129页下载文档
文本预览下载声明
2.5.1 自动类型转换 1. 不同类型数据进行混合运算时,数据会自动转换为同一类型数据。 “较低级”?“较高级” (按存储长度) char?short?unsigned short?int? unsigned int?long int?float?double 变量的存储 内存中(按照函数的调用顺序动态地)安排变量数据存储区 按照变量在程序中的出现顺序,依次存放各个变量; 可以使用变量,也能够改变变量的值 2.3.3 变量地址 存放变量的内存空间中的首单元地址称为变量地址 内存空间存放的内容称为变量的值。 a?2500H |—————— 2501H |---- 1250 ----- a=1250 b?2502H |—————— 2503H |---- ----- 2504H |---- ----- 2505H |----123.67 ------ b=123.67 2506H |—————— 变量名、变量值、变量地址间的关系 例如: int a=1250; float b=123.67; 2.4 运算符与表达式 C语言的运算符范围很宽,把除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理。 C的运算符可分为算术运算符、赋值运算符、关系运算符等。 按运算对象(操作数)的数目可将C的运算符分为 单目运算符、双目运算符和三目运算符(仅有1个) C语言的运算符 ⑴算术运算符 + - * / % ++ -- ⑵关系运算符 > < == >= <= != ⑶逻辑运算符 ! && || ⑷位运算符 ~ | ∧ & ⑸赋值运算符 = 及其扩展赋值运算符 ⑹条件运算符 ?: ⑺逗号运算符 , C语言的运算符 (8)指针运算符 * & (9)求字节数运算符 sizeof (10)强制类型转换运算符 (类型) (11)分量运算符 .- (12)下标运算符 [] (13) 函数调用运算符() 表达式定义(递归方法) 单个常量或变量就是一个表达式 将表达式通过运算符进行连接,得到新的表达式 表达式中的运算符有优先级和结合性的限制 可以使用()改变优先级和结合性 C语言的表达式 (1)算术表达式 (2)关系表达式 (3)逻辑表达式 (4)赋值表达式 (5)逗号表达式 2.4.1算术运算符和算术表达式 1. 双目运算 加 + 10+5=15 减 - 10-5=5 乘 * 10*5=50 除 / 30/4=7 30.0/4=7.5 取余% 14%3=2; 25%8=1 2 单目运算 自增 a++ 或 ++a 等效于 a=a+1 自减 a-- 或 --a 等效于 a=a-1 取负 -a 注意: 单目运算的“前置”和“后置”的区别 “前置” 变量先增值(或先减值),后被使用 “后置” 变量先被使用,后增值(或后减值) 自增运算符和自减运算符只能用于变量,而不能用于常量或表达式, 结合方向是“自右至左”。 为避免二义性,最好采取大家都能理解的写法,可以加一些“不必要”的括号,如(i++)+j。 int x, y, i=25; x=--i; /* 相当于: i=i-1; x=i; */ y=i; 结果是: x=24, y=24; int x, y, i=25; x=i--; /* 相当于: x=i; i=i-1; */ y=i; 结果是: x=25, y=24; 算术表达式和运算符的优先级与结合性 将表达式通过算术运算符进行连接 先取负 ,再 * / % 后 + - 结合方向为“自左至右” 可以使用( )改变优先级和结合性 (?i?j)*k (i+j)*k 2.4.2 赋值运算符和赋值表达式 赋值是指将表达式的值赋给一个变量 变量=表达式 x=18 x=5*2+y num=x*(a+b) 赋值表达式可以连用(右结合) x=y=z=100 赋值表达式 赋值运算符比算术运算符的优先级低 赋值表达式的值等于表达式的值 如果赋值运算符右边值的类
显示全部
相似文档