欢迎来到文档下载导航网!

第1章-语法基础-第3讲-运算符及表达式.ppt

时间:2020-11-09|当前位置:首页 > 教育文档 > 外语学习 > |用户下载:

第1章-语法基础-第3讲-运算符及表达式.ppt


本文档部分文本预览

第三讲 运算符及表达式 运算符 代表对数据的加工处理方法,用于执行对目标数据 ( 操作数 ) 的运算 变量用来存放数据;运算符用来处理数据 表达式 用运算符将操作数据对象 ( 操作数,包括变量和常 量 ) 连接起来的,符合 C 语法规则的式子 a+b/2.0-c 2 运算符的分类: 单目运算符: 只带一个操作数的运算符。如: ++ 、 -- 运算符。 双目运算符: 带两个操作数的运算符。如: + 、 - 运算符。 三目运算符: 带三个操作数的运算符。如 ?: 运算符。 学习运算符时应注意: ? 运算符的 功能 :该运算符主要用于做什么运算。 ? 与运算量 关系 :要求运算量的个数及运算量的类型。 ? 运算符的 优先级 :表达式中包含多个不同运算符时运算符 运算的先后次序。 ? 运算符的 结合性 :同级别运算符的运算顺序 ( 指左结合性还 是右结合性 ) 。 ? 运算结果的 类型 :表达式运算后最终所得到的值的类型。 3 算术运算符: + - * / % ++ -- 关系运算符: < <= == > >= != C 运 算 符 4 逻辑运算符:! && || 位运算符 : << >> ~ | ^ & 赋值运算符: = 条件运算符: ?: 逗号运算符: , 指针运算符: * & 求字节数: sizeof 强制类型转换:类型 分量运算符: . -> 下标运算符: [] 其它 : ( ) - 1. 赋值运算符、赋值表达式 ? 赋值运算符(“=”,双目运算符) ? 一般形式: 变量 = 常量或变量或表达式 ? 功能: 将右边常量或变量或表达式的 值 赋给左边变量 ? 赋值表达式 例如: ? 定义: int x, y, z; x = 20; 由 赋值运算符 或 复合赋值运算符 (后面即将介绍),将一个变量和一 个表达式连接起来的表达式,称为 赋值表达式 。 y = x; ? 一般格式: z = x + y; 变量 (复合)赋值运算符 表达式 ? 赋值表达式的值 : 被赋值变量的值。 例如: “ a = 5” 这个赋值表达式,变量 a 的值“5”就是它的值。 5 ? 赋值语句 ? 定义: 赋值表达式在其后面加 分号 就构成了 赋值语句 。 例如: x = 8; a = b = c = 5 ; ? 赋值运算符及赋值表达式的使用 注意: ? 多个变量连续赋值 ? “ =” 左边必须是变量名或对应某特定内存单元的表达式,不 例如: a = b = c = 10 ; 能是常量或其它表达式。 例如: 30 = a; b + 2 = 5; 都是错误的。 ? “ =” 不是代数中相等的意思。相等的判断由关系运算符“ = =” a = (b = (c = 10)) ; 结果: a 、 b 、 c 实现。 的值都为 10 ? 赋值表达式的嵌套 例如: a = (b = 2) + (c = 3) 6 ( a = (b = 2) + (c = 3)) 结果: b 为 2 , c 为 3 , a 为 b+c 即 5 2. 赋值过程中的数据类型转换 如果将 ch 的值赋给 -4, 数据类型是可以相互转换的。 问 b 的值又是多少呢? 转换的方法有两种:一种是 自动转换 ,一种是 强制转换 。 ? 例如: 自动转换 例如: int a = 2.5; 则 a 的值将是 2, 而 1 不是 2.5 。 unsigned char ch = 0xfc; // 占用 个字节 这种 自动改变等号右边表达式值的数据类型 的操作称为 数据类型的 自动转换。 unsigned int a = 0xff00; // 假设 2 个字节 (1) 短长度 的数据类型 → 长长度 int b; // 假设 的数据类型 2 个字节 首先将等号右边的表达式的值转换成 “ =” 左边的数据类型。然后再赋值给等 ? 无符号 短长度 的数据类型 → 无符号或有符号 长长度 的数据类型 unsigned long u; // 占用 4 个字节 u 的值为 0x0000ff00 u = a; 无符号短长度的数据类型 xx………x 高位部分补 0 方法: 直接将无符号短长度的数据类型的数据 作为长长度的数据类 号左边的变量。 b 的值为 0x00fc 高位部分补零 。 型数据的 低位部分 ,长长度的数据类型数据的 b = ch; 0x00fc 7 0 0 ... . . . .. . . 0 xx………x 长长度的数据类型 2. 赋值过程中的数据类型转换 ? 自动转换 (1) 短长度 的数据类型 → 长长度 的数据类型 ? 有符号 短长度的数据类型 → 无符号或有符号长长度 的数据类型 例如: 方法: 直接将有符号短长度的数据类型的数据作为长长度的数据类 char ch = 2; 型数据的 低位部分 ,然后将低位部分的 最高位 (即有符号短长度数据的 short int a = -2; 符号位 ) 向 长长度的数据类型数据的 高位部分扩展。 符号位向高位 部分扩展 int b; // 假设为 2 个字节 有符号短长度的数据类型 z x………x unsigned int u; // 假设为 4 个字节 b 的值为 0x0002 b = ch; u 的值为 0xfffffffe u = a; 长长度的数据类型 z z ……… z z x………x 符号位 8 2. 赋值过程中数据类型转换 ? 自动转换 (2) 长长度 的数据类型 → 短长度 的数据类型 方法: 直接截取 长长度的数据类型数据的 低位部分 (长度为短长度 例如: 的数据类型的长度)作为短长度数据类型的数据。 int a = -32768; // 假设为 2 个字节 unsigned long b = 0xffffaa00; 长长度的数据类型 yy………y xx………x char ch; int c; ch 的值为 0x00 ch = a; c 的值为 0xaa00 c = b; xx………x 短长度的数据类型 (3) 长度相同的数据类型转换 方法: 数据按照 原样复制 即可。 9 例如: int a = 0xff00; b 的值为 unsigned int b = a; // 假设为 2 个字 0xff00 2. 赋值过程中的数据类型转换 ? 强制转换 强制类型转换是通过 类型转换运算符 来实现的。其一般 形式为: 注意: ( 类型说明符 ) ( 表达式 ) 功能: 把表达式的运算结果强制转换成类型说明符所表 ? 类型说明符和表达式都必须加括号 ( 单个变量可以不加括号 ) 。 示的类型。其中, ( 类型说明符 ) 是强制类型转换符,它的 优 ? 无论是强制转换或是自动转换,都只

继续预览文档剩余内容

温馨提示:本页预览文本内容并非错乱,是从文档中提取部分无格式预览!如您需要正常预览文档全文,请点击下方按钮↓↓↓

上一篇:第2部分第4章题型突破——综合题.ppt

栏    目:外语学习

下一篇:秋八年级英语上册Unit9复习课件.ppt

本文标题:第1章-语法基础-第3讲-运算符及表达式.ppt

本文地址:https://www.365weibook.com/html/20201109/255193.html

    正常预览或下载提示:

    本页面文档预览是由服务器自动提取的部分内容,并不是文档错乱。如您需要预览全文或下载文档,请点击页面左侧(点击去预览文档全文或下载文档)按钮,进行全文预览或下载。

推荐下载

联系我们 | 广告投放 |网站地图

免责申明:本网站不提供任何形式的下载服务,因此与之有关的知识产权纠纷本网站不承担任何责任。

如果侵犯了您的权利,请与我们联系,我们将进行删除处理。