第5章 选择结构程序设计

合集下载

第5章 选择结构程序设计

第5章 选择结构程序设计

通过例5.4和5.5,会注意到:无论是块If单分支结构还是块If双分支结构,均 把程序执行过程分为满足条件的一支和不满足条件的另一支,但在应用中会遇 到类似下面的问题或更复杂的情况,例如,分段函数: x2 1 x>0 y 0 x=0 2 x<0 x 1
自变量x的取值分为三种情况,对应函数y有不同的计算表达式。此类问题 可以使用三个块IF单分支结构完成;也可以使用块IF双分支结构。若采用前 者,读者可仿照例5.4完成;若采用后者,可先把x的取值分为“等于0”和 “不等于0”两种情况,再把“不等于0”这种情况分成“大于0”和“小于0”两种 情况,代码如下: Dim x As Single, y As Single x = Val(InputBox("请输入变量的值")) If x <> 0 Then If x > 0 Then ' 不等于0的情况之一 y=x^2+1 Else ' 不等于0的情况之二 y=x^2-1 End If
2 2
Dim x As Single, y As Single ' 声明x,y为单精度变量 x = Val(InputBox("请输入变量的值")) ' 输入x的值 If x >= 0 Then ' x>=0时计算y y=x^2+1 End If If x < 0 Then ' x<0时计算y y=x^2-1 End If Print "x="; x, "y="; y 该代码段根据x取值的两种情况,分别计算出相应的y值,一个单分支If 结构完成一种情况的计算,因此结构简单,容易理解,但程序不够简练。

语句组1

程序设计基础第5章

程序设计基础第5章

2
第 五 章 选 择 结 构 程 序 设 计
3. 说明 (1) <条件> 可以是: 条件> 可以是: 关系表达式 布尔表达式 数值表达式: 为 数值表达式:0为False;非0为True ; 为 字符串表达式(只能是数字字符串): 只能是数字字符串 字符串表达式 只能是数字字符串 : "0"为False; 为 ; 非"0"为True 为 (2) 可以没有 可以没有Else部分,这时必须有<语句组 >. 部分, 部分 这时必须有<语句组1>
的值. 【例5-4】按以下公式求分段函数 的值. 】按以下公式求分段函数y的值
第 五 章 选 择 结 构 程 序 设 计 Y=
ex+e-x x<0 1.25 x=0 lgx x>0
X = Val(Text1.Text) Select Case X Case X < 0 Y = Exp(X) + Exp(-X) Case X =0 Y = 1.25 Case X > 0 Y = Log(X) / Log(10) End Select Print "Y="; Y
16
第 五 章 选 择 结 构 程 序 设 计
多分支选择语句的嵌套示例: 多分支选择语句的嵌套示例: Select Case A Case 1 Select Case B Case 0 Print "**0**" Case 1 Print "**1**" End Select Case 2 Print "**2**" End Select
6
第 五 章 选 择 结 构 程 序 设 计

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语言教案第5章

c语言教案第5章

使用嵌套if 语句完成例5-4。 例5-6 使用嵌套 语句完成例 。 #include<stdio.h> int main(){ float g,y; scanf("%f",&g); if(g<50) { if(g<20) y=0.5*g; else y=0.4*g; } else { if(g<100)y=0.3*g; else y=0.2*g; } printf("\n%f",y); }
用字符来代表成绩水平,我们规定A 代表[90-100]、 例5-12 用字符来代表成绩水平,我们规定 代表 、 B 代表[80-90)、C 代表[70-80)、D 代表[60-70)、E 代表[0代表 、 代表 、 代表 、 代表 60)。请编程输入一个成绩 整数 ,输出代表该成绩的字符。 整数), 。请编程输入一个成绩(整数 输出代表该成绩的字符。
单分支if 单分支 语句的流程图
5.1.2 双分支 选择结构 双分支if
if(表达式 语句 表达式) 语句1; 表达式 else 语句2; 语句
双分支if 双分支 语句的流程图
输入一个整数,输出其绝对值 输出其绝对值。 例5-1 输入一个整数 输出其绝对值。
程序1: 程序 : #include<stdio.h> int main(){ int i; scanf("%d",&i); if(i>=0) printf("\n%d",i); else printf("\n%d",-i); } 程序2: 程序 : #include<stdio.h> int main(){ int i; scanf("%d",&i); if(i>=0) printf("\n%d",i); if(i<0) printf("\n%d",-i); }

C语言第5章 选择结构的程序设计PPT教学课件

C语言第5章 选择结构的程序设计PPT教学课件

开始
输入a,b,c
a<b?
F
T a与b交换
a<c?
F
T a与c交换
b<c?
F
T b与c交换
输出a,b,c
2020/12/10
结束
11
2.双分支if语句——if_else语句
格式:
if (<表达式>) 语句1
else
语句2
2020/12/10
12
2. if_else语句
功能:
T 语句1
表达式
F 语句2
2020/12/10
13
3. 多分支if语句
格式:
if (<表达式1>) 语句1 else if (<表达式2>) 语句2 else if (<表达式3>) 语句3
…... else if (<表达式n-1>) 语句n-1 else 语句n
2020/12/10
14
3. 多分支语句
功能: F 表达式1
(4)default一般出现在所有的case之后,也可以出现在 case之前或两个case语句之间。Default可以省略。
2020/12/10
23
5.2 switch语句
例1 用switch语句设计程序,实现输出学生成绩和 等级的功能。 分析:因为分数x为0~100分,则x/10的值为0,1,2, 3,4,5,6,7,8,9,10。
…… case <常量表达式n>:语句n default 语句n+1
}
2020/12/10
21
5.2 switch语句
功能:
首先计算<表达式>的值,然后依次与<常量表达式i> (i=1,2,…,n)比较,若表达式的值与<常量表达式j>相 等,则从<常量表达式j>处开始执行,这里就是执行的 入口,直到switch语句结束。若所有的<常量表达式i> (i=1,2,…,n)的值均不等于表达式的值,则从default处 开始执行。

第五章 选择结构程序设计

第五章 选择结构程序设计

第五章选择结构程序设计●教学内容(1)关系运算符与关系表达式;(2)逻辑运算符与逻辑表达式;(3)if语句;(4)switch语句;(5)程序举例;●基本要求理解选择结构在程序设计中的作用,掌握关系运算符、关系表达式、逻辑运算符、逻辑表达式的用法。

重点掌握选择结构在C语言中的实现语句,嵌套的if语句与多分支语句。

一、关系运算符与关系表达式“关系运算”实际上是“比较运算”。

将两个值进行比较,判断比较的结果是否符合给定的条件。

如a>3是一个关系表达式,大于号是一个关系运算符,若a=5;则满足条件,此时,关系表达式的值为真;若a=2,则值为假。

5.1.1关系运算符及其优先次序●6种关系运算符:<,<=,>,>=(优先级相同高),==,!=(优先级相同低)●优先次序:赋——>关——>算(由低到高)5.1.2关系表达式用关系运算符将两个表达式连接起来的式子。

关系表达式的值是一个逻辑值。

即“真”或“假”。

二、逻辑运算符与逻辑表达式5.2.1逻辑运算符及其优先次序●三种逻辑运算符:&& || !(双目运算符,要求有两个运算量)5.2.2逻辑表达式当表达式为非0时值1;为0时值为0。

P90例。

实际上,逻辑运算符两侧的运算对象不但可以是0或1,也可以是任何类型的数在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才能执行该运算符。

如a&&b&&c只有a,b 均为非0时才需要判断c。

三、if语句if语句是用来判定所给定的条件是否满足,根据判定的结果决定执行给出的两种操作之一。

5.3.1if语句的三种形式●if(表达式)语句如:if(x>y)printf(“%d”,x);●if(表达式)语句1 else 语句2如:if(x>y)print f(“%d”,x); else printf(“%d”,y);●if(表达式1)语句1else if (表达式2) 语句2else if(表达式3)语句3else 语句n如P93例5.15.3.2if语句的嵌套一般形式:if( )if( )语句1else 语句2elseif( )语句3else 语句4else总是与它上面的最近的还没有配对过的if 配对。

第五章选择结构程序设计

第五章选择结构程序设计

k=k2 A2 ...
k=kn k=ki Ai ... An
5.1 关系运算符和关系表达式
• 关系运算:将两个值进行比较,判断比较的结果是否 符合给定的条件(即关系运算符)。 < • 关系运算符 <=
• 种类:< <= == >= > != • 结合方向:自左向右 • 优先级别:
> >= == !=
逻辑运算符和表达式(2)
优先级:
! (2) 高
! 算术运算符 关系运算符

结合方向:
! : 从右向左
&& || 赋值运算符 低
&& (11) || (12) 低
&& : 从左向右 || : 从左向右

a<=x && x<=b // (a<=x) && (x<=b) a>b&&x>y // (a>b)&&(x>y) a==b||x==y // (a==b)||(x==y) !a||a>b // (!a)||(a>b)
5.2 逻辑运算符和逻辑表 达式
• 逻辑运算符
• 种类: !(逻辑非) &&(逻辑与) ||(逻辑或) • 逻辑运算真值表
a 真
真 假 假
b 真
假 真 假
!a 假
假 真 真
!b 假
真 假 真
a&&b 真假 Leabharlann 假a||b 真 真 真 假
C语言中,运算量: 逻辑运算结果:
0表示“假”, 非0表示“真” 0表示“假”, 1表示“真” 只能是0或1,不可能是其他数值

C语言课件 第5章

C语言课件 第5章
如果x<y, max=y, min=x ③ 输出最大值max、 最小值min
第5章 选择结构程序设计
/*程序 5 - 3, 求两个数的最大值、 最小值*/ main( ) { float x, y; float max, min; printf(″请输入两个数x, y: ″); scanf(″%f, %f″, &x, &y); if (x>y) {max=x; min=y; } else {max=y; min=x; } printf(″max=%6.2f, min=%6.2f\n″, max, min); } 输入数据: 1.2, 2.54 运行结果: max= 2.54, min= 1.20
第5章 选择结构程序设计
5.1.3 多分支if语句
多分支if语句不是一条具体的语句,它通过if语句的嵌套实
现。其一般形式为: if (条件表达式1)
if (条件表达式2) 语句1
else 语句2 else if (条件表达式3) 语句3 else 语句4
第5章 选择结构程序设计
T T
条件表达式1 条件表达式2
}
第5章 选择结构程序设计
例 5 — 7 将例 5 — 5 用switch语句实现。
switch ((int)(cj/10)) { 10: 9: ch=′A′; break; /*注意选择表达式的构造*/
8: ch=′B′; break;
7: ch=′C′; break; 6: ch=′D′; break;
第5章 选择结构程序设计
例 5 –3 输入两个数, 求两个数的最大值、最小值。 数据分析:
输入量: 两个数x、 y, float

选择结构程序设计

选择结构程序设计

4
+ 加法运算符 - 减法运算符
要求运算 对象的个数
1 (单目运算符)
2 (双目运算符)
2 (双目运算符)
结合方向 自右至左
优先级 运算符 含义
<< 左移运算符
5 >> 右移运算符
< <= 关系运算符 6 > >=
7
= = 等于运算符 != 不等于运算符
8 & 按位与运算符
9பைடு நூலகம்
^ 按位异或运算符
10
运算符和结合性
优先级 运算符 含义
( ) 圆括号
[ ] 下标运算符
指向结构体
1
.
成员运算符
结构体成员运算符
! 逻辑非运算符
~ 按位取反运算符
2
++ --
自增运算符 自减运算符
- 负号运算符
(类型) 类型转换运算符
* 指针运算符
& 地址,与运算符
sizeof 长度运算符
* 乘法运算符
3
/
除法运算符
% 求余运算符
执行过程: 先计算表达式的值, 如果值为1, 就执行其后的 语句1, 如果值为0, 就执行else后的语句2
P
成立
不成立
说明: 1. 语句可以是简单语句或复合语句
语句1 语句2
2. 表达式一般为逻辑或关系表达式, 且应用( )括起来
例:编程求解函数 Y= 0
X<=0
X3+X+1 X>0
#include <stdio.h> #include <math.h> void main( ) { int x, y; scanf(“%d〞, &x); if (x<=0) y=0; if (x>0) y=pow(x, 3)+x+1; printf(“y=%d\n〞, y); }

c语言-第5章选择结构程序设计

c语言-第5章选择结构程序设计

第三课 有关“说”的词根
01
Dict,dic:言,说
02
Fess:说
03
Lect:言
04
Log:言,说
05
Nounce:说
06
Dictate v. Dict说--吩咐,命令,指示+ -ate动词后缀 口授命令或指示 命令,支配,口述 Contradict vt. Contra-相反+dict言 说出相反之言 反驳,同..相矛盾,与..相抵触 Predict vt. Pre-前,先,预先+dict言 预言,预告 Indicate vt. In-指示+dic言,说 说明,表明,表示+-ate 动词后缀 指示,指出,表明
宣告,宣布,通知
05
Pro-向前+nounce说--说出,发出声音
02
An-加强+nounce说,告知
04
Pronounce vt.
06
发音,宣称,宣告
01
第四课 有关“叫喊,问答”的词根
02
Cite:召唤,刺激
03
Voc,voke: 叫喊,声音
04
Quest,quire:寻求,问
05
9
Dialog(ue) n.
1
Dia- 两者之间,相对+log 言,说
2
对话
3
Apologize vi.
4
Apo-分开,离开,脱开+log言,说+-ize动词后缀 开脱 解说
5
道歉,谢罪,辩解
6
Apology
7
y名词后缀
8
道歉,谢罪
9
01
Announce vt.

第5章 选择结构程序设计PPT教学课件

第5章 选择结构程序设计PPT教学课件

2020/12/11
6
private void button1_Click(object sender, System.EventArgs e) {
double k,m; k=double.Parse(tCost.Text); if (k<1000)
{ m=k*0.9;
} else
{ m=k*0.8;
用选择语句实现该操作。
分析:本题使用编辑框实现 命令接受工作,使用if语句实 现判断。采用基本的控件实 现如图5-4所示。
2020/12/11
图5-4 口令验证
8
代码如下。
private void button1_Click(object sender,
System.EventArgs e)
{ if(textBox1.Text=="abc") // 设口令为“abc” label2.Text="欢迎使用本系统!"; // 如果输入正确,显
} pCost.Text=m.ToString( ); }
2020/12/11
7
(4) 编译、运行程序 单击工具栏上的启动按钮,或按〈F5〉键执行程序,显 示Windows窗体。在“请输入所购商品的总金额”文本 框中输入相关金额,单击【打折】按钮,完成相应的功 能。 【例5-2】编辑框的PasswordChar属性可以隐蔽用户通过 键盘输入的字符,常用来编写检查用户口令的程序。使
第5章 选择结构程序设计
5.1 选择结构程序的设计
在C#中,提供两种选择语句实现流程的改变: if语句,用于判断特定的条件能否满足,用于单 分支选择,也可以通过嵌套实现多分支选择。 switch语句,用于多分支选择。

C语言第五章 选择结构程序设计(习题册答案)

C语言第五章 选择结构程序设计(习题册答案)

6、设 x、y 和 z 是 int 型变量,且 x=3,y=4,z=5,则下面表达式中值为 0 的是( D
A)‘x’&&‘y’
B) x<=y C) x||y+z&&y-z
D) !((x<y)&&!z||1)
7、已知 x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是( C )。
达式是( C )。
A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)
D) (x>=1)||(x<=100)&&(x>=200)||(x<=300)
A)有语法错不能通过编译
B)可以通过编译但不能通过连接
C)输出***
D)输出$$$
三、写出下列程序的运行结果
1、若运行时输入:2<回车>,则以下程序的运行结果是 2nd class postage is 14p
#include <stdio.h>
void main(void) {
char Class; printf(“Enter 1 for 1st class post or 2 for 2nd post”); scanf(“%c”,&Class);

二级VB 第5章选择

二级VB 第5章选择
第5章选择结构程序设计
5.1 5.2 5.3 5.4 5.5 5.6 三种基本结构 块if语句 块if语句的 Else if语句 行if语句 Select Case语句
本章重点:
※ if语句
※ if语句的嵌套 ※ Select Case语句
本章难点:
if语句的不同用法 if语句嵌套的的规则
Select Case语句的应用
单分支结构
例:已知两个数x和y,比较它们的大小,使得x大于y。
用语句来实现: If x<y Then t=x x=y y=t End If 或 If x<y Then t=x: x=y: y=t x ③
简单If形式无End If时,只能是一句语句或语句间用冒号分 隔,而且必须在一行上书写。
本章目录
5.2.1 块If语句格式
1. If…Then语句(单分支结构) If <条件表达式> Then 语句块 End If 或 If <表达式> Then <语句>
条件表达式
T F
语句块
表达式:关系表达式、逻辑表达式,算术表达式。
表达式值按非零为True,零为False进行判断。 该语句的作用是当表达式的值为True,执行Then 后面的语句块,否则不做任何操作。
学习方法建议: 学习本章内容应重点掌握if语句的执行过程,在此基础上, 掌握if语句的嵌套的应用,掌握Select Case语句,并学会编写 选择结构程序。
5.1 三种基本结构
VB 具有结构化程序设计的三种程序控制结构,即 顺序结构、选择结构、循环结构,是程序设计的基础。 (1)顺序结构 a 各语句按出现的先后次序执行 A 例5.1已知圆的半径,求圆的面积。

第五章 选择结构的程序设计

第五章 选择结构的程序设计

5.3 if语句
5.3.1 if语句的三种形式
条件执行 分支选择
例5.2:读程序
if (P) A if (p) A else B
#include <stdio.h> void mian() { float x,y; printf(“Enter x:”); scanf(“%f”,&x); if (x==0.) y=1; else y=(x*5+1)/x; printf(“\nx=%4.1\ty=%4.1f\n”,x,y); } ********************************** y=1; if (x!=0) y=(x*5+1)/x;

5.2 逻辑表达式
逻辑量
当一个量(可以是基本类型的常量或变量)用作判断时,C编译系统认为: 非0——真、0——假
逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子 单个逻辑量、关系表达式是逻辑表达式的特例
逻辑表达式的值
真(1) 假(0)
如:若a=4,则 !a a&&-5 4||0
0 1 1
如:x!=0 ‘a’==‘A’ a*a+b*b<Y*Y 注意:数值量比较:数字的大小 字符量比较:ASCII码大小
5.1 关系表达式
关系运算 关系运算符 优先级别 关系表达式的值:真(1) 如: c>a+b
假(0)
a==b<c a=b<c
c>(a+b) a==(b<c) a=(b<c)
问:a=1,b=-5,c=‘a’时上述表达式的值 结合性:左结合
5.2 逻辑表达式
例5.1:判断某年year是否闰年? (闰年:能被4整除,但不能被100整除;或能被400整除)

第05章 选择结构程序设计

第05章 选择结构程序设计

本章讨论
5.2 关系运算符、逻辑运算符、条件运算符
1. 关系运算符和关系表达式 关系运算符
关系运算符 > >= (>和=之间没有空格) < 含 义 大于 大于或等于 这些关系运算符等优 先级,但比下面的优 小于 先级高 左结合性 小于或等于 优先级 结合性
<= (<和=之间没有空格) 注意: (两个=之间没有空格) 等于 这些关系运算符等优 ==C语言用0表示假,非0表示真。 先级,但比上面的优 != (!和=之间没有空格) 不等于 一个关系表达式的值不是0就是1,0表示假,1表示真。 先级低
表达式语句 用 {…}括起来的一组语句。 一般形式为: { [数据说明部分;] #include <stdio.h> 执行语句部分; void main ( ) } { 说明: { (1) 10, y = 20, z; int x = “}”后不加分号 输出结果: int a = 2, b = 3, c; (2) 语法上和单一语句相同 z = 200 c = a + b; (3) z = x + y; 复合语句可嵌套 30 z = printf ("c = %d\n", c); (4) 复合语句内定义的变量只能在复合语句内使 { } 用。 int z; z = x * y; printf ("z = %d\n", z); //输出复合语句中z的值 } printf ("z = %d\n", z); //输出复合语句外z的值 }
例 x?„a‟:„b‟ //x=0,表达式值为‘b‟; x≠0,表达式值为‘a‟ x>y?1:1.5 //x>y ,值为1.0; x<y ,值为1.5

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

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

第五章选择(分支)结构程序设计选择结构是三种基本结构(顺序、选择、循环)之一。

作用是根据所指定的条件是否满足,决定从给定的两组操作选择其中的一种。

C语言中的选择结构是用if语句实现的。

if语句的常用的形式是:if(关系/逻辑表达式)语句1 else 语句2例5-1:用C语言实现图示的分段函数。

数学上描述此分段函数:1, x>0y=其它用C语言描述:if(x>0)y=1;else y=-1;其中:x>0是一个关系表达式,“>”是一个关系运算符。

x>0关系表达式成立,也就是说由关系表达式x>0构成的逻辑运算为真时,y<=1,否则y<=-1。

5、1 关系运算符和关系表达式关系运算是逻辑运算中比较简单的一种,“关系运算”就是“比较运算”。

即,将两个值进行比较,判断是否符合或满足给定的条件。

如果符合或满足给定的条件,则称关系运算的结果为“真”;如果不符合或不满足给定的条件,则称关系运算的结果为“假”。

例5-1中,x>0是比较运算,也就是关系运算,“>”是一种关系运算符。

假如x=4,那么x>0条件满足,就是说关系运算x>0的结果为“真”。

5.1.1 关系运算符及其优先次序C语言提供6种关系运算符:关于优先次序:(1)前4种关系运算符的优先级别相同,后两种也相同。

前4种高于后两种。

(2)关系运算符的优先级低于算术运算符。

(3)关系运算符的优先级高于赋值运算符。

例5-2:c>a+b 等价于c>(a+b);关系运算符的优先级低于算术运算符a>b==c 等价于(a>b)==c ;“>”优先级高于“==”a==b<c 等价于a==(b<c) ;“<”优先级高于“==”a=b>c 等价于a=(b>c) ;关系运算符的优先级高于赋值运算符。

5.1.2 关系表达式用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式等)连接起来所构成的表达式,称为关系表达式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章选择结构程序设计第一讲选择结构简介、单分支选择结构、多分支选择结构教学目标1. 了解选择结构。

2. 理解掌握单分支选择结构和多分支选择结构的使用。

教学过程预备知识5.1 选择结构程序的设计所谓选择结构就是由特定的条件决定执行哪条语句的程序结构。

在C#中,提供两种选择语句实现流程的改变:if语句,用于判断特定的条件能否满足,用于单分支选择,也可以通过嵌套实现多分支选择。

switch语句,用于多分支选择。

5.2 单分支选择结构(if语句)if语句是程序设计中基本的选择语句,它根据条件表达式的值选择要执行的后面的内嵌语句序列。

一般用于简单选择,即选择项中有一个或两个分支,语句执行的过程中根据不同的情况进行选择其中一个分支执行。

5.2.1if 语句格式: if(布尔条件表达式)语句序列;功能:根据布尔条件表达式的值进行判断:当该值为真时执行if后的语句序列;当该值为假时什么都不执行。

5.2.2if …else语句格式为: if (布尔条件表达式)内嵌语句序列1;else内嵌语句序列2;根据布尔条件表达式的值进行判断,当该值为真时执行if语句后的语句序列,当为假时,执行else语句后的语句序列。

该结构一般用于两种分支的选择。

下面结合实例介绍if…else语句的使用方法。

【例5-1】某商店为了吸引顾客,采取以下优惠活动:所购商品在1000元以下的,打9折优惠;所购商品多于1000元的,打8折优惠。

试采用if语句实现该优惠。

分析:该问题属于数学分段函数问题,当所购商品总额<1000元时,打折后的商品总额为(所购商品总额*0.9);当所购商品总额>1000时,打折后的商品总额为(所购商品总额*0.8)。

(1) 建立项目在Visual 中,打开“文件”菜单,依次选择“新建→项目”命令,打开“新建项目”对话框,选择“Visual C#项目”,选择“Windows应用程序”输入项目的名称和存放位置。

(2) 设计窗体单击工作区左侧的“工具箱”或单击工具栏上工具箱图标,工具箱将显示在工作区左侧。

添加相应的控件。

(3) 编辑代码选中按钮控件,单击鼠标右键,在弹出的菜单中选择“查看代码”命令,或通过“视图”菜单中的“代码”命令,切换到代码视图。

也可以双击控件直接在事件中添加代码。

代码为:private void button1_Click(object sender, System.EventArgs e){double k,m;k=double.Parse(tCost.Text);if (k<1000){m=k*0.9;}else{m=k*0.8;}pCost.Text=m.ToString( );}(4) 编译、运行程序单击工具栏上的启动按钮,或按〈F5〉键执行程序,显示Windows窗体。

在“请输入所购商品的总金额”文本框中输入相关金额,单击【打折】按钮,完成相应的功能。

【例5-2】编辑框的PasswordChar属性可以隐蔽用户通过键盘输入的字符,常用来编写检查用户口令的程序。

使用选择语句实现该操作。

分析:本题使用编辑框实现命令接受工作,使用if语句实现判断。

采用基本的控件实现如图5-4所示。

代码如下。

private void button1_Click(object sender, System.EventArgs e){if(textBox1.Text=="abc") // 设口令为“abc”label2.Text="欢迎使用本系统!"; // 如果输入正确,显示"欢迎使用本系统!"else // 如果输入不正确label2.Text="对不起,您的口令有误,您无权使用该系统!";}5.2.2 if…else…if语句if (布尔条件表达式1) 语句序列1;else if (布尔条件表达式2) 语句序列2;else if (布尔条件表达式3) 语句序列3;……..else if (布尔条件表达式m) 语句序列m;else 语句序列n;依次判断布尔条件表达式1…m的值:当某个布尔条件表达式的值为真时执行其后的语句序列;当所有布尔条件表达式的值都为假时执行语句序列n。

【例5-3】将百分制成绩转换为五分制成绩。

转换标准如下:90分以上为“优秀”,80分以上为“良”,70分以上为“中”,60分以上为“及格”,60分以下为“不及格”。

程序运行结果如图5-5左图所示。

程序运行时,单击【转换】按钮执行的代码如下:private void button1_Click(object sender, System.EventArgs e){int k =int.Parse(textBox2.Text);if(k>=90)textBox1.Text="优";else if(k>=80)textBox1.Text="良";else if(k>=70)textBox1.Text="中";else if(k>=60)textBox1.Text="及格";else textBox1.Text="不及格";}上例中使用了if语句的嵌套实现,其中因为条件判断后只用一个语句,如“textBox1.Text="良";”,所以,可以省略{ },当存在多条语句时,要使用{ }表示为一个语句块。

5.3多分支选择结构(switch语句)Switch(控制表达式){case常量表达式1:语句序列1;[break;]case常量表达式2:语句序列2;[break;]…….case常量表达式n:语句序列n;[break;][default:语句序列;break;]}1. break语句break语句用于停止贯穿语句的执行。

即在switch语句结构中,break语句用于选择分支的语句运行。

也可使用goto语句实现语句转移,但是,应尽量避免使用这种方法。

2. default标签在switch语句中,常常用到default标签来处理不满足case语句的值,定义default标签可以增强处理相应的异常例5-4:“转换”按钮的单击事件代码如下:int k=int.Parse(textBox1.Text);switch(k/10){case 0:case 1:case 2:case 3:case 4:case 5:textBox2.Text="不及格";break;case 6:textBox2.Text="及格";break;case 7:textBox2.Text="中";break;case 8:textBox2.Text="良";break;case 9:case 10:textBox2.Text="优";break;default:MessageBox.Show("成绩输入有误");break;}【例5-5】某航空公司规定•在旅游的旺季7~9月份,如果订票数超过20张,票价优惠15%,20张以下,优惠5%;•在旅游的淡季1~5月份、10月份、11月份,如果订票数超过20张,票价优惠30%,20张以下,优惠20%;•其他情况一律优惠10%设计程序,根据月份和订票张数决定票价的优惠率(如图5-8)该问题属于多分支选择问题。

该问题中旅游的淡季1~5月份、10月份、11月份的优惠率一样,在switch语句中,这几种情况可以使用同一种操作;旅游的旺季7~9月份的优惠率一样,可以使用同一种操作。

“计算优惠率”按钮实现代码如下。

private void button1_Click(object sender, System.EventArgs e){int mon,sum;mon=Convert.ToInt32(textBox1.Text);sum=Convert.ToInt32(textBox2.Text);switch(mon){ case 1:case 2:case 3:case 4:case 5:case 10:case 11:if(sum>20)label3.Text="优惠率为30%";elselabel3.Text="优惠率为20%";break;case 7:case 8:case 9:if(sum>20)label3.Text="优惠率为15%";elselabel3.Text="优惠率为5%";break;default:label3.Text="优惠率为10%";break;}}操作任务任务认识计算机一、任务要求为铁路部门编写计算运费的程序。

程序运行结果如下:二、操作步骤1.创建项目。

2.设计应用程序界面。

3.设置对象的属性。

4.编写事件代码。

“计算运费”的Click事件代码:private void button1_Click(object sender, System.EventArgs e) {double k,p;//k是重量,p是运费k=double.Parse(textBox1.Text);if(k<=50) p=k*0.25;else if(k<=100) p=50*0.25+(k-50)*0.35;else p=50*0.25+50*0.35+(k-100)*0.45;label2.Text="您应付的运费是:"+p.ToString()+"元";}经验与技巧注意:判断条件的设定只需判断2次若k不满足小于50且小于100,则不需再判断是否是大于100的数。

巩固拓展练习题:课后练习第83页 15、16、20、21题课程小结本次课主要介绍了选择结构中单分支选择和多分支选择语句,通过学习能够设计选择结构的应用程序。

第二讲使用单选按钮与复选框控件、使用分组框控件 教学目标1. 掌握单选按钮的使用。

2. 掌握复选框控件的使用。

3. 了解分组框控件。

教学过程预备知识5.4 使用单选按钮与复选框控件5.4.1 单选按钮(RadioButton)单选按钮也叫选项按钮,为用户提供从多个选项中选择一个选项的功能,因此单选按钮顾名思义是一种“多选一”的控件。

常用属性:•Checked:按钮是否被选中RadioButton1. Checked=true\\表示按钮被选中RadioButton1. Checked=false\\表示按钮没有选中•Enabled:按钮是否可用•Appearance:正常外观还是下压按钮外观•【例5-6】设计Windows应用程序,单击【显示】按钮,根据对单选按钮的选择,分别显示日期或时间。

相关文档
最新文档