第3章 数据、运算符和表达式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 数据、运算符和表达式

第3章 数据类型、运算符和表达式 主要内容 C的基本数据类型(整型、浮点型、字符型) 常量 变量、变量赋初值 各类数值型数据间的混合运算 算术运算符和算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式 条件表达式、关系表达式与逻辑表达式 表3-1 ANSI C标准中的基本数据类型 3.2变量 运算符 含义 运算符 含义 & 按位与 ~ 取反 | 按位或 左移 ∧ 按位异或 右移 (1)位运算符中除~以外,均为二目(元)运算符,即要求两侧各有一个运算量。 (2)操作对象是标准的char和int数据类型及变量。 不能作用于float、 double、long double、void和其他复杂类型 C语言提供的位运算符有: 说明: 。 3.4.7位运算符 1. 逻辑与位运算符() 按位与:参加运算的两个数据按二进制位进行“与”运算 0&0=0,0&1=0,1&0=0,1&1=1 0 1 0 0 0 1 0 1 二进制表示69 0 1 1 1 0 0 1 1 二进制表示115 01 0 0 0 0 0 1 结果:65 69115 注意:如果参加运算的是负数(如-3-5),则要以补码形式表示为二进制数,然后再按位进行“与”运算。 按位与()的用途 对一个存储单元清零,即将其全部的二进制位设为0。只要 找一个二进制数,在原数为1的位置上取0,然后使二者进行 &运算,即可达到清零目的。  (1) 清零  例: 设原数另找一个这样在原数为1的位置上,该数的相应位值均为0。 将这两个数进行&运算: 1 赋值运算符 = : 双目运算符,其表达式的一般形式如下: 变量名= 表达式 例如: a=3 i=d+3 (=)将右边的操作数3保存在左边的变量a里。赋值号左边的操作数必须是个变量。 赋值表达式有一个值和一个副作用:整个表达式的值是右边的表达式的值;副作用把表达式的值保存在赋值号左边的变量中。 3.4.1 赋值运算符和赋值表达式 赋值中的类型转换 : 先看一些简单的升级例子。 char c=’A’; int i=1234; long double d=3458.0004; i=c; /*65 */ d=c; /*65.0 */ d=i; /*1234.0 */ 右边表达式的类型与左边的变量类型不一致时,其副作用是先将右边表达式的值转换为左边变量相同的类型,然后进行赋值。 升级: 一般没问题; 精度并不增加 3.4.1 赋值运算符和赋值表达式 赋值中的类型转换 : 再看一些简单的降级例子。 int i=299; char c=‘a’; float f; double d=23.3522e120; c=i; /* c值为43,对应‘+’字符*/ f=d; /*出现溢出错误*/ 降级:“放得下没问题,放不下出问题”; 通常出问题 3.4.1 赋值运算符和赋值表达式 精度,结果舍入 long double double 精度,结果舍入 double float 小数部分,可能更多 float int 无 long int int(32位) 高16位 long int int(16位) 高16位 int(32位) short int 无 int(16位) short int 高24位 long int char 高24位 int(32位) char 高8位 int(16位) char 高8位 short int char 如果值大于127,目标为负值 char signed char 可能丢失的信息 右部(表达式类型) 左部(目标侧) 赋值中的类型转换 :出问题的降级。 例如, 把0同时赋给a、b和c: a=b=c=0 赋值号右边的表达式还可以是赋值表达式: x=10*(y=3) 整个赋值表达式的值是30 , 两个副作用:y变量存储3,x变量存储30。 3 多重赋值 例:∶(a=3*5)=4*3 分析: 先将15赋给a,然后执行4*3的运算,再把12赋给a。最后a的值为12,整个表达式的值为12。 注意:在对赋值表达式(a=3*5)求解后,变量a得到值15, 执行(a=3*

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档