内容正文:
YCF
正版可修改PPT
(中职)C语言程序设计案例教程 3.1运算符与表达式概述与分类ppt课件
1
运算符与表达式
概述与分类
Teacher teaching design
CONTENTS
目 录
C运算符简介
运算符的结合性和优先级
表达式
案例分析 仿真演练
C运算符简介
PART 01
C运算符简介
C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。
C运算符简介
运算类型 运算符 说明
算术运算符 + - * / % ++ - 针对数值进行算术运算
关系运算符 > < >= <= == != 进行比较大小的运算
逻辑运算符 ! && || 进行条件的组合判断
位运算符 << >> ~ | ^ & 对二进制位进行处理
赋值运算符 = 将表达式之值赋值给变量
条件运算符 ? : 根据条件判断结果返回相应值
逗号运算符 , 多个表达式的组合
强制类型转换运算符 (类型名) 进行不同类型数据的转换
指针运算符 * & 指针类型特有的运算
下标运算符 [ ] 取数组的元素值
分量运算符 -> 用于结构体中成员的引用
求字节运算符 sizeof 求变量存储的字节数
知识拓展:按参与运算的对象个数,C语言运算符可分为:单目运算符(如取正、取负、自增、自减、逻辑非!),双目运算符(如+,-)和三目运算符(如? :)
运算符的结合性和优先级
PART 02
运算符的结合性和优先级
(1)所谓结合性是指当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。自左至右的结合方向,称为左结合性。反之,称为右结合性。
结合性是C语言的独有概念。在C语言的运算符中,所有的单目运算符、条件运算符、赋值运算符及其扩展运算符,结合方向都是从右至左,其余运算符的结合方向是从左至右。
例如:下面是一个合法的C算术表达式: a*b/c-1.5+’a’
C语言规定了运算符的结合性和优先级。在表达式求值时,先按运算符的优先级别高低次序执行。如果一个运算对象两侧的运算符优先级别相同,则按算术运算的结合性原则,结合方向是“自左向右”。
如果一个运算符的两侧的数据类型不同,则按自动转换规则,转换为相同类型,再运算。
(2)各类运算符优先级的比较,运算符的优先级:参见书本附录。
C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。优先级相同时,则按运算符的结合性所规定的结合方向处理。
运算符的结合性和优先级
表达式
PART 03
表达式
表达式
(1)表达式的概念
用运算符和括号将运算对象(常量、变量和函数等)连接起来的、符合C语言语法规则的式子,称为表达式。
单个常量、变量或函数,可以看作是表达式的一种特例。将单个常量、变量或函数构成的表达式称为简单表达式,其它表达式称之为复杂表达式。
(2)表达式求值
C语言规定,对表达式求值时,按运算符的优先级别高低,从高到低进行运算。
① 按运算符的优先级高低次序执行。例如,先乘除后加减。
② 如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。
例如,算术运算符的结合方向是“自左至右”,即:在执行“a – b + c”时,变量b先与减号结合,执行“a - b”;然后再执行加c的运算。
案例分析 仿真演练
PART 04
案例分析 仿真演练
1、若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 ( )。
A)2.500000 B)2.750000
C)3.500000 D)0.000000
2、、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’;后,c2中的值为( )。
A)D B)68
C)不确定的值 D)C
3、表达式18/4*sqrt(4.0)/8值的数据类型为( )。
A)int B)float
C)double D)不确定
$