欢迎来到天天文库
浏览记录
ID:50084274
大小:1.94 MB
页数:38页
时间:2020-03-08
《C语言程序设计(第二版) 教学课件 作者 刘克成 张凌晓 ch3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、运算符与表达式内容提要3.1基本运算符及其表达式3.2混合运算时数据类型的转换3.1基本运算符及其表达式运算:是对数据的加工,被加工的数据称运算量或操作数,最基本的的运算形式由运算符记述;运算符:是一种向编译程序说明一个特定的数学或逻辑运算的符号,简单说即用来记述数据运算形式的符号;运算符优先级:表达式中优先级较高的运算符先于优先级较低的运算符进行运算;当一个运算量两侧的运算符优先级相同时,则依据运算符的结合性处理;运算符结合性:有左结合性和右结合性两种。C语言运算符算术运算符(+-*/%++--)
2、关系运算符(<<===>>=!=)逻辑运算符(!&&
3、
4、)位运算符(<<>>~
5、^&)赋值运算符(=及其扩展赋值运算符)条件运算符(?:)逗号运算符(,)指针运算符(*&)求字节数运算符(sizeof)强制类型转换(类型)分量运算符(.->)下标运算符([])其它(()-)学习运算符应注意:运算符的功能。与运算量的关系:运算量的个数(是几目或几元运算符)。运算量的类型。运算符的优先级别(先高后低)。结合方向(在运算量两侧运算符优先级相同时,则按结合方向顺序处理)。表达式值的类型(在不同类型的数据进行
6、运算时,要进行数据类型的转换,要注意结果值的类型)。3.1.2、算术运算符及其表达式(1)基本算术运算符(+-*/%)功能:加、减、乘、除、取余(模运算);目数:全部是双目运算符;优先级:先乘除后加减(*、/、%同一级别,+、-同一级别);结合方向:全部是左结合性。注意:%运算要求运算量必须为整型数据。/运算若运算量均为整型则结果也为整型(舍去小数)。+、-、*、/运算时,运算量有实数则结果为double型。字符型数据可与数值型数据混合运算。练习???例5/2=5/2.0=1%10=5%1=5.5%
7、2例5/2=25/2.0=2.51%10=15%1=05.5%2()(2)自加、自减运算符++--功能:使变量的值加1或减1前置:++i;--i;在使用i之前i值先加/减1。后置:i++;i--;在使用i之后,i值再加/减1。目数:均为单目运算符,且要求运算量为单个变量。优先级:高于基本算术运算符的优先级。结合方向:右结合性。注意:++、--不能用于常量和表达式,如5++,(a+b)--j=j+1;k=j;因此,结果:k=4,j=4k=j;j=j+1;因此,结果:k=3,j=4j=j-1;k=j;
8、因此,结果:k=2,j=2k=j;j=j-1;因此,结果:k=3,j=2例:j=3;k=++j;j=3;k=--j;j=3;k=j--j=3;k=j++;(3)正负号运算符(+-)功能:改变数值的正负;目数:单目;优先级:高于*、/、%的优先级,与++、--同级;结合方向:右结合性;例:i=3;j=-i++;(4)算术表达式定义:由算术运算符和括号把运算量连接起来的式子。表达式运算时,若一个运算符两侧的数据类型不同,先自动进行类型转换再进行运算。如:inti=1;floatf=1.0;则i+f1.0
9、+1.0=2.03.1.3赋值运算符及其表达式1、简单赋值运算符及表达式简单赋值符记为“=”,由“=”连接的式子称为简单赋值表达式,其一般形式为:变量=表达式功能:将右侧表达式的值赋给左侧的变量目数:双目结合方向:右结合性例(1)x=3+5;(2)c=d+2;(3)a=(x=6)/(y=3);注意:若赋值运算符两侧的数据类型不同,系统将自动进行数据类型的转换,把赋值号右边的类型转换成左边的类型。(1)实型数据赋给整型变量:舍去小数部分如:inti;floatj=2.72;i=j;(2)整型数据赋给实
10、型变量:数值不变,但增加小数部分(为0)如:inti=5;floatj;j=i;则i的值为2则j的值为5.0(3)字符型数据赋给整型变量:放到整型变量的低8位中,高8位全为0(4)整型数据赋给字符型变量:只把低8位赋给字符型变量如:inta;charc1=‘A’;a=c1;如:inta=322;charc2;c2=a;则c2为’B’则a的值为652.复合赋值符及其表达式分类:复合算术赋值符(+=、-=、*=、/=、%=)复合位运算赋值符(&=、
11、=、^=、>>=、<<=)一般形式:<变量><复合赋值
12、运算符><表达式>等价于:<变量>=<变量><运算符><表达式>例如:a+=b;相当于a=a+b;a*=b;相当于a=a*b;a*=b+c;相当于a=a*(b+c);而不是a=a*b+c;练习一下吧…1.inta=12;a+=a-=a*a则a=2inta=2;(1)计算表达式a+=a-=a*2的值(2)计算表达式a+=a-=a*=3的值-264-40(2)赋值表达式具有右结合性;(1)赋值运算符的优先级低于算术运算符、关系运算符和逻辑运算符;(4)赋值表达式左侧必须是
此文档下载收益归作者所有