C语言基本运算符与表达式.ppt
《C语言基本运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《C语言基本运算符与表达式.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 基本运算符和表达式基本运算符和表达式表达式表达式算术运算符和表达式算术运算符和表达式赋值运算符赋值运算符不同数据类型间的转换不同数据类型间的转换关系运算符和表达式关系运算符和表达式逻辑运算符和表达式逻辑运算符和表达式自增和自减运算符自增和自减运算符逗号运算符和表达式逗号运算符和表达式条件运算符和表达式条件运算符和表达式求字节运算符求字节运算符 学习重点学习重点1.熟悉几种常用的运算符熟悉几种常用的运算符2.掌握运算符的运算规则掌握运算符的运算规则3.掌握表达式求值掌握表达式求值 3.1 表达式表达式一、一、表达式的概念表达式的概念 表达式是由运算符连接常量、变量、函表达式是由运算符连接常量、
2、变量、函数所组成的式子。数所组成的式子。每个表达式都有一个值每个表达式都有一个值和类型。和类型。二、二、运算符的种类:运算符的种类:据运算对象的个数分有三种:据运算对象的个数分有三种:单目、双目、三目单目、双目、三目C运运算算符符算术运算符:(算术运算符:(+-*/%+-+-*/%+-)关系运算符:(关系运算符:(=!=!=)逻辑运算符:(!逻辑运算符:(!&|&|)位运算符位运算符 :(:(|&|&)赋值运算符:(赋值运算符:(=及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符:(逗号运算符:(,)指针运算符:(指针运算符:(*&)求字节数求字节数 :(:(sizeofs
3、izeof)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(.-.-)下标运算符:(下标运算符:()其它其它 :(:(()-()-)学习运算符应注意:学习运算符应注意:运算符功能运算符功能与运算量关系与运算量关系要求运算量个数要求运算量个数要求运算量类型要求运算量类型运算符优先级别运算符优先级别结合方向结合方向结果的类型结果的类型一、算术运算符:一、算术运算符:+-*/%*/%结合方向:从左向右结合方向:从左向右优先级:优先级:-*/%*/%-+-+-说明:说明:“-”可为可为单目单目运算符时运算符时,右结合性右结合性两整数相除,结果为整数两整数相除,结果为整数%要求两
4、侧均为整型数据要求两侧均为整型数据例例 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()printf(nn%d,%dn,20/7,-20/7);printf(%f,%fn,20.0/7,-20.0/7);结果:结果:2,-22.857143,-2.857143例例2:#include”stdio.h”main()printf(%dn,1
5、00%3);结果:结果:13.33.3 赋值运算符赋值运算符一、简单赋值运算符:一、简单赋值运算符:=格式:格式:变量变量=表达式表达式作用:将一个数据(常量或表达式)赋给一个变量作用:将一个数据(常量或表达式)赋给一个变量 二、复合赋值运算符二、复合赋值运算符种类种类:+=-=*=/=%=a+=3a=a+3x*=y+8x=x*(y+8)例例 a=3;a=3;d=func();d=func();c=d+2;c=d+2;a+=ba=a+ba-=ba=a-ba*=ba=a*ba/=ba=a/ba%=ba=a%b说明说明:结合方向:结合方向:自右向左自右向左左侧必须是变量,不能是常量或表达式左侧必须
6、是变量,不能是常量或表达式优先级:比算术低优先级:比算术低例例 3=x-2*y;3=x-2*y;a+b=3;a+b=3;例例:a=b=c=5:a=b=c=5 a=(b=5)a=(b=5)a=5+(c=6)a=5+(c=6)a=(b=4)+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)a=(b=10)/(c=2)/表达式值为表达式值为5 5,a,b,ca,b,c值为值为5 5/b=5;a=5/b=5;a=5/表达式值表达式值1111,c=6,a=11c=6,a=11/表达式值表达式值1010,a=10,b=4,c=6a=10,b=4,c=6/表达式值表达式值5 5,a=5,b=
7、10,c=2a=5,b=10,c=2例例:a=12;a=12;a+=a-=a*a;a+=a-=a*a;/a=-264/a=-264 等价于等价于a=a+(a=a-(a*a)a=a+(a=a-(a*a)例例:int a=2;:int a=2;a%=4-1;a%=4-1;a+=a*=a-=a*=3;a+=a*=a-=a*=3;/a=0/a=0 等价于等价于a=a+(a=a*(a=a-(a=a*3)a=a+(a=a*(a=a-(a=a*3)例例3:#include”stdio.h”main()int a,b,c,d,x,y,z;a=100;b=45;c=-19;d=94;x=-2;y=5;z=28;
8、a+=6;b-=x;c*=10;d/=x+y;z%=8;printf(n%6d%6d%6d%6d%6d n,a,b,c,d,z);结果:结果:106 47 -190 31 43.4 不同类型数据间的转换不同类型数据间的转换转换有两种:转换有两种:隐式:计算机自动进行的转换隐式:计算机自动进行的转换显式:强制性转换显式:强制性转换一、隐式转换(一、隐式转换(4 4种)种)v运算转换运算转换-不同类型数据混合运算时不同类型数据混合运算时v赋值转换赋值转换-把一个值赋给与其类型不同的变量时把一个值赋给与其类型不同的变量时v输出转换输出转换-输出时转换成指定的输出格式输出时转换成指定的输出格式v函数调
9、用转换函数调用转换-实参与形参类型不一致时转换实参与形参类型不一致时转换(1)运算转换运算转换:不同类型数据运算时先不同类型数据运算时先自动自动转换成同一类型转换成同一类型数据类型的级别数据类型的级别floatlongintbitchar低低高高unsignedsigned转换规则:转换规则:当运算符两端的数据类型不同时,按当运算符两端的数据类型不同时,按“向高看向高看齐齐”的原则,对较低的类型提升。的原则,对较低的类型提升。10+a +i*f -d/l例例 int i;float d,f;long l;intintfloatfloatfloatfloatfloatfloat(2)赋值转换:)
10、赋值转换:自动将自动将“=”右边的类型转换右边的类型转换为左边变量的类型。为左边变量的类型。实实整,舍弃小数。整,舍弃小数。例:例:int i;i=375.986;i=375intfloat,数值不变,但以浮点形式存到变量中。数值不变,但以浮点形式存到变量中。例:例:float f;f=36;f=36.000000 字符字符 整型,将字符的整型,将字符的ASCII码值放到整型码值放到整型量的低八位中,高八位为量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符变量。整型赋予字符型,只把低八位赋予字符变量。例例4 4:#include”stdio.h”main()main()int a,
11、b=322,i;int a,b=322,i;float x,y=8.88;float x,y=8.88;char c1=k,c2;char c1=k,c2;a=y;x=b;a=y;x=b;i=c1;c2=b;i=c1;c2=b;printf(%d,%f,%d,%c,a,x,i,c2);printf(%d,%f,%d,%c,a,x,i,c2);signedunsigned,原样照赋原样照赋例例5#include”stdio.h”main()unsigned int a;int b=-1;a=b;printf(“%u”,a);输出结果:输出结果:65535C二、显式转换(强制转换)二、显式转换(强
12、制转换)格式:格式:(类型名类型名)(表达式)表达式)例例 (int)(x+y)(int)(x+y)(int)x+y (int)x+y (float)(3/2)(float)(3/2)(int)3.6 (int)3.6 说明:强制转换得到所需类型的中间变量,原说明:强制转换得到所需类型的中间变量,原变量类型不变变量类型不变 例例6#include”stdio.h”main()float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:结果:x=3.600000,i=3精度损失问题精度损失问题较高类型向较低类型转换时可能发生较高类型向较低类型转
13、换时可能发生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 关系运算符和表达式关系运算符和表达式l运算符:运算符:=!=l结合方向:自左向右结合方向:自左向右l优先级别:优先级别:=-=!=l与其它比:算术与其它比:算术关系关系赋值赋值例例 ca+b /c(a+b)ca+b /c(a+b)ab!=c /(ab)!=c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基本 运算 表达式
限制150内