3.程序流程控制

上传人:第*** 文档编号:53581933 上传时间:2018-09-03 格式:PPT 页数:29 大小:621.50KB
返回 下载 相关 举报
3.程序流程控制_第1页
第1页 / 共29页
3.程序流程控制_第2页
第2页 / 共29页
3.程序流程控制_第3页
第3页 / 共29页
3.程序流程控制_第4页
第4页 / 共29页
3.程序流程控制_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《3.程序流程控制》由会员分享,可在线阅读,更多相关《3.程序流程控制(29页珍藏版)》请在金锄头文库上搜索。

1、2,第3课 程序流控制,本课主要学习选择结构的语句和循环结构的语句。对语法的了解是编写C#代码的基础。 学习完本课后,你将能够: 创建选择语句; 创建循环语句; 应用选择与循环解决实际应用问题 熟悉使用常用控件来进行输入与输出,3,3.1 选择语句,C#提供两种类型的选择语句(与C类似),if ( 条件表达式 )语句1; else语句2;,switch (表达式 ) case 常数1:语句1;break;case 常数n:语句n;break;default:语句;break; ,if ( 条件表达式1 )语句1; else if ( 条件表达式2 )语句2; else if ( 条件表达式n

2、)语句n; else语句m;,4,3.1.1 if 语句的使用方法以及场合,if语句,if ( sales 10000 ) bonus += .05 * sales; ,if ( sales 10000 ) bonus += .05 * sales; else bonus = 0; ,if else语句,编码规范,即使if子句或else子句只有一条语句,也要用 括起来。,与C不同,此处表达式类型必须为bool型,5,3.1.1 if 语句的使用方法以及场合,if-else if,if ( sales 10000 ) bonus += .05 * sales;else if ( sales 50

3、00 )bonus = .01 * sales;elsebonus = 0;if ( priorBonus = 0 )/安排会议;,6,3.1.2 switch 语句的使用方法以及场合,int days; switch ( month ) case 1:days = 31;break;case 2:days = 28;break;default:days = 30;break; ,参见P73例5-4,此处表达式类型必须为: 整型、枚举、字符串,case部分如果有语句,则必须以break结束。,7,3.1.3 课堂练习:使用条件语句,假设动物园的预算计划是每周要有5000名以上的游客来参观。试用

4、if语句检查游客数量,并显示一条消息,指示游客数量超过或低于5000。 1、打开Visual Studio .NET,然后打开“CSharp示例第3课ConditionsConditions.sln“ 2、找到任务TODO1:using if statements 3、若visitors的值等于或大于5000,就用Output方法显示一条消息,指示5000人的目标已经达到。否则显示消息,指示目标未达到 4、测试代码 5、用调试工具单步跟踪代码 6、保存应用程序,然后退出Visual Studio .NET,8,实例:简易计算器的实现,通过此演示,掌握if或switch语句的使用。 通过此演示,

5、进一步掌握异常处理 通过此演示,进一步熟悉comboBox控件的使用,示例代码位于“CSharp示例第3课Caculator”,9,界面设计,文本框tbNum1,用以输入操作数1。,组合框cbOperator,用以选择运算符。,文本框tbNum2,用以输入操作数2。,文本框tbResult,用以显示运算结果。,按钮btnCaculate,计算。,按钮btnClear,清除输入。,10,组合框CombBox主要属性,DropDownStyle属性:控制组合框的外观与功能,Simple:文本部分可编辑。列表部分总可见。,DropDown:文本部分可编辑。用户必须单击箭头按钮来显示列表部分。这是默认

6、样式。,DropDownList:用户不能直接编辑文本部分。用户必须单击箭头按钮来显示列表部分。实现下拉列表用它。,11,获取组合框中输入或选定的文本,使用Text属性,string oper = cbOperator.Text;,使用SelectedItem属性:,string oper = cbOperator.SelectedItem as string;,12,使+运算符成为默认选项,使运算符成为默认选项的代码什么时候执行?,窗体开始运行的时候(加载时),由于无法使用属性设置达到这一要求,只能编程实现。 考虑以下问题:,这个代码写在哪个事件里?,Form1_Load事件,如何设置?代码

7、怎么写?,使用组合框的SelectedIndex属性 cbOperator.SelectedIndex = 0;,13,完成“计算”功能,使用switch语句,double result = 0.0; switch (oper) case “:result = num1 + num2;break;case “:result = num1 - num2;break;case “:result = num1 - num2;break;case “:result = num1 / num2;break; ,计算前应检查除数是否为0, 或使用异常进行处理,也可考虑使用default项处理用户选用其它运

8、算符的情况(虽然不可能出现),14,其它,异常处理 输入或计算过程中的异常处理,由同学们在实验报告中完成。 “清除”按钮的功能 由同学们在实验报告中实现 教材P77例5-7介绍了单选钮、复选框、分组框控件和Font对象的使用,课下大家认真阅读。,15,使用单选钮选择运算符,RadioButton控件 Text:文字 Checked:是否选中,一个窗体中的单选钮一次只能选中一个。 如果需要分组选择,可以使用分组框GroupBox对单选钮控件进行分组,一组内单选钮同时只能选中一个。,16,使用单选钮完成“计算”功能,double result = 0.0; if (rbPlus.Checked)

9、/ 加法选中result = num1 + num2; else if (rbSub.Checked) / 减法选中result = num1 - num2; else if (rbMulty.Checked) / 乘法选中 result = num1 * num2; else if (rbDiv.Checked) / 除法选中result = num1 / num2; ,17,3.2 创建循环语句,for (初始化表达式; 条件表达式; 迭代表达式) 语句; ,while (条件表达式) 语句; ,do 语句; while (条件表达式),此外还有foreach循环,用于访问数组和集合类对象

10、,以后介绍。,18,3.2.1 for 循环,当预先知道代码语句的重复执行次数时,使用 for 循环,for (int i = 0; i 0; j -= 10 ) Console.WriteLine(“j = 0“, j); ,for (初始化表达式; 条件表达式; 迭代表达式) 语句; ,示例,与C不同,可以在此处定义循环变量类型 这里,它是局部变量,19,3.2.2 while 循环,在循环开始时做一个判断,如果值为假,循环将永远不会运行 循环一直运行到条件变为假关键字 continue 和 break,int i = 1; while (i = 10) Console.WriteLine

11、(“i=0”, i);i+; ,20,课堂讨论,怎样才能保证 while 循环可以退出循环体的执行?在 while 循环体中可以不修改循环条件的值吗?,21,3.2.3 do 循环,无条件执行循环中的代码并完成一次判断。如果判断语句值为真,循环就继续下去,直到该值变为假,do /至少需要执行一次的代码 while (条件成立);,int i = 1; do Console.WriteLine (“0“, i+); while (i = 10);,示例,22,3.2.4 课堂练习 使用循环语句,在本练习中,使用 for 循环来计算从 1 到 1000 的所有整数的和。若时间允许,请用while循

12、环和do循环执行上述运算。 1、打开Visual Studio .NET,然后打开“Csharp示例第3课LoopsLoops.sln“。 2、找到任务TODO 1: Writing loops. 3、使用for循环,把从1到1000的所有整数相加。 4、用下列代码显示结果: Output(“结果为:“+total); 5、使用while循环,重复任务3和任务4 6、使用do循环,重复任务3和任务4 7、按F5键,编译并运行应用程序。 8、保存应用程序并退出Visual Studio .NET。,23,演示:计算复利存款,某人新开一个帐户,输入存入的金额(本金)、年利率、存期,计算每年年终余额

13、 掌握使用循环解决问题 掌握NumericUpDown控件的使用 掌握TextBox控件的使用,示例代码位于“CSharp示例第3课Savings”,24,界面设计,nupdPrincipal, 输入本金,nupdRate, 输入年利率,nupdRate, 输入存期,tbOutput, 显示计算结果,按钮btnCaculate,计算。,按钮btnClear,清除输入。,为什么要使用NumericUpDown控件输入数据?,用户只能输入数字,数据限定在指定范围,不会输错; 输入的数据范围变动不大时,用户操作方便,NumericUpDown有哪些重要属性?,25,几个控件的主要属性设置,Multi

14、Line: True ReadOnly: True ScrollBars: Both,26,“计算”功能,decimal amount = 0.0M; / 存款余额/ 获取存款本金decimal principal = nupdPrincipal.Value;/ 获取存款年利率, 用户输入的是百分数,转换为小数double rate = (double)nupdRate.Value / 100.0;/ 获取存期int period = (int)nupdPeriod.Value;/ 逐月进行计算amount = principal; / 起始计算时,存款余额即是本金for (int year

15、= 1; year = period; year+)amount += amount * (decimal)rate;tbOutput.Text += String.Format(“0,4t1:crn“,year, amount);,27,关于格式化字符串,许多地方要将数据格式化后输出,如,Console.WriteLine(“它们的和是0“, sum);lblDate.Text = DateTime.Now.ToString(“yyyy年M月dd日“);lblTotal.Text = String.Format(“总金额:0:C“, amount);,常用格式的说明符,数值,C或c:货币格式

16、 D或d:十进制整数 E或e:科学计数法 N或n:千分位格式 X或x:十六进制整数,日期,d:短日期 D:长日期 t:短时间 T:长时间 f:完整日期(短时间) F:完整日期(长时间),具体说明及示例请参看MSDN帮助,index,alignment:formatString,28,实验项目实践,完成实验3实验报告 完成“使用条件语句”的课堂练习(第3课Conditions)。 完成“使用循环语句”的课堂练习(第3课 Loops); 选择下面一个程序来完成 复印中心收费费用计算; 输入一个整数,计算该整数的阶乘; 求199的所有奇数的和。 课后练习: 课堂示例:简易计算器 课堂示例:计算复利存款,29,实验项目实践,项目实践(分组选做): 个人所得税计算器,详见P84习题23 简易计算器,详见P85习题24 储蓄账户问题 若存x元到一个储蓄帐户,利息为r,在每年年终时从帐户中取出y元,大约需要多少年这个储蓄帐户被取空。 输入本金x, 利息r%,及支出额y,输出每年的帐户余额,计算复利。 毕达哥拉斯三角形(P106习题11) 3个边的边长都为整数值的直角三角形被称为毕达哥拉斯三角形。编写一程序找出所有的毕达哥拉斯三角形,其3边都为不大于30的整数。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号