C语言基本运算符与表达式ppt课件_第1页
C语言基本运算符与表达式ppt课件_第2页
C语言基本运算符与表达式ppt课件_第3页
C语言基本运算符与表达式ppt课件_第4页
C语言基本运算符与表达式ppt课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

基本运算符和表达式 表达式算术运算符和表达式赋值运算符不同数据类型间的转换关系运算符和表达式逻辑运算符和表达式自增和自减运算符逗号运算符和表达式条件运算符和表达式求字节运算符 学习重点 熟悉几种常用的运算符掌握运算符的运算规则3 掌握表达式求值 3 1表达式 一 表达式的概念表达式是由运算符连接常量 变量 函数所组成的式子 每个表达式都有一个值和类型 二 运算符的种类 据运算对象的个数分有三种 单目 双目 三目 学习运算符应注意 运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型 一 算术运算符 结合方向 从左向右优先级 说明 可为单目运算符时 右结合性两整数相除 结果为整数 要求两侧均为整型数据 例5 2 5 2 0 例5 2 5 2 1 10 5 1 5 5 2 例5 2 2 5 2 0 2 5 例5 2 1 5 2 11 10 15 1 05 5 2 3 2算术运算符和表达式 例1 include stdio h main printf n n d d n 20 7 20 7 printf f f n 20 0 7 20 0 7 结果 2 22 857143 2 857143 例2 include stdio h main printf d n 100 3 结果 1 3 3赋值运算符一 简单赋值运算符 格式 变量 表达式作用 将一个数据 常量或表达式 赋给一个变量 二 复合赋值运算符种类 x y 8 x x y 8 例a 3 d func c d 2 说明 结合方向 自右向左左侧必须是变量 不能是常量或表达式优先级 比算术低 例3 x 2 y a b 3 例 a b c 5a b 5 a 5 c 6 a b 4 c 6 a b 10 c 2 表达式值为5 a b c值为5 b 5 a 5 表达式值11 c 6 a 11 表达式值10 a 10 b 4 c 6 表达式值5 a 5 b 10 c 2 例 a 12 a a a a a 264等价于a a a a a a 例 inta 2 a 4 1 a a a a 3 a 0等价于a a a a a a a a 3 例3 include stdio h main inta b c d x y z a 100 b 45 c 19 d 94 x 2 y 5 z 28 a 6 b x c 10 d x y z 8 printf n 6d 6d 6d 6d 6d n a b c d z 结果 106 47 190 31 4 3 4不同类型数据间的转换转换有两种 隐式 计算机自动进行的转换 显式 强制性转换 一 隐式转换 4种 运算转换 不同类型数据混合运算时赋值转换 把一个值赋给与其类型不同的变量时输出转换 输出时转换成指定的输出格式函数调用转换 实参与形参类型不一致时转换 1 运算转换 不同类型数据运算时先自动转换成同一类型 数据类型的级别 转换规则 当运算符两端的数据类型不同时 按 向高看齐 的原则 对较低的类型提升 10 a i f d l 例inti floatd f longl 2 赋值转换 自动将 右边的类型转换为左边变量的类型 实 整 舍弃小数 例 inti i 375 986 i 375 int float 数值不变 但以浮点形式存到变量中 例 floatf f 36 f 36 000000 字符 整型 将字符的ASCII码值放到整型量的低八位中 高八位为0 整型赋予字符型 只把低八位赋予字符变量 例4 include stdio h main inta b 322 i floatx y 8 88 charc1 k c2 a y x b i c1 c2 b printf d f d c a x i c2 signed unsigned 原样照赋 例5 include stdio h main unsignedinta intb 1 a b printf u a 输出结果 65535 C 二 显式转换 强制转换 格式 类型名 表达式 例 int x y int x y float 3 2 int 3 6说明 强制转换得到所需类型的中间变量 原变量类型不变 例6 include stdio h main floatx inti x 3 6 i int x printf x f i d x i 结果 x 3 600000 i 3 精度损失问题 例 floatf f 6 7 问 f f 0 8571 f 0 0 改为 f 6 0 7或f 6 7 0或f float 6 7 类型转换时 只赞成低 高不赞成高 低只赞成有符号数 无符号数不赞成无符号数 有符号数 3 5关系运算符和表达式运算符 结合方向 自左向右优先级别 与其它比 算术 关系 赋值 例c a b c a b a b c a b ca bc a b c 关系表达式的值 是逻辑值 1 真 0 假 例inta 3 b 2 c 1 d f a b a b cb cbf a b c 表达式值1 表达式值1 表达式值0 d 1 f 0 注意 例若a 0 b 0 5 x 0 3 则a x b的值为 0 例5 2 7 8在C中是允许的 值为 0 例inti 1 j 7 a a i j 4 0 则a 2 例 a 0结果为 A 100结果为 1 0 例注意区分 与 inta 0 b 1 if a b printf aequaltob elseprintf anotequaltob 例7 include stdio h main intx y z printf inputdatax y n scanf d d 结果1 inputdatax y 5 3回车xyxyx yx yx y53001110 结果2 inputdatax y 5 3回车xyxyx yx yx y 5 3110010 结果1 inputdatax y 4 4回车xyxyx yx yx y44010101 3 6逻辑运算符和表达式运算符 逻辑运算真值表 运算量 0 假 非0 真 表达式值 0 假 1 真 例ab x ya b x y a a b 优先级 结合方向 a x x b a b x y a b x y a a b 与其它比 单目 算术 关系 逻辑 赋值 例a 4 b 5 aa ba b a b4 0 25 3 2 8 4 0 c d 值为1 值为0 值为1 值为1 值为1 值为1 值为1 特性 与表达式遇假结束 例a 1 b 2 c 3 d 4 m 1 n 1 m a b n c d 求m n m 0 n 1 例a b c 只在a为真时 才判别b的值 只在a b都为真时 才判别c的值 或表达式遇真结束 例a b c 只在a为假时 才判别b的值 只在a b都为假时 才判别c的值 例8 include stdio h main intx y z printf inputdatax y n scanf d d 结果1 inputdatax y 12 8回车xy xx yx y128011 结果2 inputdatax y 9 3回车xy xx yx y9 3011 结果3 inputdatax y 0 81回车xy xx yx y08110 结果4 inputdatax y 23 0回车xy xx yx y 2300110 结果5 inputdatax y 0 0回车xy xx yx y00100 3 7自增 自减运算符 作用 使变量值加1或减1i 或 i i i 1i 或 i i i 1种类 前缀 i i先增1 减1 再使用i值后缀 i i 先使用i值 再增1 减1 例j 3 k j j 3 k j j 3 printf d j j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b k 4 j 4 k 3 j 4 4 3 c 20 a 4 c 15 a 4 说明 不能用于常量和表达式 如5 a b 结合方向 自右向左优先级 例 i i i 3 printf d i 3 例inta 5 b b a printf a d b d a b a 6 b 5 例inta 5 b b a printf a d b d a b a 6 b 6 例9 include stdio h main intx y z x y 8 z x printf n 3d 3d 3d y z x x y 8 z x printf n 3d 3d 3d y z x x y 8 z x printf n 3d 3d 3d y z x x y 8 z x printf n 3d 3d 3d y z x printf n 结果 899889877887 3 8逗号运算符和表达式形式 表达式1 表达式2 表达式n结合性 从左向右优先级 最低表达式值 等于表达式n的值用途 常用于循环for语句中 例a 3 5 a 4a 3 5 a 4 a 5例a 1 b 2 c 3 printf d d d a b c printf d d d a b c b c a 15 表达式值60 a 15 表达式值20 1 2 3 3 2 3 例10 include stdio h main intx y 7 floatz 4 x y y 6 y z printf x d n x 运行结果 x 3 3 9条件运算符与表达式e1 e2 e3 唯一的三目运算符 功能 e1为真 取e2值 e1为假 取e3值 相当于条件语句 但不能取代一般if语句 结合方向 自右向左如a b a c d c d a b a c d c d 例求a b printf a b d n b 0 a b a b 例 a b Y N x 2 1 1 0 x 0 x x c a c z c a A c 3 10求字节运算符sizeof 单目运算符作用 返回变量或类型的字节长度 一般形式为 sizeof 变量或类型 如 sizeof double 为8sizeof int 为2也可以求已定义的变量 例如 floatf inti i s

温馨提示

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

评论

0/150

提交评论