第5部分-基本运算符与表达式课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5部分-基本运算符与表达式课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 部分 基本 运算 表达式 课件
- 资源描述:
-
1、 学习重点学习重点1.熟悉几种常用的运算符熟悉几种常用的运算符2.掌握运算符的运算规则掌握运算符的运算规则3.掌握表达式求值掌握表达式求值 3.1 表达式表达式一、一、表达式的概念表达式的概念 表达式是由运算符连接常量、变量、函表达式是由运算符连接常量、变量、函数所组成的式子。数所组成的式子。每个表达式都有一个值每个表达式都有一个值和类型。和类型。二、二、运算符的种类:运算符的种类:据运算对象的个数分有三种:据运算对象的个数分有三种:单目、双目、三目单目、双目、三目C运运算算符符算术运算符:(算术运算符:(+-+-*/%+-/%+-)关系运算符:(关系运算符:(=!=!=)逻辑运算符:(!逻辑
2、运算符:(!&|&|)位运算符位运算符 :(:(|&|&)赋值运算符:(赋值运算符:(=及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符:(逗号运算符:(,)指针运算符:(指针运算符:(*&)求字节数求字节数 :(:(sizeofsizeof)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(.-.-)下标运算符:(下标运算符:()其它其它 :(:(()-()-)学习运算符应注意:学习运算符应注意:运算符功能运算符功能与运算量关系与运算量关系要求运算量个数要求运算量个数要求运算量类型要求运算量类型运算符优先级别运算符优先级别结合方向结合方向结果的类型结
3、果的类型一、算术运算符:一、算术运算符:+-*/%/%结合方向:从左向右结合方向:从左向右优先级:优先级:-*/%/%-+-+-说明:说明:“-”可为可为单目单目运算符时运算符时,右结合性右结合性两整数相除,结果为整数两整数相除,结果为整数%要求两侧均为整型数据要求两侧均为整型数据例例 5/2 =-5/2.0 =例例 5%2 =-5%2 =1%10 =5%1 =5.5%2例例 5/2 =2 -5/2.0=-2.5例例 5%2 =1 -5%2 =-1 1%10 =1 5%1 =0 5.5%2 ()3.2 算术运算符和表达式算术运算符和表达式例例1:#include”stdio.h”main()i
4、nt a,b;a=20/7;b=-20/7;printf(nn%d,%dn,a,b);printf(%f,%fn,20.0/7,-20.0/7);结果:结果:2,-22.857143,-2.857143例例2:#include”stdio.h”main()int i;i=100%3;printf(%dn,i);结果:结果:13.33.3 赋值运算符赋值运算符一、简单赋值运算符:一、简单赋值运算符:=格式:格式:变量变量=表达式表达式 作用:将一个数据(常量或表达式)赋给一个变量作用:将一个数据(常量或表达式)赋给一个变量例例 a=3;a=3;d=func();d=func();c=d+2;c=
5、d+2;说明说明:结合方向:结合方向:自右向左自右向左左侧必须是变量,不能是常量或表达式左侧必须是变量,不能是常量或表达式优先级:比算术低优先级:比算术低3.4 不同类型数据间的转换不同类型数据间的转换转换有两种:转换有两种:隐式:计算机自动进行的转换隐式:计算机自动进行的转换显式:强制性转换显式:强制性转换一、隐式转换(一、隐式转换(4 4种)种)v运算转换运算转换-不同类型数据混合运算时不同类型数据混合运算时v赋值转换赋值转换-把一个值赋给与其类型不同的变量时把一个值赋给与其类型不同的变量时v输出转换输出转换-输出时转换成指定的输出格式输出时转换成指定的输出格式v函数调用转换函数调用转换-
6、实参与形参类型不一致时转换实参与形参类型不一致时转换(1)运算转换运算转换:不同类型数据运算时先不同类型数据运算时先自动自动转换成同一类型转换成同一类型数据类型的级别数据类型的级别floatlongintbitchar低低高高unsignedsigned转换规则:转换规则:当运算符两端的数据类型不同时,按当运算符两端的数据类型不同时,按“向高看向高看齐齐”的原则,对较低的类型提升。的原则,对较低的类型提升。10+a +i*f -d/l例例 int i;float d,f;long l;intintfloatfloatfloatfloatfloatfloat(2)赋值转换:)赋值转换:自动将自动
7、将“=”右边的类型转换右边的类型转换为左边变量的类型。为左边变量的类型。实实整,舍弃小数。整,舍弃小数。例:例:int i;i=375.986;i=375intfloat,数值不变,但以浮点形式存到变量中数值不变,但以浮点形式存到变量中。例:例:float f;f=36;f=36.000000 字符字符 整型,将字符的整型,将字符的ASCII码值放到整型码值放到整型量的低八位中,高八位为量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符变量。整型赋予字符型,只把低八位赋予字符变量。char c;c=322;例:例:int i;i=A;i=65 c=66 signedunsigned,
8、原样照赋原样照赋例例3#include”stdio.h”main()unsigned int a;int b=-1;a=b;printf(“%u”,a);输出结果:输出结果:65535C二、显式转换(强制转换)二、显式转换(强制转换)格式:格式:(类型名类型名)(表达式)表达式)例例 (int)(x+y)(int)(x+y)(int)x+y (int)x+y (float)(3/2)(float)(3/2)(int)3.6 (int)3.6 说明:强制转换得到所需类型的中间变量,说明:强制转换得到所需类型的中间变量,原变量类型不变原变量类型不变 例例4#include”stdio.h”main
9、()float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:结果:x=3.600000,i=3精度损失问题精度损失问题较高类型向较低类型转换时可能发生较高类型向较低类型转换时可能发生v例:例:float f;f=6/7;问:问:f=?f=0.8571 f=0.0 改为:改为:f=6.0/7 或或 f=6/7.0或或 f=(float)6/7v类型转换时,只赞成低类型转换时,只赞成低高高 不赞成高不赞成高低低 只赞成有符号数只赞成有符号数无符号数无符号数 不赞成无符号数不赞成无符号数有符号数有符号数3.5 关系运算符和表达式关系运算符和表达
10、式l运算符:运算符:=!=l结合方向:自左向右结合方向:自左向右l优先级别:优先级别:=-=!=l与其它比:算术与其它比:算术关系关系赋值赋值例例 ca+b /c(a+b)ca+b /c(a+b)ab!=c /(ab)!=c ab!=c /(ab)!=c a=bc /a=(bc)a=bc /a=(bc /a=(bc)a=bc /a=(bc)l关系表达式的值:是逻辑值,关系表达式的值:是逻辑值,1(真真)0(假假)例例 int a=3,b=2,c=1,d,f;ab (ab)=c b+cb f=abc/表达式值表达式值1/表达式值表达式值1/表达式值表达式值0/d=1/f=0注意:注意:例例 若若
11、a=0;b=0.5;x=0.3;则则 a=x278在在C中是允许的,中是允许的,值为值为0例例 int i=1,j=7,a;a=i+(j%4!=0);则则a=2例例 a0 结果为结果为 A100 结果为结果为10例例 注意区分注意区分“=”与与“=”int a=0,b=1;if(a=b)printf(“a equal to b”);else printf(“a not equal to b”);例例5:#include”stdio.h”main()int x,y,z;printf(“input data x,y:n”);scanf(“%d%d”,&x,&y);printf(“n x y xy
展开阅读全文