数据类型运算符和表达式要点.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文档。上传文档
查看更多
字符串与数值类型之间的转换 int i = 123 这样用是不行地 atof(),atoi(),atol() 把字符串转为double,int和long 定义在stdlib.h中 sprintf() 可以用来把各种类型的数值转为字符串 定义在stdio.h中 自动类型转换 同种数据类型的运算结果,还是该类型 不同种数据类型的运算结果,是两种类型中取值范围更大的那种 long double double float long int short char 把数据赋值给另外一种类型变量也会发生自动类型转换 从小到大,顺利转换 从大到小,可能丢失信息(好的编译器会发出警告) 类型强转(Casting) 消除从大到小的警告 l = (long)i; 可以通过“(类型)表达式”的方式把表达式的值转为任意类型 强转时,你必须知道你在做什么 强转与指针,并称C语言两大神器,用好了可以呼风唤雨,用坏了就损兵折将 #include stdio.h main() { int m = 5; printf(m / 2=%d\n, m/2); printf((float) (m / 2) = %f\n, (float) (m / 2)); printf((float) m / 2 = %f\n, (float) m / 2); printf(m = %d\n, m); } 增一和减一运算符 n++,n--,++n,--n ++让参与运算的变量加1,--让参与运算的变量减1 作为后缀运算符时,先取n的值,然后加/减1 作为前缀运算符时,先加/减1,然后取n的值 m = n++; 等价于 m=n; n++; m = ++n; 等价于 n++; m=n; 增一和减一运算符 良好的程序设计风格提倡:在一行语句中,一个变量只能出现一次加1或者减1运算 过多的加1和减1运算混合,不仅可读性差,而且因为编译器实现的方法不同,导致不同编译器产生不同的运行结果 位操作运算符 按位与运算 | 按位或运算 ^ 按位异或运算 按位左移运算 按位右移运算 ~ 按位求反 赋值运算符 下面两个语句是等价的 i = i + 2; i += 2; +、-、*、/、%、、、、^、|运算符都可以按此种方式处理 这种形式看起来更直观,而且执行效率一般也能更高一些 逗号运算符 表达式1, 表达式2, ….., 表达式n 多数情况下,并不使用整个逗号表达式的值,更常见的情况是要分别得到各表达式的值 主要用在循环语句中,同时对多个变量赋初值等 for (i = 0 , j = 0; i j; i++, j++) 条件表达式 把a和b中的最大值放入z中 if (a b) z = a; else z = b; z = (a b) ? a : b; 此种表达式切忌用得过于繁杂 优先级 ( ) [ ] - . ! ~ ++ -- + - * (类型) sizeof * / % + - = = == != ^ | || ? : = += -= *= /= %= = ^= |= = = , 优先级 能背下优先级表的人凤毛麟角 用括号来控制运算顺序更直观、方便,并减少出错的概率 结合性 多数运算符为左结合 少数为右结合: 一元运算符 赋值运算符 条件运算符 这一章我们学到了 变量的命名规则 数据类型 char,short,int,long,float,double,long double signed,unsigned enum 常数、转义字符 运算符 算术运算符、关系运算符、逻辑运算符、增一/减一运算符、位运算符、赋值运算符、类型强转运算符、逗号运算符、条件运算符(? :)、 sizeof 类型转换 优先级和结合性 ASCII字符表1 命名风格的选择主要依照习惯。比如在Unix/Linux下,variable_name的形式就多见,而在Windows下,广泛采用的是基于VariableName形式的匈牙利命名法。Java语言里常用variableName形式。 为什么是1024而不是更容易计算的1000? 为什么是8而不是更直观的10? 这将在计算机原理课解答。 未来的趋势是任何字符,无论英文、中文还是其它文字,都用两个字节来表示。这种编码叫做UNICODE 教材P229页有对各种类型变量取值范围的描述。在程序中最好的确定范围的方法就是使用这些宏。 整型常数缺生被看作int类型,如果超出int的范围,就自动被看作long。可以在数字后面加上l或者L强制其为long。 浮点常数缺省为double,后缀f或F为float,后缀l或L为long d

文档评论(0)

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

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

1亿VIP精品文档

相关文档