3程序流程控制(精品).ppt

上传人:gsy****95 文档编号:85151670 上传时间:2023-04-10 格式:PPT 页数:30 大小:486.50KB
返回 下载 相关 举报
3程序流程控制(精品).ppt_第1页
第1页 / 共30页
3程序流程控制(精品).ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《3程序流程控制(精品).ppt》由会员分享,可在线阅读,更多相关《3程序流程控制(精品).ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第3 3章章 程序流程控制程序流程控制 本章要点:本章要点:l 选择结构及选择结构及ifif、switchswitch语句语句l 循环结构及循环语句循环结构及循环语句l 跳出循环跳出循环l 异常处理及异常处理及try-catch-finallytry-catch-finally语句语句3 3.1 1 选择选择结构程序设计结构程序设计 3 3.1 1.1 if1 if语句语句 if语句是最常用的选择语句,它根据布尔表达式的值来判断是否执行后面的内嵌语句。if语句的基本语法格式为:if(布尔表达式)真值运算;else /可选项 假值运算 当布尔表达式的值为真,则执行if后面的内嵌语句”真值运算”

2、。为假时执行else后面的内嵌语句“假值运算”。不是所有的if语句都有else匹配,如果仅有if子句则:当布尔表达式为真时执行”真值运算”,否则,当前if语句结束,继续执行if后面的语句。public static void Main(string args)int x;string y=;Console.WriteLine(请输入年龄:);x=Convert.ToInt32(Console.ReadLine();if(x=80)y=耄耋;/八十、九十曰耄,诗经 if(x=70)&(x=60)&(x=50)&(x=40)&(x=30)&(x=20)&(x=60)if(x=70)if(x=80)

3、y=耄耋之年耄耋之年;elsey=古稀古稀;elsey=花甲花甲;elseif(x=50)y=天命天命;elsey=不惑不惑;Console.WriteLine(根据年龄推算,你为根据年龄推算,你为0之年之年,y);注意:if后的逻辑表达式必须是bool型using System;class Teststatic void Main(string args)if(args.Length=0)Console.WriteLine(无参数传入);elseConsole.WriteLine(有参数传入);3 3.1 1.2 switch2 switch语句语句 if语句只能处理从两者间选择之一,当要实

4、现几种可能之一时,C#语言提供了switch开关语句专门处理多路分支的情形,使程序变得简洁,它的一般格式为:switch(表达式)case value1:内嵌语句块1 case value2;内嵌语句块2 default:内嵌语句块N 3 3.1 1.2 switch2 switch语句语句 switch语句的控制类型,即其中控制表达式(expression)的数据类型可以是sbyte、byte、short、ushort、uint、long、ulong、char、string或枚举类型(enum-type)。每个case标签中的常量表达式(value)必须属于或能隐式转换成控制类型,如果有两个

5、或两个以上case标签中的常量表达式值相同,编译时将会报错。switch语句中最多只能有一个default标签。using System;class Testpublic static void Main(string args)int x;string y=;Console.WriteLine(“请输入1000-5000范围内的月收入金额:);x=Convert.ToInt32(Console.ReadLine();int temp=x/1000;switch(temp)case 5:y=“很优越”;break;case 4:y=“还算舒适”;break;case 3:y=“还不错”;bre

6、ak;case 2:y=“凑合吧”;break;default:y=“要加油工作了”;break;Console.WriteLine(“你月收入0,生活状况为1,x,y);3 3.1 1.2 switch2 switch语句语句 在使用switch语句时有几点需要注意的是:(1)不允许遍历 C和C+语言允许switch语句中case标签后不出现break语句,但C#不允许这样,它要求每个case标签项后使用break语句或跳转语句goto,即不允许从一个case自动遍历到其它case,否则编译时将报错。(2)允许任意排列switch语句中的case项而不会影响switch语句的执行结果。(3)

7、每个switch项都以break、goto、case或goto default结束,事实上任何一种不导致“遍历”效果的语句都是允许的。如 throw 和 return 语句同样可以达到不“遍历”。3 3.2 2 循环结构程序设计循环结构程序设计 3 3.2 2.1 for1 for语句语句 for循环语句是C#中使用频率最高的循环语句,在事先知道循环次数的情况下,使用for循环语句是比较方便的。For循环语句的格式为:for(初始条件;结束条件;循环变量迭代器)循环体 其中“初始条件”、“结束条件”、“循环变量迭代器”这三项都是可选项。“初始条件”为循环控制变量做初始化,循环控制变量可以有一个

8、或多个(用逗号隔开)。“结束条件”为循环控制条件,也可以有一个或多个语句。“循环变量迭代器”按规律改变循环控制变量的值。初始化、循环控制条件和循环控制都是可选的,如果忽略了条件,则产生一个死循环,要用跳转语句break或goto才能退出。e.g.for(int i=0;i10;i+)Console.WriteLine(i);3 3.2 2.2 2 foreachforeach语句语句 foreach语句是在C#中新引入的,它表示遍历一个集合中的各元素,并针对各个元素执行内嵌语句。foreach语句的语法格式为:foreach(type identifier in expression)embe

9、dded-statement 循环变量由类型type和标识符identifier声明,且表达式expression与集合相对应。循环变量代表循环正在处理的集合元素。在循环体内不能赋一个新值给循环变量,也不能把它当作ref或out参数。public static void Main()int intArray;intArray=new int5;for(int i=0;i array.Length)Console.WriteLine(“当前没有找到!”);return i;static void Main()Console.WriteLine(Find(3,new int 5,4,3,2,1);

10、3 3.2 2.4 do-while4 do-while语句语句 do-while语句与while语句框架上相似,不同之处在于,它将循环体内的语句至少执行一次。其语法格式为:do embedded-statement while(布尔表达式)该语句按如下顺序执行:(1)先执行内嵌语句embedded-statement一遍;(2)计算布尔表达式布尔表达式的值,为true则回到第一步,为false则终止do循环。在do-while循环语句同样允许用break语句和continue语句实现与while语句中相同的功能。无论使用for循环、do循环还是while循环都要小心循环的边界值。它是绝大部分

11、错误的根源,同时要准确判断业务逻辑,正确选择不同的循环类型。3 3.2 2.5 5 跳出循环跳出循环 当循环条件不满足时循环自动就结束了,如在循环体内遇到特定的情况需要在循环条件满足的情况下终止循环,就需要用到中断循环语句。C#为此提供了4个命令。分别是:l Break:立即终止循环,并跳转到循环后面第一行代码执行l Continue:立即终止当次的循环(并不影响循环的继续执行)。l Return:用来返回到当前函数被调用的地方。如果return语句放在循环体内,当满足条件时执行return语句返回,循环自动结束。l Goto:可以跳出循环,到已标记好的位置上。breakusing Syste

12、m;class Test public static void Main()int i=1;for(i=1;i 0)Console.WriteLine(i);i-;if(i%2=0)i-;else continue;i-;returnusingSystem;class Testpublic static void Ret()Int i=99;while(i 0)Console.WriteLine(i);i-;if(i=50)return;Public static void Main()Ret();Console.WriteLine(函数调用结束!);3 3.3 3 异常处理结构异常处理结构

13、3 3.3.1 3.1 异常的产生异常的产生 C#C#在两种情况下会产生异常:在两种情况下会产生异常:(1)在C#语句和表达式的处理过程中激发了某个异常的条件,使得操作无法正常结束,引发异常。(2)使用throw语句手动抛掷异常 using System;class Test public static void Main()Console.WriteLine(enter the number:);float x=Convert.ToSingle(Console.ReadLine();if(x0)goto less;Console.WriteLine(Y=1);goto endpro;less

14、:Console.WriteLine(Y=-1);endpro:Console.WriteLine(End of this program!);using System;class Test public static void Main()Console.WriteLine(enter the number:);float x=Convert.ToSingle(Console.ReadLine();if(x 0);catch(DivideByZeroException DE)/捕获除零异常捕获除零异常Console.WriteLine(除零错误被抛出除零错误被抛出);catch(Exception Ex)/捕获其他异常捕获其他异常Console.WriteLine(第二个第二个catch语句语句);Console.WriteLine(Ex.Message.ToString();finally /无论是否发生异常,该语句块总被执行无论是否发生异常,该语句块总被执行Console.WriteLine(Finally语句块!语句块!);

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁