欢迎来到天天文库
浏览记录
ID:51588766
大小:683.00 KB
页数:41页
时间:2020-03-24
《c#程序设计教程 课件第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章选择结构和循环结构3.1一个简单的选择结构程序3.2if语句——二分支选择语句3.3switch语句——多分支选择语句3.4一个简单的循环结构程序3.5while语句和do…while语句3.6for语句和foreach语句3.7跳转语句本章内容【例3.1】构造一个C#控制台应用程序,使之实现下列分段函数的功能:3.1一个简单的选择结构程序——分段函数的实现创建一个控制台应用程序PiecewiseFunction:3.1一个简单的选择结构程序——分段函数的实现3.1.1创建C#控制台应用程序运行该程序,从键盘上输入一个数值数据,如-3.14:3.1一个简单的选择结构程序—
2、—分段函数的实现3.1.2选择结构解析如果x>0,则f=1如果x=0,则f=0如果x<0,则f=-1选择结构3.1一个简单的选择结构程序——分段函数的实现3.1.2选择结构解析(续)选择结构主要有:单入口双分支单入口三分支(如上面的if语句实现的选择结构)单入口多分支(三个或三个以上的分支)对于这些选择结构,除了可以利用if语句来实现以外,还可以用switch语句来完成。3.2if语句——二分支选择语句为表述方便,我们将if语句分为三种类型:if…语句if…else…语句if…elseif…else…语句3.2if语句——二分支选择语句3.2.1if…语句if…语句是最简单的
3、一种if语句,其语法格式如下:if(布尔表达式)语句块说明:该语句的作用是:如果括号中布尔表达式的值为true,则执行后面的语句块(语句块是指放在大括号“{”和“}”之间的语句序列),否则什么都不做。如果语句块仅由一条语句组成,那么大括号“{”和“}”可以省略。“if(布尔表达式)”和“语句块”可以放在一行上,也可以分在两行上。“if”后面括号中的表达式的返回值必须为布尔类型,即返回true或false,这一点与C/C++不同;此外,关键字“if”后面没有“then”。3.2if语句——二分支选择语句3.2.1if…语句(续)if…语句的流程图如下图所示。3.2if语
4、句——二分支选择语句3.2.1if…语句(续)【例3.2】从键盘上输入两个整数,然后输出较大的整数。经过该语句后x总是保存了它们当中的最大者3.2if语句——二分支选择语句3.2.2if…else…语句if…else…语句是一种二分支选择语句,其语法格式如下:if(布尔表达式)语句块1else语句块2说明:该语句的作用是:如果括号中布尔表达式的值为true,则执行后面的语句块1,否则执行语句2。也就是说,不管布尔表达式的值为true还是为false,语句块1和语句块2必有其中之一被执行。3.2if语句——二分支选择语句3.2.2if…else…语句(续)【例3.3】编写一个窗体
5、应用程序,使之能够对给定的实数进行四舍五入。创建C#窗体应用程序Rounding,界面如下图:3.2if语句——二分支选择语句3.2.2if…else…语句(续)双击“四舍五入”按钮,在生成的button1_Click函数中添加下列代码:在if语句中利用了int的强制数据转换功能:对浮点数向下取整,如3.14和3.54在进行int强制转换后都得到3。于是根据x-(int)x的差值来决定是“舍”还是“入”。在“舍”和“入”之间的选择正是利用了if…else…语句来实现。3.2if语句——二分支选择语句3.2.3if…elseif…else…语句if…elseif…else…语句的
6、语法格式如下:if(布尔表达式1)语句块1elseif(布尔表达式2)语句块2…elseif(布尔表达式n)语句块nelse语句块n+1说明:该语句的作用是:先计算布尔表达式1,如果其值为true,则执行语句块1;否则计算布尔表达式2,如果布尔表达式2的值为true,则执行语句块2;…;否则计算布尔表达式n,如果布尔表达式n的值为true,则执行语句块n;否则(所有布尔表达式的值均为false)执行语句块n+1。一旦有语句块被执行,执行后程序都跳出整个if语句,而不再去计算其他表达式,更不会再执行其他语句块。默认情况下,else总是与前面最近的if相匹配。最后面的“else”和
7、“语句块n+1”可以省略,要根据实际需要取舍。3.2if语句——二分支选择语句3.2.3if…elseif…else…语句(续)【例3.4】编写一个控制台应用程序,使之能够将学生成绩从百分制转化为等级制。创建控制台应用程序Grade:staticvoidMain(string[]args){Console.Write("请输入分数:");doublescore=Convert.ToDouble(Console.ReadLine());stringgrade;if(score>100
8、
9、sco
此文档下载收益归作者所有