C语言英文课件4:选择结构
合集下载
C语言第四章选择结构ppt课件

基本 if 语句的通常形式是:
表达式 假 真
if ( 表达式 ) if ( x > y ) /* 简单语句 */ 语句组
语句;
z=x ;
或语句
if ( 表达式 ) { 语句; 语句;
}
if ( x > y ) /* 复合语句 */ {
z=x; x=x+1; printf(“%d\n”,z); }
执行过程:
(1)当switch后面“表达式”的值,与某个case后面的 “常量表达式”的值相同时,就执行该case后面的语句;当 执行到break语句时,跳出switch语句。
(2)如果没有任何一个case后面的“常量表达式”的值, 与“表达式”的值匹配,则执行default分支后面的语句。
说明(1):
这就是 if ...... else 语句的功能。
简单的if 语句只能 表达“如果 ,那 么 ”的含义,而 if ...... else 语 句却能表达“如果
If ( x>=0) 语句1;
else 语句2;
那么 否则 ”
的含义。
ห้องสมุดไป่ตู้
真
语句1
表达式
假
语句2
注意:如果使用了复合语句,一定要用大括号把它们括起来。
/* 求 x 的绝对值并赋给 y */
printf(“|%f|=%f”,x,y); }
/* 输出 x 的绝对值 */
二、if ... else 语句
对这一句话“如果x>=0则y=x,如果x<0则y=-x”,可以写 出以下语句:
If ( x>=0) y=x;
if (x<0) y=-x;
能否把两条语句合成一句,更好地体现这种逻辑关系呢?
C语言程序设计第4章选择结构程序设计ppt课件

8
printf("grade is E" );
9 else if (score >=60 && score<70 )
10
printf( "grade is D");
11 else if (score >=70 && score<80 )
12
printf( "grade is C");
13 else if (score>=80 && score<90 )
printf("a,b="); scanf("%d,%d",&a,&b); if (a>b) max=a; else max=b; printf("max=%d\n",max); }
结束
8
3.if-else if-else语句
(1)语句格式:
if (表达式1) 语句1
else if (表达式2) 语句2
不再判断,顺序执 行下面的语句
21
4.2 switch语句
switch (表达式) {case 常量表达式1:语句1 case 常量表达式2:语句2 …… case 常量表达式n:语句n [default:语句n+1] }
注意:
1. <表达式>可以是整型或字 符型表达式; 2. case后面必须是常量表达 式,不能包含变量; 3. 每个常量表达式的值应互 不相同; 4. case语句先后顺序随意; 5.若从上至下没有找到与表 达式的值相匹配的case,含有 default子句时,执行语句n+1。
C语言第4章 选择结构程序设计PPT教学课件

例如:
(1)若a=4,则!a的值为
(2) 0
(3)(2) 若a=4,b=5,则a&&b的值为
(4) 1
(5)(3) a、b值同前, a||b的值为
(6) 1
(4) 4&&0||2的值为
1 2020/12/10
12
特别注意! (1) 用&&对两个表达式进行计算时,若第一个表达式的值
为“假”,则运算结果与第二个表达式的值无关,结果肯 定为假,所以C语言规定此时第二个表达式将不再计算。
(因为“>”运算符是自左至右的结合方向,先执行 “a>b”得值为1, 再执行关系运算“1>c”,得值0, 赋给f)。
2020/12/10
8
逻辑运算符
逻辑运算符是对两个关系式或逻辑值进行运算的,运算结 果仍是逻辑值。
在C语言中,逻辑值用数值非0和0来表示逻辑真和假的, 所以逻辑运算符也可以对两个数值型数据进行运算,包括 整型、实型、字符型等数据。
3.关系运算符的使用实例
设变量定义如下: char c1=‘a’,c2=‘A’;
(c1,c2可看成整型,其值为97,65)
int n1=65,n2=97; float f1=0.3E1,f2=3.0001;
则: ① c1>c2,n1>n2,f1==f2的值依次是 1.,0,0
② c1>=n1,c2>=n2,c1==n2的值依次是 1,0,1
③ f1>c1,f2<c2,f1==n1-62的值依次是 0,1,1
④ c1>c2>=1<=0==1!=0的值是 0
⑤ c1>c2>=n1<=n2==f1!=f2的值是 1
C语言04选择结构.ppt

10
C Programming Language
10 10
-10 2
,z;执行语句z=x>y?++x:y++;后,x、 y、z的值分别为____、____和 ____ 。
2. 已知int a=4,b=5,c;执行语句c=a=a>b后,a的值为 ____ 。
3. 已知int x=10,y=3 , z;执行语句printf("%d\n" , z = (x%y , x/y));后,输出结果为 ____ 。
种类:< <= = = >= > != 结合方向:自左向右 优先级别:
< <= 优先级6 > (高)
>=
== 优先级7 != (低)
关系表达式的值:是逻辑值“真”或“假”,
用1和0表示
例 int a=3,b=2,c=1,d,f;
a>b
(a>b)==c
b+c<a
3
C Programming Language
已知a=1,b=2,c=3
逻辑运算规则简化:
⑴、两个表达式作&&,只要一个的值为0, 不必计算另一个,该表达式的值为0。 例:int a=0,b=2;a && (b+=b)
⑵、两个表达式作 || ,只要一个的值非0, 不必计算另一个,该表达式的值为1。 例:int a=5,b=2; a || (b+=b) 例:a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d) m=?0 ,n=?1
|| (12)
! :从右向左 && :从左向右 || :从左向右
C语言程序课件ppt第4章选择结构程序设计谭浩强C程序设计第四版

C★
A★
●B
4.2.1 用if语句处理选择结构举例
C★ A ●★ ● B
4.2.1 用if语句处理选择结构举例
C★ A ● ●★ B
#include <stdio.h> int main() { float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b) 如果a>b
{ t=a;
a=b; 将a和b的值互换
b=t; } printf("%5.2f,%5.2f\n",a,b); return 0; }
#include <stdio.h>
int main()
{ float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{ t=a; a=b;
选择结构,用if语句实现的
a && b 真 假 假 假
a || b 真 真 真 假
4.4.1 逻辑运算符及其优先次序
➢逻辑运算符的优先次序
! → && → ||
(!为三者中最高)
➢与其他运算符的优先次序
! 算术运算符 关系运算符
&& 和 || 赋值运算符
(高) (低)
4.4.2 逻辑表达式
➢ 逻辑表达式的值应该是逻辑量“真”或“假” ➢ 编译系统在表示逻辑运算结果时
4.3.1关系运算符及其优先次序
c>a+b a>b==c a==b<c a=b>c
等效于 c>(a+b) 等效于 (a>b)==c 等效于 a==(b<c) 等效于 a=(b>c)
精品课件-C语言程序设计实用教程-第4章 选择结构程序设计

转换成小写字母,否则直接输出*/
printf("ch=%c\n",ch);
}
4.3 switch语句
C语言还提供了另一种用于多分支选择的switch语句,这种 语句把一个表达式的值和一个整数或字符常量表中的元素逐一比 较,发生匹配时,与匹配常数关联的语句被执行。 switch语句的一般形式:
switch(表达式) {case 常量表达式1:语句1;[break;] case 常量表达式2:语句2;[break;] ...... case 常量表达式n:语句n;[break;] [default:语句n+1;[break; ]] }
2\n");
else { if (score<90) printf("Grant grade:
else printf(“Grant grade:
1\n”);}
}
【例4.8】 if语句的嵌套应用。
#include<stdio.h>
main()
{
int a,b;
printf("input a,b=");
if语句中又包含一个或多个if语句称为if语句的嵌套。 一般形式为: if()
if() 语句1; else 语句2 ; else if() 语句3; else 语句4;
【例4.7】 使用嵌套的if语句实现相同的功能,首先根据成绩
的取值范围处理分为两种情况:有或者没有助学金,如果有则
进一步判别等级是一等、二等或三等助学金。
4.1 引例
1.问题描述——学生助学金评定 助学金是高等院校资助贫困学生的一项重要举措,一般助学金 的评定要参考学生的学习成绩。假定助学金的评选规则为:综 合平均成绩在90分及以上的同学可获一等助学金;在 80分 (包括80分)至90分之间的同学可获二等助学金;在60分(包 括60分)至80的同学可获三等助学金;60分以下的同学不能获 助学金。 2.引例分析 首先用最简单的方式处理评定结果:根据某位同学的成绩判断 他能否获取助学金,输出不获得助学金的提示信息,算法的流 程图如图4-1所示。
《c语言选择结构》课件

常见错误和调试技巧
1 常见的语法错误
列举一些学习者常犯的语法错误,并给出如何避免和纠正这些错误的技巧。
2 程序调试技巧
分享一些调试C语言程序的实用技巧,以帮助大家更快地找到和修复错误。
总结和练习答疑
总结本PPT课件的主要内容,并回答学习者对选择结构的问题。鼓励学习者进行练习,并提供支持和答疑。
3
应用场景三
通过一个编程实例,让大家进一步理解和应用选择结构。
优缺点与联系
if-else语句和switch语句的联系
展示if-else语句和switch语句之间的联系和相互转换的方法。
选择结构的优点
总结选择结构的优点,包括简化代码和提高程序可读性。
选择结构的缺点
讨论选择结构的一些潜在缺点,以及如何避免常见的问题。
深入理解
if语句的嵌套和if-else 语句的区别
解释嵌套if语句和if-else语句之 间的区别,并给出何时使用它 们的建议。
case标签的取值类型
展示case标签可以使用的取值 类型,并讨论它们的使用限制 和最佳实践。
关键字的使用注意事 项
提供一些关键字使用的注意事 项,以避免常见的语法错误。
流程图
使用流程图来可视化选择结构的 执行流程。
条件语句
if语句
if语句是最简单的条件语句,用于根据条件的真假执行相应的代码块。
if-else语句
if-else语句允许我们在条件为假时执行另一段代码块。
if-else if-else语句
if-else if-else语句允许我们在多个条件之间进行选择。
《c语言选择结构》PPT课 件
在这个PPT课件中,我们将深入探讨C语言的选择结构,包括条件语句、if语句、 switch语句等,帮助大家更好地理解和运用这些结构。
c语言 第四章 选择结构课件

if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
if ~ else 配对原则:缺省{ }时,else 总是和它上面离它最近的未配对的if配对
if(……) if(……) if(……) else…... else…...
else…...
例: if (a==b) if(b==c) printf("a==b==c");
else printf("a!=b");
if(x>y) printf("X>Y\n");
else printf("X<Y\n");
else printf("X==Y\n");
}
运行:Enter integer x,y:12,23 X<Y Enter integer x,y:12,6 X>Y Enter integer x,y:12,12 X==Y
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
main() { int x,y;
printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)sequence (4)until loop
2020/5/12
(2)selective
(3)while loop
S block until P
[example 4.1] algorithm description——N-S flow chart
first level algorithm
read in weight
A figure describs steps of an algorithm with kinds of prescriptive graphic symbols and lines wchart:
start
I/O
operation
end
analysis: not overweight 0.35*weight cost overweight 0.35*50+0.5*(weight-50)
2020/5/12
1、variables:weight,pay,are all real.
2、program list:
main ( )
{ float weight,pay;
printf(weight= ); scanf(%f , &weight);
if (weight<=50) pay=weight*0.35 ;
else pay=50*0.35+(weight-50)*0.5;
printf( pay=%-7.2f , pay);
}
2020/5/12
basic steps of solving a problem: 0.analysis 1.setting variables 2.design the algorithm 3.writing the program list
comput pay based on weight’s value
Output pay
second level detailed algorithm
T
weight ≤50
F
pay=weight*0.35 pay=50*0.35+(weight-50)*0.5
2020/5/12
[ex. 4.1] Algorithm description—programming language
• describing algorithm:natural language,flow chart,pslanguage
[example 4.1]algorithm description——natural language 1.input weight put value of pay based on weight 3.output value of pay
start
inputweight
true
false
weight≤50
pay=weight*0.35
pay=50*0.35+(weight-50)*0.5
2020/5/12
outputpay
end
2. N-S structural flow chart
Main feature:cancel flow line,adapt to structural programming,
Chapter 4 Selective Structure Programming
4.0 Foreword 4.1 Algorithm and Description 4.2 Conditional Operations and Condiyional Expression 4.3 Logical Operations and Logical Expression 4.4 if Statement 4.5 switch Statement 4.6 Examples of Selective Structure Programming
Can show the logical execute process of algorithm better
basic shape of N-S flow chart:
S1 block
S2 block is true
condition P
T
F
S1 block S2 block
while P is true S block
Start frame
End frame
I/O frame
operation frame
true
false
condition
distinguishing frame
2020/5/12
connect point
flow line
【example 4.1】algorithm description—traditional flow chart
details of step 2 : if weight<=50 则 pay=weight*0.35
else 2020/5/12 pay=50*0.35+(weight-50)*0.5
4.1.1 Program Flow Chart 1.traditional flow chart(程序流程图)
2020/5/12
4.0 Foreword
【 ex. 4.1】Compute the cost of baggage carried by train.Input the weight of the baggage, compute the cost. standard of cost: (1) lighter then 50 kg(include 50 kg), 0.35 yuan/kg (2) weighter then 50 kg,50 kg like (1),the other excess, 0.50yuan/kg
4.1 Algorithm and Description
•Algroithm:Some restricted steps are taked inorder to solve a special problem.
•features :1. Limited(有穷性) 2. facticity(确定性)3. ≥0 input 4. >0 output 5. validity(有效性)