《第3章 运算符与表达式 教学PPT_190809ppt课件.pptx》由会员分享,可在线阅读,更多相关《第3章 运算符与表达式 教学PPT_190809ppt课件.pptx(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章 运算符与表达式 教学PPT_190809 第第3章章 运算符与表达式运算符与表达式 条件运算符 位运算符 sizeof运算符 赋值运算符 算术运算符 关系运算符 3.1 运算符与表达式的概念运算符是告诉编译程序执行特定算术或逻辑操作的符号,它针对一个以上的操作数进行运算。 C语言中的运算符可以分为七种,每一种运算符具有各自的功能。运算符类型运算符类型作用作用赋值运算符赋值运算符用于将表达式的值赋给变量算术运算符算术运算符用于处理四则运算关系运算符关系运算符用于表达式的比较,并返回一个真值或假值逻辑运算符逻辑运算符用于根据表达式的值返回真值或假值条件运算符条件运算符用于处理条件判断位运算
2、符位运算符用于处理数据的位运算sizeofsizeof运算符运算符用于获取字节数长度3.1 运算符与表达式的概念 运算符是用来操作数据的,因此,这些数据也被称为操作数,使用运算符将操作数连接而成的式子称为表达式。(1)表达式主要是由运算符和操作数构成的,不同运算符构成的表达式作用不同。(2)任何一个表达式都有一个值。3.1 运算符与表达式的概念 3.2 赋值运算符与赋值表达式赋值运算符的作用是将常量、变量或表达式的值赋给某一个变量。使用赋值运算符连接起来的表达式称为赋值表达式。 赋值运算符运算符运算符运算运算范例范例结果结果=赋值a=3;b=2;a=3;b=2;+=加等于a=3;b=2;a+=
3、b;a=5;b=2;-=减等于a=3;b=2;a-=b;a=1;b=2;*=乘等于a=3;b=2;a*=b;a=6;b=2;/=除等于a=3;b=2;a/=b;a=1;b=2;%=模等于a=3;b=2;a%=b;a=1;b=2;3.2 赋值运算符与赋值表达式 (1)在C语言中可以通过一条赋值语句对多个变量进行赋值。int x,y,z; x=y=z=5; /正确int x=y=z=5; /错误(2)除了“=”,其他都是特殊的赋值运算符。x+=3; /等同于x=x+3;x*=3; /等同于x=x*3;3.2 赋值运算符与赋值表达式 3.3 算术运算符与算术表达式算术运算符用于处理算术运算,它与数学
4、中的算术运算符作用是一样的,但其组成与数学中的算术运算符稍有不同。使用算术运算符连接起来的式子称为算术表达式。 算术运算符运算符运算符运算运算范例范例结果结果+正号+33-负号b=4;-b;-4+加5+510-减6-42*乘3*412/除5/51% 取模7%52+ 自增(前)a=2;b=+a;a=3;b=3;+ 自增(后)a=2;b=a+;a=3;b=2;- 自减(前)a=2;b=-a;a=1;b=1;- 自减(后)a=2;b=a-;a=1;b=2;3.3 算术运算符与算术表达式 (1)算术运算符遵循“先乘除后加减”原则。(2)自增自减运算符放数据前后,作用顺序不同。(3)整数与浮点数相除会进
5、行隐式转换。(4)取模运算,结果取决于被模数。3.3 算术运算符与算术表达式 多学一招:运算符的结合多学一招:运算符的结合性性运算符的结合性指同一优先级的运算符在表达式中操作的结合方向,即当一个运算对象两侧运算符的优先级别相同时, 运算对象与运算符的结合顺序。大多数运算符结合方向是“自左至右”。 3.4 关系运算符与关系表达式关系运算符用于对两个数据进行比较,其结果是一个逻辑值(“真”或“假”),如“53”,其值为“真”。C语言的比较运算中,“真”用非“0”数字来表示,“假”用数字“0”来表示。使用关系运算符连接起来的式子称为关系表达式。 关系运算符运算符运算符运算运算范例范例结果结果=相等于
6、4 = 30!=不等于4 != 31小于4 大于4 31=小于等于4 =大于等于4 = 313.4 关系运算符与关系表达式 在使用比较运算符时,不能将比较运算符“=”误写成赋值运算符“=”。3.4 关系运算符与关系表达式 3.5 逻辑运算符与逻辑表达式逻辑运算符用于判断复合条件的真假,其结果仍为“真”或“假”。使用逻辑运算符连接起来的表达式称为逻辑表达式。 逻辑运算符运算符运算符运算运算范例范例结果结果!非!a如果a为假,则!a为真如果a为真,则!a为假&与a&b如果a和b都为真,则结果为真否则为假|或a | b如果a和b有一个或一个以上为真,则结果为真,二者都为假,结果为假3.5 逻辑运算符
7、与逻辑表达式 逻辑运算符短路:(1)在使用“&”运算符时,如果“&”运算符左边的值为假,则右边的表达式就不再进行运算,整个表达式的结果为假。(2)在使用“|”运算符时,如果“|”运算符左边的值为真,则右边的表达式就不再进行运算,整个表达式的结果为真。3.5 逻辑运算符与逻辑表达式 3.6 条件运算符条件运算符用于条件判断,符号由?:组成,其语法如下:表达式1 ? 表达式2 : 表达式3在条件表达式中,先计算表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个条件表达式的取值。 (1)条件运算符是三目运算符。(2)条件运算符“?”和“:
8、”是一对运算符,不能分开单独使用。(3)条件运算符的优先级低于关系运算符与算术运算符,但高于赋值运算符。(4)条件运算符的结合方向自右向左。3.6 条件运算符 3.7 位运算符位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的。 位运算符3.7 位运算符运算符运算符运算运算范例范例结果结果&按位与0 & 000 & 101 & 111 & 00|按位或0 | 000 | 111 | 111 | 01取反0110按位异或0 000 111 101 01 左移0000001020000100010010011 右移0110001020001100011100010211
9、111000 3.8 sizeof运算符sizeof运算符用于获取某一数据或数据类型在内存中所占的字节数。sizeof(数据类型名称) 或 sizeof(变量名称) 3.9 运算符优先级在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,我们把这种顺序称作运算符的优先级。 优先级优先级运算符运算符说明说明结合性结合性 1 1 + + -后置自增/自减 自左向右( )括号 数组下标.结构体/联合体成员对象访问-结构体/联合体成员对象指针访问 2 2+ + - 前置自增/自减 自右向左+ - 加法/减法! 逻辑非/按位取反( type) 强制类型转换* 间接取指针指向的
10、值(解引用)& 取地址sizeof 计算大小运算符优先级3.9 运算符优先级 3.9 运算符优先级优先级优先级运算符运算符说明说明结合性结合性 1 1 + + -后置自增/自减 自左向右( )括号3 3* / % 乘/除/取余 自左向右4 4+ - 加号/减号5 5 位左移/位右移6 6 = 大于/大于等于7 7= != 等于/不等于8 8& 按位与9 9 按位异或1010| 按位或1111& 逻辑与 3.9 运算符优先级优先级优先级运算符运算符说明说明结合性结合性 1 1 + + -后置自增/自减 自左向右( )括号1313?: 三元运算符 自右向左 1414= 赋值+= -= 相加后赋值/
11、相减后赋值*= /= %= 相乘后赋值/相除后赋值= 位左移后赋值/位右移后赋值&= = |= 位与运算后赋值/位异或后赋值/位或运算后赋值1515, 逗号自左向右 多学一招:多学一招:运算符运算符优先级口诀优先级口诀“单算移关与,异或逻条赋”“单”表示单目运算符:逻辑非(!)、按位取反()、自增(+)、自减(-)、取地址(&)、取值(*); “算”表示算术运算符:乘、除、求余(*,/,%)级别高于加减(+,-);“移”表示按位左移();“关”表示关系运算符:大小关系(,=,=,=,&=,=,|=,!=); 3.10 本章小结本章主要讲解了C语言中的运算符及运算符表达式。其中运算符包括算数运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、位运算符以及sizeof运算符。除此之外,本章还介绍了运算符优先级以及表达式。通过本章的学习,读者可以掌握C语言中其运算的一些相关知识。熟练掌握本章的内容,可以为后面的学习打下坚实的基础。