chapter03 运算符与表达式.ppt_第1页
chapter03 运算符与表达式.ppt_第2页
chapter03 运算符与表达式.ppt_第3页
chapter03 运算符与表达式.ppt_第4页
chapter03 运算符与表达式.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

周五5 6节 4 15周 实验室30302 资源0901 41 刘钊周二9 10节实验室30302 车辆0901 34 4 12 17 补四次边小勇车辆0902 34 4 12 17 补四次李琳周二11 12节实验室30202车辆0903 32 4 12 17 补四次李琳 第3章运算符与表达式 3 本次课主要内容 C运算符简介算术运算赋值运算逗号运算符及逗号表达式长度运算符强制类型转换运算符的优先级和运算顺序 4 3 1C运算符简介 1 算术运算符 2 关系运算符 7 条件运算符 5 C运算符简介 续 8 指针运算符 9 强制类型转换运算符 类型 10 下标运算符 11 求字节数运算符 sizeof 12 分量运算符 13 其他运算符 如函数调用运算符 6 3 2算术运算 算术运算符双目运算符 有两个操作数参与运算 加 减 乘 除 求余 单目运算符 有一个操作数参与运算 正 负 自增 自减 算术表达式 注意 C语言中不含乘方运算符 不能直接进行乘方运算 7 除法运算符 注意下面的表达式 1 3 31 3 3结果一样 说明 两个整数相除 结果为整数 两个实数相除 结果为实数 阅读程序 main inta 22 intb 3 printf d n a b 运行结果为7 而不是7 333333 Why 8 求余运算符 说明 表达式a b的运算结果为a除以b的余数 并且a b必须为整数 举例 13 5结果为32 8结果为2 22 7结果为 1练习 122 11 1 9 9 自增和自减运算符 作用 将操作数自己增加1或者减少1 前置 前缀 如 i i后置 后缀 如 i i main inti 3 j 4 i i j j printf d d n i j 结果输出 52 掌握 10 比较前置运算和后置运算 main inti 3 j k j i k j printf d d d n i j k 请先阅读下面的程序 结果输出显示 444 过程 i 3 3j i 3i i 1 4j j 1 4k j 4i j k 444 11 自增 自减运算小结 自增运算符和自减运算符是单目运算符 且只能用于单个变量 当前置运算或者后置运算与其他运算结合在一个表达式中时 前置运算 先增值后引用后置运算 先引用后增值 和 的运算结合方向是从右到左 12 阅读下面的程序 写出运行结果 main inti 2 j k j i i i k i i i printf d d d n i j k Answer 266 VC 6 0结果 13 VC 9 0结果 14 15 算术表达式 算术表达式是指由算术运算符 运算量 括号和函数组成 符合C语言语法规则的式子 算术运算符优先级 16 括号可用于改变计算顺序 先算括号里面的表达式 得到的结果再参与括号外面的相关计算 ForExample 3 2 3 2 3 2 3 2 3 2 3 2 17 算术表达式的数据类型 算术表达式的数据类型即该表达式的值的类型 两个同类型的运算量参加运算 其结果也是同类型的 18 3 3赋值运算 赋值运算符 其结合方式为自右向左 其优先级很低 低于所有的算术运算符 赋值表达式 由赋值运算符 将变量和表达式连接起来的式子 形式 变量 表达式运算过程 将赋值运算符右边表达式的值赋给左边的变量 19 ForExample 1 a a 1 等价于 a 2 a b c 2 连续赋值等价于 a b c 2 或者 a 2 b 2 c 2 3 a 2 b 3 等价于 b 3 a 2 3 5 4 a b 2 c 3 等价于 b 2 c 3 a 2 3 6 允许赋值表达式中含有另外的赋值表达式 进行连续赋值 20 赋值运算的注意事项 是一个双目运算符 需要左右两个变量 是赋值运算符 不等于等号 没有相等的含义 左端的运算量必须是单个变量 而不能是表达式 赋值运算中 首先使运算符左端的变量具有右端表达式的值 然后整个表达式的结果为右端表达式的值 21 赋值运算中数值类型的转换 当赋值运算符两端的数据类型不同时 编译程序将赋值运算符右边表达式的数据类型自动转换成左边变量的数据类型 22 复合的赋值运算符 复合赋值运算符 等 复合赋值运算表达式的一般形式 变量op 表达式说明 op 为其它运算符 如 等 举例 a b a b等同 a a b a a b 23 表达式 变量op 表达式 的执行过程 步骤 1 求出 表达式 的值 2 把求出的表达式的值与 变量 做op运算 3 把第二步求出的值再赋给 变量 例如 设x 5 y 2 求x y 3的值 1 y 35即 x 5 2 x 50 x 5 3 x0 24 复合赋值运算小结 凡是双目运算符都可以与赋值运算符一起组合成复合的赋值运算符 注意两个运算符之间不能有空格存在 共10种复合赋值运算符 复合赋值运算符的结合方式为 自右向左 25 练习 设有inta 10 写出下面表达式的值 a aa 12a 3 aa a an 5 a n 2a a a a Answer 20 2130000 26 3 4位运算 位运算 是指对操作数的二进制位进行的运算 包括位逻辑运算 移位运算 位逻辑运算 可设置或屏蔽内存中某个字节的某一位 移位运算 可对存储单元中的二进制位进行左移 右移操作 27 位运算符 6种 说明 1 位运算符中 除了取反 运算以外 其余均为双目运算符 2 运算量只能是整型或字符型数据 其在机器内存中以二进制形式存储 28 逗号运算符 逗号表达式 逗号运算符 即顺序求值运算符 逗号表达式 用逗号把若干独立的运算表达式结合成一个运算表达式 称为逗号表达式 逗号表达式的一般形式 表达式1 表达式2 表达式n求解过程 先求 表达式1 再求 表达式2 最后求 表达式n 整个表达式的值为 表达式n 的值 29 举例 求下面逗号表达式的值 a 3 4 b a 10 c a b解题步骤 求表达式1 a 3 4 12求表达式2 b a 10 22求表达式3 c a b 12 22 264写结果 逗号表达式的值为264 30 逗号表达式的特点 逗号表达式可以嵌套 逗号表达式可以作为赋值运算中的表达式 逗号运算符的结合方向是从左到右 逗号运算符是所有运算符中级别最低的 31 长度运算符 运算符 sizeof 功能 取数据类型或变量的长度 格式 sizeof 数据类型说明符或变量名 举例 已知 inta floatb doublec 则 sizeof a 2sizeof b 4sizeof c 8 32 混合类型表达式的类型确定规则 两个不同类型的运算量参加运算 C编译系统自动把长度较短的类型转换为长度较长的类型 以保证不丢失精度 混合类型计算举例 1 3 3与1 3 32 50 1232767 2L 33 各数据类型混合运算的排列顺序 34 强制类型转换 目的 弥补自动类型转换的不足 一般形式 类型关键字 变量名或表达式 举例 floata 56 789 intb b int a 3 double b float 20 3 4 35 使用强制类型转换注意 在进行强制类型转换时 类型关键字必须用括号括住 在对一个表达式进行强制类型转换时 整个表达式也要用括号括住 如 float a b float a b在对变量和表达式进行了强制类型转换后 并不改变原变量或表达式的类型 如 intz floatx doubley z int x y 执行后x y的类型不变 36 运算符的优先级和运算顺序 C语言中的优先级从高到低分为15级 运算符的一般顺序 先运算优先级别高的 再运算优先级别低的 对于优先级别相同的运算符 按其结合方向执行 37 运算符的优先级和结合方向 38 优先级分级一般规律 单目运算符优先级最高 双目次之 三目较低 双目运

温馨提示

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

评论

0/150

提交评论