第03.2章 运算符与表达式_第1页
第03.2章 运算符与表达式_第2页
第03.2章 运算符与表达式_第3页
第03.2章 运算符与表达式_第4页
第03.2章 运算符与表达式_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第三章数据类型 运算符与表达式 3 2运算符与表达式 主要内容 3 8算术运算符和算术表达式3 9赋值运算符和赋值表达式3 10逗号运算符和逗号表达式 3 8算术运算符和算术表达式 C的运算符有以下几类 1 算术运算符 2 关系运算符 3 逻辑运算符 4 位运算符 5 赋值运算符 及其扩展赋值运算符 6 条件运算符 7 逗号运算符 3 8算术运算符和算术表达式 8 指针运算符 和 9 求字节数运算符 10 强制类型转换运算符 类型 11 分量运算符 12 下标运算符 13 其他 如函数调用运算符 本章主要介绍算术运算符 包括自增自减运算符 赋值运算符 逗号运算符 其它运算符在以后相关章节中结合有关内容陆续进行介绍 运算符 单目运算符双目运算符三目运算符 3 8算术运算符和算术表达式 3 8 2算术运算符和算术表达式 1 基本的算术运算符 加法运算符 或正值运算符 如 减法运算符 或负值运算符 如 乘法运算符 如 除法运算符 如 模运算符 或称求余运算符 两侧均应为整型数据 如 的值为 3 8算术运算符和算术表达式 2 算术表达式和运算符的优先级与结合性基本的算术运算符 用算术运算符和括号将运算对象 也称操作数 连接起来的 符合 语法规则的式子 称为 算术表达式 运算对象包括常量 变量 函数等 例如 b 5 a 是一个合法的表达式 3 8算术运算符和算术表达式 例如 b 5 a 语言规定了运算符的优先级和结合性 在表达式求值时 先按运算符的优先级别高低次序执行 例如先乘除后加减 规定了各种运算符的结合方向 结合性 算术运算符的结合方向为 自左至右 即先左后右 1 在C语言中要求运算数必须是整型的运算符是 A B C D 2 若a是int变量 则执行表达式a 25 3 3后 a的值是 3 已知a b c是一个十进制数的百位 十位 个位 则该数的表达式是 数学式子的C语言表达为 4 算术表达式描述为C语言表达式 不正确的是 A a b cB a b c C a b cD a b c 5 华氏温度F与摄氏温度c的转换公式为 则floatc F c 5 9 F 32 是其对应的C语言表达式吗 如果不是 为什么 3 8算术运算符和算术表达式 4 自增 自减运算符作用是使变量的值增 或减 如 在使用 之前 先使 的值加 减 在使用 之后 使 的值加 减 3 8算术运算符和算术表达式 i 与 i的区别 是先执行 后 再使用 的值 是先使用 的值后 再执行 例如 i的值先变成4 再赋给 j的值均为 先将i的值3赋给 的值为 然后 变为 3 8算术运算符和算术表达式 注意 1 自增运算符 自减运算符 只能用于变量 而不能用于常量或表达式 如 5 a b 均为不合法 2 的结合性为从右至左 而一般算术运算符为从左至右 如 i 和 为同一优先级 i 相当于 i 例 includemain inti 3 j j i printf i d j d n i j 运行结果 i 4 j 3 写出以下程序运行的结果 voidmain inti j m n i 8 j 10 m i n j printf d d d d i j m n 3 9赋值运算符和赋值表达式 1 赋值运算符赋值符号 就是赋值运算符 它的作用是将一个数据赋给一个变量 如 的作用是执行一次赋值操作 或称赋值运算 把常量 赋给变量 也可以将一个表达式的值赋给一个变量 3 9赋值运算符和赋值表达式 2 类型转换如果赋值运算符两侧的类型不一致 但都是数值型或字符型时 在赋值时要进行类型转换 转换规则 按存储单元中的存储形式直接传送 将浮点型数据 包括单 双精度 赋给整型变量时 舍弃浮点数的小数部分 如 inti i 3 56 printf d i 3 9赋值运算符和赋值表达式 将整型数据赋给单 双精度变量时 数值不变 但以浮点数形式存储到变量中如 floata a 23 printf f a 3 9赋值运算符和赋值表达式 3 复合的赋值运算符在赋值符 之前加上其他运算符 可以构成复合的运算符 例如 等价于 等价于 等价于 3 9赋值运算符和赋值表达式 为便于记忆 可以这样理解 a b 其中a为变量 b为表达式 a b 将有下划线的 a 移到 右侧 a a b 在 左侧补上变量名a 3 9赋值运算符和赋值表达式 注意 如果 是包含若干项的表达式 则相当于它有括号 如 x y 3 x y 3 x x y 3 不要错写成x x y 3 凡是二元 二目 运算符 都可以与赋值符一起组合成复合赋值符 复合赋值运算符 3 9赋值运算符和赋值表达式 4 赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为 赋值表达式 一般形式为 例如 5 是一个赋值表达式 3 9赋值运算符和赋值表达式 对赋值表达式求解的过程是 求赋值运算符右侧的 表达式 的值 赋给赋值运算符左侧的变量 例如 赋值表达式 3 5 的值为15 执行表达式后 变量a的值也是15 注意 一个表达式应该有一个值 3 9赋值运算符和赋值表达式 左值 lvalue 赋值运算符左侧的标识符变量可以作为左值 而表达式就不能作为左值 如a b 常变量也不能作为左值 右值 rvalue 出现在赋值运算符右侧的表达式左值也可以出现在赋值运算符右侧 因而左值都可以作为右值 3 9赋值运算符和赋值表达式 赋值运算符结合顺序 自右向左 赋值表达式中的 表达式 又可以是一个赋值表达式 例如 a b 5 与a b 5等价 3 9赋值运算符和赋值表达式 赋值表达式也可以包含复合的赋值运算符 如 inta 12 a a a aprintf d a 分析 此赋值表达式的求解步骤如下 先进行 的运算 它相当于 a的值为 144 132 再进行 的运算 相当于 a 132 a的值为 132 132 264 定义 intm 5 n 3 则表达式m n 4的值是 表达式m m m 1 n 2 的是 若intk 7 x 12 则能使值为3的表达式是 A x k 5 B x k k 5 C x k k 5D x k k 5 3 10逗号运算符和逗号表达式 逗号运算符 将两个表达式连接起来 又称为 顺序求值运算符 如 5 一般形式 表达式 表达式 求解过程 先求解表达式 再求解表达式 整个逗号表达式的值是表达式 的值 逗号表达式的值为14 3 10逗号运算符和逗号表达式 例 逗号表达式 5 分析 赋值运算符的优先级别高于逗号运算符 因此应先求解 5 的值为 5 然后求解 得 整个逗号表达式的值为 一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式如 a 5 3 先计算出 的值等于 再进行 的运算得60 但 值未变 仍为15 再进行 得 即整个表达式的值为 3 10逗号运算符和逗号表达式 逗号表达式的一般形式可以扩展为表达式 表达式 表达式 表达式 它的值为表达式 的值 逗号运算符是所有运算符中级别最低的例 3 赋值表达式 将一个逗号表达式的值赋给 的值等于 逗号表达式 包括一个赋值表达式和一个算术表达式 的值为 整个逗号表达式的值为18 3 10逗号运算符和逗号表达式 注意 并不是任何地方出现的逗号都是作为逗号运算符 例如函数参数也是用逗号来间隔的 如 printf d d d a b c 并不是一个逗号表达式 它是printf函数的3个参数 printf d d d a b c b c 是一个逗号表达式 它的值等于 的值 假设所有变量均为整型 则表达式 a 2 b 5 a b a b 的值为 设以下变量均为int类型 则值不等于7的表达式是 A x y 6 x y x 1 B x y 6 x y y 1 C x 6 x 1 y 6 x y D y 6 y 1 x y x 1 假定x和y为double型 则表达式x 2 y x 3 2的值是 A 3 500000B 3C 2 000000D 3 000000 宏定义 不带参数的宏定义 命令格式 define标识符字符串 实际处理时 用 字符串 替换程序中的标识符 例 include definePI 3 1415926v

温馨提示

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

评论

0/150

提交评论