C语言运算符及其表达式.ppt_第1页
C语言运算符及其表达式.ppt_第2页
C语言运算符及其表达式.ppt_第3页
C语言运算符及其表达式.ppt_第4页
C语言运算符及其表达式.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1 6C51运算符及其表达式 1 6C51运算符及其表达式 运算符就是完成某种特定运算的符号 运算符按其表达式中与运算符的关系可分为单目运算符 双目运算符和三目运算符 单目就是指需要有一个运算对象 双目就要求有两个运算对象 三目则要三个运算对象 表达式则是由运算及运算对象所组成的具有特定含义的式子 表达式后面加 号就构成了一个表达式语句 优先级 指当运算对象两侧都有运算符时 执行运算的先后次序 按运算符优先级别的高低顺序执行运算 结合性 指当一个运算对象两侧的运算符的优先级别相同时的运算顺序 1 赋值运算符及表达式 表示赋值运算符 利用赋值运算符将一个变量与一个数值或表达式连接起来的式子为赋值表达式 格式如下 变量 数值 或变量 表达式 不要忘记后面的逗号 例如 a 0 xFF 将常数十六进制数FF赋于变量ab c 33 同时赋值给变量b cd e 将变量e的值赋于变量df a b 将表达式a b的值赋于变量f赋值运算符结合性为右结合性 即多个赋值表达式连排时 从右向左赋值 2 复合赋值运算符及表达式 复合赋值运算符就是在赋值运算符 的前面加上其他双目运算符 C51中的复合赋值运算符如下 注意 是关系运算符而不是复合运算符复合运算的一般形式 变量复合赋值运算符表达式如 a 56等价于a a 56y x 9等价于y y x 9 所有复合赋值运算符级别相同 且与赋值运算符同一优先级 都具有右结合性 例如 表达式y y y 7等价于 y y y 7 3 算术运算符及表达式 C51最基本的五种算术运算符 加或取正值运算符 减或取负值运算符 乘运算符 除运算符 取余运算符只有取正值和取负值运算符是单目运算符 其它则都是双目运算符 除法运算符和一般的算术运算规则有所不同 如是两浮点数相除 其结果为浮点数 如10 0 20 0所得值为0 5 而两个整数相除时 所得值就是整数 如7 3 值为2 求余运算要求 两侧都是整型数据 算术运算符的优先级规定为 先乘除模 后加减 括号最优先 算术运算符的结合性规定为自左向右方向 又称为 左结合性 即当一个运算对象两侧的算术运算符优先级别相同时 运算对象先与左面的运算符结合 算术运算符优先级高于赋值运算符 3 算术运算符及表达式 取正 取负 运算符 乘 除 取模 运算符 高 低 加 减 运算符 3 算术运算符及表达式 算术表达式 用算术运算符和括号将运算对象连接起来的式子称为算术表达式 其中的运算对象包括常量 变量 函数 数组和结构 算术表达式的形式 表达式1算术运算符表达式2如 a b c 10 a x 9 y a 4 自增减运算符及表达式 自增减运算符的作用是使变量值自动加1或减1 如 i i在使用i之前 先使i值加 减 1 i i 在使用i之后 再使i值加 减 1 i和i 的作用都相当于i i 1 但两者有不同之处 i 先执行i i 1 再使用i的值 i 先使用i的值 在执行i i 1 例如 若i值原来为5 则j ij值为6 i值也为6 j i j值为5 i值为6 自增减运算是单目运算 只能用于变量而不能用于常量或表达式 其结合方向是 自右向左 例如 i 相当于 i 5 关系运算符及表达式 关系运算符反映的是两个表达式之间的大小等于关系 在C51中有6种关系运算符 关系运算符的优先级低于算术运算符 高于赋值运算符 例如 c a b等效于c a b a b c等效于a b c a bb c等效于 a b c 关系运算符 优先级 高 低 5 关系运算符及表达式 当两个表达式用关系运算符连接起来时 就变成了关系表达式 关系表达式通常是用来判别某个条件是否满足 表达式1关系运算符表达式2如 I J I J I 4 J 3 J I J关系表达式的结果只有0和1两种 也就是逻辑的真与假 当指定的条件满足时结果为1 不满足时结果为0 例如 关系表达式 4 3 的值为 假 即为0 关系表达式 4 3 的值为 真 即为1 关系运算符为左结合性 例如 f 4 3 5 由于左结合性 4 3的值为1 而1 5的值为0 故f 0 6 逻辑运算符及表达式 逻辑运算符是用于求条件式的逻辑值 C51提供三种逻辑运算符 逻辑非 NOT 逻辑与 AND 逻辑或 OR 用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式了逻辑非 条件式1逻辑与 条件式1 条件式2逻辑或 条件式1 条件式2 为单目运算符 右结合性 和 为双目运算符 左结合性 逻辑表达式的值以0代表假 以1代表真 低 高 6 逻辑运算符及表达式 逻辑与是指只要二个运算条件中有一个为假时 运算结果就为假 只有当条件式都为真时 逻辑运算结果才为真 逻辑或是指只要二个运算条件中有一个为真时 运算结果就为真 只有当条件式都不为真时 逻辑运算结果才为假 逻辑非则是把逻辑运算结果值取反 也就是说如果条件式的运算值为真 进行逻辑非运算后则结果变为假 条件式运算值为假时最后逻辑非结果为真 6 逻辑运算符及表达式 各种运算符优先级次序如右图 例如 a c d等效于 a c d a b c d等效于 a b c d 在多个逻辑运算符构成的逻辑表达式中 并不是所有的逻辑运算符都被执行 只是在必须执行下一个逻辑运算符后才能求出表达式的值时 才执行该运算符 例如 对于运算符 来说 只有左边的值不为假 0 才继续执行右边的运算 对于运算符 来说 只有左边的值为假 0 才继续执行右边的运算 7 位运算符及表达式 思考指示灯LED0 LED7分别接在P1口的P1 0 P1 7管脚上 高电平指示灯灭 低电平指示灯亮 1 保持P1口其余灯的状态不变 只关闭LED0指示灯的C控制语句 2 保持P1口其余灯的状态不变 只打开LED7指示灯的C控制语句 3 保持P1口其余灯的状态不变 只关闭LED0 LED3打开LED1 LED2的C控制语句 4 与目前P1端口所有指示灯输出状态相反的C指令 即目前亮灯改为灭灯 目前灭灯改为亮灯 7 位运算符及表达式 位运算符的作用是按位对变量进行运算 但是并不改变参与运算的变量的值 如果要求按位改变变量的值 则要利用相应的赋值运算 C51中共有6种位运算符 分别如下 按位取反 右移 按位与 按位异或 按位或 运算符的优先级比别的算术运算符 关系运算符和其他运算符都高 例如 a b 先执行 a运算 再做 运算 高 低 7 位运算符及表达式 按位与 x y 1 规则 相应位均为1时才为1 否则为0 2 主要用途 取 或保留 1个数的某 些 位 其余各位置0 按位或 x y 1 规则 相应位均为0时才为0 否则为1 2 主要用途 将1个数的某 些 位置1 其余各位不变 按位异或 x y 1 规则 相应位相同时为0 不同时为1 2 主要用途 使1个数的某 些 位翻转 即原来为1的位变为0 为0的变为1 其余各位不变 7 位运算符及表达式 按位取反 x规则 各位翻转 即1变成0 0变成1 按位左移 x 位数规则 使操作数的各位右移 移出的低位舍弃 高位对无符号数和有符号中的正数 补0 7 位运算符及表达式 位运算符只能对整型或字符型数据操作 不能用来对浮点型数据进行操作的 参与运算的操作数必须首先转换成二进制形式 然后再执行相应的按位运算 按位取反运算符 为单目运算符 左结合性 其他位操作运算符都是双目运算符 右结合性 进行位运算时并不改变参与运算的变量的值 如果要求按位改变变量的值 则要利用相应的赋值运算 7 位运算符及表达式 课堂作业 若a 54H b 3AH 则 1 c a 8 逗号运算符及表达式 用逗号运算符将两个或多个表达式连接起来 形成逗号表达式 逗号表达式的一般形式为 表达式1 表达式2 表达式3 表达式n先计算表达式1 再计算表达式2 最后计算表达式n 最后一个表达式的值即为此逗号表达式的值 在所有运算符中 逗号运算符级别是最低的 9 条件运算符及表达式 条件运算符 是C51中唯一的1个三目运算符 它要求有三个运算对象 用它以把三个表达式连接构成一个条件表达式 条件表达式的一般形式如下 逻辑表达式 表达式1 表达式2条件运算符的作用是根据逻辑表达式的值选择使用表达式的值 当逻辑表达式的值为真时 非0值 时 整个表达式的值为表达式1的值 当逻辑表达式的值为假 值为0 时 整个表达式的值为表达式2的值 9 条件运算符及表达式 如有a 1 b 2这时我们要求是取ab两数中的较小的值放入min变量中 也许你会这样写 if a b min a 当a b时min的值为a的值 else 否则为b的值 min b 用条件运算符去构成条件表达式就变得简单明了了 min a b a b 10 强制类型转换符 1 显示转换使用强制类型转换运算符 其形式为 类型名 表达式 如 float a将a强制转换为float类型 int x y 将x y的值强制

温馨提示

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

评论

0/150

提交评论