C语言程序设计3-运算与表达式.ppt_第1页
C语言程序设计3-运算与表达式.ppt_第2页
C语言程序设计3-运算与表达式.ppt_第3页
C语言程序设计3-运算与表达式.ppt_第4页
C语言程序设计3-运算与表达式.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运算与表达式 新C 语言程序设计 3.1 算术运算 n运算符(Operator):描述运算功能的符号 n表达式(Expression):由运算符和操作对 象构成的式子。 n运算符分类: n根据操作数个数分类: 单目运算符、双目运算符 、三目运算符 n根据运算功能分类: n算数运算符 n关系运算符 n逻辑运算符 n位运算符 n其它 3.1 算术运算 n3.1.1 算术运算符 n单目基本算术运算符【例3.1】 n+ 正 n- 负 n双目基本算术运算符 【例3.2】 n+ 加 n- 减 n* 乘 n/ 除 n% 求余数(要求两个操作数必须是整数) 3.1 算术运算 n注意点 1、若两个操作数的类型不同,则先转换为相同 类型后再运算。 2、若两个操作数的类型相同: n若均为short int 或 char 类型,则转换为int n若均为float 类型,则转换为double 3、除法运算符/:若两个操作数都是整型,则 结果为整型(小数部分直接去掉) 4、求余运算%: n两个操作数必须是整型,否则编译出错。 n结果的符号与第一个操作数符号相同。 3.1 算术运算 3.1.2 优先级与结合性 n优先级问题 当一个表达式中有多个运算符时,先计算哪个? 例如:10+20/10 n结合性问题 当一个表达式中有多个相同优先级的运算符时,是从 左向右计算,还是从右向左计算? 例如:10*2/5 优先级运算符 高+ - - (按位取反) !(逻辑非) +(正) -(负) 右左 * / %左右 +(加) -(减)左右 (按位右移)左右 =左右 =(相等) !=(不相等)左右 np=a; n通过指针变量或地址常量获得地址值 nint a=3,*p= nchar *p=”ABCDEFG”; n通过标准函数获得地址值 n“空”地址 3.5 指针运算 3.5.2 操作指针变量 n存取单元的数据两种方法 n“直接存取” n“间接存取” n指针变量的使用注意事项 n先赋值后使用 n“ np = nq= n nchar c, *pc= nprintf(“%d,%dn“,p,p+1); nprintf(“%d,%dn“,p,p-2); nprintf(“%d,%dn“,pc,pc+1); nprintf(“%d,%dn“,pc,pc-2); n 3.5 指针运算 3.5.3 比较指针 n形式如下: n类型相同的两个指针变量之间可以进行大于、 大于等于、小于、小于等于、等于、不等于( 、=、 nmain() n nint x; nx=sizeof(char); nx=sizeof(x); n 3.6 其它运算 3.6.2 逗号运算 n用逗号连接的表达式称为逗号表达式。逗号表达 式的形式为: n表达式1,表达式2,表达式3,表达式n n注意 n逗号表达式的求解过程为,依次计算表达式1的值,表 达式2的值,表达式n的值。表达式n的值为逗号表 达式的值. n逗号运算符的优先级是所有运算符中最低的,其结合性 是自左向右。 n例如: nint x; nx=(3*5,12),100; 3.6 其它运算 3.6.3 条件运算 n条件表达式的一般形式为: n表达式1?表达式2:表达式3 n先计算表达式1,如果表达式1的值非0,则执行表达式2, 表达式2的值作为整个条件表示的值;如果表达式1为0, 则执行表达式3,表达式3的值作为整个条件表示的值。 n【例3.26】输入三个整数,输出其中最大的一个 n#include nvoid main( ) n nint x,y,z,t; nscanf(“%d%d%d“, nt=xy?x:y; nt=tz?t:z; nprintf(“%dn“,t); n 3.7 赋值运算 3.7.1 赋值运算符和赋值表达式 n一般形式为: n变量 = 表达式 n说明 n赋值运算符的优先级仅高于逗号运算符,赋值 表达式的求解过程为:先计算赋值运算符右边 的表达式的值,再将计算的值赋给运算符左边 的变量。 n赋值运算符具有计算和赋值的双重功能。 3.7 赋值运算 3.7.2 复合赋值运算 n在赋值运算符之前加上其它运算符可以构成复合 赋值运算符 n一般形式如下: n+=a+ =b等价于a=a+b n-=a-=b等价于a=a-b n*= a*=b等价于a=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论