欢迎来到天天文库
浏览记录
ID:59421597
大小:97.50 KB
页数:60页
时间:2020-09-19
《C语言程序设计3第3章运算符和表达式ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章运算符和表达式3.1表达式3.2运算符及表达式3.3运算符优先级和结合性3.1表达式C语言的表达式分为基本表达式和复杂表达式。基本表达式是由以下单项构成的,即:标识符、常量、字符串字面量和用圆括号括起来的表达式。将基本表达式通过运算符连接在一起,就构成复杂表达式。例如:2+8,a+b,(x-y)/a等。由表达式还可组成更大的表达式。例如:x=(a+b)%103.2运算符及表达式运算符是在一个数学运算中表示相应运算动作的一种符号。运算符所作用的对象称作运算分量。3.2.1算术运算符和算术表达式在C语言中,基本算术
2、运算符有5个,它们是:+(加)-(减)*(乘)/(除)%(取模)算术运算符和运算分量组成的求值序列称作算术表达式。要注意运算符“/”和“%”的区别。运算符“/”可以作用于算术类型。运算符“%”却只能作用于整型量。a/b表示两个整数进行整除,其结果是舍弃余数后所得到的商值。是取整数除法的余数,而不管商的值是多少。例3-1:算术运算符应用示例。/*arithmeticpractice*/#includevoidmain(){inta=99;intb=5;intc=11;intd=3;intresult;
3、result=a-b;printf("a-b=%d",result);result=b*c;printf("b*c=%d",result);result=a/b;printf("a/b=%d",result);result=a%b;printf("a%%b=%d",result);result=a%d+b/c;printf("a%%d+b/c=%d",result);}输出结果是:a-b=94b*c=55a/b=19a%b=4a%d+b/c=0例3-2:计算有多个算术运算符的算术表达式。#incl
4、udevoidmain(){intx,a=3;floaty;x=20+25/5*2;printf("(1)x=%d",x);x=25/2*2;printf("(2)x=%d",x);x=-a+4*5-6;printf("(3)x=%d",x);x=a+4%5-6;printf("(4)x=%d",x);x=-3*4%-6/5;printf("(5)x=%d",x);x=(7+6)%5/2;printf("(6)x=%d",x);y=25.0/2.0*2.0;printf("(
5、7)y=%f",y);}输出结果是:(1)x=30(2)x=24(3)x=11(4)x=1(5)x=0(6)x=1(7)y=25.0000003.2.2赋值运算符和赋值表达式赋值运算符“=”,其简单的使用形式是:变量=表达式这种形式的整个表达式称作赋值表达式。在使用赋值表达式时应注意以下几点:①在赋值运算符左边的量(通常称为左值)必须是变量,不能是常量或用上述运算符结合起来的表达式。inta,b;a=b;b=8;是正确的赋值形式;6=a;a+b=14;等形式都是不对的。②赋值运算可连续进行。例如,a=b=c=0a
6、=(b=(c=0))③赋值运算符的优先级比上述运算符的优先级都低。a=(b=9)*(c=7)④赋值表达式的值等于右边表达式的值,而结果的类型由左边变量的类型决定。⑤除了上述基本的赋值运算符之外,C语言中还提供了另外10个赋值运算符,它们是:+= -=*= /= %= >>= <<= &= |= ^=这些运算符是把“运算”和“赋值”两个动作结合在一起,往往把它们称为复合赋值运算符。x+=2其等效形式是:x=x+2。表达式x*=y+5的等效形式是:x=x*(y+5)。而表达式x%=y-10的等效形式是:x=x%(y-10
7、)复合赋值运算符右边的表达式应作为一个整体对待。3.2.3增量运算符和增量表达式自增运算符“++”和自减运算符“――”。它们都是单目运算符。当出现在运算分量的前面时,例如++i、――i,就称之为前缀运算符;当出现在运算分量的后面时,例如x++、y――,就称之为后缀运算符。由增量运算符和运算分量构成的表达式称为增量表达式。1.自增运算符++n这个表达式执行后,n的值增1。还可采用“后缀加”的形式:n++但必须指出,并非在任何情况下二者都等价。例3-3:显示前缀加和后缀加的区别。#includevoid
8、main(){inta,b,c;a=9;b=++a;printf("(1)a=%d***b=%d",a,b);a=9;c=a++;printf("(2)a=%d***c=%d",a,c);}运行后输出的结果是:(1)a=10***b=10(2)a=10***c=9执行b=++a,这条语句等价于下述两条语句:c=a+1;b=a;而改为后缀
此文档下载收益归作者所有