chap2.2运算符.ppt_第1页
chap2.2运算符.ppt_第2页
chap2.2运算符.ppt_第3页
chap2.2运算符.ppt_第4页
chap2.2运算符.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

运算符 运算符 13类 算术运算符 关系运算符 逻辑运算符 赋值运算符 及其扩展赋值运算符 条件运算符 逗号运算符 其它运算量的个数 单目 双目 三目 算术运算符 两侧必须为整型数据运算结果取两侧数据中的最高级运算对象包括常量 变量 函数等a b c 1 5 a 同一级别自左向右结合 自反运算 如 c a b 双元运算 a a b可写为 a b 自反加运算 C b a 5 等价于 b b a 5 c b 两个语句与赋值符同级别结合方向 自右向左凡是二元运算符 都可以与赋值符组成复合赋值符 自反运算符的求解步骤 a b 其中a为变量 b为表达式 a b 将下划线的 a 移到 右侧 a a b 在 左侧补上变量名 如果b是包若干项的表达式 则相当于它有括号 自加和自减运算符 使变量的值增1或减1 i i 先加减后使用 i i 1i i 先使用用后加减 i i 1 inti 5 inti 5 x i x i y i y i x x y y 5 6 6 6 自加和自减 只能用于整型变量 不能用于常量和表达式 i 不合法 和 的结合方向是 自右向左 i i i i i i 39 i i i 18 正负号运算符 正号 负号 一元运算符 优先级别高于 结合方向为自右向左 a b main i 3 printf d i main i 3 printf d i 3 4 赋值运算符 赋值运算符 将一个数据赋给一个变量赋值运算符两侧的类型不一致 要进行类型转换实型 整型 截去小数部分整型 实型 数值不变 以定点形式存储字符 整型 放在低8位 并对高8位进行扩展整型 长整型 符号扩展无符号整型 长整型 零扩展无符号整型 整型 原样照赋 符号位作为数值级别低 仅高于逗号运算符 自右向左结合 赋值表达式 由赋值运算符将变量和表达式连接起来的式子一般形式变量 表达式赋值表达式的值为变量的值例 a 5a b c 5a 5 c 6 a b 4 c 6 a b 10 c 2 a a a a a 5a 5 b 5 c 5a 5 6 11a 4 6 10a 10 2 5a a a a a a a a a a a a 逗号运算符 将两个表达式连接起来3 5 6 8 一般形式 表达式1 表达式2 求解过程 先求表达式1 再求表达式2 最后结果为表达式2的值逗号表达式中可以包含逗号表达式级别最低 自左向右结合函数参数中的逗号是用来分隔的printf d d d a b c x a 3 5 a 4 X 60 关系运算 大于 大于等于 x 1 y 2 z 0z 1z 2 3 5z 0 5z 1 关系运算符的特点 判断x是否在 a b 范围内 应写成a x字符数据的比较按其ASCII码进行判断浮点数时 由存储上的误差 结果会错误1 0 3 0 3 0 1 0fabs 1 0 3 0 3 0 1 0 1e 5 a 2 逻辑运算符 逻辑与 逻辑或 逻辑非 a 与 b 或 c 非 逻辑运算符的特点 和 是二元运算符 结合方向自左向右 低于关系运算符 为一元运算符 高于关系运算符a b若a b为真 则a b为真a b若a b之一为真 a b则为真 a若a为真 则 a为假0 a a1 a a1 a 10 a 0a a 1a a 0a a aa a a 逻辑表达式 在给出逻辑表达式结果时 真1 假0逻辑运算符两侧的运算对象不但可以是0和1 也可以是任何类型的数据 系统最终以0或非0来判定 真 或 假 例 判别某一年year是否闰年 year 4 0 year 100 0 year 400 0 条件运算符 条件运算符为三元运算符条件表达式e1 e2 e3若e1为真 非0 则条件表达式为e2的值 若e1为假 0 则条件表达式为e3的值优先级仅高于赋值符 结合方向自右向左e1应为算术表达式 e2 e3可为任意类型 结果类型为e2 e3中较高的一种 例 main charch scanf c Nn 例2 6 输入2数 输出小者 main floata b min printf input scanf f f 上例可节省一个变量min的空间 main floata b printf input scanf f f 输出部分直接使用表达式 数据转换 数据转换 基本形式同一类型但长度不同的数据的转换定点与浮点方式之间的转换有符号数与无符号数的转换 转换方式 提升 短 长 整 浮 降格 长 短 浮 整 符号位扩展 signed 与零扩展 unsigned 最高位失去符号功能 signed unsiged 与最高位变成符号位 unsiged signed 截去小数 实数 整数 与四舍五入 doubel float 例 main doublea 123456 789098765 floatb longc inti j b a c a i a j c printf a lf b f c ld i d j u n a b c i j a 123456 789099 b 123456 789062 c 123456 i 7616 j 7616 不同类型数据的隐式转换 一般算术转换将char或short自动转换为相应的int将float转换为double当运算符两端的运算类型不一致时 按 向高看齐 的原则对 较低 的类型进行提升doublefloatlongunsignedintchar short 高 低 例 charch inti result floatf doubled result ch i f d f i int double double int double double double double double main inta b c scanf d d a 0b 2c 1a 0b 1c 0 main inta b c scanf d d a 0b 2c 1 0a 0b 1c 0 5 赋值转换 赋值号右边值的类型自动转换为左边的类型具有强制性 可能是提升 也可能是降格 1 main inti 69 unsignedun 5 printf d u u n i un i un printf d u d n i un i un 2 main inti j longa 80000 b 3200L printf ld d n a i a printf ld d n b j b 69 5 65472 69 5 64 80000 144643200 3200 输出转换 不同类型的显式转换 强制类型转换运算符 类型标识符 表达式显式转换是单元 单目 运算对变量进行显式转换后 得到一新的类型的数据 但原来变量的类型不变 char 3 3 14159 x k int int x float i j float x 99 2 48 5d 5d c c f f f f 1 1020Aa1 5 3 7512 8 67 82 1020Aa1 5 3 7512 8 67

温馨提示

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

评论

0/150

提交评论