欢迎来到天天文库
浏览记录
ID:39889936
大小:263.34 KB
页数:36页
时间:2019-07-14
《在“全国定向锦标赛、全国学生定向锦》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计主讲:沈济南TEL:13971887071E-mail:shenjinan@163.com第三讲主讲内容:第二章数据类型、运算符及表达式2.3运算符与表达式2.4数据类型转换22.3运算符与表达式运算符用于向编译程序说明对数据操作的性质,即操作码。32.3.1算术运算符与算术表达式1.算术运算符42.3.1-1算术运算符(2)说明:(1)所谓双目运算,是指运算符要求有两个操作数(即两个运算量)。(2)运算符的优先级,决定了一个表达式中计算的先后顺序。和数学上一样,算术运算应遵循“先乘除,后加减”。所以,
2、(*、/、%)的优先级高于(+、-)。(3)C语言的运算符具有“结合性”的特点。所谓结合性,是指运算符在与运算量(运算对象)组合时的“结合方向”。如表达式x+y-z,由于(+、-)为同一优先级,且结合方向都是从左向右。所以,y先与+结合,执行x+y运算,然后执行减z的运算。(4)当+、-作为单目运算符使用时,则分别表示取正号和取负号。其结合方向是“自右向左”结合。+(取正号)、-(取负号)运算符的优先级高于算术运算符。52.3.1-1算术运算符(3)算术运算符的运算规则如下:(1)参与算术运算的运算量可以是整型或实型
3、常量、变量及表达式。(2)除法(/)运算的除数不能为0,否则将出现被0除的错误。(3)求余运算符(%)两边的运算量必须为整型,且%后面的运算量不能为0。例如:7%4值为34%7值为410%5值为062.3.1-1算术运算符(4)(4)当算术运算符的两个运算量的类型相同时,则运算结果的类型与运算量相同。例如:12.3+2.7值为浮点型15.013/5值为整型2,舍弃小数部分-13/5值为整型-2,采取“向零取整”(5)当算术运算符的两个运算量中有一个为实型时,则运算结果的类型为double型。例如:12.3+3值为do
4、uble型15.372.3.1算术运算符与算术表达式1.算术运算符2.算术表达式算术表达式是由算术运算符、括号和运算量所组成的符合C语言语法规则的式子。参与运算的运算量可以是常量、变量和带返回值的函数等。例如:'a'–32+4a*x*x+b*sin(x)+c(a+b)/(c–d)82.3.2自增与自减运算C语言的自增、自减运算符分别为:++、--。它们是单目运算符,即运算符只有一个操作数。自增、自减运算符的作用是使变量的值增1或减1。如:执行语句n++;其作用是将变量n的值加1后,再将结果值放入变量n中保存。即相当于
5、执行语句n=n+1;92.3.2自增与自减运算(2)1.自增、自减运算符的使用形式若运算符在变量之前称为前置运算,如++i,--i;若运算符在变量之后称为后置运算,如i++,i--。前置运算的作用是,在使用变量的值之前,使变量的值加1或减1。后置运算的作用是,在使用变量的值之后,再使变量的值加1或减1。102.3.2自增与自减运算(3)举例/*源程序名:CH0202.C*//*01*/#include/*02*/voidmain()/*03*/{/*04*/inti=2,j=2,m,n;/*05*/
6、m=++i;/*06*/n=j++;/*07*/printf("m=%di=%d",m,i);/*08*/printf("n=%dj=%d",n,j);/*09*/}运行结果:m=3i=3n=2j=3112.3.2自增与自减运算(4)2.自增、自减运算符的优先级和结合性自增、自减运算符的优先级与取正值(+)、取负值(-)运算符处于同一级,但高于算术运算符。其结合方向为“自右向左”结合。运算符的优先级和结合方向请参阅附录3。如下列程序段:i=3;n=-i++;编译时如何处理?由于“-”和“++”是同一优先级,且
7、结合方向都是从右向左结合,因此,表达式-i++相当于-(i++)。122.3.2自增与自减运算(5)【思考】:如下程序段执行后变量x和y的结果值:x=3;y=-x+++x;132.3.3关系运算符与关系表达式1.关系运算符C语言中的关系运算符有六种:>、<、==!=、>=、<=。关系运算符都是双目运算符。关系运算的结果是一个逻辑值。关系运算规则:当关系成立,关系运算的值为1(表示逻辑真);当关系不成立,关系运算的值为0(表示逻辑假)。142.3.3关系运算符与关系表达式(2)1.关系运算符2.关系表达式关系表达式是用
8、关系运算符将两个运算量连接起来的式子。被连接的运算量可以是常量、变量和表达式。例如:x+y>100–zm%n==0152.3.4逻辑运算符与逻辑表达式1.逻辑运算符C语言的逻辑运算符有三个:&&(逻辑与)、
9、
10、(逻辑或)、!(逻辑非)。其中&&、
11、
12、是双目运算符;!是单目运算符。162.3.4逻辑运算符与逻辑表达式(2)为了提高程序运行的速度,
此文档下载收益归作者所有