选择结构和循环结构_第1页
选择结构和循环结构_第2页
选择结构和循环结构_第3页
选择结构和循环结构_第4页
选择结构和循环结构_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

,第3章选择结构和循环结构,3.1一个简单的选择结构程序3.2if语句二分支选择语句3.3switch语句多分支选择语句3.4一个简单的循环结构程序3.5while语句和dowhile语句3.6for语句和foreach语句3.7跳转语句,本章内容,【例3.1】构造一个C#控制台应用程序,使之实现下列分段函数的功能:,3.1一个简单的选择结构程序分段函数的实现,创建一个控制台应用程序PiecewiseFunction:,3.1一个简单的选择结构程序分段函数的实现,3.1.1创建C#控制台应用程序,运行该程序,从键盘上输入一个数值数据,如-3.14:,3.1一个简单的选择结构程序分段函数的实现,3.1.2选择结构解析,3.1一个简单的选择结构程序分段函数的实现,3.1.2选择结构解析(续),选择结构主要有:单入口双分支单入口三分支(如上面的if语句实现的选择结构)单入口多分支(三个或三个以上的分支)对于这些选择结构,除了可以利用if语句来实现以外,还可以用switch语句来完成。,3.2if语句二分支选择语句,为表述方便,我们将if语句分为三种类型:if语句ifelse语句ifelseifelse语句,3.2if语句二分支选择语句,3.2.1if语句,if语句是最简单的一种if语句,其语法格式如下:if(布尔表达式)语句块说明:该语句的作用是:如果括号中布尔表达式的值为true,则执行后面的语句块(语句块是指放在大括号“”和“”之间的语句序列),否则什么都不做。如果语句块仅由一条语句组成,那么大括号“”和“”可以省略。“if(布尔表达式)”和“语句块”可以放在一行上,也可以分在两行上。“if”后面括号中的表达式的返回值必须为布尔类型,即返回true或false,这一点与C/C+不同;此外,关键字“if”后面没有“then”。,3.2if语句二分支选择语句,3.2.1if语句(续),if语句的流程图如下图所示。,3.2if语句二分支选择语句,3.2.1if语句(续),【例3.2】从键盘上输入两个整数,然后输出较大的整数。,3.2if语句二分支选择语句,3.2.2ifelse语句,ifelse语句是一种二分支选择语句,其语法格式如下:if(布尔表达式)语句块1else语句块2说明:该语句的作用是:如果括号中布尔表达式的值为true,则执行后面的语句块1,否则执行语句2。也就是说,不管布尔表达式的值为true还是为false,语句块1和语句块2必有其中之一被执行。,3.2if语句二分支选择语句,3.2.2ifelse语句(续),【例3.3】编写一个窗体应用程序,使之能够对给定的实数进行四舍五入。创建C#窗体应用程序Rounding,界面如下图:,3.2if语句二分支选择语句,3.2.2ifelse语句(续),双击“四舍五入”按钮,在生成的button1_Click函数中添加下列代码:,3.2if语句二分支选择语句,3.2.3ifelseifelse语句,ifelseifelse语句的语法格式如下:if(布尔表达式1)语句块1elseif(布尔表达式2)语句块2elseif(布尔表达式n)语句块nelse语句块n+1,说明:该语句的作用是:先计算布尔表达式1,如果其值为true,则执行语句块1;否则计算布尔表达式2,如果布尔表达式2的值为true,则执行语句块2;否则计算布尔表达式n,如果布尔表达式n的值为true,则执行语句块n;否则(所有布尔表达式的值均为false)执行语句块n+1。一旦有语句块被执行,执行后程序都跳出整个if语句,而不再去计算其他表达式,更不会再执行其他语句块。默认情况下,else总是与前面最近的if相匹配。最后面的“else”和“语句块n+1”可以省略,要根据实际需要取舍。,3.2if语句二分支选择语句,3.2.3ifelseifelse语句(续),【例3.4】编写一个控制台应用程序,使之能够将学生成绩从百分制转化为等级制。创建控制台应用程序Grade:staticvoidMain(stringargs)Console.Write(请输入分数:);doublescore=Convert.ToDouble(Console.ReadLine();stringgrade;if(score100|score=90)grade=优秀;elseif(score=80)grade=良好;elseif(score=70)grade=中等;elseif(score=60)grade=及格;elsegrade=不及格;Console.Write(成绩等级为:0!,grade);Console.ReadLine();,3.3switch语句多分支选择语句,switch语句的语法格式如下:switch(表达式)case常量表达式1:语句块1;break;case常量表达式2:语句块2;break;case常量表达式n:语句块n;break;default:语句块n+1;break;,说明:switch语句的工作原理是:先计算“switch”后面的表达式的值,然后从上到下依次判断该值是否等于“case”后面的常量表达式的值,如果等于某个常量表达式的值,如等于常量表达式i的值,则执行对应的语句块i;执行语句块i后,如果碰到break语句,则跳出switch语句。表达式的类型必须是整型、字符型(char)、字符串型(string)或者枚举型以及能够隐士转换为上述类型的任何一种数据类型。表达式不能为浮点型;表达式的类型必须与常量表达式的类型相匹配。switch语句中的default部分可以省略。switch语句中,最后的break语句是不能省略的。,3.3switch语句多分支选择语句,【例3.5】对于例3.4中关于将学生成绩从百分制转化为等级制的问题,也可以使用switch语句来解决。创建控制台应用程序Grade2:staticvoidMain(stringargs)Console.Write(请输入分数:);doublescore=Convert.ToDouble(Console.ReadLine();stringgrade;if(score100|score0)Console.Write(输入的分数不合法,请核查!);Console.ReadLine();return;,3.3switch语句多分支选择语句,switch(int)(score/10)case10:case9:grade=优秀;break;case8:grade=良好;break;case7:grade=中等;break;case6:grade=及格;break;default:grade=不及格;break;Console.Write(成绩等级为:0!,grade);Console.ReadLine();,3.4一个简单的循环结构程序等差数列求和,3.4.1创建C#控制台应用程序,【例3.6】构造一个C#控制台应用程序,使之能够计算下列等差数列的前n项之和,n从键盘输入:1,3,5,7,9,创建控制台应用程序ArithProg:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceArithProgclassProgram,3.4一个简单的循环结构程序等差数列求和,3.4.1创建C#控制台应用程序,staticvoidMain(stringargs)Console.Write(n=

温馨提示

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

评论

0/150

提交评论