网站大量收购闲置独家精品文档,联系QQ:2885784924

第4讲数据类型(下)详解.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第4讲 数据类型(下) 主要内容 算术运算符与表达式 赋值运算符和表达式 逻辑运算符与表达式 关系运算符与表达式 参考教材第2章P31-42, 第3章的4.6节,和第4章的4.16.1节 2.6 算术运算符和算术表达式 基本算术运算符:5种双目,+,-,*,/,%(求余) 优先级:先乘除,后加减,括号先内后外。结合性:左至右 2.6算术运算符和算术表达式 自增运算符:++ 有两种形式:++ k,k ++; ++ k为前置形式, k ++为后置形式 前置形式是变量先递增,后参与其他运算 后置形式是变量先参与其他运算,后进行递增 例:int i=3,k,j;k=++i;(相当i=i+1,k=i);j=i++;(相当j=i,i=i+1;) 自减运算符:- - 有两种形式:--k,k-- --k为前置形式;k--为后置形式 前置形式是:变量先递减,后参与其他运算 后置形式是:变量先参与其他运算,后进行递减 提问:int i=3,k,j;k=--i; j=i--;k和j是多少? 2.6 算术运算符和算术表达式 注意 (1)++、--只能用于变量,不能用于常量或表达式 (2)++、--和负号运算符的优先级别是一样的,但比正号运算符的优先级别高;结合性:自右至左 编程素养:表达式中尽可能只出现一次递增或递减运算符 2.7 赋值运算符和赋值表达式 赋值运算符:= 赋值表达式:变量=表达式,含义:先计算赋值号右边表达式的值,再将结果存储左边变量中;结合性:从右向左;类型自动向左转换 复合赋值运算符(共有10种) 赋值表达式例子 int x,y=5; x= -3+4*5-6; x变量中的结果为:11 x = 3+4%5-6; x变量中的结果为:1 x= -3*4%6/5; x变量中的结果为:0 x=(7+6)%5/2; x变量中的结果为:1 y+=5; ?y=y+5; y变量中的结果为:10 2.7 赋值运算符和赋值表达式 c = c-5; b = b*c; a = a+b; x = a; 等价于 x = a += b *= c -= 5 2.7 赋值运算符和赋值表达式 2.8 关系运算符和关系表达式 关系运算符:6种 ,=,,=,= =,!= ,=,,=的优先级高于= =,!= 优先级:算术运算符 关系运算符 赋值运算符 结合性:从左至右 关系表达式: 由关系运算符连接的表达式,其值为“0”(假)或“1”(真) 2.8 关系运算符和关系表达式 提问:表达式:3x6的值是多少? 为什么呢? 2.9 逻辑运算符和逻辑表达式 逻辑运算符: (与),!!(或),!(非) 注:!为单目运算符,优先级最高;和!!为双目运算符,比!!高;结合性为从左至右优先级 C++语言中,非零表示逻辑真,0表示逻辑假 !(逻辑非) 关系运算符 和|| 赋值运算符 算术运算符 (高) (低) 几种运算符的优先级 注意:和 | |为“短路”运算符,所谓“短路”运算符是指从左到右进行计算,只要结果能够确定,就不再进行下去 2.9 逻辑运算符和逻辑表达式 【例】犀利哥的故事5:八卦疑云 话说犀利哥和天仙妹妹的恋情还没有正式确定,就在网络上传得沸沸扬扬。已知犀利哥的4个朋友A,B,C,D中有一人是“八卦”者。现在犀利哥质问4人。4人回答如下:假设四个人中每人要么说真话,要么说假话。 A说:B没有八卦,是D八卦。 B说:我没八卦,是C八卦。 C说:A没有八卦,是B八卦。 D说:我没有八卦。 犀利哥听了4人回答,“晕菜了”。请你根据这四个人的回答,写出能确定谁是八卦者的条件。 假设用整型变量a,b,c,d分别代表A,B,C,D四个人,且变量只取值为0和1,值为1表示该人为八卦者,值为0表示该人没八卦。 由于四个人中只有一人是八卦者,而且不管是不是八卦者,他的回答要么是真话,要么是假话。 2.9 逻辑运算符和逻辑表达式 数学表达式:b+d=1 且 b+c=1 且 a+b=1 且 a+b+c+d=1 C++表达式:b+d==1 b+c==1 a+b==1 a+b+c+d==1 注意:“=”在C++是赋值运算符;“==”才是“等于”运算符 问题:有了上述表达式,如何求解。即如何找到八卦者? 方法:只需将a,b,c,d 4个变量所有取值(0,1)都试探一边?满足条件的取值就是解。这就是后面将要学习“穷举法” A b+d=1 B b+c=1 C a+b=1 D a+b+c+d=1 (b==1) (d==0) /

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档