第04章 选择结构程序设计(4)

合集下载

第四篇选择结构程序设计

第四篇选择结构程序设计

以某表达式的值等于0作为条件时可写成对该表达式 取反的形式。
例如,语句:if(x==0) printf(“x=0”);可以简写成:
if(!x) printf(“x=0”);
4.3 if语句
说明: (3)无论是if语句中的语句还是if-else语句中的语
句1、语句2,都可以是任何语句。当它们中的某 一个是有多条语句组成时,必须写成复合语句的 形式。例如,语句:
优先级: 高 算术运算符
< ,<=, >, >=

==, !=
赋值运算符
4.2 关系运算与逻辑运算
2.关系表达式
一般形式为:〈表达式〉〈关系运算符〉〈表达式〉
合法的关系表达式:
a>b
a+b<c-d
(a=3)<=(b=5)
‘a’>=‘b’
(a>b)==(b>c)
关系表达式的值:
——逻辑值
“真” “1”表示
else
printf(“n=%d NO\n”,n); }
➢多分支if语句
4.3 if语句
当if-else语句中的语句2是另一条if语句时,就构成了多分支if语句。
语句的一般形式为: 表 达 式
1
if(表达式1) 语句1 真
假 执行过程:
假 表达式2
else if(表达式2) 语句2


else if(表达式3) 语句3
用N-S流程图表示例4.1的算法 输入weight
成立
weight≤50
不成立
pay=weight*0.35
pay=50*0.35+(weight50)*0.5

实验四选择结构程序设计

实验四选择结构程序设计

实验四选择结构程序设计在程序设计的世界里,选择结构就像是一个智能的决策者,根据不同的条件来决定程序的走向。

这一结构在解决各种实际问题中发挥着至关重要的作用,让程序变得更加灵活和高效。

选择结构,简单来说,就是让程序在运行时能够根据某些条件的判断结果,选择执行不同的代码块。

想象一下,你正在编写一个程序,要根据用户输入的成绩来判断他是否及格。

如果成绩大于等于 60 分,就输出“及格”;否则,输出“不及格”。

这就是一个典型的选择结构应用场景。

在大多数编程语言中,实现选择结构主要有两种方式:if 语句和switch 语句。

先来说说 if 语句。

它的基本形式是“if (条件) {代码块}”。

如果条件为真,就执行花括号里的代码块;如果条件为假,就跳过这个代码块,继续执行后面的代码。

比如说,我们要判断一个数是否为正数,可以这样写:```javaint num = 5;if (num > 0) {Systemoutprintln("这是一个正数");}```除了简单的 if 语句,还有 ifelse 语句。

它的形式是“if (条件) {代码块 1 } else {代码块 2 }”。

如果条件为真,执行代码块 1;如果条件为假,执行代码块 2。

例如,判断一个数是奇数还是偶数:```javaint num = 6;if (num % 2 == 0) {Systemoutprintln("这是一个偶数");} else {Systemoutprintln("这是一个奇数");}```另外,还有 ifelse ifelse 语句,可以处理多个条件的情况。

比如,根据学生的成绩划分等级:```javaint score = 85;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}```接下来,再讲讲 switch 语句。

第4章 选择结构程序设计

第4章 选择结构程序设计

3)制作学生成绩管理系统菜单
使用switch语句制作学生成绩管理系统菜单。该系统实现对某班 某门课程成绩的简单管理,基本功能有三项:录入学生成绩;统 计平均成绩;将成绩由低到高排序。系统的操作界面用一个非常
简朴的菜单描述,如图所示。
第4章 选择结构程序设计
本章要点: if语句 if语句的嵌套 条件运算符 switch语句 选择结构程序设计
学习方法建议: 学习本章内容应重点掌握if语句的执行过程,在此基础 上,掌握if语句、switch语句格式及应用,学会编写选择结 构程序。本章的难点是if语句的嵌套和switch语句的应用。
上机实验
一、实验目的
1.熟练掌握if语句的基本结构;
2.学会利用if语句编写选择结构程序;
3.学会利用switch语句编写选择结构 程序。
二、实验内容
1.验证性实验
1)以下程序实现计算两个数的商,请验证程序运行结果。 #include <stdio.h> main() { int a,b; printf(“Input two int number:\n”); scanf(“%d%d”,&a,&b); if (b==0) printf("Divided by zero\n"); else printf(“%f\n”,1.0*a/b); }
2)下面程序实现输入的3个整数按从大到小的顺序输出,程 序空白的地方填上适当的语句或语句体。 #include <stdio.h> main() { int a,b,c,t; printf(“Input three integers: \n”); scanf(“%d%d%d”, ① ); if (a<b) ② ; /*交换a、b的值*/ if (a<c) ③ ; /*交换a、c的值*/ if (b<c) ④ ; /*交换b、c 的值*/ printf(“Big to small is %5d%5d%5d:\n”,a,b,c); }

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。

第四讲 选择结构程序设计

第四讲 选择结构程序设计

0.9*100+0.7*(w-100)
(w>100)
例5:将输入的两个非负实数中较大的放在max里,小的放在 min里,并输出。 问题分析:比较输入的两个数的大小,如果放在max中的 数较小,不符合要求,则只要将两个变量的值进行交换,就实 现了题目的要求。交换两个变量的值,需要用到第三个变量, 其方法是:现将两个变量中的第一个支付给第三个变量,然后 将第二个变量的值存入第一个变量,最后将存放在第三个变量 中的园地一个变量的值存入第二个变量。 例6:任意输入三个数a、b、c,按照由大到小的顺序打印出来。 例6:任意输入三个字母(大写),按字母表从前到后的顺序 打印出来。
一般形式为: if 条件 1 then if 条件2 then 语句21
else 语句22
else 语句12;
由于else后面的子句 是可省的,而在嵌套时 else是与离它最近的那个 尚未与其他else配对的 if…then…相匹配。所以 内层的else子句是不能省 的,否则将造成逻辑错误, 解决的办法就是写一个空 语句或者采用复合语句, 即增及语句括号。
判断一个数能否被另一个数整除的方法是:
用求余的运算求出余数,如果余数为0则能整除,否则不能。
逻辑运算及布尔表达式
(1) 布尔常量
在Pascal语言中,逻辑运算的值“真”或“假”是用 “true”或“false”这两个布尔常量来表示的,我们也可以使 用符号常量来表示,当然,首先要在程序的说明部分对常 量进行说明,例如:
顺序
语句1 语句2 语句3 … 语句n
语句组1
选择

条件成立吗? 否

语句组2
第四讲
选择结构的程序性设计
选择结构的特点是根据给定的条件判断在两条(或者 多条)可能的路径中选择一条,两条路径分别作不同的处 理,即当条件成立时执行a语句,不成立时执行b语句,无 论条件是否成立,不同的处理结束以后都执行其后的后续 语句。

C语言程序课件ppt第4章选择结构程序设计谭浩强C程序设计第四版

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语言程序设计第四单元选择结构程序设计

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

思路指导
输入:输入学生的成绩存储到变量score中 输出:根据学生的成绩输出学生的等级 条件判断:判断学生成绩符合哪个范围 处理:根据判断,输出学生的等级
相关知识
1.多重if(多分支if语句)的语法格式 if(表达式1)
{语句体1} else if(表达式2)
{语句体2} else if(表达式3)
/*母亲身高*/
printf("你是男孩(b) 还是女孩(g)?");
scanf("%1s", &sex);
printf("你输入你爸爸的身高(cm):");
scanf("%f", &faheight);
printf("你输入你妈妈的身高(cm):");
scanf("%f", &moheight);
条件1 条件2
语句组1 语句组2
条件
语句组n+1 语句组n
语句组n 语句组n+1
相关知识
(二)解决选择问题的基本步骤和方法
选择结构是结构化程序设计的三种结构之一,也是常用的一种 结构,在大多数的程序中都包含有选择结构,一般来说解决这样 的问题用以下的方法和步骤:
1. 判断解决的问题是否是选择问题。 2. 若是选择问题,则判断是哪种选择结构类型,是单分支、双 分支还是多分支结构。 3. 若是选择问题,确定选择结构,确定选择条件、执行过程与 结束过程。 4. 用C语言描述。
此外,如果喜爱体育锻炼,那么可增高身高2%;如果有良 好的卫生饮食习惯,那么可增加身高1.5%。
思路指导
输入:性别(用字符型变量sex存储,输入字母g表示女性, 输入字符b表示男性)、父母身高(用实型变量存储, faheight为其父身高,moheight 为其母身高)、是否喜爱体 育锻炼(用字符型变量sports存储,输入字符y表示喜爱,输 入字符n表示不喜爱)、是否有良好的饮食习惯(用字符型变 量diet存储,输入字符y表示喜爱,输入字符N表示不喜爱)。 输出:身高 处理:利用给定公式和身高预测方法对身高进行预测。 判断条件:性别男还是女、是否喜爱体育锻炼、是否有良好 的饮食习惯。

VB程序设计 习题及答案第4章 选择结构程序设计

VB程序设计 习题及答案第4章 选择结构程序设计

第4章选择结构程序设计4.1 写出数学式|x|<2.5×10-2对应的Visual Basic表达式。

【答案】x<2.5e-2 and x>-2.5e-24.2 逻辑运算符And、Or和Not的优先级最高的是哪一个。

【答案】Not4.3 已知 W=10 X=9 Y=8 Z=7 ,求下列表达式的结果。

(1) W>X And Y<=Z OR X>Y(2) X>Z Or W=Y AND Y<X(3) Not (W>Y And X=Z)(4) Not (Y<>X Or W*3>Z)【答案】(1) True(2) True(3) True(4) False4.4 写出下列十进制整数逻辑运算的结果:(1) X = 23 And 14(2) X = 23 Or 14(3) X = -1 And 19(4) X = -1 Or 10(5) X = Not -1【答案】(1) 6(2) 31(3) 19(4) -1(5) 04.5 已知变量X和Y的值分别为5、6,编写程序,交换变量X和Y的值。

【参考答案】程序代码设计Private Sub Form_Click()x = 5: y = 6t = x: x = y: y = tForm1.Print "x="; x, "y="; yEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "x = 5", "y = 6"Form1.Print "单击窗体交换x,y的值"图4-1 程序运行结果End Sub程序运行结果如图4-1所示:4.6 从键盘输入一个学生的三科成绩,计算总分,并找出最高分。

【参考答案】(1)用户界面设计(2)控件属性设置(略)(3)程序代码设计Private Sub Command1_Click()g1 = Val(Text1.Text)g2 = Val(Text2.Text)g3 = Val(Text3.Text)Var = (g1 + g2 + g3) / 3g = g1If g < g2 Then g = g2If g < g3 Then g = g3Text4.Text = VarText5.Text = gEnd Sub图4-2 程序运行结果程序运行结果如图4-2所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C Language Programming
2011
第4章 选择结构程序设计
Chengtian Ouyang, Email: oyct@
江西理工大学 信息工程学院
第4章 选择结构程序设计
4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式 4.4 逻辑运算符和逻辑表达式 4.5 条件运算符和条件表达式
在现实生活中,需要进行判断和选择的情况是很多的
– 处理这些问题,关键在于进行条件判断 – 由于程序处理问题的需要,在大多数程序中都会包含选择结构,需要 在进行下一个操作之前先进行条件判断
江西理工大学 信息工程学院
3
4.1 选择结构和条件判断
例4.1 回顾例3.5 求 一元二次方程ax2+bx+c=0的根。a、 b、c由键盘输入; 方程有没有实根分为三种情况:
江西理工大学 信息工程学院
19
4.3.2 关系表达式
关系表达式
– 用关系运算符将两个数值或数值表达式连接起来的式子 – 关系表达式的值是一个逻辑值,即“真”或“假”
– 在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”
江西理工大学 信息工程学院
20
4.4 逻辑运算符和逻辑表达式
4.4.1 逻辑运算符及其优先次序 4.4.2 逻辑表达式 4.4.3 逻辑型变量
– if b>c,b和c对换
– 顺序输出a,b,c
江西理工大学 信息工程学院
13
4.2.2 if语句的一般形式
语法格式
– if (表达式) – 语句1 – [ else 语句2 ]
说明
– 关系表达式 逻辑表达式 数值 表达式
– 方括号内的部分为可选的
– 语句可以是简单的语句, 复合 语句嵌套另一个if语句等
关系、算术、赋值运算符的优先级
算术运算符
关系运算符
(高 )
赋值运算符
(低 )
江西理工大学 信息工程学院
18
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)
4.6 选择结构的嵌套
4.7 用switch语句实现多分支选择结构
4.8选择结构程序综合举例
江西理工大学 信息工程学院
2
4.1 选择结构和条件判断
在现实生活中,需要进行判断和选择的情况是很多的
– 如果你在家,我去拜访你 – 如果考试不及格,要补考 – 如果遇到红灯,要停车等待 – 周末我们去郊游 – 70岁以上的老年人,入公园免票
– 如果 Δ<0,则方程没有两个实根;
– 如果Δ=0, 则方程有两个相同实根;x1=x2; – 如果Δ>0, 则方程有两个不同实根:x1,x2;
因而设计选择结构要用三分支结构
b b 2 4ac x1 2a b b 2 4ac x2 2a
江西理工大学 信息工程学院
4
else总是与它上面最 近的未配对的if配对 内嵌if
江西理工大学 信息工程学院
– else – – if( ) 语句3 else 语句4
35
4.6 选择结构的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套
– if () – {

– }
if () 语句1
– else语句2
内嵌if
{ }限定了内嵌if范围
江西理工大学 信息工程学院
8
4.2 用if语句实现选择结构
4.2.1 用if语句处理选择结构举例 4.2.2 if语句的一般形式
江西理工大学 信息工程学院
9
4.2.1 用if语句处理选择结构举例
例4.2 输入两个实数,按代数值由小到大的顺序输出这两个数。 解题思路:
– 只需要做一次比较,然后进行一次交换即可 – 用if语句实现条件判断 – 关键是怎样实现两个变量值的互换 –
4.4.2 逻辑表达式
判别某一年是否闰年,用逻辑表达式表示 闰年的条件是符合下面二者之一:
– ①能被4整除,但不能被100整除,如2008
– ②能被400整除,如2000
– (year % 4 == 0 && year %100 !=0)|| year % 400 == 0 – 如果表达式值为1,则闰年;否则为非闰年
4.1 选择结构和条件判断
例4.1 回顾例3.5 求 一元二次 方程ax2+bx+c=0的根。a、b、 c由键盘输入; 方程有没有实根分为三种情况:
– 如果 Δ<0,则方程没有两个实根; – 如果Δ=0, 则方程有两个相同实 根;x1=x2; – 如果Δ>=0, 则方程有两个不同实
方程没 有实根 Y

– –
max=a;
else max=b;
max = (a > b) ? a : b;
江西理工大学 信息工程学院
30
4.5 条件运算符和条件表达式
条件表达式的一般形式为
– 表达式1?表达式2: 表达式3
条件运算符的执行顺序:
– 求解表达式1
– 若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件 表达式的值 – 若表达式1的值为0(假),则求解表达式3,表达式3的值就是整 个条件表达式的值
江西理工大学 信息工程学院
6
4.1 选择结构和条件判断
例4.1 回顾例3.5 求 一元二次方程ax2+bx+c=0的根;
选择结构,用 if语句实现的
复合语句
江西理工大学 信息工程学院
7
4.1 选择结构和条件判断
例4.1 回顾例3.5 求 一元
二次方程ax2+bx+c=0的
根。a、b、c由键盘输入;
江西理工大学 信息工程学院
36
4.6 选择结构的嵌套
例4.5有一分段函数:
1 ( x 0) y 0 ( x 0) 1 ( x 0)
编一程序,输入一个x值,要求输出相应的y值。 解题思路:
– 用if语句检查x的值,根据x的值决定赋予y的值 – 由于y的可能值不是两个而是三个,因此不可能只用一个简单的(无内 嵌if)的if语句来实现
开始 输入a,b,c
Δ=b2-4ac Δ<0
Y N N
Δ==0
计算x1=x2 相同实根 x 1 =x 2
计算 x1,x2 不同实根 x 1 ,x 2
根:x1,x2;
因而设计选择结构要用三分支 结构
江西理工大学 信息工程学院
结束
5
4.1 选择结构和条件判断
例4.1 回顾例3.5 求 一元二次方程ax2+bx+c=0的根;
判断年龄在13至17岁之内?
– age>=13 && age<=17
判断年龄小于12或大于65?
– age<12 || age>65
江西理工大学 信息工程学院
23
4.4.1 逻辑运算符及其优先次序
逻辑运算的真值表
a 0 0 1 1
b 0 1 0 1
!a 1 1 0 0
!b 1 0 1 0
江西理工大学 信息工程学院
21
4.4.1 逻辑运算符及其优先次序
3种逻辑运算符:
– &&(逻辑与) ||(逻辑或) !(逻辑非)
说明
– &&和||是双目(元)运算符
– !是一目(元)运算符
逻辑表达式
– 用逻辑运算符将关系表达式或其他逻辑量连接起来的式子
江西理工大学 信息工程学院
22
4.4.1 逻Βιβλιοθήκη 运算符及其优先次序264.4.2 逻辑表达式
(1) 若a=4,则!a的值为0 (2) 若a=4,b=5,则a && b的值为1 (3) a和b值分别为4和5,则a||b的值为1 (4) a和b值分别为4和5,则!a||b的值为1 (5) 4 && 0 || 2的值为1
江西理工大学 信息工程学院
27
江西理工大学 信息工程学院
14
4.2.2 if语句的一般形式
最常用的3种if语句形式:
– 1.
– if (表达式) 语句1
if语句的嵌套形式:
– – – – – 3. if(表达式1) 语句1 else if(表达式2) 语句2
– 2.
– if (表达式) – – else – 语句2 语句1
32
4.5 条件运算符和条件表达式
例4.4 输入一个字符,判别它是否大写字母,如果是,将 它转换成小写字母;如果不是,不转换。然后输出最后得 到的字符。
解题思路:
– 用条件表达式来处理,当字母是大写时,转换成小写字母,否则 不转换
江西理工大学 信息工程学院
33
4.5 条件运算符和条件表达式
江西理工大学 信息工程学院
37
4.6 选择结构的嵌套
例4.5 分段函数
解题思路:方法1
– (1) 先后用3个独立的if语句 处理:
– 输入x
– 若 x < 0, 则y =-1 – 若 x = 0, 则y = 0 – 若 x > 0, 则y = 1 – 输出x和y
江西理工大学 信息工程学院
38
江西理工大学 信息工程学院
28
4.4.3 逻辑型变量
相关文档
最新文档