第4章选择结构程序设计

合集下载

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。

第4章 选择结构程序设计《C语言程序设计(第三版)》-电子教案

第4章 选择结构程序设计《C语言程序设计(第三版)》-电子教案

【注意】
switch后跟的"表达式"允许为任何类型的表达式,其 后跟的"表达式"允许为任何类型的表达式, 后跟的 数据类型和case后面的常量表达式的数据类型一致. 后面的常量表达式的数据类型一致. 数据类型和 后面的常量表达式的数据类型一致 每一个case后的各常量表达式的值不允许重复,否则 后的各常量表达式的值不允许重复, 每一个 后的各常量表达式的值不允许重复 会报错. 会报错. 每一个case后允许有多条语句 可以不用花括号" 后允许有多条语句, 每一个case后允许有多条语句,可以不用花括号"{}" 括起来. 括起来. case和default子句出现的先后顺序可以变动,不会影 子句出现的先后顺序可以变动, 和 子句出现的先后顺序可以变动 响程序的执行结果. 子句也可以省略不用. 响程序的执行结果.default子句也可以省略不用. 子句也可以省略不用 多个case可以共用一组执行语句.例如: 可以共用一组执行语句. 多个 可以共用一组执行语句 例如: … case 'A': case 'B': case 'C':printf("Pass\n");break;
3<5 || ++b
【例4-2】测试短路现象 】
#include <stdio.h> void main() { int a,b; a=b=0; a || ++b; printf("%d,%d\n",a,b); a=b=1; a || ++b; printf("%d,%d\n",a,b); a=b=0; a && ++b; printf("%d,%d\n",a,b); a=b=1; a && ++b; printf("%d,%d\n",a,b); }

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

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

#include <stdio.h> int main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) 如果 a>b,将a和b对换 , 和 对换 是 、 中的小者 { t=a; a=b; b=t; } a是a、b中的小者 if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf("%5.2f,%5.2f,%5.2f\n",a,b,c); return 0; }
if (disc<0) 8<0为假 为假 printf(“has not real roots\n”); else 的值变为-1 的值变为 { p=-b/(2.0*a); p的值变为 的值变为0.71 的值变为 q=sqrt(disc)/(2.0*a); q的值变为 x1=p+q; x1的值变为 的值变为-0.29 的值变为 x2=p-q; x2的值变为 的值变为-1.71 的值变为 printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; }
if (disc<0) printf(“has not real roots\n”); else { p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; 复合语句 }
C语言有两种选择语句: 语言有两种选择语句: 语言有两种选择语句 (1)if语句,实现两个分支的选择结构 语句, 语句 (2)switch语句,实现多分支的选择结构 语句, 语句

第4章 选择结构程序设计

第4章 选择结构程序设计

图4-2 程序的运行结果 根据程序的运行结果,请将下面程序补充完整并调试。 #include "stdio.h" main()
{ float a,b,c,t; printf("请输入三个数 a,b and c:\n"); scanf ("%f%f%f",&a,&b,&c); printf("输入的三个数为:"); printf ("%6.2f,%6.2f,%6.2f\n",a,b,c); if(a>b) {t=a;a=b;b=t;} if(a>c) ___________________________________ if(b>c) {t=b;b=c;c=t;} printf("排序后的三个数为:"); printf ("%6.2f,%6.2f,%6.2f\n",a,b,c); getch(); } 2.编程实现:根据性别sex和身高tall给某数据分类,如果sex为‘F’,当 tall>=150时,输出A,否则输出B;若sex不为‘F’,当tall>=172时,输出 A,否则输出B。程序的运行结果如图4-3所示。
_________________________________________ else printf("B"); } else { if(tall>=172) printf("A"); else printf("B"); } getch(); }
4.2 switch语句
【学习目标】 (1)掌握switch语句的语句格式与应用 (2)掌握switch语句中break语句的用法

C语言程序设计第四章 选择结构程序设计

C语言程序设计第四章 选择结构程序设计

辑量。
Page 4
4.1 逻辑量
逻辑表达式 1.逻辑运算符 逻辑运算符有以下3种:&&(逻辑与)、||(逻辑或)、!(逻辑非) “&&”和“||”是双目运算符,“!”是单目运算符,逻辑运算的运算对 象是逻辑量。其中“!”的优先级别高于“&&”,“&&”的优先级高于
“||”。“&&”和“||”是左结合运算符,“!”是右结合运算符。
Page 6
4.1 逻辑量
逻辑运算的短路 2.逻辑表达式 &&”和“||”在运算时,存在运算的短路。 ① “&&”运算的短路规则。 例如:a&&b
当左目a为逻辑假时,有当左目a为逻辑真时,才运算右目b。
Page 7
4.1 逻辑量
逻辑运算的短路 2.逻辑表达式 &&”和“||”在运算时,存在运算的短路。 ②“||”运算的短路规则。 例如:a||b
逗号运算符高,结合性为右结合。
Page 12
4.2 if语句
条件表达式 2.条件表达式 用条件运算符将运算对象连接起来的符合C语言规则的表达式称为条 件表达式。 条件表达式的运算过程为:先判断第1目逻辑量,如果逻辑量为真,
选取第2目的结果作为整个表达式的值,否则选取第3目结果作为整个
表达式的值。 条件表达式中存在类型的自动转换,条件表达式的值的类型是第2目
立的表达式对待。
Page 14
4.2 if语句
if语句的嵌套 从if语句的格式来看,if( )~else只能解决双分支问题。如果要解决多 分支问题,则需使用if语句的嵌套。 例如多分支函数:
1 x0 y= 0 x 0 1 x 0

《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语言程序设计

Ch04_选择结构程序设计

Ch04_选择结构程序设计


典型示例
求最大值 成绩等级 求方程解

作业/上机

作业(做在书上)

TP62 习题4:一、二、三 TP65 习题4:2,3,5,6

上机


4.1 关系表达式与逻辑表达式

关系运算符及优先级
4.1 关系表达式与逻辑表达式

关系表达式
用关系运算符将两个操作数(常量、变量或表达式)连 接起来,进行关系运算的式子,称为关系表达式。 例如,假设n1=5,n2=8,n3=10,则:

1)关系表达式n1==n2的值为0。 2)关系表达式n1<=n3的值为1。 3)关系表达式n1+n2>n3的值为1。 4)关系表达式n1== n2>n3的值等为0。

举例
if(a>b) max=a; else max=b;
<==>
max = (a > b) ? a : b
4.4 switch表达式

switch格式
switch (<表达式>) if (<表达式> == <数值1>) { <语句或语句组1>; case <数值1>: else if (<表达式> == <数值2>) [<语句或语句组1>;] <语句或语句组2>; <==> case <数值2>: …… [<语句或语句组2>;] else …… <语句或语句组>; [default: <语句或语句组>;] }

例:设a=4,b=5: !a的值为0 a || b的值为1 4 && 0 || 2的值为1

第4章 选择结构程序设计

第4章 选择结构程序设计
printf("\nthe light is on."); else printf("\nthe light is off."); getch(); }
章节:
C语言程序设计→第4章 选择结构程序设计
练一练
问题:编一程序,从键盘输入一个正整数,判 断它的奇偶性。如果输入的是奇数,输出“奇 数”,如果输入的是偶数,则输出“偶数”。
章节: C语言程序设计→第4章 选择结构程序设计
本章的学习难点
1. 单分支与双分支选择结构程序设计; 2. 多分支选择结构程序设计 ; 3. 条件语句的嵌套。
章节: C语言程序设计→第4章 选择结构程序设计
本章目录
1. 选择结构和条件判断 2. 用if语句实现选择结构 3. 关系运算符和关系表达式 4. 逻辑运算符和逻辑表达式 5. 条件运算符和条件表达式 6. 选择结构的嵌套 7. 用switch语句实现多分支选择结构 8. 选择结构程序综合举例
章节: C语言程序设计→第4章 选择结构程序设计
4.1.2逻辑运算符与逻辑表达式
逻辑运算符
&&
逻辑与(并且)
||
逻辑或(或者)
!
逻辑非
章节:
C语言程序设计→第4章 选择结构程序设计
逻辑运算符
章节: C语言程序设计→第4章 选择结构程序设计
逻辑运算真值表
章节: C语言程序设计→第4章 选择结构程序设计
反数。所以,如果iX<0,则iY= -iX,否则不需要 做什么;
5.输出iX和iY。
章节:
C语言程序设计→第4章 选择结构程序设计
流程图
章节:
C语言程序设计→第4章 选择结构程序设计

第4章选择结构程序设计

第4章选择结构程序设计

第4章选择结构程序设计通过本章实验作业应达目标1.练习并熟练把握if、switch语句利用,实现二路与多路选择结构;本章必需上交作业程序、、、上传至实验一大小写转换【实验目的】熟悉关系与逻辑运算,了解if-else的顺序与嵌套层次关系。

【实验内容】下面程序希望完成大小写字母转换功能。

假设输入一个大写字母,那么转化为小写输出;假设输入小写字母那么转化为大写输出;对其他字母那么原样不变输出。

程序以命名,运行程序,别离输入一次大写、一次小写字母、一次‘#’进行验证。

若是程序有错,请更正。

#include<>void main(){char ch;ch=getchar();if('a'<=ch<='z') ch-=32;if('A'<=ch<='Z') ch+=32;putchar(ch);putchar('\n');}实验二算术运算【实验目的】学习if~else、switch语句的利用。

【实验内容】键盘输入一个算术的运算式子,输出运算结果。

那个地址咱们规定能够接收五个算术运算的符号:+、-、*、/、^(乘方)。

输入这五个符号之外的运算符号那么提示犯错。

程序以命名并上交。

以下图是输入输出的示用意:输入一个加法的算术式:输入一个除法的算术式:输入一个乘方的算术式:求3的平方根:【实验提示】本程序需要从键盘接收一个表达式,依照表达式中的运算符号实现相应的运算并将结果保留下来并输出。

C语言本身是没有乘方运算符的,能够挪用数学函数pow(x,y)求x的y次方。

注意必然要包括<>。

【试探】输入的表达式实质是按多个不同类型的数据来获取数据的。

程序中需要概念多个变量来接收表达式中包括的数据与运算符,并设计相应的输入/输出函数实现。

实验三金额计算【实验目的】学习分析与解决实际问题的能力,综合嵌套利用if~else或switch语句。

第四章 选择(分支)结构程序设计

第四章 选择(分支)结构程序设计
4.2.2 逻辑表达式 掌握C语言的关系运算符和逻辑运算符后,可以
用一个逻辑表达式来表示一个复杂的条件。
例如:判断某一年是否闰年。 闰年:能被4整除,但不能被100整除;或能被 400整除。
(year%4==0&&year%100!=0)||year%400==0
表达式为“真”,闰年条件成立,是闰年,否则 非 闰年。
复合语句的形式:
{ 语句1; 语句2; 语句3; ……
}
4.3 if语句
4.3.1 if语句三种形式
复合语句在选择结构,循环结构中经常用到。 我们在逻辑上把复合语句看成是一条语句。
4.3 if语句
4.3.1 if语句三种形式
例:要求用户输入一个实数,然后求出这个实数 的绝对值。
4.3 if语句
逻辑运算的真值表:
a b a&&b
a||b
真真 真

真假 假

假真 假

假假 假

a
!a




4.2 逻辑运算符和逻辑表达式
4.2.1 逻辑运算符及其优先顺序
例:逻辑运算举例 a&&b 若a、b为真,则a&&b为真。 a||b 若a、b之一为真,则a||b为真。 !a 若a为真,则!a为假,反之若a为假,
4.3.1 if语句三种形式
▪ 在C语言中,表达式P的值是非0时,系统均按真 值处理。
例(1) if (‘a’) printf(“ok!”); (2) x=-5; if(x) printf(“ok!”); (3) y=0; if(y==0) printf(“ok!”); if(y) printf(“ok!”);

915145-C语言程序设计-第4章 选择结构程序设计

915145-C语言程序设计-第4章 选择结构程序设计
条目 票务详情 条件表示(关系表达式) age>=65 style==’2’
老年人
票价分类 两日联票
65周岁及以上
选择两日联票
• 常见错误
– 条件表示时,“==” 运算符误写作“=”运算符 – 数值0、1、…、9与数字字符’0’、’1’、…、’9’的混淆
4.2.2 逻辑运算
• • • 逻辑运算符
– 逻辑非(!)、逻辑与(&&)和逻辑或(||)
• 逻辑表达式求值方法
– 在逻辑表达式的求值过程中,按其操作数从左至右的 计算顺序,当某个操作数的值可以确定整个逻辑表达 式的值时,其余的操作数不再计算
4.2.3 短路求值
例如:假如有变量定义为 int x,y,z; 求下列表达式执行后,表达式的值和变量的值
序号
① ② ③ ④ ⑤ ⑥
变量初始值
x=y=z=1; x=2,y=0,z=1; x=y=z=1; x=0,y=1,z=2; x=0,y=1,z=2; x=0,y=1,z=2;
单分支 双分支 多分支 综合决策
– 选择控制结构
• 即根据条件进行判断选择执行相应操作的 问题,也称为分支控制结构 • 一般分为单分支、双分支和多分支三种结 构
• 实现的关键
– 判断条件的合法描述 – 选择操作流程的合理设计
4.1 门票价格问题
表4-1 上海迪士尼主题乐园的门票价格表
平日票
370
4.2 条件的表示
微视频:短路求值示例
4.3 单分支结构
• 问题
– 迪士尼门票规则
• 老年人:65周岁以上 平日票:280元,高峰日票:375元
分析 – 需要对条件(年龄大于等于65)进行判断
如果为真,则享受优惠票价 平日票:280元,高峰日票:375元

计算机二级C语言第4章 选择结构程序设计

计算机二级C语言第4章 选择结构程序设计
在使用时应注意以下两点。
①应当注意if与else的配对关系。原则是else总是与它上面最近的、未
配对的if配对。
②如果if与else的数目不一样,为了避免在if与else配对时出错,建议
读者使用“{}”来限定了内嵌if语句的范围。如下形式的嵌套语句:
if(表达式1)
{if(表达式2)语句1} /*内嵌if*/
这时形成了阶梯形的嵌套if语句,此形式的语句可以用以下语句形式
表示,看起来层次比较分明。
4.4.2 if语句的嵌套
if(表达式1)

语句1

else if(表达式2)
else if(表达式n-1)
语句2
语句n-1
else if(表达式3)
else
语句3
语句n
嵌套选择结构主要用于处理多条件的问题。设计嵌套选择结构时,应
②只在else子句中嵌套if语句,形式如下:
if(表达式1)
语句1
else
if(表达式2) 语句2
else 语句3
③不断在else子句中嵌套if语句就形成多层嵌套,形式如下:
if(表达式1) 语句3
语句1

else
if(表达式n)
if(表达式2) 语句n
语句2
else(表达式n)
else(表达式3) 语句n
case常量表达式2: 语句2

case常量表达式n: 语句n
default:
语句n+1
}
【说明】
①switch后面的表达式必须用圆括号括起来,其取值必须是整型或字
符型。switch语句后面用花括号“{}”括起来的部分称为switch语句体,

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

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

《 C语言程序设计》
流程图
真 (非0) 表达式
假(0)
语句1
语句2
《 C语言程序设计》
例4.1
【例4.1】试用if…else语句编写程序,判断学生成绩 是否合格。
判断方法: ①如果成绩大于等于60,输出及格 ②否则输出成绩不及格
《 C语言程序设计》
4.2 if语句 if语句
C语言中if条件语句有三种结构形式,分别是: if结构(单分支结构) if if-else if-else结构(双分支结构) if-else-if结构 (多分支结构) if-else-if
《 C语言程序设计》
例4.5 设计一个应用程序,判断某一年是否为闰年
判断方法: ①如果该年能被4整除而不能被100整除,则为闰年; ②或者能被400整除也是闰年。 如: 1996年、2000年是闰年 1996年 2000年是闰年
1998年 1900年不是闰年 1998年、1900年不是闰年
逻辑表达式为: year%4==0 && year%100!=0 || year%400==0
4.4 条件运算符和条件表达式
条件运算符: 1、条件运算符:?:是C语言中惟一的一个三 目运算符。 一般形式为: 2、一般形式为: 表达式1 ? 表达式2 : 表达式3 3、操作过程:如果表达式1成立,则表达式2的 操作过程: 值就是此条件表达式的值;否则,表达式3 的值是此条件表达式的值。
《 C语言程序设计》
《 C语言程序设计》
4.2.2 if-else结构 if-else结构
1、格式: if(条件表达式 语句1 条件表达式) if(条件表达式) 语句1; 真 (非0) else 语句2; 语句 ; 语句1 2、执行过程:

C语言程序设计教程:选择结构程序设计

C语言程序设计教程:选择结构程序设计
25
4.2 switch语句
(5) case后面的语句块可以是一条语句或多条语句,也可 是空语句,但不需要用大括号括起来。
(6) 当case后面常量表达式与switch后面的表达式均不匹 配时,则执行default后面的语句块,default可以放在程序的 任何位置,不一定要位于最后。
(7) 多个case可以共用一个语句块。 例如: switch(n)
注意:当多分支中有多个表达式同时满足时,只执行第一个与之匹配的语句块。 因此要注意对多分支中条件表达式的书写次序,防止某些值被过滤掉。
15
4.1.1 if语句的三种形式
思考:若将例4.4中程序改为以下两种写法,结果分别会如何?
程序段一如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=90)
4.1.1 if语句的三种形式
程序段二如下: #include <stdio.h> main() {
float score; printf("请输入学生期末考试成绩(0-100):\n "); scanf("%f", &score); if(score>=60)
printf("及格!\n "); else if(score>=70)
9
4.1.1 if语句的三种形式
2. 双分支选择结构
双分支结构语法的一般格式为:
if(表达式)
{
语句块1;
}

第4章选择结构程序设计.ppt

第4章选择结构程序设计.ppt

材料与能源学院
2019/10/19
C语言程序设计
4.2.1 用if语句处理选择结构举例
例4.2 输入两个实数,按代数值由小到大 的顺序输出这两个数。
解题思路:
只需要做一次比较,然后进行一次交换即可 用if语句实现条件判断 关键是怎样实现两个变量值的互换
互换前 A ★
●B
互换后 A ●
表达式值为真(1)是非闰年,否则为闰年。
材料与能源学院
2019/10/19
Page21
C语言程序设计
4.5 条件运算符和条件表达式
条件运算符 格式:表达式1?表达式2:表达式3
功能:判断表达式1的值,如果成立就执行表达式2,否 则就执行表达式3
使用场合:若在if语句中,当被判别的表达式的值为“真” 或“假” 时,都执行一个赋值语句且向同一个变量赋值 时,可以用一个条件运算符来处理。
内嵌if 内嵌if
匹配规则:else总是
if (number>500) cost=0.15; else if(number>300) cost=0.10; else if(number>100) cost=0.075; else if(number>50) cost=0.05; else cost=0;
材料与能源学院
2019/10/19
Page14
为(ch+32),即相应的小写字母。如果ch的值不是大 写字母,则条件表达式的值为ch,即不进行转换。
scanf("%c",& ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h> main( ) { 用C语言描述: int score; printf("Please input a student's score:"); scanf("%d",&score); 1)a小于b或小于c 4)a是非正整数 if(score>=60) 2) a和b都大于c 5)a是奇数 选择 printf("The student's score has passed.\n"); 3)a和b中至少有一个大于c 6)a不能被b整除 结构 else printf("The student's score has n't passed.\n"); }
第四章 选择结构程序设计
【例4.5】从键盘上输入3个实数a,b,c,求出 其中的最小值并输出其值。 程序如下:
#include <stdio.h> main( ) { float a,b,c,min; printf("Please input a,b,c:"); scanf("%f%f%f",&a,&b,&c); if(a<b) { if(a<c) min=a; else min=c; } else { if(b<c) min=b; else min=c; } printf("min=%f\n",min); }
第四章 选择结构程序设计
问题:
1、从键盘输入一个数,如该数为正,打印,否则 不打印; 2、将考试成绩不及格的学生名单打印出来; 3、解一元二次方程,求出相应的实根或复根。 对于上述或类似问题,需要进行某种判断,并 根据不同情况进行不同的处理,怎样进行程序设计? 引入新的程序结构选择结构来解决。 通常有两种形式可进行分支结构的程序设计: if结构、多分支选择结构(switch语句)
格式一
第四章 选择结构程序设计
求a和b两数中较大的一个。
Y max=a
a>b? N max=b
main( ) { int a,b,max; scanf("%d, %d",&a, &b); if ( a >b ) max=a; else max=b; printf("The max of a and b : %d\n", max); }
第四章 选择结构程序设计
程序如下
#include <stdio.h> main() { int f; printf("Please input a student's score:"); scanf("%d",&f); if(f>=0&&f<60) printf("%d------------>E\n",f); else if(f<70) printf("%d------------>D\n",f); else if(f<80) printf("%d------------>C\n",f); else if(f<90) printf("%d------------>B\n",f); else if(f<=100) printf("%d------------>A\n",f); else printf("Your input are error!\n"); }
第四章 选择结构程序设计
有关if语句使用的几点说明:
1.if语句中的条件表达式必须用()括起来,并且 在括号外部不能加分号; 2.if或else子句后面的执行语句均有分号; 3.else是if语句的子句,必须与if搭配使用,不可 以单独使用; 4.当if或else子句后是多个执行语句构成的语句组 时(复合语句),必须用{ }括起来,否则各子句 均只管到其后第一个分号处; 5.if或else子句后只接单个分号时,应把之作为空 语句处理。
第四章 选择结构程序设计
if-else-if形式流程图
表达式1 Y N
表达式2
Y
N
„ 表达式n-1
N
语句1
语句2

Y 语句n-1 语句n
【例4.4】编写程序,要求输入一个学生的考试 成绩,输出其分数和对应的等级。 问题分析:学生成绩共分5个等级:小于60分为 “E”;60~70分为“D”;70~80分为“C”;80~90 分为“B”;90分以上为“A”。
第四章 选择结构程序设计
嵌套if语句的流程图
Y Y N 表达式2 语句2
表达式1 Y
N N 表达式3 语句4
语句1
语句3
功能: 先判断表达式1的值,若表达式1为非0,再判断表达 式2的值,若表达式2为非0,则执行语句1,否则执 行语句2。若表达式1的值为0,再判断表达式3的值, 若表达式3为非0,则执行语句3,否则执行语句4。
第四章 选择结构程序设计
在if语句的“语句1”或“语句2”中又包含着if语句
表 达 式
表 达 式
1
main( ) { int x, y; 注 printf ("Enter integer X and Y:"); 意 scanf ("%d%d", &x, &y); if ( x != y ) if ( x > y ) printf ("X>Y\n"); if与else之间的匹 else printf ("X<Y\n"); 配,else总是与 else printf ("X==Y\n"); 同它最近的 if相 }
x=(a>b)?a:b 当 a=9,b=5时,x=9
第四章 选择结构程序设计
3 条件运算符的优先级:高于赋值和逗号,低于其他
4 结合性:从右向左 5 数据类型可以不同:
z=(a>b)?a:(a>d)?c:d
x>y?’a’:’b’
a, b, c A) 9, 9, 9 B) 8, 8, 10 C) 8,10, 9 D) 1,11,10
第四章 选择结构程序设计
第四节
条件运算符和条件表达式
条件运算符为(? :)是C语言中唯一的一个三目 运算符(有三个参与运算的操作数)。
1. 格式 (表达式1)?(表达式2):(表达式3)
2 功能: 判断表达式1的值,若为非0,则表达式2的 值为条件表达式的值,否则,表达式3的值为 条件表达式的值。
第四章 选择结构程序设计
流程图:
开始
定义Y, leap 输入Y
Y
Y%4==0&&Y%100!=0||Y%400==0
N
leap=1
Y
leap=0
leap==1
N
输出Y为闰年
输出Y非闰年
结束
第四章 选择结构程序设计
程序如下
#include <stdio.h> main() { int Y,leap; printf("Please insert the year number:"); scanf("%d",&Y); if((Y%4==0)&&(Y%100!=0)||(Y%400==0)) leap=1; else leap=0; if(leap==1) printf("%d is a leap year.\n",Y); else printf("%d is not a leap year.\n",Y); }
匹配。
第四章 选择结构程序设计
main( ) { int a=5,b=1; if(a++>5) if(a++>5) b=2; if else if if(a++>5) b=3; else b=4; printf(“%d”,b); }
A) 1 B) 2 C) 3 D) 4
当: a=1,b=3,c=5,d=4 if(a<b) if if(c<d) x =1; else if if(a<c) if(b<d) x=2; if else x=3; else x=6; else x=7; A) 1 C) 3 B) 2 D) 6
第四章 选择结构程序设计
第四章
选择结构程序设计
第一节 第二节
选择结构程序设计简介 if语句
第三节 嵌套if语句 第四节 条件运算符和条件表达式 第五节 switch语句 第六节 选择结构程序设计举例
第四章 选择结构程序设计
第一节
选择结构程序设计简介
1、选择结构(分支结构)
是根据实际情况对给定的条件进行判断,依据 条件成立与否执行不同操作语句的一种程序设计 方法。是三种结构化程序设计方法之一。
流程图: 问题分析:
本例中学生成绩 从键盘读入。判断学 生成绩是否合格实际 就是判断学生成绩是 否大于或等于整数60。 Y 大于或等于整数60, 则该学生成绩为合格, 输出合格 否则为不合格。
开始 定义score 输入score score>=60
N
输出不合格
结束
第四章 选择结构程序设计
程序如下:
第四章 选择结构程序设计
2、 if-else形式
流程图:
语法格式: if (表达式) 语句1; else 语句2;
功能: 先判断括号内表达式 的值,若为非0,执行语 句1,否则,执行语句2。
Y
条件 语句1
N
语句2
第四章 选择结构程序设计
相关文档
最新文档