数据类型与数值表达.ppt

上传人:牧羊曲112 文档编号:6578807 上传时间:2023-11-14 格式:PPT 页数:37 大小:326.14KB
返回 下载 相关 举报
数据类型与数值表达.ppt_第1页
第1页 / 共37页
数据类型与数值表达.ppt_第2页
第2页 / 共37页
数据类型与数值表达.ppt_第3页
第3页 / 共37页
数据类型与数值表达.ppt_第4页
第4页 / 共37页
数据类型与数值表达.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《数据类型与数值表达.ppt》由会员分享,可在线阅读,更多相关《数据类型与数值表达.ppt(37页珍藏版)》请在三一办公上搜索。

1、中央电大课程C+语言程序设计第二章 C+的基本数据类型与数值表达式(第三讲),主要内容,逻辑型数据 自定义类型修饰符 表达式的副作用,逻辑型数据基本情况,变量定义举例:bool isOK,ready=true;,三种最简单的逻辑表达式,逻辑常量 包括 true(表示逻辑真)和 false(表示逻辑假)逻辑变量 如 isOK、ready 等。逻辑函数调用 如通过 isUpper(A)调用:bool isUpper(char c)return c=A,关系操作符和关系表达式.,关系操作符包括=(等于)!=(不等于)(大于)=(大于等于)=(小于等于),关系操作符和关系表达式,关系表达式由关系操作符

2、构成的表达式称为关系表达式,例如:k3、x+y=0 等。关系操作符通常作用于数值型操作对象(操作数),其结果为逻辑型,不是 true 就是 false。关系表达式也是一种逻辑表达式。,逻辑操作符和逻辑表达式.,逻辑操作符包括!(逻辑非,读做“非”或“not”)&(逻辑与,读做“与”或“and”)|(逻辑或,读做“或”或“or”)逻辑操作符作用于的逻辑型操作对象。,逻辑操作符和逻辑表达式.,逻辑非操作符(!,一元操作符)操作数的值为 true 时结果为false,操作数的值为 false 时结果为 true;例如,对于 bool ready=true;!ready 的值是 false。真变假,假

3、变真,逻辑操作符和逻辑表达式.,逻辑与操作符(&)两个操作数均为 true 时结果为 true,否则结果为 false;例如:53&53&510 的值为 false 5=10 的值为 false有假得假,无假得真,逻辑操作符和逻辑表达式.,逻辑或操作符(|)两个操作数至少有一个 true 时,其结果为 true,否则结果为 false;例如:53|53|510 的值为 true 5=10 的值为 false有真得真,无真得假,逻辑操作符和逻辑表达式.,复合逻辑表达式通过逻辑操作符的连接,可以把若干逻辑表达式组合起来,构成更为复杂的逻辑表达式,称为复合逻辑表达式。如:x100&(y=0|z=0)

4、,逻辑表达式小结逻辑表达式包括以下情况:简单逻辑表达式关系表达式复合逻辑表达式,逻辑操作符和逻辑表达式.,逻辑操作符和逻辑表达式,关系操作符和逻辑操作符的优先级加减操作符:+-位操作符:关系操作符:=!=位操作符:&|逻辑操作符:&|赋值操作符:=+=*=,逻辑型数据的应用复合条件,&和|用于构造复合条件,其左右两边的操作对象称为子条件;子条件1&子条件2 的含义:两个子条件同时成立时复合条件才成立;子条件1|子条件2 的含义:两个子条件至少有一个成立时复合条件就成立。,逻辑型数据的应用相反条件.,对于用关系表达式表示的条件,可以用“相反”的关系操作符构成相反条件;如 xy 的相反条件是 x

5、和=,逻辑型数据的应用相反条件,对于任何条件,都可以用操作符!构造它的相反条件。如 xy 的相反条件除了可以表示为 xy)。,逻辑型数据的应用等价条件.,基于“否定之否定”!E E 基于两种等效的构成相反条件的方法!(x=y)x!=y!(x=y 等等。,逻辑型数据的应用等价条件,基于&或|的交换律 E1&E2 E2&E1 E1|E2 E2|E1 基于!对于&或|的分配律!(E1&E2)!E1|!E2!(E1|E2)!E1&!E2,逻辑型数据的应用永真条件和永假条件,永真条件的例子 true、y0|y15 出现于程序中的这两种条件通常都是逻辑错误,应加以避免。永真条件偶尔用于构造循环结构。,逻辑

6、型与整型的关系,逻辑形数据做为数值数据使用时:false 被转换成整数 0 true 被转换成整数1;其他类型数据作为逻辑形数据使用时:一切 0 值被转换成 false 一切非 0 值被转换成 true。,条件操作符与条件表达式,使用格式:条件?表达式1:表达式2 若条件为ture,表达式的值为 表达式1 的值,否则为 表达式2 的值。举例:执行 z=x y?1:0 后,若x大于y,z的值为1,否则为0。,自定义类型修饰符,目的:用自定义的标识符来代表一个特定的数据类型。格式:typedef 类型修饰符说明;举例:typedef int Distance;去掉typedef剩下的部分应与定义变

7、量的格式相同;意义:提高可读性、一致性和可维护性,表达式的副作用概念与原理.,表达式的副作用是指:某些表达式在求值过程中要改变该表达式中作为操作数的某个变量的值。产生副作用的原因是表达式中包含了具有副作用的操作符,这样操作符包括:赋值操作符、复合赋值操作符、增1减1操作符。,表达式的副作用概念与原理.,具有副作用的操作符必须作用于变量,因此也可称为作用于变量的操作符;错误表达式举例:+5、8=x+3 由作用于变量的操作符(后增1后减1除外)构成的表达式的值就是该操作符所作用的变量所获得的值;,表达式的副作用概念与原理.,例如执行int x=3,y=5;cout(x*=y+2);/显示表达式的值

8、cout x;/显示变量的值屏幕显示:21 21而执行int x=3;cout x+;/显示表达式的值cout x;/显示变量的值屏幕显示:3 4,表达式的副作用概念与原理,由于此种表达式的值与变量所获得的值相同,C+即利用该变量来提供表达式的值。因此,此种表达式的值视同变量。例如,执行:int k=3;cout+(k+=2);cout k;显示:6 6,表达式的副作用概念与原理,借助于这种“用获得值的变量来提供表达式的值”的机理以及操作符的优先级和结合性,可以判断某些表达式的正误:正确 错误+k k-(+k)+k+k-=3 k-+=5 k+5 k-+5,表达式副作用的合理利用.,利用表达式的

9、副作用,可使程序代码简洁、高效。例如,要将一字符串从字符数组 a 的下标 i 处复制下标 j 处:,i,j,表达式副作用的合理利用.,不利用副作用:while(ai)aj=ai;i=i+1;j=j+1;aj=0;,合理利用副作用:while(ai)aj+=ai+;aj=0;,表达式副作用的合理利用.,具有副作用的表达式应该含义明确,不要过于复杂费解,否则可能得到无法预料的结果,例如:执行 int j=5;+j+=j+1;coutj;输出的可能是 12 而不是13 执行 int j=5;cout+j,j;输出的可能是 6,5 而不是6,6,表达式副作用的合理利用,基本原则:被改变值的变量不要在同

10、一表达式中出现第二次。,表达式的副作用逗号表达式.,逗号表达式的使用格式 表达式1,表达式2 表达式的值就是 表达式2 的值,例如,执行:int x=3;cout(x+,x+5);cout x;显示:9 4,表达式的副作用逗号表达式.,由于 表达式1 或 表达式2 本身也可以是逗号表达式,因此可构成更长的表达式:表达式1,表达式2,表达式3 例如:x=0,y=1,+z,x+y+z,表达式的副作用逗号表达式.,由于表达式的值就是最后一个子表达式的值,因此其他子表达式的作用只能通过副作用体现。例如在 x+y,x-y 中,第一个子表达式 x+y 无意义。,表达式的副作用逗号表达式,逗号操作符具有最低的优先级,因此要注意括弧的使用,注意 x=y,z 和 x=(y,z)的区别 逗号表达式常用于for循环语句中。,表达式的副作用表达式语句,格式:表达式;表达式语句的作用通过它的副作用体现,表达式的值被舍去不用。例如:x=3;x+=5;x-1;/无意义,中央电大课程C+语言程序设计第二章第三讲完再见,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号