语言选择结构程序设计ppt课件

合集下载

C语言程序设计第4章选择结构程序设计ppt课件

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语言(第五章选择结构) c语言 教学课件

c语言(第五章选择结构) c语言 教学课件
▪ 非闰年的判别:
• !((year%4==0 && year%100!=0)||year%400==0)或者:
• (year%4!=0 )||( year%100==0 && year%400!=0)
C语言程序设计
第五章 选择结构程序设计
5.3 if语句(条件选择语句)
• if语句的三种形式 ▪ 形式一: • 格式:
语句2
=0
表达式3 非0
语句3
=0 语句4
C语言程序设计
第五章 选择结构程序设计
• 例:
if (salary>1000) else if (salary>800) else if (salary>600) else if (salary>400) else index=0;
index=0.4; index=0.3; index=0.2; index=0.1;
if (x>0) printf(“%f”,x) ;
else printf(“%f”,-x);
(3)在if 和else 后面可以只含一个内嵌的语句,也可以有 多个操作语句,此时用花括号将几个语句括起来成为一 个复合语句。如:
if (x>y)
{ t=x ; x=y ; y=t ; }
C语言程序设计
第五章 选择结构程序设计
a=4;b=5;
!a
//值为0
a&&b //值为1
a||b
//值为1
!a||b
//值为1
4&&0||2 //值为1
5>3&&2||8<4-!0 //(5>3)&&2||(8<(4-(!0))) 值为1

C语言程序设计-if_else选择结构PPT

C语言程序设计-if_else选择结构PPT

情景实现
int main() {
int i; printf(“明天下雨请输入1,不下雨请输入0\n”); scanf(“%d”,&i); if(i==0)
printf(“明天不下雨去春游\n”); else
printf(“明天下雨去图书馆\n”); return 0; }
例题讲解
从键盘上输入两个实数,比较并输出这两个数中 较大的一个。
printf(“两个数中较大的为%d\n”,b); return 0; }
课堂练习
体质指数 (Body Mass Index,简称BMI),是目前国际最常 用来量度体重与身高比例的工具。它利用身高和体重之间的 比例去衡量一个人是否过瘦或过肥。 体质指数(BMI)=体重(kg)/身高 (m)^2 编写一个C语言程序,输入班级某同学的身高体重,判断某 同学是否超重(BMI值大于24)。(在VC中实现此C程序)
C语言程序设计
使用if-else语句实现选择结构程序
目录
CONTENTS
01 情景导入 02 情景分析 03 if-else选择语句 04 例题讲解 05 课堂练习
情景导入
明天是周末,天气预报说明天有可能下雨, 小明计划如果明天不下雨就出去春游,否则 的话就去图书馆看书。 请根据以上情景设计一个C语言程序,模拟 小明明天的活动情况。
情景分析
根据案例描述,小明明天的活动有两个选择,去春游 或者去图书馆。小明具体选择什么活动要看明天是否 下雨。 在C语言中,可以通过if-else语句来实现类似的选择程序。
if-else选择语句
if-else语句的语法结构
if(条件) 选择语句1:; else 选择语句2;
开始if结构
成立

《C语言程序设计(第五版)》第4章选择结构程序的设计 PPT课件

《C语言程序设计(第五版)》第4章选择结构程序的设计 PPT课件

►(b*b-4*a*c)>=0
b*b-4*a*c>=0
►z= (x>y+3)
z= x>y+3
►(a>b)= = c
a>b= =c
►a=(b!=c)
a=b!=c
当然为提高程序的可读性、可维护性你不妨多使用 括号,因为C语言中的有些优先级很容易让你不小心犯 错。
C语言程序设计
第4章 选择结构程序设计
第10页
“>”的结果为“假”,即条件不成立。
C语言程序设计
第4章 选择结构程序设计
第5页
4.1 关系运算及关系表达式
4.1.1 关系运算符及其优先次序
运算符
含义
> 大于
优先级
结合性
>= 大于或等于 这些关系运算符等优
< 小于
先级,但比下面的优 先级高
左结合性
<= 小于或等于
== 等于 != 不等于
这些关系运算符等优 先级,但比上面的优 先级低
C语言程序设计
第4章 选择结构程序设计
第4页
4.1 关系运算及关系表达式
所谓“关系运算”实际上就是“比较运算”, 即将两个数据进行比较,判定两个数据是否符合 给定的关系。例如,
► “x>y+3”中的“>”表示一个大于关系运算。 ➢如果a的值是5,b的值是1,则大于关系运算
“>”的结果为“真”,即条件成立; ➢如果a的值是2,b的值是1,则大于关系运算
因为按照自左至右的结合方向,先执行关系运算
“a>b”得值为1(“真”),再执行关系运算“1>c”, 得值为0(“假”),因此y为0。
C语言程序设计

C语言程序设计ppt课件-第3章-选择结构

C语言程序设计ppt课件-第3章-选择结构
1.表达式 2. if语句 3. switch语句 4. 选择结构的嵌套 5. 选择结构的应用
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。

c语言 第四章 选择结构课件

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)

C语言第四章选择结构ppt课件

C语言第四章选择结构ppt课件
/* 定义实型变量 x , y */
/* 求 x 的绝对值并赋给 y */
/* 输入 x 的值 */
/* 输出 x 的绝对值 */
/* 编译预处理:包含头文件 */
二、if ... else 语句
对这一句话“如果x>=0则y=x,如果x<0则y=-x”,可以写出以下语句:
表达式1 ? 表达式2 :表达式3
表达式1为真,结果为表达式2的值 表达式为假,结果为表达式3的结果; 运算符 “ ?:”的优先级只在逗号和赋值运算 符之前;表达式2和表达式3只可能执行一个;这是C语言中的唯一一个三目运算符;条件运算符的结合方向为“自右自左”。
例:已知a=5,b=6,c=7,d=8,n=2 ; 执行以下语句后表达式的值为多少? n的值为多少? (a < b ) ? ( c + d ) : ( + + n )
if ( 表达式1 ) if ( 表达式2 ) 语句1; else 语句2;else if ( 表达式3 ) 语句3; else 语句4;
实现if ~ else 正确配对方法:加{ }
五、条件运算符
能否把两条语句合成一句,更好地体现这种逻辑关系呢?这就是 if ...... else 语句的功能。
简单的if 语句只能表达“如果 ,那么 ”的含义,而if ...... else 语句却能表达“如果 那么 否则 ”的含义。
If ( x>=0) y=x;if (x<0) y=-x;
a>b?a:c>d?c:d
a>b?a:(c>d?c:d)
表达式值为15,n=2
六、 switch 语句
switch 语句是多分支的选择语句又称开关语句。

C语言选择结构程序设计.ppt

C语言选择结构程序设计.ppt






设 计
C

– 逻辑运算符和表达式
言 程
• 逻辑运算符

– 种类: ! && ||
设 计
– 逻辑运算真值表
a
b
!a
!b a&&b a||b
























选 择 结 构 程 序
设< >

–C语言中,运算量: 0表示“假”, 非0表示“真”,
运算结果: “假”用0表示, “真” 用1表示,
选 多分支选择结构
择 结 构 程 序 设 计
k k=k1
k=k2
A1
A2 ...
k=kn k=ki
Ai ... An
C
语 言
❖循环结构
程 序
当型循环结构


假 P

A
当P为真 A
直到型循环结构

A
A


直到P为真

P
构 程


设 计
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
C
优先级7(低)
a>b!=c //(a>b)!=c
– 关系表达a式==:b<用c 关系//运a=算=(符b<将c)两个表达式连接起来;以
下都是合a法=b的>c关系表/达/a式=(:b>c)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

default :
cout<<" F"; break;
}
课堂练习2.
写程序实现输入一个整数,如果分数为: 90-100输出“A”; 80-89 输出“B”; 70-79 输出“C”; 60-69 输出“D”; 59以下输出“F”; 其它, 输出“输入错误”。
使用switch语句注意事项
(5)多个case子句,可共用同一语句(组)。
cin>>x>>y;
if (x != y)
if (x > y) cout<< "X > Y\n"; 运行结果:
else
cout<<"X < Y\n"; Enter integer x, y: 12, 23
else
X<Y
cout<<"X == Y\n";
Enter integer x, y: 12, 6
一般形式: 执行过程:
{ case E1: 语句组 1;
break;
switch
case E2: 语句组 2;
表达式
break;
E1 语句组1
E2 语句组2
case En
…... 语句组n
……. cadseefaultEn: 语句组 语句组 n;
break;
[default:
语句组 ;
break;]
本章讨论
3.1 选择结构的程序设计
1. if语句
➢ 简单if语句形式 格式:
if (表达式) 语句;
T
表达式
F
语句
执行流程:
例如:➢:请i请用f_用ief_ls简eels形单e形式if语式句实形现式输实出现两输个入整两数个中整的数最,大输数出。其中
的大数。格式:
T 表达式
F
if (表达式) 语句1;
1; break; 1b; rebarke;ak; break;
}
case 1: b = b + 2; break;
}
cout<<"b =", b);
c//a{se}可1在加前可面不已加使用
课堂练习1:
使用switch语句按照考试成绩的等级打印出百分制 分数段。
成绩等级对应的分数段如下:
A:90-100; B:80-89 ; C:70-79 ; D:60-69 ; F:59以下;
使用switch语句注意事项
(4) 每个case后面必须是“常量表达式”,表达式中不能 包含变量。
例:按成绩分成A、B、C、D、E、F几个等级。
char score;
cout<<" Enter Score: "; cin>>score;
case 后面包含变量
switch (score)
{
case score >= 90 :
}
}
}
使用switch语句注意事项 (7) case子句和default子句如果都带有break子句,那么 它们之间顺序的变化不会影响switch语句的功能。
#include <iostream>
#include <iostream>
}
cout<<“b=“<<b;
使用switch语句注意事项
(2) case后面语句(组)可加{ }也可以不加{ },但一般不 加{ }。
(3) 每个case后面“常量表达式”的值,必须各不相同, 否则会出现相互矛盾的现象。
ics{nwis{}ncctwiaacc>tiaaassct>eessh,caeehb12;(21::a(=::)ibb4){;==bbbb==+*bb22+-;;
T
表达式3
F
T
T
表达式n
F
T
语句1
语句2
语句3
语句n 语句 n+1
例如:下面的程序段是判断输入字符的种类。 char c; cout<<“请输入字符:”; cin>>c; if (c >= '0' && c <= '9') cout<<"The character is a digit\n"; else if (c >= 'A' && c <= 'Z') cout<<"The character is a capital letter\n"; else if (c >= 'a' && c <= 'z') cout<<"The character is a lower letter\n"; else cout<<"The character is other character\n";
}
X>Y
Enter integer x, y: 12, 12
X==Y
➢ if语句嵌套: 一般形式:
if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) statement1
else if (expr3) statement3 else statement4
else 语句2;
语句1
语句2
执行流程:
例如:下面的程序段是用简单的if语句实现输入两个整数, 输出其中的大数。
int a, b, max; cout<<“请输入两个整数:”; cin<<a<<b; max=a; if (max < b)
max=b; cout<<max;
例如:下面的程序段用if…else形式实现输出两个整数中的最 大数。
cout<<“x != 0\n”;
} 运行结果:x = 0
} 运行结果:x != 0
if_else 配对原则
C++语言规定,在缺省{ }时,else总是和它
上面例离: 它最近的未配对的i例f配: 对
#include <iostream>
#include <iostream>
if u(…sin…g)namespace std; voifid(…m…ai)n ( ) { if (……)
cout<<" A"; break;
case score >= 80 && score < 90 : cout<<" B"; break;
case score >= 70 && score < 80 : cout<<" C"; break;
case score >= 60 && score < 70 : cout<<" E"; break;
使用switch语句注意事项
(6) case后面的“常量表达式”仅起语句标号作用,并不 进行条件判断。系统一旦找到入口标号,就从此标号开始执 行,不再进行标号判断,所以必须加上break语句,以便结 束switch语句。
void main ( )
运行结果:
{
No void main ( )
运行结果:
(2) 表达式a+通+;常是逻辑表达式或关{ 系表达式,但也可以
是其它任何表b+达+;式,如赋值表达式等,a+甚+;至也可以是一个
变量。只要els表e 达式非零时,表达式的值b+就+;为真,否则就是
假。 例: {
例}:
,这如一(3果组) 在例要语#uviiffios:想句n}fii((n语dcabiab在用flg)um=c句=x=nod满{语5a>ua0e1的})i句mt;足;n括<0语<三;ei(条o起<句s)s种p“t件;来axr形ce>时组ea//所//式m0等表s执成t以”>价达d中;其行;一于式,后一i的个f的所(值例b组复语!永有=:句(e{合#uv远0多l的iio总ss)afn为语iei语cn个d是c=(语非ox句lg句要umu0)0句>;nd语t;,执。a<ae0i应行<m句n)<但“的ei为(,xos要)sp>单t则a注r0ce个必”ea意;m语s须t的>d句把;是
char ch;
{
No
ch = getch ( ); switch ( ch )
//假设输入为:Ncchha=r
ch; getch
(
);
//假设输入为AL:LN
{
switch ( ch )
case 'Y' : printf ("Yes\n"); brea{k;
case 'N' : printf ("No\n"); break;case 'Y' : printf ("Yes\n"); break;
➢ if_else_if形式 格式:
执行流程:
if(表达式1)
语句1;
else if (表达式2) 语句2;
else if (表达式3) 语句3;
……
else if (表达式n) 语句n;
相关文档
最新文档