《C语言程序设计实用教程》课件第3章 选择结构程序设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《C语言程序设计实用教程》课件第3章 选择结构程序设计.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计实用教程 C语言程序设计实用教程课件第3章 选择结构程序设计 语言程序设计 实用教程 课件 选择 结构 程序设计
- 资源描述:
-
1、3.1基本概念和表示方法基本概念和表示方法3.2 关系运算符与关系表达式关系运算符与关系表达式3.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式3.4 用用if语句实现选择结构语句实现选择结构3.5 用用switch语句实现选择结构语句实现选择结构3.6 选择结构程序设计综合举例选择结构程序设计综合举例n程序是对数据进行加工处理以得到期望的结果程序是对数据进行加工处理以得到期望的结果.包括两个方面包括两个方面:(1)对数据的描述对数据的描述。程序中要指定数据的类型和组。程序中要指定数据的类型和组织形式,这就是织形式,这就是数据结构数据结构(data structure)。(2)对操作的描述对
2、操作的描述。描述计算机进行操作的步骤。描述计算机进行操作的步骤。这就是这就是算法算法(algorithm)n 程序、数据结构和算法三者之间的关系如下:程序、数据结构和算法三者之间的关系如下:程序程序=数据结构数据结构+算法算法3.1 算法的基本概念和表示方法算法的基本概念和表示方法3.1.1 算法的基本概念算法的基本概念3.1.2 算法的表示算法的表示3.1.2 结构化程序设计结构化程序设计3.1算法的基本概念和表示方法算法的基本概念和表示方法n算法是对一个问题求解步骤的描述算法是对一个问题求解步骤的描述n求解问题的方法,求解问题的方法,n指令的有限序列。指令的有限序列。n每条指令表示一个或多
3、个操作。每条指令表示一个或多个操作。n算法的特征:算法的特征:1.有穷性有穷性:一一个算法(对任何合法的输入)在执行有穷个步骤个算法(对任何合法的输入)在执行有穷个步骤后能够结束,并且在有限时间内完成。后能够结束,并且在有限时间内完成。2.确定性确定性:算法中的每一步都有确切的含义算法中的每一步都有确切的含义 3.可行性可行性:算法中的操作能够用已经实现的基本运算执行有限次算法中的操作能够用已经实现的基本运算执行有限次来实现。来实现。4.输入输出信息输入输出信息:一个算法可一个算法可n个输入数据要加工处理,也可能个输入数据要加工处理,也可能m个输出信息。个输出信息。3.1.1 算法的基本概念算
4、法的基本概念3.1.2算法的表示算法的表示n表示算法的方法:表示算法的方法:n自然语言表示法自然语言表示法n伪代码表示法伪代码表示法n流程图表示法流程图表示法 1.伪代码(伪代码(Pseudocode)表示法)表示法一种非正式的语言。一种非正式的语言。介于自然语言和程序代码之间的中间语言介于自然语言和程序代码之间的中间语言来表示算法。来表示算法。伪代码描述的算法,表达了程序设计者的伪代码描述的算法,表达了程序设计者的思路,能很容易地被转换成程序代码思路,能很容易地被转换成程序代码 伪代码不是程序代码,并不能被计算机识伪代码不是程序代码,并不能被计算机识别。别。3.1.2算法的表示算法的表示1.
5、伪代码(伪代码(Pseudocode)表示法)表示法 3.1.2算法的表示算法的表示例例3-1 求两个数的较大者。求两个数的较大者。解决这个问题用到解决这个问题用到选择控制结构选择控制结构:判断条件的真假做决策。判断条件的真假做决策。该算法的伪代码描述如下:该算法的伪代码描述如下:输入输入x,y;If xy Then max=yElse max=xEnd if输出输出 max1.伪代码(伪代码(Pseudocode)表示法)表示法 3.1.2算法的表示算法的表示例例3-2 要统计出输入的要统计出输入的100个数之和。个数之和。解决这个问题要用解决这个问题要用循环控制结构循环控制结构:要求要求1
6、00个数之和,就必须重复地进行累加,个数之和,就必须重复地进行累加,该算法的伪代码描述如下:该算法的伪代码描述如下:sum=0conut=0输入一个数给xsum=sum+xcount=count+1输出 sum重复100 次,重复的条件:count B true A=B true,A b:%dn,ab);printf(a=b:%dn,a=b);printf(a=b:%dn,a=b);printf(a!=b:%dn,a!=b);printf(ab:%dn,ab);printf(a=b:%dn,a b+2!(a b)x y&a b|!(x a)1 0 n逻辑运算符优先级次序:逻辑运算符优先级次序:
7、!最高,最高,&其次,其次,|最低。最低。n当表达式中出现算术运算符、关系运算符和当表达式中出现算术运算符、关系运算符和逻辑运算符时,算术运算符优先级最高,其逻辑运算符时,算术运算符优先级最高,其次关系运算符,逻辑运算符级别最低,次关系运算符,逻辑运算符级别最低,n例如,例如,(c70)&(!valid)当当c=60,valid=0时,表达式结果为时,表达式结果为1;当当c=80,valid=1时,表达式结果为时,表达式结果为0。3.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式n短路与:短路与:A&B 当当A是是false时,整个表达式的结果为时,整个表达式的结果为false。不。不再计算
8、再计算B的值,的值,n短路或:短路或:A|B 当当A是是true时,整个表达式的结果为时,整个表达式的结果为true。不。不再计算再计算B的值。的值。例如:例如:int x,y;x=1;x!=1&y 表达式结果为表达式结果为0,尽管尽管y没有值。没有值。3.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式例如,例如,12a 12&a 12)&(a 20)。例如例如 a1或者或者a10逻辑表达式表示为:逻辑表达式表示为:a=10或者或者 (a=10)。例如,判断三个边例如,判断三个边a,b,c是否构成三角形,逻辑表是否构成三角形,逻辑表达式表示为:达式表示为:a+bc&a+cb&b+ca3.3
9、逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式例如,例如,int x;x=0 等价于等价于 !x x!=0 等价于等价于 x3.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式例例3-4 逻辑运算符的应用。逻辑运算符的应用。void main()int a=1,b=0;printf(a=1,b=0 n逻辑运算结果逻辑运算结果n);printf(!a:%dn,!a);printf(!b:%dn,!b);printf(a&b:%dn,a&b);printf(a|b:%dn,a|b);printf(b=0:%dn,b=0);printf(!b:%dn,!b);printf(a!=0:%dn,a!=0)
10、;printf(a:%dn,a);3.4 用用if语句实现选择结构语句实现选择结构3.4.1 实现单分支的实现单分支的if语句语句3.4.2 实现双分支的实现双分支的if语句语句3.4.3 实现多分支的实现多分支的if语句嵌套语句嵌套n if语句语句:使程序根据相应的条件去使程序根据相应的条件去执行对应的语句。执行对应的语句。3.4.1 实现单分支的实现单分支的if语句语句n实现单分支的实现单分支的if语句一般形式:语句一般形式:if(布尔表达式布尔表达式)语句;语句;例如例如 求某数求某数X的绝对值的绝对值.if(x y)z=x;else z=y;语句1和语句2可为单个语句或复合语句。例例3
11、-5 输入一个年份,判断是否闰年输入一个年份,判断是否闰年n解题思路:解题思路:判断闰年判断闰年year条件是:年份能被条件是:年份能被4整除而不能被整除而不能被100整除,或者被整除,或者被400整除。整除。n解题思路:解题思路:输入年份输入年份year,判断是否闰年:判断是否闰年:(year%4=0&year%100!=0)|(year%400=0)输出判断结果。输出判断结果。void main()int year;printf(Enter the year:);scanf(%d,&year);if(year%4=0&year%100!=0)|(year%400=0)printf(%d i
12、s a leap year.n,year);else printf(%d is not a leap year.n,year);Enter the year:20122012 is a leap year.3.4.2 实现双分支的实现双分支的if语句语句3.4.3实现多分支的实现多分支的if语句嵌套语句嵌套nif语句中内嵌的语句语句中内嵌的语句1或语句或语句2又可为又可为if语句,称语句,称为为if 语句的嵌套。语句的嵌套。n嵌套的嵌套的if语句的一般格式:语句的一般格式:if(布尔表达式布尔表达式1)语句语句1else if(布尔表达式布尔表达式2)语句语句2;else if(布尔表达式布尔
13、表达式3)语句语句3;else if(布尔表达式布尔表达式m)语句语句m;else 语句语句m+1;表示可选例如,根据的例如,根据的x 值,求出值,求出y 值:值:-1 (x0)if(x0)y=-1;else if(x=0)y=0;else y=-1;if(x0)y=-1;else if(x=0)y=0;else y=-1;if(xb)if(ac)max=a;else max=c;else if(bc)max=b;else max=c;void main()int a,b,c,max;printf(Enter the a,b,c:);scanf(%d%d%d,&a,&b,&c);if(ab)i
展开阅读全文