- 1、本文档共134页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序设计》-2018秋课件.ppt
《程序设计》-2018秋 * 关系运算与逻辑运算(1) 在算术、关系、逻辑混合运算的表达式中,不同位置上出现的运算分量,应区分哪些是算术运算分量、哪些是关系运算分量和哪些是逻辑运算分量 例如:2 1 4 7 3 + !0 等效于 ((2 1) 4) (7 (3 + (!0)))。 从左至右计算:2 1 的值为 1;1 4 的结果亦为1;1 7 3 + !0 先计算 !0 ,其值为1;3 + 1 结果为 4;再进行 7 4 计算,结果为 0 。最后进行 1 0 的运算,得到上述表达式的计算结果为 0 18年 《程序设计》-2018秋 * 关系运算与逻辑运算(2) 逻辑运算的分量也可以是字符型、指针型的。以0和非0判定它们的 “假”或“真” ,求得0或1为结果 “逻辑与”和“逻辑或”运算符分别有以下性质 a b,当 a 为0时,不管 b 为何值(不再计算 b),结果为 0 a || b,当 a 为1时,不管 b 为何值(不再计算b),结果为 1 对于表达式 a b,仅当子表达式a为非零时,才计算子表达式b 对于表达式 a || b,仅当子表达式a为0时,才计算子表达式b 18年 《程序设计》-2018秋 * 关系运算与逻辑运算(3) 利用以上性质,对于两个条件的逻辑与,如当条件1不成立情况,条件2的值没有意义或不可计算时,逻辑表达式应写成: 条件1 条件2 避免在条件1不成立情况下,计算条件2。 如有条件:y/x 2且 x != 0,应写成: x != 0 y/x 2 当 x 为0时,不会计算 y/x。而写成: y/x 2 x != 0 是不正确的,因为当 x 为0时,不能计算 y/x。对于逻辑或也有类似情况 18年 《程序设计》-2018秋 * 关系运算与逻辑运算(4) 在C中计算连续的逻辑与和逻辑或运算时,不分优先级,顺序从左至右计算 在计算逻辑与时,若左运算分量的值为0,则不再继续计算与运算,以0为与运算的结果 在计算逻辑或时,若有左运算分量的值为1,则不再继续计算或运算,以1为或运算的结果 在顺序计算逻辑表达式的过程中,一旦确定了表达式的最终结果,就不再继续计算 如有:int a = 1, b = 1, c = 1;计算 ++a || ++b ++c时,因++a非0,不必再计算逻辑或的右运算分量子表达式++b++c,并立即得到表达式的值为1。因此,该表达式计算后,变量a的值变为2,而变量b和c的值不变,依旧为1 18年 《程序设计》-2018秋 * 例子 编制日历程序需要判定某年是否闰年。每四年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。记年份为 year,则year年是闰年的条件是: (year 能被4整除,不能被100整除)或(year 能被400整除) 用逻辑表达式可描述如下: ( year % 4 == 0 year %100 != 0 ) || year % 400 == 0 在C语言的逻辑表达式中,对一个数值的不等于0的判断,可用其值本身代之。上式判断 year为闰年的逻辑算式可简写为: (year % 4 == 0 year % 100) || year % 400 == 0 18年 《程序设计》-2018秋 * 赋值运算 赋值运算最简单形式:变量 = 表达式 赋值运算的执行过程 计算赋值运算符右端表达式 如表达式类型与赋值运算符左边变量类型不同(仅限于基本类型),将表达式值的类型转换成变量的类型 将求得的值赋给变量 赋值运算也有结果,经赋值运算后,赋值表达式具有赋值后赋值运算符左边变量同样的类型和值 因赋值运算有值,所以可以进一步参与运算,特别是可以再赋值给其它变量 18年 《程序设计》-2018秋 * 显式类型转换(续) (double) a /*将a转换成double类型*/ (int) (x+y) /*将x+y的值转换成整型*/ 不同于(int) x+y (float) (5%3) /*将5%3的值转换成float型*/ 在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化 例如:(int) x 如果x原指定为float型,进行强制类型运算后得到一个int型的中间变量,它的值等于x的整数部分,而x的类型不变(仍为float型) 18年 《程序设计》-2018秋 * 显式类型转换(续) void main(){ float x; int i;x=3.6; i=(int) x; printf(x=%f, i=%d,x,i); } 运行结果如下: x=3.600000, i=3 x类型仍为float型,值仍等于3.6 18年
您可能关注的文档
最近下载
- 萝卜快跑自动驾驶服务.pptx
- 高一信息技术期末考试试题含答案3篇 .pdf
- 2025年新高考数学一轮复习第7章拔高点突破02立体几何中的动态、轨迹问题(六大题型)(学生版+解析).docx VIP
- 新疆维吾尔乌鲁木齐市2023-2024学年数学三上期末考试试题含答案.doc
- 六、自感现象涡流.docx VIP
- (高清版)-B-T 42313-2023 电力储能系统术语.pdf VIP
- DB23∕T 3104-2022 油田含油污泥处置与利用污染控制要求.docx
- 上课-20-1-2法拉第电磁定律、动生感生电动势、自感互感.pdf VIP
- 火锅店员工培训方案.docx VIP
- 电控盒生产线汇报PPT.pptx VIP
文档评论(0)