C语言运算符和表达式ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
‘Y’!=‘y’
1
15
关系表达式的使用
举例:写出下面各条件的关系表达式
◦ x为不小于 -5 的整数 ◦ x为非零的数 ◦ x的平方大于m与n的和
x>=-5 x!=0 x*x>(m+n)
16
关系运算的不足
关系表达式只能表达一些简单的条件
grade>=60 total>1000
◦ 每个判断只是对一个条件进行测试。 ◦ 如果要对多个条件进行测试就要在独立的
◦ 必要时可以用圆括号()改变计算顺序。
例如,求三个数的平均值。 错误的写法:a + b + c / 3 正确的写法:(a + b + c ) / 3
运算符的结合性
◦ 当出现并列的运算优先级别相同的运算符时, 由运算符的结合性决定计算的次序。
例如,x * y / z
7
算术运算符
5
运算符分类
单目运算符(一元运算符)
只有1个操作数。
双目运算符(二元运算符)
具有2个操作数。(主要类型)
三目运算符(三元运算符)
需要3个操作数。(唯一:条件运算符 ? :)
6
运算符的优先级和结合性
运算符的优先级
◦ 某些运算符先于其他运算符被执行。
例如,x + y * 4,先乘除后加减。
运算符与表达式
第二讲 运算符和表达式
引例 概念及分类 优先级和结合性 算术运算 关系运算 逻辑运算 位运算 赋值运算符 逗号运算符 条件运算符
2
引例
引例
◦ 问题
输入一个四位的正整数,反序输出该四位数的四 个数字字符。
◦ 设计
用一个无符号整型变量number保存输入的四位 正整数。
◦ 说明
取模运算(%),结果是两个整数相除的余数。 例如,7%5 = 2,-2%3 = -2。
8
自增和自减运算符
运算符和表达式
自增和自减运算符
◦ 自增运算符:++
将操作数的值增一。
◦ 自减运算符:--
将操作数的值减一。
◦ 操作数必须是整型和字符型变量。 ◦ 单目运算符。 ◦ 优先级:2。 ◦ 结合性:从右往左。
9
算术运算符(特殊问题)
除号运算符的使用问题
当除号前后操作数全为整型数(包括char、int、 long)时,除号为整除运算。 当有任一操作数为实型数时则为普通除法运算。
取模运算符的使用问题
操作数只能整型数据(char、int、long)。
自加/自减运算符的使用问题
++(--)在前:先加(减)后用; ++(--)在后:先用后加(减)。
unsigned number; char c1, c2, c3, c4;
请输入一个四位的正整数: 1234 4321
printf("请输入一个四位的正整数:"); scanf("%u", &number);
c1 = number%10 + '0'; c2 = number/10%10 + '0'; c3 = number/100%10 + '0'; c4 = number/1000 + '0';
//得到个位数字 //得到十位数字 //得到百位数字 //得到千位数字
printf("\n%c%c%c%c\n", c1, c2, c3, c4); }
4
相关概念
运算符
在C语言中用来表示某种计算的符号。
操作数
运算符操作的对象,可以为变量(已赋值)、 常量或其他有切确值的表达式。
表达式
运算符和合适的操作数组成的具有切确值的式 子称为表达式。
依次分解出个位数字、十位数字、百位数字和千 位数字,并分别放到字符变量c1、c2、c3和c4 中。
怎么分解?
利用除法、取模等运算。
顺序输出变量c1、c2、c3和c4中的字符。
3
引例
引例
◦ 源程序 #include <stdio.h>(cw04-01.c)
void main() {
a>b m+n<=20 c!=‘y’ (x>z)==(y>z)
14
关系表达式
关系表达式的值是一个逻辑值:“真” 或“假”
◦ C语言没有逻辑类型,因此
用整数 1 表示“真”
用整数 0 表示“假”
◦ 即关系表达式的值是整数 1 或 0 。
a>b ◦ 举例
0
a+b<=c
1
(a>c)==(b若>ca)=1,b=21,c=3
10
自增和自减运算
举例(cw0404.c)
#include <stdio.h>
void main() { int i=6, a, b;
printf("%d\n", ++i); printf("%d\n", i++);
a=--i; printf("%d\n", a); b=i--; printf("%d\n", b);
7
printf("%d\n", -i++);
7
printf("i=%d\n", i);
7
}
7
-6
i=?
11
关系运算
关系运算(比较运算)
◦ 比较两个值,结果为“真”或“假”。 ◦ 举例:a>3
如果a=8,则结果为“真” 如果a=1,则结果为“假”
用关系运算进行条件判断
◦ 关系表达式表示一个条件,根据其结果判断条 件是否满足。
◦ 举例:a>3
如果a=8,结果为“真”,即条件满足 如果a=1,结果为“假”,即条件不满足
12
关系运算符
关系运算符
运算符
含义
<
小于
<=
小于或等于
>
大于
>=
大于或等于
==
等于
!=
不等于
优先级
6
7
结合性
左结合
13
关系表达式
关系表达式
<表达式1> <关系运算符> <表达式2> ◦ 表达式1和表达式2可以是任何表达式。 ◦ 举例
运算符和表达式
常用的算术运算及运算符
运算符名称 算术运算符 代数表达式 C语言表达式
正号
+
+a
+a
负号
-
-b
-b
加
+
f+7
Biblioteka Baidu
f+7
减
-
p–c
p–c
乘
*
bm
b*m
除
/
x/y
x/y
取模
%
r mod s
r%s
适用的数据类型 整数、字符、浮点数 整数、字符、浮点数 整数、字符、浮点数 整数、字符、浮点数 整数、字符、浮点数 整数、字符、浮点数 整数、字符
语句或嵌套的if或if-else结构中进行测试。 if◦ 例(y>15:) 10>y>5
if (y<10) …;
if◦ 例(x<2-1:0)x<…-;10或者x>0
if (x>0) …;
17
逻辑运算
逻辑运算
◦ 通过逻辑运算符把简单的条件组合起来,能够 形成更加复杂的条件。