c语言运算符与表达式.ppt_第1页
c语言运算符与表达式.ppt_第2页
c语言运算符与表达式.ppt_第3页
c语言运算符与表达式.ppt_第4页
c语言运算符与表达式.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

第三讲 运算符与表达式 内容摘要: 1,变量赋初值 2,掌握C语言中的各种运算符 3,掌握运算符的优先级与结合性 教学重点:C语言中各种运算符的使用 教学难点 : 混合表达式中运算符的运算顺序 运算符与表达式 2.6 变量赋初值 程序中常需要对一些变量预先设置初值。 C语言允许在定义变 量时对变量赋初值 -变量的初始化。 int a=3; /* 指定a为整型变量,初值为3 */ float f=3.56; /* 指定f为实型变量,初值为3.56 */ char c=a; /* 指定c为字符变量,初值为a */ 1.可以对定义变量的一部分初始化 如: int a,b,c=5; 2.如果对几个变量赋以同一个初值,不能写成: int a=b=c=3; 而应写成: int a=3,b=3,c=3; 3. 初始化不是在编译阶段完成的,而是在程序运行时,执行函数 时赋初值的,相当于有一个赋值语句。例如: int a=3; 相当于: int a; a=3; 2.7 运算符和表达式 C的运算符有以下几类 1算术运算符 (+ - * / % ) 2赋值运算符 (= 及其扩展赋值运算符 ) 3. 逗号运算符 (,) 4关系运算符 ( = | x=3.6; i=(int)x; printf(“x=%f,i=%d“x,i); 运行结果如下: x=3.600000,i=3 2.7 运算符和表达式 4,自增、自减运算符+ - 作用:使变量值加1或减1 种类: 前置 +i, -i (在使用i之前 ,先使i的值加(减)1) 后置 i+,i- (先使用i值, 再使i的值加(减)1 ) 例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4 /k=3,j=4 /4 /3 /c=20,a=4 /c=15,a=4 2.7 运算符和表达式 说明: + - 不能用于常量和表 达式,如5+,(a+b)+ + -结合方向: 自右 向左 例 自增、自减运算符的用法与运算规则示例。 /*程序功能:自增、自减运算符的用法与运算规则示例*/ main() int x=6, y; printf(“x=%dn“,x); /*输出x的初值*/ y = +x; /*前置运算*/ printf(“y=+x: x=%d,y=%dn“,x,y); y = x-; /*后置运算*/ printf(“y=x-: x=%d,y=%dn“,x,y); 程序运行结果: x=6 y=+x: x=7,y=7 y=x-: x=6,y=7 程序演示 2.7 运算符和表达式 1.赋值运算符(=) 作用:将一个数据赋给一个变量,也可以将一个表达式的值赋给一个变量 。 如:a=3 2.类型转换 (1)将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分 。 (2)将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储 到变量中。 (3)将一个double型数据赋给一个float变量时,截取其前面的7位有效数字 ,存放到float变量的存储单元中(32位)。但应注意数值范围不能溢出。 (4). 其它转换规则参考教材 2.7 运算符和表达式 2.7.5 赋值运算符和赋值表达式 3、赋值运算符 简单赋值运算符 符号: = 格式: 变量标识符=表达式 作用:将一个数据(常量或表达式 )赋给一个变量 复合赋值运算符 在赋值运算符“=”之前加上其他预算符号,可 以构成复合的预算符。 例如,可以有: a+=3a=a+3 x*=y+8x=x*(y+8) x%=3x=x%3 2.7.5 赋值运算符和赋值表达式 定义:由赋值运算符将一个变量和一个表达式连接起来的式子。 形式: 求解过程: 先求赋值运算符右侧“表达式”的值,然后赋给赋值运算符左侧的变量。 例如:a=b=c=6; a=(b=4)+(c=6);(表达式值为10,a值为10,b等于4,c等于6) 4、赋值表达式 2.7.5 赋值运算符和赋值表达式 说明: 1、赋值运算后,左边变量的值被右边表达式的值替换; 2、若右边表达式的值的类型与左边变量类型不一致,则以左边变量 的类型为准,将表达式的类型转换为左边变量的类型。 3、赋值运算符的优先级仅高于逗号运算符。结合方向为“从右向左” 。 形式:表达式1,表达式2,表达式n 结合性:从左向右 优先级: 所有运算符中优先级最低 逗号表达式的值:等于表达式n的值 求解过程:先求表达式1,再求表达式2,依 次求下去,直到求出表达式n,整个逗号表达式的值就是 表达式n的值 例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); /a=15,表达式值60 /a=15,表达式值20 /赋值表达式,表达式值18,x=18 /逗号表达式,表达式值18,x=3 /1,2,3 /3,2,3 2.7.6 逗号运算符和逗号表达式 求解过程分析: 自左至右,依次计算各表达式的值,“表达式n” 的值 即为整个逗号表达式的值。 例如,逗号表达式“a = 3 * 5, a * 4”的值=60:先求 解a = 3 * 5,得a=15;再求a * 4 = 60,所以逗号表达式 的值=60。 又例如,逗号表达式“(a = 3 * 5, a * 4), a + 5”的值 =20:先求解a = 3 * 5,得a=15;再求a * 4=60;最后求 解a + 5=20,所以逗号表达式的值=20。 注意:并不是任何地方出现的逗号,都是逗号运算符 。很多情况下,逗号仅用作分隔符。 2.7.6 逗号运算符和逗号表达式 2.7.7 关系运算符及关系表达式 1,关系运算符及其优先次序 在C语言中提供6种关系运算符 关系运算符含义义优优先级级与结结合方向 大于 =大于或等于 =等于 优优先级级相同(低) 结结合方向(从左向右 ) !=不等于 关系运算符的优先级低于算术运算符 关系运算符的优先级高于赋值运算符 2.7.7 关系运算符及关系表达式 2,关系表达式 用关系运算符将两个表达式(算术表达式、关系表达式、逻辑表达 式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式 。 如: a b , ( A = 3 ) ( B = 5 ) , A B 这些都是合法 的关系表达式。 在 C 语言中关系表达式的值是一个逻辑值,即“真”或“假”。 C 语言中以“1”代表“真”,以“0”代表“假”。 例:若 a=3 , b=2 , c=1 则: a b 的值为“真”,此表达式的值为

温馨提示

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

评论

0/150

提交评论