C语言第三章(续).ppt

上传人:wuy****n92 文档编号:70107034 上传时间:2023-01-16 格式:PPT 页数:19 大小:286.99KB
返回 下载 相关 举报
C语言第三章(续).ppt_第1页
第1页 / 共19页
C语言第三章(续).ppt_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《C语言第三章(续).ppt》由会员分享,可在线阅读,更多相关《C语言第三章(续).ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、运算符与表达式运算符与表达式 第3章(续)1.运算符和表达式2.算术运算符和算术表达式3.赋值运算符和赋值表达式4.自增、自减运算符5.逗号运算符和逗号表达式6.不同类型数据间的混合运算7.课后作业本讲主要内容:C 运算符1 运算符和表达式表达式是常量、变量、数组元素、函数等运算对象和运算符以及括号的有意义组合类似数学算式或公式,但写法有不同运算符的优先级和结合性见教材附录III算术运算符+-*/%指针运算符*&关系运算符 =!=求字节数运算符sizeof逻辑运算符!&|强制类型转换运算符 类型位运算符|&分量运算符-赋值运算符=下标运算符 条件运算符?:其它逗号运算符,2 算术运算符和算术表

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)用算术运算符和括号将运算对象(操作数)连接起来的、符合 C 语言语法规则的式子,称作算术表达式。如:-1

3、23 a+b 10*(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.7void main()float x;int i;x=3.6;i=(int)x+2;printf(%f,%dn,x,i);同一运算符相连的运算数的数据类型自动从短类型向长类型转化,如上例3.1.赋值运算符“=”

4、3.赋值运算符和赋值表达式用法:变量=表达式作用:将表达式的值赋给变量(构成赋值表达式)如:a=5;5 =a ave=(a+b)/2;先计算(a+b)/2,结果赋给 ave x=y=z;首先 z=y,然后(y=z)=x与数学上的等式不同!5=x;x+1=y*a+3;都是非法的 C 语句说明1:在 C 语言中判断是否相等用关系运算(=)。说明2:运算结果 赋值表达式的值等于左边变量的值!3)整型数据赋给实型变量时,数值不变,但以浮点数形式存储到变量中。3.2、赋值结果与类型转换2)实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。如:设 i 为整型变量,执行 i=5.34 i 的值为

5、 5如:对 float 型变量 f,执行 f=23 f 的值为 23.000001)如果两边的类型一致,就直接赋值;否则需要进行类型转换。例3.9 main()int i;float f;i=5.34;f=23;printf(“i=%d,f=%fn,i,f);上机演示4)无符号整型与有符号整型例3.10void main()unsigned a;int b=-1;a=b;printf(%d -%un,b,a);a=65534u;b=a;printf(%d -%un,b,a);1 11 11 11 11 11 11 11 1b11 11 11 11 11 11 11 11 a 0 0 1 0 1

6、 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 i 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1i5)char、int、long等类型的转换“短”数据赋给“长”变量保持数值不变符号扩展:若最高位为 1(负数),则变量高字节位补 1;反之,补 0。例3.12void main()int i;long l=6324232L;i=l;printf(i=%dn,i);“长”数据赋给“短”变量截断:只将数据的低字节位原封不动送到变量中 0 00 00 00 00 00 10 00 1i=-3276010 00 00 00 0

7、0 00 10 00 0 0 00 00 00 01 10 00 00 l=6324232程序编译时有警告错3.3.复合的赋值运算符例如:a+=3等价于 a=a+3x*=y+8等价于 x=x*(y+8)注意有括号x%=3等价于 x=x%3算术运算:+=,-=,*=,/=,%=位运算:=,&=,=,|=说明:位运算在12章中介绍。赋值运算符与其他运算符的组合构成复合的运算符4、自增、自减运算符+i,-i 在使用 i 之前,先使 i 的值加 1 或减 1i+,i-在使用 i 之后,使 i 的值加 1 或减 1注意:(1)自增、自减运算符只能用于变量,而不能用于常量或表达式如:5+(a+b)+不合法

8、如:-i+相当于-(i+)(2)+和-的优先级高于算术运算符,结合方向是“自右相左”请自学教材5759页内容例1void main()int i=0,j;j=i+;printf(%d%dn,i,j);i=0;j=+i;printf(%d%dn,i,j);例2 讲解演示习题3.105.逗号运算符和逗号表达式形式:表达式1,表达式2作用:用于连接表达式计算过程:先求解表达式1,在求解表达式2。整个逗号表达式的值是表达式2的值。如:3+5,6+8 例:以下两个表达式的含义是不同的。x=(a=3,6*3)x=a=3,6*a*逗号表达式可组合 *逗号运算符的优先级最低,结合方向自右到左说明:并不是任何地

9、方出现的逗号都是逗号运算符如:printf(%d,%d,%dn,a,b,c);如:(a=3*5,a*4),a+56 不同类型数据间的混合运算整型、实型、字符型数据可以混合运算运算时,不同类型的数据要先转换成同一类型如:10+a+12.3-3.14x123floatdoublelongunsignedintchar,shortfloat 型先转换成 double 型char 和 short 型先转换成 int 型不同类型数据按照类型级别由低到高的顺序转换低高转换规则例:设k=2为int型变量,f1.2为float型,d=4.0为double型。考虑如下式子的运算10+a+k*f d/k解:原式=107+2.4+2.0=109.4+2.0=111.4最后类型为double型。例:习题3.9(1)x+a%3*(int)(x+y)%2/4(x=2.5,a=7,y=4.7)(2)原式=2.5+7%3*(int)(x+y)%2/4(3)=2.5+1*7%2/4=2.5+=2.5(4)(2)(float)(a+b)/2+(int)x%(int)y (a=2,b=3,x=3.5,y=2.5)(5)原式?课后作业课后作业.精读第三章2.习题3.4,3.11,3.12(作在书上)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁