第2章-数据类型、运算符和表达式课件.pptVIP

第2章-数据类型、运算符和表达式课件.ppt

  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文档。上传文档
查看更多
字符串在内存中的存放方式 在内存中每个字符按顺序存放 字符串结尾有一个空字符(ASCII=0, \0)作为字符串结束标志 字符串结束标志\0是不能显示的,在字符串常量中,也不用显式写出来 举例 TEST a T E S T \0 84 69 83 84 00 \0 a \0 00 97 00 变量赋初值 (Initialization) 在定义变量的同时对变量赋值(初始化) 举例 int a=1; /*相当于 int a; a=1;*/ int a, b=3; /*对b赋初值,a没有初值*/ int b, c, a=b=c=100; /*对三个变量赋同样的初值*/ 变量使用前,一般应先对它赋值 各类数值型数据间的混合运算 整型、字符型、浮点型数据可混合运算 混合运算时,不同类型的数据按照一定的规则先转换为同一类型,然后再运算 double long unsigned int float char, short 高 低 运算符 (Operator) 运算符的种类 运算符的优先级 运算符的结合方向 运算符的种类 (1) 算术运算符 + - * / % ++ -- 关系运算符 == = = != 逻辑运算符 ! || 位运算符 ~ | ^ 赋值运算符 = += -= *= /= %= = = = ^= |= 条件运算符 ?: 运算符的种类 (2) 逗号运算符 , 指针运算符 * 求字节数运算符 sizeof 强制类型转换运算符 (type) 分量运算符 . - 下标运算符 [] 其他运算符 () 运算符的优先级 (Precedence) 优先级 运算符的运算次序按优先级由高到低执行 可以用圆括号( )改变运算符的执行次序 举例 a+b*c–d/e /*先算乘除,后算加减*/ /*乘除比加减优先级高*/ (a+b)*(c-d)/e /*先算加减,后算乘除*/ 运算符的结合方向 (Associativity) 结合方向 当一个操作数两侧的运算符优先级相同时,运算次序按照结合方向的规定进行 举例 a+b-c /*+和-的结合方向都是从左向右*/ /*b先与+结合计算a+b,然后执行减法*/ a=b=1 /*=的结合方向是从右向左,先计算b=1*/ 运算符的结合方向规则 单目运算符的结合方向都是“从右向左” !、~、++、--、+(正号)、-(负号) *(指针运算符)、(地址运算符) sizeof、(type) 赋值运算符的结合方向是“从右向左” 三目运算符的结合方向是“从右向左” 唯一的三目运算符:条件运算符?: 其他运算符的结合方向都是“从左向右” 优先级与结合方向总结 不同优先级的运算符,运算次序按优先级由高到低执行 同一优先级的运算符,运算次序按结合方向的规定执行 可以使用圆括号( )明确运算次序 圆括号()具有最高的优先级 表达式 (Expression) 表达式的概念 表达式的类型 表达式求值 算术运算符和算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式 表达式的概念 表达式 用运算符把操作数连接起来,并符合C语言语法规则的式子 操作数包括常量、变量、函数调用、表达式 广义上,常量、变量、函数调用也可以看作属于表达式的范畴 举例 a+2.5*b-6/c+z-max(x,y) !((a1e-6)(b==(c+sqrt(f)))) 表达式的类型 表达式的类型 表达式的值的类型 取决于操作数的类型以及它们所做的运算 举例 a+2.5*b-6/c+z /*混合类型算术运算,值为double类型*/ !((a1e-6)(b==(c+sqrt(f)))) /*逻辑判断的结果是逻辑值*/ /*C语言用整型表示逻辑类型*/ 算术运算符 (Arithmetic Operators) 基本算术运算符 + - * / % 强制类型转换运算符 (类型名) 自增、自减运算符 ++ -- 基本算术运算符 运算符 名称 举例 说明 + 正值运算符(正号) +b 值不变 - 负值运算符(负号) -d 取相反数 + 加法运算符 a+3 加法 - 减法运算符 c-4 减法 * 乘法运算符 a*3 乘法 / 除法运算符 c/d 除法 % 模运算符 e%4 求余数、取模 基本算术运算符的特性 优先级 (从高到低) + (正号) – (负号) * / % + (加) – (减) 结合方向 + (正号) – (负号):从右向左 + (加) – (减) * / %:从左向右 基本算术运算符的说明 两个整数相除,结果也为整数 直接舍去商的小数部分,而不会“四舍五入” 负数整数除法,结果的舍入方向没有规定 如果需要得到精确的运算结果,可以把其中一个操作数转换为浮点数 举例,5/3(=1

文档评论(0)

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

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

1亿VIP精品文档

相关文档