




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3讲 C#中的条件结构前面学习中,在已经学习bool类型、条件运算符、比较运算符和逻辑运算符的基础上,重点学习条件结构和条件结构的几种形式,让程序可以进行条件判断,根据判断结果执行相应的语句,而不是再像前面那样,从程序入口开始执行每条语句直到执行完最后一条语句结束。3.1 bool类型在前面学习C#常用的数据类型的时候,读者已经接触过bool类型了。如:01bool ifTheMinority; /声明布尔型变量ifTheMinority存储是否是少数名族02ifTheMinority = false; /存储false,表示不是这段代码是声明一个布尔类型的变量来表示“是否是少数名族”。3.
2、1.1 什么是bool类型面提及了很多生活中的需要判断的问题,但这些问题有一个共性,就是结果唯一,要么是“是”(为真),要么是“否”(为假)。在C#中,使用bool类型来表示真假。布尔类型是用来表示“真”和“假”这两个概念的。这虽然看起来很简单,但实际应用非常广泛。3.1.2 使用bool类型来表示真假在程序中怎么利用bool类型来表示真假呢?其实在前面已经多次使用过,为了让读者加强理解,以便于本章的学习,本书将对此知识点继续讲解。首先请看一个问题:老顽童和欧阳锋碰到一起了,两人就谁大谁小这个问题吵起来了,争得不可开交,请 制作一个控制台应用程序,从控制台输入两者的年龄进行比较,然后输出“老顽
3、童比欧阳锋大吗?”这句话的判断结果。例:教材 P23 代码:TestOfBool.cs01class TestOfBool0203 static void Main(string args)04 05 int ageOfLaoWantong; /老顽童的年龄06 int ageOfOuYangfeng; /欧阳锋的年龄07 bool isBig; /声明一个bool类型变量08 Console.WriteLine(请输入老顽童的年龄:);09 ageOfLaoWantong =int.Parse( Console.ReadLine(); /接收老顽童的年龄10 Console.WriteLin
4、e(请输入欧阳锋的年龄:);11 ageOfOuYangfeng =int.Parse( Console.ReadLine(); /接收欧阳锋的年龄12 /将结果保存在isBig变量中13 isBig = ageOfLaoWantong ageOfOuYangfeng; 14 Console.WriteLine(老顽童比欧阳锋大吗?);15 Console.Write(isBig); /输出比较结果16 Console.ReadLine();17 183.2 if条件结构在刚才的问题中,读者可能想到过这种情况:已经判断出老顽童和欧阳锋谁大谁小了,要是可以根据判断结果输出相应的语句那该有多好啊。
5、比如,如果老顽童大于欧阳锋就输出“哈哈,你癞蛤蟆没我大!快叫我爷爷!”,否则输出“小朋友,爷爷带你去买糖吃! ”。这可以做到吗?3.2.1 C#中的“如果”前面说过,在生活中人们经常需要判断,往往还会根据判断结果去决定是否做某件事。例如:如果刷牙没有牙膏了,就得去买牙膏;如果停电了,电脑就无法工作;如果生病了,就不用去上学。在编写程序时,也经常要进行条件判断。回到前言中讲到的那个问题,该怎么解决呢?3.2.2 什么是if条件结构if条件结构是根据条件判断后再做处理的一种语法结构。通过前面的学习,读者已经知道怎么判断条件,比如:老顽童是否比欧阳锋大。那么现在一起来关注if条件结构的语法。首先需要
6、了解的是if条件结构的最基本的语法。if(表达式)/对刚才的问题的条件就是:老顽童是否比欧阳锋大/语句条件成立后要执行的语句,可以是一条语句,也可以是一组语句条件判断语句 if语句 if(布尔表达式) 条件为真时执行的语句 条件判定语句案例【例 】if语句的示例代码。 int a = 6,b=1,c; if (a 5) b = 2; c = a*b; Console.WriteLine(c=0, c); Console.Read(); 3.2.3 使用基本的if条件结构已经了解了if结构的基本语法以及其含义和执行过程,现在一起来解决上次的遗留问题,即根据老顽童和欧阳修的年龄的判断结果输出相应的
7、语句。如果老顽童大于欧阳锋,就输出“哈哈,你癞蛤蟆没我大!快叫我爷爷!”,否则输出“哈哈,老玩童比我小”。 运行结果教材P25代码:TestOfIf.cs三元运算符(? :)编一个程序,从键盘上输入三个数,用三元运算符( ? : )把最大数找出来。float x, y, z, temp;Console.Write(请输入一个实数:);x = float.Parse(Console.ReadLine();Console.Write(请输入一个实数:);y = float.Parse(Console.ReadLine();Console.Write(请输入一个实数:);z = float.Pars
8、e(Console.ReadLine();temp = x = y ? x : y;temp = temp = z ? temp : z;Console.WriteLine(最大数为:0, temp);3.2.4 复杂条件下的if条件结构很多时候,问题往往没有那么简单,比如这个问题:假如杨过的体育成绩大于90分,而且音乐成绩大于80分,小龙女就奖励他一罐玉蜂浆;或者体育成绩为100分,音乐成绩大于60分,小龙女也可以奖励他;如果不是上面这两种情况,小龙女就要罚他每天晨练1小时。第一种写法:体育成绩90 & 音乐成绩80 | 体育成绩=100 & 音乐成绩60。第二种写法:(体育成绩90 & 音
9、乐成绩80) | (体育成绩=100 & 音乐成绩60)。显然第二种写法真实的描述了上述问题ifelse 语句 if(布尔表达式) 条件为真时执行的语句 else 条件为假时执行的语句 ifelse 语句 ifelse 语句 if( (体育成绩90 & 音乐成绩80) | (体育成绩=100 & 音乐成绩60) ) 条件为真时执行的语句 else 条件为假时执行的语句 ifelse 语句学习任务 private void button1_Click(object sender, EventArgs e) int a, b; a = int.Parse(textBox1.Text); b = i
10、nt.Parse(textBox2.Text); if (a b) textBox3.Text = a.ToString(); else textBox3.Text = b.ToString(); 3.2.5 多重if结构和嵌套if结构的使用读者先看看这个问题:为了使奖罚更加合理,小龙女决定对奖罚条件进行完善。如果总分等于200分,教杨过玉女心经;总分大于等于170分,奖励玉蜂浆一瓶;如果总分小于170分,根据下面三种情况进行惩罚:两门成绩均小于70分,罚每天晨练两小时;只有一门小于70分,罚每天晨练一小时;其他的情况,进行鼓励。为了使if结构更加清晰,应该把每个if或应该把每个if或else
11、包含的语句都用大括号括起来。相匹配的一对if和else应该左对齐。内层的if结构相对于外层的if结构要有一定的缩进。if 语句的嵌套 多重if结构 ifelse if语句 语法: if(布尔表达式-1) 语句1; else if(布尔表达式-2) 语句2; else 语句n; ifelse if语句教材P28 代码:TestOfIfAndElse.cs案例【例3-8】ifelse if语句的示例代码。Console.WriteLine(请输入一个成绩:);float x = float.Parse(Console.ReadLine();if(x=90)Console.WriteLine(优);
12、else if(x=80)Console.WriteLine(良);else if(x=70)Console.WriteLine(中);else if(x=60)Console.WriteLine(及格);elseConsole.WriteLine(不及格);Console.Read();案例【例】if语句的嵌套的示例代码。string symbol;Console.WriteLine(请输入两个数:);float x = float.Parse(Console.ReadLine();float y = float.Parse(Console.ReadLine();if (x b) if (b c) lblResult.Text = c + , + b + , + a; else if (a c) lblResult.Text = b + , + c + , + a; else lblResult.Text = b + , + a + , + c; else if (b c) lblResult.Text = c +
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国埋地管道重防腐静电喷涂设备数据监测研究报告
- 统编版二年级语文下册第八单元达标测试卷(含答案)
- 上海市曹杨二中2024-2025学年高二上学期期末考试化学试卷(含答案)
- 辽宁省鞍山市高新区2024-2025学年九年级下学期开学考试化学试题(含答案)
- 技校汽车底盘试题及答案
- 3 2025年耳鼻喉科相关疾病试题
- 色彩生命测试题及答案
- 遗产继承分配方案合同
- 高等教育自学考试《00065国民经济统计概论》模拟试卷一
- 2025年度主管护师考试专项复习试题库70题及答案(四)
- 木材在室内设计中的应用案例
- 部队花样主食培训课件
- 驾驶员安全培训(客运)-驾驶员职业道德
- 二《市场调查》(课件)-【中职专用】高二语文同步课件(高教版2023·职业模块)
- 安全总监安全教育培训课件
- 主动脉球囊反搏术患者的护理查房
- 说课的技巧和方法专题讲座
- 新概念英语1一课一练全册1-144课
- SolidWorks 2020 建模与仿真 课件全套 第1-6章 SolidWorks 2020 入门-动画与仿真
- 微生物技术发展史(食品微生物课件)
- 养老护理技术操作规范及评分标准
评论
0/150
提交评论