流程控制语句与函数讲义

上传人:F****n 文档编号:95434806 上传时间:2019-08-18 格式:PPT 页数:57 大小:1.01MB
返回 下载 相关 举报
流程控制语句与函数讲义_第1页
第1页 / 共57页
流程控制语句与函数讲义_第2页
第2页 / 共57页
流程控制语句与函数讲义_第3页
第3页 / 共57页
流程控制语句与函数讲义_第4页
第4页 / 共57页
流程控制语句与函数讲义_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《流程控制语句与函数讲义》由会员分享,可在线阅读,更多相关《流程控制语句与函数讲义(57页珍藏版)》请在金锄头文库上搜索。

1、1,第5章 流程控制语句与函数,5.1 控制程序流程 5.2 使用选择语句 5.3 使用循环语句 5.4 使用goto语句 5.5 嵌套使用流程控制语句 5.6 函数 5.7 常用内部函数 5.8 小结,2,5.1 控制程序流程,控制程序流程的方法很多,主要有如下3种: 选择语句:如同考试中的单选题目,选择执行了某条语句,另一条就不会再执行。 循环语句:在需要将一个表达式进行多次重复运算时,可以使用循环语句,指定其循环次数或者界定其退出循环的条件。 goto语句:即标记语句,使程序自动跳到标记语句处执行,标记语句执行完毕又直接回到调用标记语句处。需要注意的是,在程序中最好不使用goto语句,因

2、为该语句会使得程序代码可读性很差。,3,5.2 使用选择语句,5.2.1 if语句 用if语句实现单分支选择结构: if(表达式) 语句; 语句中的表达式通常用于表示条件,应为关系表达式或逻辑表达式。 语句只是一条语句,如果在条件满足时需要执行多条语句,应使用花括号( )括起来,使之成为语句块。 “(表达式)”中的括号不能省略。,4,5.2.1 if语句,示例: static void Main(string args) double score; score = Convert.ToDouble (Console.ReadLine(); if (score = 60) Console.Wri

3、teLine(“恭喜你,通过了这次考试!“); Console.Read(); ,5,5.2.1 if语句,用if语句实现双分支选择结构: if(表达式) 语句1; else 语句2;,6,5.2.1 if语句,用if语句实现多分支选择结构 If (表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; else 语句n;,7,5.2.2 switch语句,在C#语言中,除使用if语句实现多分支外,也可以使用switch语句 。 switch(表达式) case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break;

4、case 常量表达式n: 语句n; break; default: 语句n+1; break; ,8,5.2.2 switch语句,switch表达式的类型为sbyte、byte、short、ushort、int、uint、long、ulong、char、string、枚举或用户自定义类型。 每个case分支中的常量表达式必须能隐式转换为switch表达式的类型,且常量表达式的值不能相同,从而保证分支选择的唯一性。 如果某个分支有多条语句,可以用花括号括起来,也可以不加花括号。 default分支可有可无,但是每个switch语句最多只能有一个default分支。当default语句缺省时,如

5、果switch后面的表达式值与任意常量表达式值不相等,将不执行任何语句,直接退出switch语句。 各分支语句中的break不可省略,否则将会出现错误,这一点跟Java和C+不同。 使用switch语句时一定要注意,case后面必须是常量表达式,以冒号结束而不是分号。,9,5.2.2 switch语句,示例: static void Main(string args) double score; char class1; int i; Console.WriteLine(“请输入你的成绩:“); score = Convert.ToDouble (Console.ReadLine(); i =

6、 (int) score / 10; switch (i) case 10: case 9: class1 = A; break; case 8: class1 = B; break; case 7: class1 = C; break; case 6: class1 = D; break; default: class1 = E; break; Console.WriteLine(“你的成绩等级为:0“,class1 ); ,10,5.2.3 switch语句的控制类型,switch语句的控制可以按case语句的排列先后顺序进行,也可以通过跳转语句来实现。 示例:实现switch语句的跳转语

7、句 。 static void Main(string args) int days = 0; int month = 3; switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 2: days = 28; break; case 4: case 6: case 9: case 11: days = 30; break; default: days = 0; break; Console.WriteLine(“this month has 0 days“,

8、days); ,11,5.3 使用循环语句,5.3.1 while语句 while语句是用来实现循环的语句,该类循环先测试循环条件再执行循环体,按照不同条件执行循环体部分零次或多次。它的语法形式如下。 while(表达式) 循环体部分;,12,5.3.1 while语句,注意: 循环体如果包含一条以上的语句,应以花括号括起来作为复合语句。 在循环体中,通常应包含改变循环条件表达式值的语句,否则便会造成无限循环。 由于先判断条件,可能出现第一次测试条件时,表达式的值就为false。此种情况下循环体将一次也不执行,又称“允许0次循环”。,13,5.3.1 while语句,示例: class Tes

9、tWhile static void Main(string args) int number = 1, sum = 0; while (number = 10) sum+=number ; number+; Console.WriteLine(“the sum is 0“, sum ); Console.Read(); 执行上述代码,运行结果为:the sum is 55。,14,5.3.2 do语句,do循环语句实现的是直到型循环,该类循环先执行循环体再测试循环条件。 do 循环体语句 while(表达式);,15,5.3.2 do语句,示例: class TestWhile static

10、 void Main(string args) int number = 1, sum = 0; do sum+=number ; number+; while (number = 10); Console.WriteLine(“the sum is 0“, sum ); Console.Read(); 执行上述代码,运行结果为:the sum is 55。,16,5.3.3 for语句,for(表达式1; 表达式2; 表达式3) 语句;,17,5.3.3 for语句,表达式1、2、3都可以省略,分号不能省略。如果表达式1、2、3都省略,则将无终止地执行循环体。 表达式2是循环控制条件,如果省

11、略,循环将无终止地进行下去。 表达式1一般用于为循环控制条件赋初值,也可以是与循环变量无关的其他表达式。如果表达式1省略或者是与循环条件无关的其他表达式,则应该在for语句之前给循环控制条件赋初值。 表达式3一般用于改变循环控制条件的值。如果表达式3省略或者是其他与循环条件无关的表达式,则应该在循环体中另有语句改变循环条件,以保证循环能正常结束。,18,5.3.4 foreach语句,foreach(类型 标识符 in 表达式) 嵌入语句; 示例: static void Main(string args) int list = 10, 20, 30, 40, 50, 60 ; foreach

12、 (int i in list) Console.Write(“0,-5“, i); Console.Read(); ,19,5.3.5 break语句和continue语句,break语句用于跳出包含它的switch、while、do、for、foreach语句。 如果break不是在switch、while、do、for、foreach语句块中,将发生编译错误。 当switch、while、do、for、foreach语句相互嵌套时,break语句只是跳出直接包含它的语句块。,20,5.3.5 break语句和continue语句,class TestBreak static void M

13、ain(string args) for (int i = 0; i 10; i+) Console.Write(“enter a word :“); string s = Console.ReadLine(); if (s = “end“) break; Console.WriteLine(“you entered :0“ , s); Console .Read (); ,21,5.3.5 break语句和continue语句,continue语句类似于break语句,也必须用于while、do while、for、foreach语句,它只从循环的当前迭代中退出,然后在循环的下一次迭代开始重

14、新执行,而不是退出循环。 需要注意如下事项: continue语句的目标地址为直接包含它的while、do while、for或者foreach语句的嵌套语句结尾。假如continue语句不能被while、do while、for或者foreach语句包含,将发生编译错误。 当有while、do while、for或者foreach语句相互嵌套时,continue语句只适用于直接包含它的语句块。,22,5.3.5 break语句和continue语句,示例 static void Main(string args) for (int i = 0; i 10; i+) Console.Write

15、(“enter a word :“); string s = Console.ReadLine(); if (s = “end“) continue; Console.WriteLine(“you entered :0“, s); Console .Read (); ,23,5.4 使用goto语句,goto语句是除选择语句、循环语句之外的控制程序流程的语句,常用于将程序流程转移出嵌套范围。 goto语句的常见用法为goto lable语句。其中,lable为一个标签 ,其语法形式为: 标签1:,24,5.4 使用goto语句,示例: static void Main(string args)

16、 int n = 1, sum = 0; lable : if (n=5) sum=sum+n; n+; goto lable; Console .WriteLine (“sum=0“,sum ); Console .Read (); ,25,5.5 嵌套使用流程控制语句,选择结构的嵌套 : if(表达式1) if(表达式2) 语句1 else 语句2 else if(表达式3) 语句3 else 语句4,26,5.5 嵌套使用流程控制语句,循环结构的嵌套 示例: static void Main(string args) int i = 1, a = 0; for (; i = 5; i+) do i+; a+; while (i 3); i+

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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