资源描述:
《第3章 运算符和表达式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章运算符与表达式3.1基本运算符及其表达式3.2混合运算时数据类型的转换1本章要点C语言的运算符和表达式?各种表达式的求解规则是什么?2表达式:由运算符和运算对象(操作数)组成的有意义的运算式子,它的值和类型由参加运算的运算符和运算对象决定。运算符:具有运算功能的符号运算对象:常量、变量和函数等表达式算术表达式、赋值表达式、关系表达式、逻辑表达式、条件表达式和逗号表达式等运算符和表达式33.1算术表达式-算术运算符单目+-++--双目+-*/%注意/整数除整数,得整数1/4=0,10/3=3
2、%模(求余):针对整型数据5%6=5,9%4=1,100%4=0+和–单目运算符,+10和–10双目运算符,x+10和y–10双目运算符两侧操作数的类型要相同,否则,自动类型转换后,再运算。4自增运算符++和自减运算符--intn;n++++nn----n(只适合变量运算)使变量的值增1或减1++nn++n=n+1--nn--n=n-1取变量的值作为表达式的值++n:n=n+1;取n值作为表达式++n的值。先加1再取值。n++:取n值作为表达式n++的值;n=n+1。先取值再加1。5自增运算和自
3、减运算intn,m;n=2;m=++n;n=2;m=n++;n=3n=3m=3m=2m=nn=n+1n=n+1m=n6算术运算符的优先级和结合性单目+-++--双目*/%双目+-高低从右向左,右结合性-5+3%2=(-5)+(3%2)=-43*5%3=(3*5)%3=0-i++-(i++)从左向右,左结合性7写出C表达式数学式C算术表达式s(s-a)(s-b)(s-c)(x+2)e2xs*(s-a)*(s-b)*(s-c)(x+2)*exp(2*x)求平方根函数:sqrt83.2赋值表达式赋
4、值运算符=x=3*4优先级较低,结合性从右向左x=y=3x=(y=3)9赋值表达式变量=表达式计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量将赋值运算符左侧的变量的值作为表达式的值右侧表达式的类型自动转换成左侧变量的类型intn;doublex,y;n=3.14*2;x=10/4;x=(y=3);n=6x=2.0x=3.010复合赋值运算符赋值运算符简单赋值运算符=复合赋值运算符复合算术赋值运算符+=-=*=/=%=复合位赋值运算符赋值表达式变量赋值运算符表达式x+=exp
5、等价于x=x+expx*=y-3x=x*(y-3)113.3关系表达式-关系运算符比较两个操作数,比较的结果:真假xyx>=yx!=y优先级算术运算符<<=>>===!=赋值运算符左结合a>b==cd=a>bch>'a'+1d=a+b>c3<=x<=5b-1==a!=c(a>b)==cd=(a>b)ch>('a'+1)d=((a+b)>c)(3<=x)<=5((b-1)==a)!=c12关系表达式用关系运算符将2个表达式连接起来的式子哪些是关系表达式?a>b==cd=a>
6、bch>'a'+1d=a+b>cb-1==a!=c3<=x<=5关系运算的结果真1假0charch='w';inta=2,b=3,c=1,d,x=10;001101133.4逻辑表达式-逻辑运算符&&
7、
8、!逻辑运算结果:1(真)0(假)逻辑运算对象:关系表达式或逻辑量x>=3&&x<=5!x判断逻辑量的真假:非0(真)0(假)(ch>='a'&&ch<='z')
9、
10、(ch>='A'&&ch<='Z')ch==''
11、
12、ch==''x>=3&&x<=514逻辑运算的规则-真值表xyx&&yx
13、
14、
15、y!x假假001假真011真假010真真110000非0非00非0非015优先级!算术运算符关系运算符&&
16、
17、赋值运算符左结合逻辑运算符的优先级和结合性a
18、
19、b&&c!a&&bx>=3&&x<=5!x==2a
20、
21、3+10&&2a
22、
23、(b&&c)(!a)&&b(x>=3)&&(x<=5)(!x)==2a
24、
25、((3+10)&&2)16逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子(!(非)、&&(与)、
26、
27、(或))。哪些是逻辑表达式?a&&ba
28、
29、b&&c!a&&ba
30、
31、3+10&&2!(
32、x==2)!x==2ch
33、
34、bcharch='w';inta=2,b=0,c=0;floatx=3.0;0101101exp1&&exp2先算exp1,若其值为0,STOPexp1
35、
36、exp2先算exp1,若其值为1,STOP17例3-1写出满足要求的逻辑表达式x为零关系表达式x==0逻辑表达式!xx不为零x!=0xwhile(x==0)等价于while(!x)if(x==0)等价于if(!x)x和y不同时为零!(x==0&&y==0)x!=0
37、
38、y!=0x
39、
40、yx取0!x真x取非0!x假x取0