C语言程序设计课件第05讲.ppt

上传人:wuy****n92 文档编号:70101016 上传时间:2023-01-16 格式:PPT 页数:28 大小:395.50KB
返回 下载 相关 举报
C语言程序设计课件第05讲.ppt_第1页
第1页 / 共28页
C语言程序设计课件第05讲.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《C语言程序设计课件第05讲.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件第05讲.ppt(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1/16/20231 Program Design in C LanguagePage if语句语句 switch语句语句 条件运算符条件运算符第五讲第五讲第四章第四章 选择结构程序设计选择结构程序设计选择结构程序设计选择结构程序设计 1/16/20232 Program Design in C LanguagePage4.1 用if语句实现选择结构4.1.1 if4.1.1 if语句的三种形式语句的三种形式 格式一:格式一:单分支结构单分支结构 if()语句语句A;语句执行过程:语句执行过程:先判断条件先判断条件(表达式表达式),若条件成立,若条件成立,就执行语句就执行语句A A;否则,直接

2、执行;否则,直接执行ifif后面的语后面的语句。该结构的流程图如右图所示。句。该结构的流程图如右图所示。例:例:if(grade =60)printf(“Pass n”);注意:注意:单分支结构只有在条件为真时,才执行给定的操作,如果条单分支结构只有在条件为真时,才执行给定的操作,如果条件为假,则不执行任何操作。件为假,则不执行任何操作。1/16/20233 Program Design in C LanguagePage1)条条件件均均为为逻逻辑辑表表达达式式或或关关系系表表达达式式,也也可可以以是是任任意意的数值类型。的数值类型。2)语句可以是单语句,也可以是复合语句。)语句可以是单语句,

3、也可以是复合语句。注意:在复合语句注意:在复合语句 外不需再加分号外不需再加分号。例:例:if(3)printf(O.K.n););if(q)printf(%dn,a););if(3x&x=5)printf(3xb)t=a;a=b;b=t;说明:说明:1/16/20234 Program Design in C LanguagePage例:例:键盘输入一个整数,输出该数的绝对值。键盘输入一个整数,输出该数的绝对值。main()()int shu;printf(请输入一个整数请输入一个整数%d:n);scanf(%d,shu);if (shu 0)shu=-shu;printf(“该数的绝对值为

4、该数的绝对值为:%d。n,shu);4.1 用if语句实现选择结构1/16/20235 Program Design in C LanguagePage格式二:格式二:双分支结构双分支结构 if()语句语句A;else 语句语句B;注意:注意:else子句是子句是if语句的一部分,它不能作为语句单独语句的一部分,它不能作为语句单独使用,必须与使用,必须与if配对使用。配对使用。4.1 用if语句实现选择结构语句执行过程:语句执行过程:先判断条件先判断条件(表达式表达式),若条件成立,就,若条件成立,就执行语句执行语句A A;否则,执行语句;否则,执行语句B B。即一定会执。即一定会执行语句行语

5、句A A和语句和语句B B中的一句,且只能执行其中中的一句,且只能执行其中的一句。该结构的流程图如右图所示。的一句。该结构的流程图如右图所示。例:例:if(grade =60)printf(“Pass n”);else printf(“Failure”);1/16/20236 Program Design in C LanguagePage例例 :计算计算void main()float x,y;printf(送数送数%f:n);scanf(%f,&x);if(x=0)y=3*x+;else y=-x*x+2*x-8;printf(y=%.2fn,y);4.1 用if语句实现选择结构1/16/

6、20237 Program Design in C LanguagePage例例:任意输入两个不相等的数,将大数放入任意输入两个不相等的数,将大数放入X,X,小数放入小数放入Y Y中。中。算法算法:1.定义变量定义变量2.给变量赋初值给变量赋初值3.比较比较x、y,若若xy,直接输出;要么xy,两数交换。4.1 用if语句实现选择结构程序:程序:main()int x,y,t;printf(n请输入两个整数请输入两个整数%d%d:);scanf(%d%d,&x,&y);if(x y)t=x;x=y;y=t;printf(nx=%d,y=%dn,x,y);1/16/20238 Program D

7、esign in C LanguagePage格式三:格式三:多分支结构多分支结构 if()语句语句1;else if()语句语句2;else if()语句语句n-1;else 语句语句n;4.1 用if语句实现选择结构语句执行过程:语句执行过程:先判断条件先判断条件1(1(表达式表达式1)1),若条件,若条件1 1成立,就执行语句成立,就执行语句1 1后,退出该后,退出该ifif结构;结构;否则,再判断条件否则,再判断条件2(2(表达式表达式2)2),若条件,若条件2 2成立,则执行语句成立,则执行语句2 2后,退出该后,退出该ifif结构结构;否则,再判断条件;否则,再判断条件3(3(表达

8、式表达式3)3),若条,若条件件3 3成立,则执行语句成立,则执行语句3 3后,退出该后,退出该ifif结结构;构;。表达式1表达式2表达式3表达式n-1语句n语句n-1.语句3语句2语句1.真真真真假假假假1/16/20239 Program Design in C LanguagePage例例 :计算计算4.1 用if语句实现选择结构程序:程序:#include void main()float x,y;printf(送数送数%f:n);scanf(%f,&x);if(x 0)y=x-7;else if(x=0)y=2;else y=3*x*x;printf(%.2f n,y);1/16/

9、202310 Program Design in C LanguagePage例例2 2:if(a0)if(b0)printf(%d,%dn,a,b);else printf(%dn,a);else if(b0)printf(%dn,b);else printf(n);在在if语句中又包含有一个或多个语句中又包含有一个或多个if语句称为语句称为ifif语句的嵌套语句的嵌套。请说出以下两段程序的功能:请说出以下两段程序的功能:例例1 1:if(a0)if(b0)printf(%d,%dn,a,b);如果如果a,b都是正数都是正数,则则输出输出a,b输出输出a,b中的正数中的正数4.1 用if语句

10、实现选择结构4.1.2 if4.1.2 if语句的嵌套语句的嵌套1/16/202311 Program Design in C LanguagePage为为避避免免错错误误可可用用 将将内内嵌嵌结结构构括括起起来来以以确确定定if与与else的配对关系属内嵌范围。的配对关系属内嵌范围。说明说明:嵌套不允许交叉。嵌套不允许交叉。else与与if必须成对出现,且必须成对出现,且else总是与最近的一个未总是与最近的一个未配对的配对的if配对。配对。4.1 用if语句实现选择结构1/16/202312 Program Design in C LanguagePage例例 :读程序。读程序。main(

11、)int a=2,b=1,c=2;if (a)if(b0)c=0;else c+;printf(%dn,c);main()int a=2,b=1,c=2;if (a)if(b=ca=cmax=cmax=cmax=bmax=bmax=cmax=cYb=cb=cYmax=amax=aa=ba=bNNYN4.1 用if语句实现选择结构1/16/202314 Program Design in C LanguagePage程序程序:main()int a,b,c,max;printf(”请输入三个整数请输入三个整数:%d%d%dn”);scanf(%d%d%d,&a,&b,&c);if (a=b)if

12、 (a=c)max=a;else max=c;else if(b=c)max=b;else max=c;printf(”n最大数为:最大数为:%dn”,max);4.1 用if语句实现选择结构1/16/202315 Program Design in C LanguagePageswitchswitch语句的格式:语句的格式:switch(表达式)(表达式)case :语句:语句1;break;case :语句:语句2;break;case :语句:语句n-1;break;default :语句:语句n;break;4.2 用switch语句实现多分支选择结构1/16/202316 Progr

13、am Design in C LanguagePage说明:说明:表达式:表达式:可以是整型表达式,或字符表达式,或枚举表达式。可以是整型表达式,或字符表达式,或枚举表达式。case常常量量表表达达式式():casecase也也是是关关键键字字。常常量量表表达达式式应应与与switchswitch后后的的表表达达式式类类型型相相同同,且且各各常常量量表表达达式式的的值值不不允许相同。允许相同。语句语句:可省略,或为单语句,或为复合语句。可省略,或为单语句,或为复合语句。default:关关键键字字,可可省省略略,也也可可出出现现在在switch语语句句体体内内的的任任何位置。何位置。4.2 用

14、switch语句实现多分支选择结构1/16/202317 Program Design in C LanguagePagebreakbreak语句语句格式:格式:break;功功能能:强强迫迫终终止止程程序序的的执执行行,即即提提前前退退出出程程序序的执行。的执行。用法:用法:只能用在只能用在switchswitch语句和循环体中。语句和循环体中。4.2 用switch语句实现多分支选择结构1/16/202318 Program Design in C LanguagePageswitch语句语句执行过程:执行过程:执行:执行:若表达式若表达式=常量表达式,常量表达式,则执行语句;则执行语句;

15、若表达式若表达式!=常量表达式,常量表达式,则执行则执行default开始的(语句);开始的(语句);若程序中无若程序中无default开始的语句,开始的语句,则程序语句则程序语句switch相当于一个空程序(语句)。相当于一个空程序(语句)。计算:计算:计算表达式的值。计算表达式的值。判断:判断:表达式的值与常量表达式的值是否相等。表达式的值与常量表达式的值是否相等。4.2 用switch语句实现多分支选择结构1/16/202319 Program Design in C LanguagePage注意:注意:表达式及常数表达式(由常数、符号常量组成的表达表达式及常数表达式(由常数、符号常量组

16、成的表达式)必须为整型,故它们也可用字符表达式。式)必须为整型,故它们也可用字符表达式。case后的常数表达式的值不允许相同。后的常数表达式的值不允许相同。4.2 用switch语句实现多分支选择结构switch语语句句中中若若没没有有default分分支支,则则当当找找不不到到与与表表达式相匹配的的常量表达式时,不执行任何操作。达式相匹配的的常量表达式时,不执行任何操作。例:x=3;switch(x)case 0:printf(“Ture!”)case 1:printf(“False);该该switchswitch语句不执行任何操作语句不执行任何操作1/16/202320 Program D

17、esign in C LanguagePage多个多个case可以共同使用一个语句序列可以共同使用一个语句序列 4.2 用switch语句实现多分支选择结构例:switch(n)case 1:case 3:case 5:case 7:case 9:printf(”奇数奇数 n”);break;case 0:case 2:case 4:case 6:case 8:printf(”偶数偶数 n”);break;该该switch语句中,当语句中,当n=1,3,5,7,9时,输出时,输出“奇数奇数”;当当n=0,2,4,6,8时,输出时,输出“偶数偶数”;1/16/202321 Program Des

18、ign in C LanguagePage例:例:输入一个输入一个0 02 2的数。的数。main()int x;printf(请输入一个请输入一个02的整数的整数:);scanf(%d,&x);switch(x)case 0:printf(输入输入0。n);case 1:printf(输入输入1。n);case 2:printf(输入输入2。n);default:printf(输入错误输入错误!n);程序运行结果:程序运行结果:请输入一个请输入一个02的整数:的整数:1 输入输入1。输入输入2。输入错误输入错误!4.2 用switch语句实现多分支选择结构1/16/202322 Progra

19、m Design in C LanguagePage例例:编程编程计算计算 y y 的值。的值。4.2 用switch语句实现多分支选择结构1/16/202323 Program Design in C LanguagePage#include math.hvoid main()float x,y;int m;printf(请输入请输入 05 之间的数之间的数%fn);scanf(%f,&x);m=floor(x);switch(m)case 0:y=0;break;case 1:y=3*x+5;break;case 2:y=2*sin(x)-1;break;case 3:y=log(1+x*

20、x);break;case 4:y=log10(x*x-2*x)+5;break;default :printf(数据输入错误数据输入错误!n);printf(y=%.2fn,y);4.2 用switch语句实现多分支选择结构程序程序:1/16/202324 Program Design in C LanguagePage例:任意输入两个数,和一个运算符(加、减乘、除),要求输出它们的运算结果。4.2 用switch语句实现多分支选择结构程序如下:程序如下:#include stdio.hvoid main()float shu1,shu2,jieg;char yunsf;printf(”请输

21、入运算符请输入运算符+-*/:n”);yunsf=getchar();printf(”请输入两个数请输入两个数%f%fn”);scanf(%f%f,&shu1,&shu2);switch(yunsf )case +:jieg=shu1+shu2;break;case -:jieg=shu1-shu2;break;case *:jieg=shu1*shu2;break;case /:jieg=shu1/shu2;break;default :printf(运算符输入错误运算符输入错误!n);printf(jieg=%.2f n,jieg);1/16/202325 Program Design i

22、n C LanguagePage说明:左图为条件表达式的流程图。各表达式的类型可不同。条件运算符条件运算符(?:)三目运算符,运算优先级为三目运算符,运算优先级为13,右结合性。,右结合性。条件表达式:条件表达式:由条件运算符构成的表达式。由条件运算符构成的表达式。形式:形式:1?3 4.3 用条件表达式实现选择结构1/16/202326 Program Design in C LanguagePage例:读下列程序,写出运行结果。main()int a=1,b=1,c=1;a+=b;b+=c;c+=a;printf(1)%dn,ab?a:b);printf(2)%dn,ac?a-:c+);(

23、a=b=c)?printf(an):printf(bn);printf(4)%d,%d,%dn,a,b,c);程序运行结果:程序运行结果:(1)2(1)2(2)3(2)3b(4)2,2,4(4)2,2,44.3 用条件表达式实现选择结构1/16/202327 Program Design in C LanguagePage例:例:读下列程序,写出运行结果。读下列程序,写出运行结果。ab?a:cd?c:d 其中其中a=1,b=2,c=3,d=4.运行结果为:运行结果为:4.该表达式等价于该表达式等价于ab?a:(cd?c:d)例:例:用条件运算符表达用条件运算符表达3个数个数a,b,c中的大数。

24、中的大数。思路思路1:先求两个数:先求两个数b,c中的大数:中的大数:bc?b:c再求两个数再求两个数a,(b,c)中的大数:中的大数:a(bc?b:c)?a:(bc?b:c)思路思路2:ab?是,则让是,则让a与与c比较;否,则让比较;否,则让b与与c比较比较 ab?(a c?a:c):(b c?b:c)4.3 用条件表达式实现选择结构1/16/202328 Program Design in C LanguagePage上机实验内容:上机实验内容:熟悉熟悉 if,switch和逗号语句;和逗号语句;实验教程实验教程第第4 4章章 选择结构程序设计选择结构程序设计:实验实验1(1)1(1)、实验、实验2(1)2(1)、实验、实验3(1)3(1)

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com