c4选择程序设计

上传人:bb****7 文档编号:57218848 上传时间:2018-10-20 格式:PPT 页数:53 大小:1.87MB
返回 下载 相关 举报
c4选择程序设计_第1页
第1页 / 共53页
c4选择程序设计_第2页
第2页 / 共53页
c4选择程序设计_第3页
第3页 / 共53页
c4选择程序设计_第4页
第4页 / 共53页
c4选择程序设计_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《c4选择程序设计》由会员分享,可在线阅读,更多相关《c4选择程序设计(53页珍藏版)》请在金锄头文库上搜索。

1、第4章 选择程序设计,2,教学目标,熟练使用关系运算符 熟练使用逻辑运算符 掌握简单的条件语句的使用 熟练使用多重 if 结构 熟练使用嵌套 if 结构 熟练使用 switch 结构 理解条件运算符的用法 掌握选择程序设计的基本方法,3,逻辑思维与选择程序设计,问题:上地理课时,四个学生回答我国四大湖大小时分别说:甲:洞庭最大,洪泽最小,鄱阳第三乙:洪泽最大,洞庭最小,鄱阳第二,太湖第三丙:洪泽最小,洞庭第三丁:鄱阳最大,太湖最小,洪泽第二,洞庭第三对于每个湖的大小,每个人仅答对一个,试判断四个湖的大小。,4,关系运算符与关系表达式,操作数,关系运算符,关系表达式的计算结果 = 逻辑值(真或假

2、) 在C语言中,“0”表示“假”,“非0”表示“真”,操作数,关系运算符用于测试两个操作数或两个表达式之间的关系,其中操作数可以是变量、常量或表达式。 用关系运算符将二个表达式连接起来称为关系表达式。,5,关系运算符,关系运算符,!=,=,=,=, (num3 num4),num=40; num/10 != 2,gender = m,真,假,=,如果 gender = f,如果 gender = m,7,逻辑运算符与逻辑表达式,逻辑运算符用于连接一个或多个条件,判断这些条件是否成立 由逻辑运算符连接起来的表达式,称为逻辑表达式。 逻辑运算符的类型为:,8,逻辑“与”运算符 &,所有学科及格,考

3、勤率达到75%,留级,留级,留级,升级,Yes,No,No,No,No,Yes,Yes,Yes,9,逻辑“与”运算符 &,10,逻辑“或”运算符 |,无法支付,可支付,可支付,可支付,Yes,No,No,No,No,Yes,Yes,Yes,购物帐单,信用卡,11,逻辑“或”运算符 |,12,逻辑“非”运算符 !,不带伞,带伞,No,Yes,天气 NOT 阴天,13,逻辑“非”运算符 !,14,逻辑运算符总结,&,只有当两个条件都为真时才执行操作,只要任何一个条件为真时就执行操作,对原条件取反,即:如果原条件为假时就执行操作,|,!,15,问题描述: 要求用户输入一个字符,用程序判断该字符是否为

4、小写字母 ,并输出相应的信息。,#include int main( ) char ch;printf(“n请输入一个字符:“);scanf(“%c“, ,使用&运算符,T,请输入一个字符:T,您输入的字符不是小写字母,16,问题描述: 接受用户输入的三种商品的价格。如果购买的三种商品中至少有一种商品的价格大于 50 或者三种商品的总额大于 100,则折扣率为15,否则折扣率为,计算并显示用户应付的钱数。,#include int main( ) float rate1,rate2,rate3;double discount,total;printf(“n请输入第一种商品的价格:“);scan

5、f(“%f“, ,使用 | 运算符,输出: 请输入第一种商品的价格:34 请输入第二种商品的价格:42 请输入第三种商品的价格:38 折后总价为:96.90,17,问题描述: 确定用户输入的数字是否可以被5整除,并输出相应的消息。,#include int main( ) int num;printf(“n 请输入一个数:“);scanf(“%d“, ,使用 ! 运算符,请输入一个数:90,该数能被 5 整除,18,逻辑运算符注意事项,运算优先级:! 关系运算符 & | 短路运算:逻辑表达式在执行时,先处理左边。如左边已能决定此逻辑表达式的结果,则右边不执行。因此,在& 逻辑表达式中,应把fa

6、lse可能性较大的条件放在左边,在|表达式中,应把true可能性较大的条件放在左边,这样可以减少程序执行的时间,19,将关系写成表达式,甲:洞庭最大,洪泽最小,鄱阳第三 乙:洪泽最大,洞庭最小,鄱阳第二,太湖第三 丙:洪泽最小,洞庭第三 丁:鄱阳最大,太湖最小,洪泽第二,洞庭第三,用a,b,c,d分别表示四个湖。a表示洞庭,b表示洪泽,c表示鄱阳,d表示太湖。 学生甲的回答可表示为:a=1 & b=4 & c=3 学生乙的回答可表示为:a=4 & b=1 & c=2 & d=3 学生丙的回答可表示为:a=3 & b=4 学生丁的回答可表示为:a=3 & b=2 & c=1 & d=4,20,关

7、系表达式,由于每位学生都只说对了一个,因此每位同学的若干个关系表达式中只有一个为真,其余都为假。因此, 对同学甲:(a=1) + ( b=4) + ( c=3) = 1 对同学乙:(a=4) + ( b=1) + ( c=2) + ( d=3) = 1 对同学丙:(a=3) + ( b=4) = 1 对同学丁:(a=3) + ( b=2) + ( c=1) + (d=4) = 1本题的答案就是找同时满足上面四个条件的答案,21,条件结构,条件结构就是需要根据不同条件进行判断,然后执行不同的操作 简单 if 语句的一般形式为:,if () ,如果条件为真,if 语句执行一个语句或一组语句; 如果

8、条件为假,则执行 if 语句后面的语句(如果有)。,22,简单if语句使用,# include int main( ) int num1, num2, sum;printf(“n请输入两个数:“);scanf(“%d %d“, ,56,78,134,请输入两个数:56 78,两数的和大于 100,23,条件结构,if-else 语句的一般形式为:,if () else ,如果条件为真,执行 if 后面的一个语句或一组语句; 如果条件为假,则执行 else 后面的语句。,24,if-else语句的使用,求 a 和 b 两数中较大的一个。,条件表达式的值为非零,表示条件成立。 if语句中进行条件判

9、断的表达式,必须用括号括起来且不可省略。,#include int main( ) /* 求a和b的最大值 */ int a,b,max;printf(“Input a and b:“);scanf(“%d%d“, ,25,if语句的使用,if语句格式中的表达式2可以省略。if(表达式)语句1;,#include int main( ) /* 求a和b的最大值 */ int a,b,max;printf(“Input a and b:“);scanf(“%d%d“, ,26,if-else语句的使用,#include int main( ) int num;printf(“n请输入一个整数:“

10、);scanf (“%d“, ,57,请输入一个整数:57,57 是一个奇数。,if(num % 2) printf(“%d 是一个奇数。n“,num); else printf(“%d 是一个偶数。n“,num);,27,if-else语句的使用,求分段函数值,#include int main( ) int x,y;scanf(“%d“, ,if(x=0) y=x+1; else y=x-1;,28,if-else语句的使用,解题思路: 方程有实根,需b2-4ac=0,则实根为 方程无实根,则b2-4ac 0)if (y 1) z = 1; else /*这个 else 部分属于哪个 if

11、?*/z = 2;,嵌套 if 结构,C语言规定,每个 else 部分总属于前面最近的那个缺少对应的 else 部分的 if 语句。提倡使用大括号括起来,以避免看起来有二义性。,?,35,#include int main( ) int a,b;printf(“n 请输入 A 和 B 的值: “);scanf(“%d%d“, ,嵌套 if 结构的使用,68,93,输出: AB,36,嵌套 if 结构的使用,例:已知银行整存整取存款月息利率分别为:一年期 0.1875%二年期 0.225%三年期 0.27% 五年期 0.3%其他:0要求输入存钱的本金和期限,求到期时利息与本金合计。银行到期利息计

12、算公式: 利息本金月息利率12存款年限程序中应当根据存款的年限确定利率,37,嵌套 if 结构的使用,#include int main( ) int year;float money,rate,total; /* 本金,月利率,本利合计*/printf(“Input money and year =?“);scanf(“%f%d“, ,38,体型判断,按“体指数”对肥胖程度进行划分:体指数t = w / h2 (体重w单位为公斤,身高h单位为米) 当t 18时,为低体重; 当18 t 25时,为正常体重; 当25 t 27时,为超重体重; 当t 27时,为肥胖。 编程从键盘输入你的身高h和体

13、重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。 用3种方法编程: 算法1:用不带else子句的if语句编程 算法2:用在if子句中嵌入if 语句的形式编程 算法3:用在else子句中嵌入if 语句的形式编程,39,体型判断,方法一:不带else子句的if语句,40,体型判断,方法二:在if子句中嵌入if 语句,41,体型判断,方法三:在else子句中嵌入if 语句的形式,42,选择程序设计,问题描述:要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII码值小于32的为控制字符。 在09之间的为数字,在AZ之间为大写字母, 在az之间为小写字母,其余则为其它字符。,#include int main( ) char ch;printf(“n 请输入一个字符: “);ch=getchar();if(c=0 ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号