- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
和||的计算方式:先算左边运算对象,如果可确定结果,右边运算对象将不计算。 逻辑表达式计算结果都是整型的 0 或 1。 否定的优先级同其他一元运算符; 优先级高于||,低于关系运算符。 例: x != 0.0 y/x 1.0 求值时不会出现除0问题。 主要看这个表达式成立与否, 成立:则表达式返回1,x不为0; 不成立:则表达式返回0,x为0;则号右边的表达式不用做 例:根据运算符优先级关系,逻辑表达式: (((x+3)(y+z)) (y10)) || (y12) 写为下面形式意义不变。 x + 3 y + z y 10 || y 12 例:判断变量 year 的值是否表示闰年的年份。 year%4==0 year%100!=0 ||year%400==0 为便于阅读,可适当加括号。 赋值运算符 +、-、*、/、%、、、、^、|运算符都可按此种方式处理,叫做复合算术赋值 这种形式看起来更直观,且执行效率一般也能更高一些 课堂练习:P45,2.2(7) n = n + 2; n += 2; 增一和减一运算符 n++,n--,++n,--n ++让参与运算的变量加1,--让参与运算的变量减1 作为后缀运算符时,先取n的值,然后加/减1 作为前缀运算符时,先加/减1,然后取n的值 m = n++; m = n; n++; 增一和减一运算符 n++,n--,++n,--n ++让参与运算的变量加1,--让参与运算的变量减1 作为后缀运算符时,先取n的值,然后加/减1 作为前缀运算符时,先加/减1,然后取n的值 m = ++n; n++; m = n; 增一和减一运算符 良好的程序设计风格提倡:在一行语句中,一个变量只能出现一次加1或者减1运算 过多的加1和减1运算混合,不仅可读性差,而且因为编译器实现的方法不同,导致不同编译器产生不同的运行结果 位操作运算符 按位与运算 | 按位或运算 ^ 按位异或运算 按位左移运算 按位右移运算 ~ 按位求反 位操作运算符 现场演示P66,3.4(2)——逻辑运算与位运算的不同 main() { int x=12, y=8; printf(\n%5d%5d%5d, !x, x||y, xy); printf(\n%5d%5d%5d, ~x, x|y, xy); printf(\n%5u%5d%5d\n, ~x, x|y, xy); } 0 1 1 -13 12 8 65532 12 8 逻辑非的结果 不是按位取反 正数的补码 与其原码相同, 负数的补码为 其反码加1 逗号运算符 多数情况下,并不使用整个逗号表达式的值,更常见的情况是要分别得到各表达式的值 主要用在循环语句中,同时对多个变量赋初值等 for (i = 1 , j = 100; i j; i++, j--) 表达式1, 表达式2, …, 表达式n 循环起始条件 循环结束条件 循环增量 优先级 ( ) [ ] - . ! ~ ++ -- + - * (类型) sizeof * / % + - = = == != ^ | || ? : = += -= *= /= %= = ^= |= = = , 优先级 能背下优先级表的人凤毛麟角 用括号来控制运算顺序更直观、方便,并减少出错的概率 结合性 多数运算符为左结合 少数为右结合: 一元运算符 赋值运算符 条件运算符 这一章我们学到了 变量的命名规则 数据类型 char,short,int,long,float,double,long double signed,unsigned enum 常数、转义字符 运算符 算术运算符、关系运算符、逻辑运算符、增一/减一运算符、位运算符、赋值运算符、类型强转运算符、逗号运算符、条件运算符(? :)、 sizeof 类型转换 优先级和结合性 作业 P45~46习题2.3 课堂练习: P45,2.2 P66(2)(4)(5)(6) ASCII字符表1 ASCII字符表2 命名风格的选择主要依照习惯。比如在Unix/Linux下,variable_name的形式就多见,而在Windows下,广泛采用的是基于VariableName形式的匈牙利命名法。Java语言里常用variableName形式。 为什么是1024而不是更容易计算的1000? 为什么是8而不是更直观的10? 这将在计算机原理课解答。 未来的趋势是任何字符,无论英文、中文还是其它文字,都用两个字节来表示。这种编码叫做UNICODE 教材P229页有对各种类型变量取值范围的描述。在程序中最好的确定范
原创力文档


文档评论(0)