欢迎来到天天文库
浏览记录
ID:52472091
大小:373.37 KB
页数:19页
时间:2020-04-08
《C语言第三章(续).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、运算符与表达式第3章(续)1.运算符和表达式2.算术运算符和算术表达式3.赋值运算符和赋值表达式4.自增、自减运算符5.逗号运算符和逗号表达式6.不同类型数据间的混合运算7.课后作业本讲主要内容:C运算符1运算符和表达式表达式是常量、变量、数组元素、函数等运算对象和运算符以及括号的有意义组合类似数学算式或公式,但写法有不同运算符的优先级和结合性见教材附录III算术运算符+-*/%指针运算符*&关系运算符><==>=<=!=求字节数运算符sizeof逻辑运算符!&&
2、
3、强制类型转换运算符类型位运算符<<>>~
4、^&分量运算符.->赋值运算符=下标运算符
5、[]条件运算符?:其它逗号运算符,2算术运算符和算术表达式2.1、基本的算术运算符+(加法运算符,或正值运算符):如2+3、+6-(减法运算符,或负值运算符):如3-4、-6*(乘法运算符):如3*4/(除法运算符):两个整数相除,其值为整数,如5/3值为1除数、被除数中有一个为负值时,结果向零取整,如-5/3为-1除数、被除数中有一个为实数时,结果为double型-7%4,7%-4,-7%-4的值为多少?%(模(求余)运算符):%两侧均为整型数据如7%4的值为3(-3,3,-3)2.2、算术表达式和运算符的优先级与结合型1)用算术运算符和括号将运算
6、对象(操作数)连接起来的、符合C语言语法规则的式子,称作算术表达式。如:-123a+b10*(alpha+1.5)*sin(beta)2)运算符有优先级和结合性优先级:算术运算符先*、/、%后+、-结合型:左结合,即表达式从左向右进行计算如:a+b/(c+d%e)-3.3+'4'*'3'3.3、类型转换与强制类型转换可以利用强制类型转换运算符将一个表达式转换成所需类型。如:(double)a(int)(x+y)与(int)x+y不同(float)(8%5)例3.7voidmain(){floatx;inti;x=3.6;i=(int)x+2;prin
7、tf("%f,%d",x,i);}同一运算符相连的运算数的数据类型自动从短类型向长类型转化,如上例3.1.赋值运算符“=”3.赋值运算符和赋值表达式用法:变量=表达式作用:将表达式的值赋给变量(构成赋值表达式)如:a=5;5=>aave=(a+b)/2;先计算(a+b)/2,结果赋给avex=y=z;首先z=>y,然后(y=z)=>x与数学上的等式不同!5=x;x+1=y*a+3;都是非法的C语句说明1:在C语言中判断是否相等用关系运算(==)。说明2:运算结果——赋值表达式的值等于左边变量的值!3)整型数据赋给实型变量时,数值不变,但以浮点数形
8、式存储到变量中。3.2、赋值结果与类型转换2)实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。如:设i为整型变量,执行i=5.34i的值为5如:对float型变量f,执行f=23f的值为23.000001)如果两边的类型一致,就直接赋值;否则需要进行类型转换。例3.9main(){inti;floatf;i=5.34;f=23;printf(“i=%d,f=%f",i,f);}上机演示4)无符号整型与有符号整型例3.10voidmain(){unsigneda;intb=-1;a=b;printf("%d->%u",b,a);a
9、=65534u;b=a;printf("%d->%u",b,a);}1111111111111111b1111111111111111a001010110010101100000000i111111101111111011111111i5)char、int、long等类型的转换①“短”数据赋给“长”变量保持数值不变符号扩展:若最高位为1(负数),则变量高字节位补1;反之,补0。例3.12voidmain(){inti;longl=6324232L;i=l;printf("i=%d",i);}②“长”数据赋给“短”变量截断:只将数据的低字节位原
10、封不动送到变量中0000000000010001i=-3276010000000000010000000000001100000l=6324232程序编译时有警告错3.3.复合的赋值运算符例如:a+=3等价于a=a+3x*=y+8等价于x=x*(y+8)注意有括号x%=3等价于x=x%3算术运算:+=,-=,*=,/=,%=位运算:<<=,>>=,&=,^=,
11、=说明:位运算在12章中介绍。赋值运算符与其他运算符的组合构成复合的运算符4、自增、自减运算符++i,--i在使用i之前,先使i的值加1或减1i++,i--在使用i之后,使i的值加1或减1注意
12、:(1)自增、自减运算符只能用于变量,而不能用于常量或表达式如:5++(a+b)++不合法如:-i++相当于
此文档下载收益归作者所有