C#程序的流程控制_第1页
C#程序的流程控制_第2页
C#程序的流程控制_第3页
C#程序的流程控制_第4页
C#程序的流程控制_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章C#程序的流程控制1.总体要求理解分支的概念,掌握if语句和switch语句的使用方法理解循环的概念,掌握while、do/while、for、foreach语句的使用方法理解分支嵌套、循环嵌套的概念,了解相关应用了解goto语句,掌握continue和break语句的使用方法2.相关知识点if语句和switch语句while、do/while、for、foreach语句3.学习重点分支嵌套和循环嵌套2023/2/1第三章C#程序的流程控制主要内容C#程序的循环语句跳转语句3.3C#程序的分支语句3.13.22023/2/133.1C#程序的分支语句3.1.1if语句3.1.2多分支if…elseif语句3.1.2switch语句3.1.4分支语句的嵌套2023/2/143.1.1if语句if语句也称为条件语句、选择语句,用于实现程序的分支结构,根据条件是否成立来控制执行不同的程序段,完成相应的功能。if语句的一般形式如下:if(表达式){语句块1}else{语句块2}if语句的逻辑意义为:如果表达式的值为true,则选择执行“语句块1”,否则选择执行“语句块2”,如图3-1所示。“if…else…”的结构通常称为双分支结构。实际编程时,可省略else子句,构成单分支结构。当“语句块1”或“语句块2”只有一条语句时,可以省略花括号{},还可以在同一行书写。例如,设x为int型变量,

if(x%2==0)Console.Write("x为偶数");就是典型的单分支结构。

3.1.1if语句在C#中,如果双分支结构比较简单,可使用条件运算符来替代if语句。问号运算符的一般格式如下:

(表达式1)?表达式2:表达式3其逻辑含义为:如果表达式1的值为true,则返回表达式2的值,否则返回表达式3的值。3.1.1条件运算符例如,设x为int型变量,

stringresult=(x%2==1)?"x为奇数":"x为偶数";该语句相当于stringresult;if(x%2==1)result="x为奇数";elseresult="x为偶数";使用问号运算符来构造双分支结构,要比if语句更加简练3.1.1if语句【实例3-1】创建一个Windows应用程序,先输入年份,再判断是否是闰年,最后显示判断结果。微软面试题思考:计算两个日期之间的天数3.1.1if语句3.1.2多分支if…elseif语句多分支if…elseif语句

if(表达式1){语句块1;}elseif(表达式2){语句块2;}……elseif(表达式n){语句块n;}else{语句块n;}图3-3多分支if…elseif语句3.1.2多分支if…elseif语句多分支if…elseif语句的逻辑意义为:首先计算表达式1,如果表达式1的值为true,则执行“语句块1”,否则依次往下计算各表达式的值,直到某个表达式的值为真,则执行相应的语句,如果所有表达式的的值都为假,则执行最后的else子句的语句块n+1。其中,elseif子句不能作为语句单独出现,必须与if配对使用,而最后的else子句可省略,表示当所有条件都不满足时,什么都不需要做。同样,当语句块只有一条语句时,可以省略花括号{}。图3-3多分支if…elseif语句【实例3-2】创建一个Windows应用程序,输入身高和体重,计算“体重指数”,医学上的根据身高和体重,从而实现对人肥胖程序的划分。体重指数(t)=体重(w)/(身高(h))2 当t<18时,为偏瘦; 当18t<25时,为标准; 当25t<27时,为偏胖; 当t27时,为肥胖3.1.2多分支if…elseif语句3.1.3switch语句当判断的条件较多,不止一两个分支时,可使用switch语句。switch语句专用于实现多分支结构,其语法更简洁,能处理复杂的条件判断。switch(表达式){case常量1:语句块1;break;case常量2:语句块2;break;

……case常量n:语句块n;break;default:语句块n+1;break;}图3-5switch语句switch中的表达式通常是整型、字符型或字符串表达式,不能是关系表达式或逻辑表达式。case后的常量的不允许相同,其类型必须与表达式的值类型一致。switch语句的执行过程为:首先计算switch语句中表达式的值,再依次与每一个case后的常量比较,当表达式的值与某个常量相等时,则执行该case后的语句块,在执行break语句之后跳出switch结构,继续执行switch之后的语句,如果所有常量都不等于switch中表达式的值,则执行default之后的语句块。如果没有default子句,则执行switch语句后面的语句。3.1.3switch语句【实例3-3】创建一个Windows应用程序,输入学生的成绩(百分制),输出相应的等级(优、良、中、及格、不及格)。使用switch语句来计算不同等级。等级的标准如下:3.1.3switch语句3.1.4分支语句的嵌套无论是if语句,还是switch语句,其中的语句可以任何语句,包括if语句或switch。如果if语句或switch语句包含了if或switch语句,则称之为嵌套的分支语句。对于嵌套的if语句,从上到下,else子句只与最近的尚未配对的if配对。为方便阅读和理解if和else的配对关系,要注意采用缩进格式书写代码或添加花括号{}。【实例3-4】创建一个Windows应用程序,输入机票原价、出行的月份和需要的舱位,输出实际机票价格,假定的机票打折的规则是:5-10月为旺季,头等舱打9折,经济舱打7.5折其他时间为淡季,头等舱打6折,经济舱打3折3.1.4分支语句的嵌套3.2C#程序的循环语句3.2.1While语句3.2.2do/while语句3.2.3for语句3.2.4foreach语句3.2.5循环语句的嵌套返回3.2.1while语句while语句表达的逻辑含义是:当逻辑条件成立时,重复执行某些语句,直到条件不成立时终止,从而不再循环。因此在循环次数不固定时while语句相当有用。while语句的一般形式为:while(表达式){语句块;}

其中,表达式必须是布尔型表达式,用来检测循环条件是否成立,语句块为循环体while语句执行过程如下:首先计算表达式,当表达式的值为true时,执行一次循环体中的语句,重复上述操作到表达式的值为false时退出循环。如果表达式的值在开始时就为false,那么不执行循环体语句直接退出循环。while语句的特点是:先判断表达式,后执行语句。3.2.1while语句【实例3-5】创建一个Windows应用程序,输入n,求和,即1+2+3+…+n。3.2.1while语句do-while语句的特点是先执行循环体,然后判断循环条件是否成立,其一般形式为:do{语句块;}while(表达式);其中,语句块为循环体,表达式必须是布尔型表达式,用来检测循环条件是否成立。3.2.2do/while语句do-while语句执行过程如下首先执行一次循环体,然后再计算表达式,如果表达式的值为true,则再执行一次循环体,重复上述操作,直到表达式的值为false时退出循环。如果条件在开始时就为false,那么执行一次循环体语句后退出循环。while语句与do/while语句的区别在于前者循环体执行的次数可能是0次,而后循环体执行的次数至少是1次。3.2.2do/while语句【实例3-6】创建一个Windows应用程序,输入n,求n!。3.2.2do/while语句3.2.3for语句for语句与while语句、do/while语句一样,可以循环重复执行一个语句或语句块,直到指定的表达式计算为false值。for语句的一般形式为:for(表达式1;表达式2;表达式3){

语句块;}其中,表达式1为赋值表达式,通常用于初始化循环控制变量;表达式2为布尔型的表达式,用来检测循环条件是否成立;表达式3赋值表达式,用来更新循环控制变量的值,以保证循环能正常终止for语句的执行过程详细如下:(1)首先计算表达式1,为循环控制变量赋初值;(2)然后计算表达式2,检查循环控制条件,若表达式2的值为true,则执行一次循环体语句,若为false,终止循环;for语句的执行过程(3)执行完一次循环体语句后,计算表达式3,对控制变量进行增量或减量操作,再重复第(2)步操作。3.2.3for语句for语句3个表达式均可以省略,但”;”不能省略。省略上述表达式后,使for语句有了几种变化形式:省略表达式1。此时应在for语句前面给循环控制变量赋初始值。省略表达式3。此时应在for语句的循环体重改变循环控制变量,否则容易造成死循环。省略所有三个表达式。当for语句中没有表达式2时,编译程序将解释为表达式2为true,循环将无限进行下去。for语句中可使用逗号表达式,使两个或多多个循环变量控制循环3.2.3for语句【实例3-7】一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该项计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,…,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给陌生人多少钱。3.2.3for语句3.2.4foreach语句C#的foreach语句提供了一种简单明了的方法来循环访问数组或集合的元素,又称迭代器。foreach语句的一般形式如下:foreach(类型循环变量in表达式){

语句块;}其中,表达式一般是一个数组名或集合名,循环变量的类型必须与表达式的数据类型一致。foreach语言的执行过程如下:(1)自动指向数组或集合中的第一个元素;(2)判断该元素是否存在,如果不存在结束循环(3)把该元素的值赋给循环变量;(4)执行循环体语句块;(5)自动指向下一个元素,之后从第(2)开始重复执行。3.2.4foreach语句【实例3-8】创建一个Windows应用程序,统计从键盘输入一行字符中英文字母的个数。3.2.4foreach语句3.2.5循环语句的嵌套一个循环语句的内部可以包含另一个循环语句,这样的结构称为循环嵌套,以上介绍的各种循环均可相互嵌套,循环语句中嵌套了几层循环结构就称为几重循环3.2.5循环语句的嵌套循环嵌套时,要保证内层循环必须完全包含于外层循环之内,不允许循环结构交叉,因此一定要注意各循环语句的花括号的配对关系【实例3-9】创建一个Windows应用程序,输入三角形行数,打印等腰三角形。3.2.5循环语句的嵌套3.3跳转语句3.3.1break语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论