第3章C#中的条件结构_第1页
第3章C#中的条件结构_第2页
第3章C#中的条件结构_第3页
第3章C#中的条件结构_第4页
第3章C#中的条件结构_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 C#中的条件结构 接下来,本书将继续C#的学习,在已经学习bool类型、条件运算符、比较运算符和逻辑运算符的基础上,重点学习条件结构和条件结构的几种形式,让程序可以进行条件判断,根据判断结果执行相应的语句,而不是再像前面那样,从程序入口开始执行每条语句直到执行完最后一条语句结束。3.1 boolbool类型类型(逻辑类型)(逻辑类型) 在前面学习C#常用的数据类型的时候,读者已经接触过bool类型了。如: bool ifTheMinority; /声明布尔型变量ifTheMinority存储是否是少数民族 ifTheMinority = false; /存储false,表示不是 这段代

2、码是声明一个布尔类型的变量来表示“是否是少数名族”。3.1.1 什么是bool类型 前面提及了很多生活中的需要判断的问题,但这些问题有一个共性,就是结果唯一,要么是“是”(为真),要么是“否”(为假)。在C#中,使用bool类型来表示真假。布尔类型是用来表示“真”和“假”这两个概念的。这虽然看起来很简单,但实际应用非常广泛。3.1.2 使用bool类型来表示真假 在程序中怎么利用bool类型来表示真假呢?其实在前面已经多次使用过,为了让读者加强理解,以便于本章的学习,本书将对此知识点继续讲解。首先请看一个问题问题: 老顽童和欧阳锋碰到一起了,两人就谁大谁小这个问题吵起来了,争得不可开交,请读者

3、制作一个控制台应用程序,从控制台输入两者的年龄进行比较,然后输出“老顽童比欧阳锋大吗?”这句话的判断结果。 P23 程序代码3.2 if条件结构 在刚才的问题中,读者可能想到过这种情况:已经判断出老顽童和欧阳锋谁大谁小了,要是可以根据判断结果输出相应的语句那该有多好啊。比如,如果老顽童大于欧阳锋就输出“哈哈,你癞蛤蟆没我大!快叫我爷爷!”,否则输出“哈哈,小朋友,爷爷带你去买糖吃!”。这可以做到吗?3.2.1 C#中的“如果” 在生活中人们经常需要判断,往往还会根据判断结果去决定是否做某件事。例如:如果刷牙没有牙膏了,就得去买牙膏;如果停电了,电脑就无法工作;如果生病了,就不用去上学。在编写程

4、序时,也经常要进行条件判断。回到前言中讲到的那个问题,该怎么解决呢? 任务分析:条件满足则输出,条件不满足,就不输出。 解决办法:条件运算符(当要执行的事较多时不好处理);if条件结构。3.2.2 什么是什么是ifif条件结构条件结构 if条件结构是根据条件判断后再做处理的一种语法结构。 基本语法:if(表达式)/如:老顽童比欧阳锋大/语句条件成立后要执行的语句,可以是一条语句,也可以是一组语句3.2.3 3.2.3 使用基本的使用基本的ifif条件结构条件结构 例:根据老顽童和欧阳修的年龄的判断结果输出相应的语句。如果老顽童大于欧阳锋,就输出“哈哈,你癞蛤蟆没我大!快叫我爷爷!”,否则输出“

5、哈哈,小朋友,爷爷带你去买糖吃!”。 代码见课本P25。 运行结果3.2.4 3.2.4 复杂条件下的复杂条件下的ifif条件结构条件结构 复杂的判断问题:假如杨过的体育成绩大于90分,而且音乐成绩大于80分,小龙女就奖励他一罐玉蜂浆;或者体育成绩为100分,音乐成绩大于60分,小龙女也可以奖励他;如果不是上面这两种情况,小龙女就要罚他每天晨练1小时。 第一种写法(错误):体育成绩90 & 音乐成绩80 | 体育成绩=100 & 音乐成绩60。 第二种写法(正确) :(体育成绩90 & 音乐成绩80) | (体育成绩=100 & 音乐成绩60)。if.else结

6、构(如果条件符合执行语句1 否则执行语句2)3.2.5 3.2.5 多重多重ifif结构和嵌套结构和嵌套ifif结构的使用结构的使用 读者先看看这个问题:为了使奖罚更加合理,小龙女决定对奖罚条件进行完善。如果总分等于200分,教杨过玉女心经;总分大于等于170分,奖励玉蜂浆一瓶;如果总分小于170分,根据下面三种情况进行惩罚:两门成绩均小于70分,罚每天晨练两小时;只有一门小于70分,罚每天晨练一小时;其他的情况,进行鼓励。(见P28、29代码) 为了使if结构更加清晰,应该把每个if或应该把每个if或else包含的语句都用大括号括起来。 相匹配的一对if和else应该左对齐。 内层的if结构

7、相对于外层的if结构要有一定的缩进。3.3 switch3.3 switch结构结构 学过了if结构,读者是否可以解决下面这个问题呢?u由于杨过的努力,获得了奥运会的参赛资格。小龙女说:如果杨过取得金牌,就马上成亲;如果杨过取得银牌,就教杨过玉女心经;如果杨过取得铜牌,就奖励玉蜂浆3瓶;否则,就不要回来见她。 代码见书P30。(用多重if结构)3.3.1 C#3.3.1 C#中的等值判断中的等值判断 多重if结构的代码虽然解决了这个问题,可是看上去很啰嗦。这个问题跟上一个问题(对杨过的考试成绩进行奖惩)比起来有什么不同?显然,这个问题是等值判断,上一个问题是区间判断。 C#为程序员提供了另一种

8、结构,可以方便地解决等值判断的问题,这就是switch结构。3.3.2 3.3.2 什么是什么是switchswitch结构结构 switch:表示“开关”,这个开关就是switch关键字后面小括号里的值,小括号里要放一个整型变量或字符型变量或字符串型变量。 case:表示“情况,情形”,case后必须是一个整型或字符型或字符串型的常量表达式,通常是一个固定的字符、字符串、数字。例如,8、a、“金牌”。case块可以有多个,顺序可以改变,但是每个case后常量值必须各不相同。 break:表示“停止”,即跳出当前结构。3.3.3 3.3.3 使用使用SwitchSwitch结构进行等值判断结构

9、进行等值判断 通过观察不难看出,switch结构的条件只能是等值的判断,而且只能是整型或字符型或字符串型的等值判断。也就是说,switch结构只能判断一个整型变量是否等于某个整数值的情况,或是一个字符型变量是否等于某个字符的情况,或是一个字符串型是否等于某个字符串的情况,并且每一个case后面的值都不同。而多重if结构既可以判断条件等值的情况,也可以判断条件是区间的情况。 代码见书P30(用if结构)、P31(用switch结构)。3.4 3.4 综合运用:模拟会员幸运抽奖综合运用:模拟会员幸运抽奖 学了这么多,该练练手了,请看下面这个问题:购物中心为了酬谢广大客户,推出礼品馈赠活动。凡具有一定积分(要求积分大于3000)的会员均有机会获奖,一等奖奖励苹果笔记本电脑一台,二等奖奖励诺基亚N73手机一个,三等奖奖励MP3一个,其他则赠送精美挂历一份。 分析:当该会员的积分大于3000才会执行这些语句,笔者写的switch结构就放在这一块里面。获得随机数后,根据随机数进行判断输出。读者理清了思路了吗?如果还不清楚,画个流程图看看吧。 代码见书P33。(if结构+switch结构)3.5 3.5 常见错误常见错误 (1)条件结构没有写在Main()方法里,如: 错误示例1的错误列表 (2)写switch结构时,忘记了写break语句。比如把代码中的break去掉,编译时,VS提

温馨提示

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

评论

0/150

提交评论