第5章 选择结构程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;]