第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应用程序,单击【显示】按钮,根据对单选按钮的选择,分别显示日期或时间。