计算机二级C语言学习if章节PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 关系表达式的结果是一个逻辑值,根据关系是否满 足,分别取 1,或 0
例:关系表达式”a>b”的值为“真”,表达式的值为1。
3
3.2 逻辑运算符和逻辑表达式
(一).逻辑表达式及其优先顺序
1. 有三个
& & (与): 两边为1,结果为1 || (或):两边有一个为1,结果为1 ! (非):非1为0,非0为1
例: If( )
else
else
{if( ) 语句1;}
if( ) 语句2; 语句3;
当if和else数目不同时,可以加花括号来确定配对关系。
18
1、条件运算符 3.3 if语句
?和: ,它们与三个操作数组组成三元运算。
2、 形式为: <表达式1> ? <表达式2>:<表达式3>
3、 求值规则和表达式的值:
12
13
3.3 if语句
二.If语句的嵌套
格式: if(表达式)
if( 表达式1) 语句1;
else
语句2 ;
else
if (表达式2)语句3;
else
语句4;
判断表达式的值,若为非0,再判断表达式1的值,非 0执行语句1,否则执行语句2。若表达式的值为0,再 判断表达式2的值,非0执行语句3,否则执行语句4。
格式:switch(表达式)
{ case 常量表达式1: 语句1
case 常量表达式2: 语句2
……..
case 常量表达式n: 语句n
default:
语句n+1 }
先计算表达式的值,判断此值是否 与某个常量表达式的值匹配,如果 有,控制转向其后相应的语句,若 无,检查 default。
多重分支的条件 语句 switch
max=(a>b)?a∶b;
20
3.3 if语句
例5.4输入一个字符,判别它是否大写字母,如果是,将 它转换成小写字母;如果不是,不转换。然后输出最后 得到的字符。
#include <stdio.h>
void main ( )
{ char ch;
scanf("%c",& ch);
ch=(ch>='A'&& ch<='Z')?(ch+32):ch;
第三章选择机构程序设计
主要内容
3.1 关系运算符和关系表达式 3.2 逻辑运算符和逻辑表达式 3.3 if语句 3.4 switch语句 3.5
1
3.1 关系运算符和关系表达式
(一).关系运算符及其优先次序
1. <
(小于)
2. <= (小于或等于)
3. >
(大于)
优先级相同(高)
4. >= (大于或等于)
2. 优先级:!的优先级高于&&和|| 逻辑运算与其他运算相比: 非的优先级最高,与和或低 于其他 3. 结合性:与和或是从左向右,非是从右向左
4
3.2 逻辑运算符和逻辑表达式
(二) 逻辑表达式
1. 用逻辑运算符将关系运算表达式或逻辑量连接起来构成 2. 逻辑表达式
2. 表达式的值为逻辑的1和0,表示真与假
假 (0)
7
3.3 if语句
(2)if(表达式) 语句1; else 语句2;
例:
if (x>y) printf(“%d”,x); else printf(“%d”,y);
Y 条件
N
语句1
语句2
8
9
10
11
3.3 if语句
(3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 …… else if(表达式m)语句m else 语句n
例:(m=a>b)&&(n=c>d)
当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“a>b”的值 为0,因此m=0,而“n=c>d”不被执行,因此n的值不是0 仍保持原值1。
6
3.3 if语句
一.If语句的三种基本形式
(1)if (表达式) 语句;
表达式
真(非0)
例:
语句
if(x>y) printf(“%d”,x);
printf("%c\n",ch);
}
如果字符变量ch的值为大写字母,则
条件表达式的值为(ch+32),
即相应的小写字母。如果ch的值不是
大写字母,则条件表达式的值为ch,
即不进行转换。
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
5.4 switch语句
计算表达式 的值
常量1? 常量2 … default?
语句 1
语句2
语句 n+1
40
5.4 switch语句
补充:
(1) switch后面括弧内的“表达式”, ANSI标准允许 (2) 它为任何类型。 (2) 当表达式的值与某一个case后面的常量表达式的值相
14
5.3 if语句
在一个if结构中,包含一个或多个if结构
1
0
表达式
1
0
表达式1
1 表达式2 0
语句1
语句2 语句3 语句4
15
16
17
3.3 if语句
匹配规则:
else总是与它上面的,最近的,统一复合语句中的,未配 对的if语句配对。
例: If( )
else
else
if( ) 语句1;
if( ) 语句2; 语句3;
例:设a=4,b=5:
!a的值为0
a&&b的值为1
a||b的值为1
!a||b的值为1
4&&0||2的值为1
任何非零的数值被认作“真”
5
3.2 逻辑运算符和逻辑表达式
补充:在逻辑表达式的求解中,并不是所有的逻辑运算符 都要被执行。 (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和 b都为真时,才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a 为假,才判断b。a和b都为假才判断c
5. == 6. !=
(等于) (不等于)
优先级相同(低)
说明:
关系运算符的优先级低于算术运算符 关系运算符的优先级高于赋值运算符
2
3.1 关系运算符和关系表达式
(二).关系表达式 用关系运算符将两个表达式(可以是算术表达式或
关系表达式,逻辑表达式,赋值表达式,字符表达式) 接起来的式子,称关系表达式 例:a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>b)>(b<c)
真(非0),求解表达式2
求解表达式1 的值
条件表达式
假(0),求解表达式3
例如:
int max,a=5;b=3;
max=a>b?a:b max及赋值表达式的值均为5;
a<b?a:b+1
条件表达式的值为4。
19
3.3 if语句
例:
if (a>b) max=a; else max=b;
当a>b时将a的值赋给max,当a≤b时将b的值赋给max, 可以看到无论a>b是否满足,都是向同一个变量赋值。 可以用下面的条件运算ห้องสมุดไป่ตู้来处理:
相关文档
最新文档