C#程序设计课件 chapter03

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Continue语句例子
例:输出1-10这10个数之间的奇数 。
int i = 1; while (i<= 10) { if (i % 2 == 0) { i++; continue; } Console.Write (i.ToString()+”,”); i++; }
本程序的输出结果为 1,3,5,7,9
If语句
3.多情形选择的If语句 程序执行时,首先判断If语句后面括号中的 expression1,若值为True,则执行表达式A 语句,若值为False,就跳向下一个语句,判 断Else If语句后面的expression2,若为True, Else If expression2 True 就执行表示B语句,否则就继续向下,若到最 后的Else语句之前还没有遇到语句为True的, 就要执行Else语句后面大括号中的表示式N了。
Continue 语句
若循环语句中有Continue关键字,则会使 程序在某些情况下部分被执行,而另一部 分不执行。在While循环语句 循环语句中,在嵌入语 循环语句 句遇到Continue指令时,程序就会无条件 地跳至循环的顶端测试条件,待条件满足 后再进入循环。而在Do循环语句 循环语句中,在嵌 循环语句 入语句遇到Continue指令时,程序流程会 无条件地跳至循环的底部测试条件,待条 件满足后再进入循环。这时在 这时在Continue语 这时在 语 句后的程序段将不被执行。 句后的程序段将不被执行。
当然,死循环代码也是有用的,比如说,我们 可以使用跳转语句(Break等)退出这样的循环。
3.3 跳转语句
跳转语句包括:Break语句、Continue语 句、Goto语句和Return语句。
3.3.1 Break与Continue语句
可以使用Break语句终止当前的循环或者 终止当前的循环或者 它所在的条件语句。然后,控制被传递到 它所在的条件语句 循环或条件语句的嵌入语句后面的代码行 嵌入语句后面的代码行。 嵌入语句后面的代码行
Return语句的一个例子
例3.9
运行结果分析
上述的代码运行出错,错误描述为:“检 测到无法访问的代码”,并且在 Console.WriteLine("can't be reached");这 句代码中提示,这说明Return语句已经阻 止了后面语句的运行。
小结
本章绝大多数内容都在讲解如何在C#中使用各 种选择和循环语句。读者们以前在其他的程序 语言里都接触这个东西,但是一定要留意它们 在C#语言中与别的语言中的不同点。使用if语句 时,别忘记了一定要用布尔表达式,尤为重要 的是,要确保条件语句的短路不阻止重要代码 的运行,switch 语句支持字符串标签。循环语 句部分,我们可以在各种循环语句之间转化, 但是每种循环语句在执行某一定特定任务时, 效率不同,要选好合适的循环语句。几种跳转 语句的使用可以给我们的程序带来方便,但是 在使用goto语句时,要谨慎。
Switch语句的控制结构图
Switch语句使用的一个小例子
例 :从键盘中一次输入2个操作数(整数) 以及一个算术运算符(+,-,*,/ 之 一),计算其结果。
程序代码
P41 例3.3
运行结果
3.2 循环结构
循环结构可以实现一个程序模块的重复执 行,它对于简化程序,更好地组织算法有 着重要的意义。C#提供了若干种循环语 句,分别适用于不同的情形。
第3章 流程控制
主要内容
C#中选择控制语句的类型 几种循环结构的定义、使用以及特点 几种跳转语句的使用
流程控制语句分类
在C#语言中,流程控制语句主要分为以 下几类:
选择结构控制语句:If 语句、Switch语句。 循环结构控制语句:Do循环语句、While循 环语句、for循环语句、Foreach语句等。 跳转控制语句:Break语句、Continue语句、 Goto语句、Return语句。
Do循环
程序中使用循环时,第一次不检查条件是 否满足,直接进入循环,第一次以后才检 第一次以后才检 查条件是否满足,条件为True时,才能进 查条件是否满足 入循环。这时候,需要使用Do循环。 Do循环的基本语法格式为:
do { embeded-statement; } while(boolean expression);
在执行Switch语句的过程中,先把Switch后 语句的过程中,先把 在执行 语句的过程中 后 面括号内的表达式 switch_expression依次 依次 后面的表达式进行比较, 与case后面的表达式进行比较,如果遇到匹 后面的表达式进行比较 配的,则就执行为该匹配提供的语句。 配的,则就执行为该匹配提供的语句。如果 没有匹配的,就执行Default部分中的代码。 部分中的代码。 没有匹配的,就执行 部分中的代码
Break语句例子
下面的代码是一个Break语句的简单例子: int i = 9; while (i < 10) { if (i >= 0) { Console.WriteLine("{0}", i); i--; } else { break; } } 运行结果:9、8、7、6、5、4、3、2、1、0
3.3.2 Goto语句
Goto语句可以跳出循环,到达已经标识好 的位置上。
一个goto语句使用的小例子
输入数据在数组中查找。 例 :3.8输入数据在数组中查找。 输入数据在数组中查找
程序代码
运行结果:
3.3.3 Return语句
Return语句是函数级的,遇到Return该方 法必定返回,即终止不再执行它后面的代 码。
Foreach语句的一个例子
使用foreach循环语句输 例3.7使用 使用 循环语句输 出一个数组的所有元素。 出一个数组的所有元素。
运行结果
3.2.5 死循环
可以通过编写错误代码或错误的设计,定义永 远不终止的循环,即所谓的无限循环。下面的 代码就是一个死循环的例子。
while (true) { //statement; }
If语句
2.如果/否则If语句
如果/否则 语句的基本语法如下 如果 否则If语句的基本语法如下: 否则 语句的基本语法如下: if(boolean expression) ( ) { 表达式A; 表达式 ; } else { 表达式B; 表达式 ; }
If语句
3.多情形选择的If语句 多情形选择的If语句实际上是第2种形式的嵌套。在选择的 时候常常是有多种情况,这些情况有不同的指令。基本语 法为: if(boolean expression1) { 表达式A;} else if boolean expression2 if(boolean expression2) { 表达式B;} else if(boolean expression3) { 表达式C;} ………… else { 表达式N;}
3.1 选择结构控制语句
主要包括If 语句以及Switch语句
If语句
If语句有3种基本形式:单条选择、 如果/否则、多情形选择。
If语句
1.单条选择If语句
单条选择的If语句是最简单的If语句,基本语法如下: if(boolean expression) { ……; }
该语句必须以关键字If开始,之后,括号内为 布尔表达式。若为True,则执行If后面的大括 号中的语句,否则,就跳过这些大括号中的 语句。
不允许出现“贯穿”情况,即不允许在某 一case分支中没有跳转语句(break)
每个case分支中的值(常量表达式)必须能 分支中的值(常量表达式) 每个 分支中的值 隐式转换为switch表达式的类型,而且各个 表达式的类型, 隐式转换为 表达式的类型 分支的值不能相同。 分支的值不能相同。 default分支可有可无,但每个 分支可有可无, 语句最 分支可有可无 但每个switch语句最 语句 多只能有一个default分支 多只能有一个 分支 各个 case 标签不必连续,也不必按特定顺 序排列。 default 标签可位于 switch…case 结构中的 任意位置。 default 标签不是必选的,但使用 default 标 签是一个良好的编程习惯。 每两个 case 标签之间的语句数不限
3.2.1 While循环
While循环语句可以有条件地将内嵌语句执行0 遍或者若干遍,基本语法为:
while(boolean expression) { embeded-statement; }
While循环语句执行时,先判断while后面括号内 的语句的值,当为False时,不执行大括号内的 嵌入程序段,若为True 时,进入循环,执行循 环内程序段一遍后,再次判断条件是否满足, 若满足就一直执行下去,一直到不满足为止, 跳出循环,继续后面的语句。
Switch语句
Switch语句它可以一次将测试变量与多个 值进行比较,而不仅仅是测试一个条件。 这种测试仅限于离散的值 仅限于离散的值,而不是像“小 仅限于离散的值 于10”这样的子句。
Switch语句
Switch语句的基本语法为: switch (switch_expression) { case value1 : {statement1;} break; case value2 : {statement2;} break; …… case valueN : {statementN;} break; [defaultstem; class TestSwitch{ public static void Main(){ 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",days);}}
For循环
在程序的设计过程中,若希望从某个值开 始,每执行指定的程序段一次,便将该数 值增加(减少)一个单位,如果结果始终 比终值小(大),便继续执行该程序段, 一直到不满足终值才离开该程序段。这时, 就可以使用For循环语句。
For循环
For循环语句的基本语法为: for(初始语句 条件语句 ; 修改语句 初始语句; 修改语句) 初始语句 { statement; } 其中初始语句,条件语句 ,修改语句这3个项都 是可选项。初始语句 初始语句为循环控制变量作初始化, 初始语句 循环控制变量可以有一个或多个(用逗号隔开); 条件语句为循环控制条件,也可以有一个或者多 条件语句 个语句;修改语句为按规律改变循环控制变量的 值。
例:3.6
Foreach语句
Foreach语句是表示收集一个集合中的各 元素,并针对各个元素执行循环体内嵌语 句。 Foreach语句的基本语法格式为:
foreach(类型 元素变量 in 表达式) ( 表达式) { statement; }
关于Foreach语句的几点说明
首先,变量用来逐一存放数组元素内容, 故该变量声明的类型要和数组的类型一致 变量声明的类型要和数组的类型一致, 变量声明的类型要和数组的类型一致 且必须声明后才能使用; 其次,数组内元素的个数决定循环内程序 数组内元素的个数决定循环内程序 段重复执行的次数; 段重复执行的次数 最后,每次进入循环,会依次将数组元素 内容指定给变量,当所有元素都读完后, 系统就会离开Foreach循环。
Switch语句
两个主要规则。首先,switch_expression必 须是(或者能够隐式地转换为)Sbyte、Byte 、 Short、 Ushort 、Int、 Uint 、Long 、Ulong 、 Char、 String类型或者在这些类型上的一个枚 举。其次,必须为每个 必须为每个Case语句添加一个 必须为每个 语句添加一个 Break语句 语句。 语句 Break语句的作用是中断当前Switch语句的运行, 而执行该结构后面的语句。
相关文档
最新文档