项目三运算符与表达式的应用

上传人:san****019 文档编号:15969901 上传时间:2020-09-14 格式:PPT 页数:32 大小:589.10KB
收藏 版权申诉 举报 下载
项目三运算符与表达式的应用_第1页
第1页 / 共32页
项目三运算符与表达式的应用_第2页
第2页 / 共32页
项目三运算符与表达式的应用_第3页
第3页 / 共32页
资源描述:

《项目三运算符与表达式的应用》由会员分享,可在线阅读,更多相关《项目三运算符与表达式的应用(32页珍藏版)》请在装配图网上搜索。

1、项目三 运算符与表达式的应用,本项目内容,算术运算符与算术表达式 强制类型转换 赋值运算符及赋值表达式 自增、自减运算 逗号表达式 关系运算和逻辑运算,3.1 背景知识,语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使语言功能十分完善。 语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。,3.1 背景知识,语言的运算符可分为以下几类:,3.2 项目设计及准备,项目准备 计算机(安装好Windows 操作系统和VC+6.0) 方法及步骤 打开VC+6.0开发环境,新建工程,在里面输入源代码,并按照相关的编译连接运行步骤得到相应的结果。,3.3 项目

2、实施,任务一:算术运算符与算术表达式 情景一:已知a=5,b=3,c=5.0分别计算a+b,a-b,b*a,a/b,c/b,a%b,a*b/c-1.5+a, (a+b)*8-(a-b)7,(+a)-(b+)+(c-)的值。,3.3 项目实施,#include “stdio.h” void main() int a=5,b=3; float c=5.0; printf(“n%d,%d,%d,%d,%f,%d”,a+b,a-b,b*a,a/b,c/b,a%b); printf(“n%f,%d,%fn”, a*b/c-1.5+a, (a+b)*8-(a-b)7,(+a)-(b+)+(c-); ,3.

3、3 项目实施,1.基本的算术运算符 +(加法运算符。如3+5) -(减法运算符或负值运算符。如5-2,-3) *(乘法运算符。如3*5) /(除法运算符。如5/3,5.0/3) %(模运算符或求余运算符,%要求两侧均为整型数据。如7%4的值为3)。 除了负值运算符-单目运算符外,其它都是双目运算符。,3.3 项目实施,2.算术表达式 表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型, 它们等于计算表达式所得结果的值和类型。表达式求值按运算符的优先级和结合性规定的顺序进行。单个的常量、变量、函数可以看作是表达式的特例。 算术表达式:用算术运算符和括号将运算对象(也称操

4、作数)连接起来的、符合C语法规则的式子。运算对象可以是常量、变量、函数等。,3.3 项目实施,3.运算符的优先级和结合性 C语言规定了在进行表达式求值过程中,各运算符的“优先级”和“结合性”。 (1)C语言规定了运算符的“优先级”和“结合性”。在表达式求值时,先按运算符的“优先级别”高低次序执行。 (2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向”处理。 左结合性(自左向右结合方向):运算对象先与左面的运算符结合。 右结合性(自右向左结合方向):运算对象先与右面的运算符结合。 (3)在书写多个运算符的表达式时,应当注意各个运算符的优先级,确保表达式中的运算符能以正确的顺

5、序参与运算。对于复杂表达式为了清晰起见可以加圆括号“()”强制规定计算顺序。,3.3 项目实施,任务二:强制类型转换 情景一:从键盘输入一个球的半径值,计算并输出这个球的体积。球体积计算公式为:v=4/3*r3。其中r是球的半径,是圆周率,v是球的体积。,3.3 项目实施,#include “stdio.h” #define PAI 3.1415926 void main() float fRadius, fVolume; print (“please input the balls radius:”); scanf(“%f”, ,3.3 项目实施,强制类型转换运算符 其一般形式为: (类型说

6、明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。 例如: (float) a 把a转换为实型 (int)(x+y) 把x+y的结果转换为整型,3.3 项目实施,任务三:赋值运算及赋值表达式 1.赋值运算符及赋值表达式 简单赋值运算符和表达式:简单赋值运算符记为“=”。由“= ”连接的式子称为赋值表达式。其一般形式为: 变量=表达式 例如: x=a+b w=sin(a)+sin(b) y=i+-j,3.3 项目实施,赋值表达式的功能是计算表达式的值再赋予左边的变量。赋值运算符具有右结合性。因此 a=b=c=5 可理解为 a=(b=(c=5) 赋值表达式的求解过程是

7、: (1)先计算赋值运算符右侧的“表达式”的值。 (2)将赋值运算符右侧“表达式”的值赋值给左侧的变量。 (3)整个赋值表达式的值就是被赋值变量的值。,3.3 项目实施,2.赋值时类型转换 如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下: (1)实型赋予整型,舍去小数部分。 (2)整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。 (3)字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。,3.3 项目实

8、施,总之,不同类型的整型数据间的赋值归根到底就是:按照存储单元的存储形式直接传送(由长型整数赋值给短型整数,截断直接传送;由短型整数赋值给长型整数,低位直接传送,高位根据低位整数的符号进行符号扩展)。,3.3 项目实施,任务四:自增、自减运算符 自增,自减运算符:自增1运算符记为“+”,其功能是使变量的值自增1。 自减1,运算符记为“-”,其功能是使变量值自减1。 自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式: +i i自增1后再参与其它运算 -i i自减1后再参与其它运算 i+ i参与运算后,i的值再自增1 i- i参与运算后,i的值再自减1,3.3 项目实施,注意:

9、(1)+i,-i(前置运算):先自增、减,再参与运算;i+,i(后置运算):先参与运算, 再自增、减。 (2)自增、减运算符只用于变量,而不能用于常量或表达式。 (3)+,-的结合方向是“自右向左”(与一般算术运算符不同)。 (4)自增、自减运算符常用于循环语句中,使循环变量自动加1,也用于指针变量,使指针指向下一个地址。,3.3 项目实施,任务五:逗号表达式 C语言提供一种特殊的运算符逗号运算符(顺序求值运算符)。用它将两个或多个表达式连接起来,表示顺序求值(顺序处理)。用逗号连接起来的表达式称为逗号表达式。 例如:3+5,6+8 逗号表达式的一般形式:表达式1,表达式2,表达式n。 逗号表

10、达式的求解过程是:自左向右,求解表达式1,求解表达式2,求解表达式n。整个逗号表达式的值是表达式n的值。 例如:逗号表达式3+5,6+8的值为14。 逗号表达式主要用于将若干表达式“串联”起来,表示一个顺序的操作(计算)。在许多情况下使用逗号表达式的目的只是想分别得到各个表达式的值,而并非一定要得到和使用整个逗号表达式的值。,3.3 项目实施,任务六:利用关系运算符和逻辑运算表示C语言中的条件 1.关系运算符 关系运算是逻辑运算中比较简单的一种,“关系运算”就是“比较运算”。即,将两个值进行比较,判断是否符合或满足给定的条件。如果符合或满足给定的条件,则称关系运算的结果为“真”;如果不符合或不

11、满足给定的条件,则称关系运算的结果为“假”。,3.3 项目实施,C语言提供6种关系运算符: :大于运算符。如,bc- =:大于等于运算符,如,b=o =等于运算符。如,c=b !=;不等于运算符。如c! =l0 在这6个运算符中,前4个优先级相同,后两个优先级相同。,3.3 项目实施,2.关系表达式 用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式等)连接起来所构成的表达式,称为关系表达式。 关系表达式的一般形式为: 表达式 关系运算符 表达式 例如: a+bc-d x3/2,3.3 项目实施,关系表达式的值是一个逻辑值,即“真”或“假”。C语言没有逻辑型数据,以1代表“真”,以0代表“

12、假”。 例如a=3,b=2,c=1,则: 关系表达式“ab”的值为“真”,即表达式的值为:1。 关系表达式“b+ca”的值为“假”,即表达式的值为:0。,3.3 项目实施,3.逻辑运算符 语言中提供了三种逻辑运算符: (1)& 与运算 (2)| 或运算 (3)! 非运算 与运算符&和或运算符|均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:,3.3 项目实施,逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”来表示。其求值规则如下: (1)与运算 &:参与运算的两个量都为真时,结果才为真,否则为假。 例如: 50 & 42

13、由于50为真,42也为真,相与的结果也为真。,3.3 项目实施,(2)或运算|:参与运算的两个量只要有一个为真,结果就为真。 两个量都为假时,结果为假。 例如: 50|58 由于50为真,相或的结果也就为真。 (3)非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。 例如: !(50) 的结果为假。,3.3 项目实施,4.逻辑表达式 逻辑表达式:用逻辑运算符(逻辑与、逻辑或、逻辑非)将关系表达式或逻辑量连接起来构成逻辑表达式。 逻辑表达式的值是一个逻辑量“真”或“假”。C语言编译系统在给出逻辑运算结果时,以1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假

14、”,以非0代表“真”(即认为一个非0的数值是“真”)。,3.3 项目实施,例如:非0值作为逻辑值参与运算=“真”(此时与1的作用一样) 若a=4, 则!a=0(假)。 若a=4,b=5, 则a&b=1(真),a|b=1(真) ,!a|b=1(真) 4&0|2=1(真) c(真)&d(真)=1,3.4 项目小结,通过对本项目的学习,我们已经掌握了C语言中的基本运算符和一些基本的表达式。有了这些基础,我们就可以开始编程序了!运算符、表达式的细节非常多,它们不是程序设计的最重要的内容,但细节错误也导致程序最终错误,因此,还是要引起注意。,3.5 理论分析,C语言运算符丰富,范围很宽。它把除了控制语句和输入/输出以外的几乎所有的基本操作都作为运算符处理,所以C语言运算符可以看作是操作符。C语言丰富的运算符构成C语言丰富的表达式(是运算符就可以构成表达式)。运算符丰富、表达式丰富、灵活。 在C语言中除了提供一般高级语言的算术、关系、逻辑运算符外,还提供赋值符运算符,位操作运算符、自增自减运算符等等,甚至数组下标,函数调用都可作为运算符。,3.6 工程实训,求解问题,假设今天是星期三,帮小华算算20天之后是星期几? 2.已知x是整数,且100 x999,求x的各位数并分别赋给ones、ten、hunds。,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!