第2章数据类型运算符表达式定稿.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章数据类型运算符表达式定稿

#include void main int a 3, b 4, c 5, d 0, x 0, y 0; d a + b c b c; printf “d %d\n”, d ; d a ++ | | c ++ ; printf “d %d\n”, d ; d ! x a y b ; printf “d %d\n”, d ; printf “a %d, c %d\n”, a, c ; printf “x %d, y %d\n”, x, y ; return ; 逻辑表达式:例 4 → x ! 4 y b 0 y b → 0 y b 没有被求解,就是说y 的值没有变 #include void main int a 3, b 4, c 5, d 0, x 0, y 0; d a + b c b c; printf “d %d\n”, d ; d a ++ | | c ++; printf “d %d\n”, d ; d ! x a y b ; printf “d %d\n”, d ; printf “a %d, c %d\n”, a, c ; printf “x %d, y %d\n”, x, y ; return ; 逻辑表达式:例 运行结果: d 0 d 1 d 0 a 4, c 5 x 4, y 0 运算符与 运算符的区别 是“赋值运算符”。赋值表达式中,赋值 运算符的左边只能是变量。 注意:不要混淆或误用 与 运算符。 是“等于关系运算符”。关系表达式中,等于运算符的两边可以是常量、变量或任何合法的表达式。 运算符与 运算符的区别 假设a 1,则: a 1 b 2 这个赋值表达式的数值是2,但逻辑值是 1 是正确的关系表达式 a 1 b 2 是错误的赋值表达式 a 2 这个关系表达式的逻辑值是 0 a 2 课堂练习 ◆ 1. 如果表达式 E 的值为1,则以下表达 式中, 的值是0. A ! E 0 B E 0 || E 0 C E 0 D E ! 0 答案: C 课堂练习 ◆ 2. 设a 10,b 15,c 0,d 2,则下 列表达式的值是 a * b c a b c ! c || d / b a c d c b || a 答案: 0 答案: 0 答案: 1 答案: 1 2.4.5 位运算符和位运算 计算机内部,数据的存储、运算都是以二进制补码形式进行的,1个字节-8个二进制位。 位运算就是针对二进制位的运算。 位运算的操作对象只能是整型或字符型数据。 位运算是C语言的低级语言特性,广泛应用于对底层硬件,外围设备的状态检测和控制。 概述 C语言有6种位运算符: 位运算符 Bitwise Operators 按位右移 按位左移 按位异或 ^ 按位取反 ~ 按位或 | 按位与 含义 运算符 1.除按位取反外,其它运算符都是双目运算符 2.按位取反与逻辑非!、取地址等单目运算符同级,比双目运算符高 3. 、 比关系运算符优先级别高 4.、 ^ 、 |优先级别从高到低,处在关系运算符和逻辑运算符之间 左移运算符 左移运算符“ ”功能:将一个数的各个二进制位全部向左移动若干位(左边移出的部分忽略,右边补0)。 每左移1位,相当于乘2,左移n位相当于乘2n。 例如: unsigned char a 26; /* 26 10 0001,1010 2 1A 16 */ a a 2; /* 0110,1000 2 68 16 104 10 */ 右移运算符 右移运算符“ ”功能:将一个数的各个二进制位全部向右移动若干位(右边移出的部分忽略,右边对无符号数补0,有符号数补符号位)。 每右移1位,相当于除2,左移n位相当于除2n。 例如: unsigned char a 0x9A; /* 9A 16 154 10 1001,1010 2 */ a a 2; /* 0010,0110 2 26 16 38 10 */ 按位取反运算符 按位取反“~”是单目运算符,对一个整数的每个二进位都取反,即0→1,

文档评论(0)

didala + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档