第3章 C语言运算符ppt课件_第1页
第3章 C语言运算符ppt课件_第2页
第3章 C语言运算符ppt课件_第3页
第3章 C语言运算符ppt课件_第4页
第3章 C语言运算符ppt课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

第三章 C语言运算符 回顾 变量和常量的含义熟悉基本数据类型 int char float和double使用算术运算符理解类型转换熟练使用scanf 和printf 函数 课程目标 算术运算符增量运算符逻辑运算符关系运算符按位运算符C的特殊运算符 和 运算符的优先级 C语言运算符概述 运算符 是用来表示各种运算的符号 表达式 用运算符将运算对象连接起来形成的运算式 C语言运算符 是一种向编译程序说明一个特定的数学或逻辑运算的符号 运算符必须有运算对象 C语言运算符的分类算术运算符关系运算符与逻辑运算符按位运算符 算术运算符 算术运算符的运算规则如下表所示 注意事项 正 负运算是单目运算符 结合性是自右向左的 除法运算与运算对象的数据类型有关 若两个对象都是整型数据 则运算结果是整数 舍弃小数部分 若两个中有一个或两个都是实型 则运算结果为实型 但是若除数或被除数中有一个为负值 则舍入的方向是不固定的 模运算 要求两个运算对象必须均为整型数据 算术运算符优先级别单目算术运算符优于双目算术运算符 优于 同级单目算术运算符的结合性满足右结合 同级双目算术运算符满足左结合 C语言算术表达式 C语言算术表达式 由算术运算符和括号将运算对象连接起来的 符合C语法规则的式子称为表达式 运算对象包括常量 变量和函数等 注意事项 在表达式求值时 先按运算符的优先级别高低顺序执行 若在一个运算对象两侧的运算符的优先级别相同 则按规定的结合性处理 C语言中允许种类数值型数据之间进行混合运算 在进行混合运算时 不同类型的数据要先转换成同一类型 然后再进行运算 字符型常量 字符型变量可以在算术表达式中使用 增量运算符 增量运算符1 自增运算符 x x 1可写成x 或 xi 与 i的区别 x i 表示将i的值赋给x后 i加1 x i表示i先加1后 再将新值赋给x 2 自减运算符 x x 1可写成x 或 xi 与 i的区别 x i 表示将i的值赋给x后 I减1 x i表示i先减1后 再将新值赋给x 自增自减运算符都是单目运算符 是对单目整型 字符型 指针型以及数组的下标等数据进行算术运算的 运算的结果仍是原数据类型 自增自减运算符的运算规则如下表所示 举例说明 若i为3 则执行后 1 i 运算式的值为4 i的值为4 2 i 运算式的值为3 i的值为4 3 i 运算式的值为2 i的值为2 4 i 运算式的值为3 i的值为2 注意事项 1 自增自减运算符的运算对象只能是变量 不能用于常量或表达式 2 自增自减运算符既可以放在运算对象的前面 前缀 也可以放在运算对象的后面 后缀 两者功能上略有不同 3 在表达式中包含自增 自减运算时 要能正确分析 否则很容易出错 若i 5 请分析下面语句执行后j i的值 j i j的值为5 i的值为6 j i j的值为6 i的值为6 赋值运算符 用于将表达式的值赋给变量 是一个双目运算符 运算符的左边必须是变量 右边是表达式 赋值运算符 用 表示 用于将表达式的值赋给变量 结合性是自右向左的 例如 inti 5 是将常量值5赋给变量i 赋值运算符 右侧可以是变量或表达式 例如 inti 5 j i 将变量i的值赋给变量j 赋值语句中的数据类型转换 在赋值语句中 类型转换规则是 等号右边的值转换为等号左边变量所属的类型 做除法运算时应特别注意 例如 inti 15 floatf i 2 运行后 f 7而并不等于准确值7 5正确的做法应该是 inti 15 floatf i 2 0 也可直接将i定义为浮点数 逻辑运算符和表达式 逻辑运算符种类 逻辑非 逻辑与 逻辑或 逻辑运算真值表 C语言中 运算量 0表示 假 非0表示 真 运算结果 0表示 假 1表示 真 优先级 结合方向 例ab x y a b x y a b x y a b x y a a b a a b 初学者如果不熟悉逻辑运算符时 就可以写成上面的注释中带括号的形式 这样就很容易区分和理解其中的各个表达式 关系运算符 关系运算符是比较两个操作数大小的符号C的关系运算符作用对照表 按位运算符 C和其它高级语言不同的是它支持按位运算符 C中按位运算符的作用 运算符说明 按位运算是对字节或字中的实际位进行检测 设置或移位 它只适用于字符型和整数型变量以及它们的变体 对其它数据类型不适用 关系运算和逻辑运算表达式的结果只能是1或0 而按位运算的结果可以取0或1以外的值 移位运算符 和 移位的位数左移 变量名 移位的位数经过移位后 一端的位被 挤掉 而另一端空出的位以0填补 所以 C中的移位不是循环移动的 移位的使用技巧 可以代替乘法和除法运算 但速度远远快于乘法和除法 左移等效于乘法 左移1位 即箭头向左 右侧补0 等于乘21 左移两位等于乘22 左移三位等于乘23inti 4 intc i 3 c 16 23 2 C的特殊运算符 运算符 运算符是一个三目运算符 其一般形式是 运算符的含义是 先求表达式1的值 如果为真 则求表达式2的值并把它作为整个表达式的值 如果表达式1的值为假 则求表达式3的值并把它作为整个表达式的值 intx y x 50 y x 70 100 0 y将被赋值0 如果x 80 y将被赋值100 运算符可以代替某些if else形式的语句 例x a b x 0 表达式值为 b x 0 表达式值为 a x y 1 1 5 x y 值为1 0 x y 值为1 5 和 运算符 地址m所指的单元的值赋给j 程序运行后 i 10 m为其对应的内存地址 j的值也为10 运算符 运算符 运算符用于将多个表达式串在一起 运算符的左边总不返回 右边表达式的值才是整个表达式的值 例如 intx y x 50 y x x 5 x 5 经过上面的语句后 y值为9 因为x的初始值为50 减5后变为45 45除5为9赋给y sizeof运算符 sizeof运算符sizeof运算符是一个单目运算符 它返回变量或类型的字节长度 例如 sizeof double 为8sizeof int 为2也可以求已定义的变量 例如 floatf inti i sizeof f 则i的值将为4 C运算符的优先级 C规定了运算符的优先次序即优先级 当一个表达式中有多个运算符参加运算时 将按下表所规定的优先级进行运算 表中优先级从上往下逐渐降低 同一行优先级相同 例如 表达式10 4 1004 100 99 3 5的值为0 C运算符的优先级 表达式优先级 小括号 数组下标 结构成员 最高 指针型结构成员 逻辑非 位取反 负号 加1 减1 变量地址 指针所指内容 type 函数说明 sizeof 长度计算 乘

温馨提示

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

评论

0/150

提交评论