(中职)编程基础——C语言项目四选择结构程序设计教学课件().pptx

上传人:春哥&#****71; 文档编号:90570423 上传时间:2023-05-15 格式:PPTX 页数:32 大小:638.69KB
返回 下载 相关 举报
(中职)编程基础——C语言项目四选择结构程序设计教学课件().pptx_第1页
第1页 / 共32页
(中职)编程基础——C语言项目四选择结构程序设计教学课件().pptx_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《(中职)编程基础——C语言项目四选择结构程序设计教学课件().pptx》由会员分享,可在线阅读,更多相关《(中职)编程基础——C语言项目四选择结构程序设计教学课件().pptx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、(中职)编程基础C语言项目四选择结构程序设计教学课件(工信版)项目四选择结构程序设计任务8 A比a大吗?关系表达式任务9 闰年的表示逻辑表达式任务10 儿童票售票提示if选择语句任务11 打印成绩等级switch多分支语句任务8 A比a大吗?关系表达式任务描述:编写程序,比较C语言中字母A和字母a的大小。任务分析:在本任务中,要比较两个值的大小需要用到关系运算符。在C语言中,所谓关系运算就是进行比较的运算:将两个值进行比较,判断其是否符合给定的条件。若符合,则为真(结果为1),否则为假(结果为0)。4.1关系运算符及其优先级运算符含义优先级结合方向大于6自左至右=大于或等于6自左至右小于6自左

2、至右=”、“=”、“=”、和“!=”与数学中对应的运算符写法不同,要注意区分。(2)关系运算符被分为两种优先级,前四种高于后两种。关系运算符的优先级低于算术运算符,高于赋值运算符。(3)当相同优先级的关系运算符同时出现时,从左至右进行运算。任务8 A比a大吗?关系表达式4.2关系表达式用关系运算符将两个表达式连接起来的式子称为关系表达式。关系表达式的值是一个逻辑值,即“真”和“假”。C语言没有逻辑型数据,以“1”代表“真”,以“0”代表“假”。若有定义语句:a=1,b=2,c=3;则:ab为真,值为1。d=cbad的值为0。任务8 A比a大吗?关系表达式#includemain()inta,b

3、,c;a=Aa;b=A=a;c=Aa;printf(%d,%d,%d,a,b,c);任务8 A比a大吗?关系表达式任务实施:任务8 A比a大吗?关系表达式任务总结:u关系表达式可以像本任务中这样赋值给一个变量,也可以作为条件判断单独使用。u在使用关系运算符时要注意其与数学中运算符写法的不同。任务拓展:将“知识准备”中的例子在软件中进行验证,更好地理解掌握关系表达式的使用。任务9 闰年的表示逻辑表达式任务描述:闰年分为普通闰年和世纪闰年:(1)普通闰年:年份是4的倍数,且不是100的倍数。(2)世纪闰年:年份是400的倍数。请用C语言逻辑表达式来表示闰年。任务分析:在本任务中,需要用到逻辑表达式

4、。要将文字描述转化成C语言的逻辑表达式,需要先来认识逻辑运算符。4.3逻辑运算符及其优先级表4-2 C语言中的逻辑运算符任务9 闰年的表示逻辑表达式运算符含义优先级结合方向&逻辑与11自左至右|逻辑或12自左至右!逻辑非2自右至左4.3逻辑运算符及其优先级(1)“&”和“|”为双目运算符,“!”为单目运算符。(2)三种逻辑运算符优先级都不相同,“!”最高,“&”高于“|”。逻辑运算符的优先级高于赋值运算符。(3)当相同优先级的逻辑运算符同时出现时,“&”和“|”是从左至右进行运算,而“!”是从右至左进行运算。任务8 A比a大吗?关系表达式4.4逻辑表达式用逻辑运算符连接若干个表达式组成的式子称

5、为逻辑表达式。与关系表达式一样,逻辑表达式的值也是一个逻辑值,即“真”和“假”,以“1”代表“真”,以“0”代表“假”。但在判断一个量是否为“真”时,以“0”代表“假”,以非0代表“真”。1.求值规则a&b若a、b同时为真,则a&b为真,值为1。a|b若a、b之一为真,则a|b为真,值为1。!a若a为真,则!a为假,值为0。任务9 闰年的表示逻辑表达式4.4逻辑表达式2.求值策略按照求值规则,逻辑与和逻辑或表达式应该从左至右依次计算各表达式的值,但实际上并不一定从左至右运算到底,当表达式的值能够确定的时候运算就应该停止。(1)a&b&c若a为假,则整个表达式为假,就不必判断b和c的值;若a为真

6、,b为假,则整个表达式也为假,就不必判断c的值。(2)a|b|c若a为真,则整个表达式为真,就不必判断b和c的值;若a为假,b为真,则整个表达式也为真,就不必判断c的值。任务9 闰年的表示逻辑表达式#includemain()intyear;printf(输入一个年份:);scanf(%d,&year);if(year%4=0)&(year%100!=0)|(year%400=0)/*if语句判断是否满足条件*/printf(%d年是闰年,year);elseprintf(%d年是平年,year);/*如对非闰年不做要求,可省略此句*/任务实施:任务9 闰年的表示逻辑表达式任务总结:u能够将实

7、际问题的文字描述转换成正确的逻辑表达式是本任务的重点u在逻辑运算中,需要综合运用运算符的优先级、结合性、求值规则以及求值策略。任务拓展:1.用逻辑表达式表示1b)t=a;a=b;b=t;printf(%d,a);4.5if语句的三种形式任务10 儿童票售票提示if选择语句2.ifelse语句语句格式:if(表达式)语句1;else语句2;执行过程如图所示:先判断表达式,如果表达式为真,则执行语句1,否则执行语句2。4.5if语句的三种形式任务10 儿童票售票提示if选择语句3.if语句的嵌套(1)当实际运用中面临两种以上的选择时,把ifelse语句稍加扩展就能满足需求。其一般形式为:if(表达

8、式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;elseif(表达式m)语句m;else语句n;4.5if语句的三种形式任务10 儿童票售票提示if选择语句(2)一条if语句中可以包含另一条if语句,称为if语句的嵌套。在嵌套的if语句中,else与它前面最近的if配对,除非用花括号来改变。格式1:if(表达式)if(表达式)语句1;else语句2;格式2:if(表达式)if(表达式)语句1;else语句2;4.5if语句的三种形式任务10 儿童票售票提示if选择语句配对关系不同,程序运行结果就不同,试比较以下两个程序段的输出结果。程序段1:if(score=60

9、)if(score=60)if(scorey?x:y;先计算xy是否为真,如果为真,则把x的值赋给max,否则将y的值赋给max。(2)条件运算符的结合性为右结合性,即自右向左进行计算。max=xy?x:yz?y:z;等价于max=xy?x:(yz?y:z);#includemain()floath;printf(请输入儿童身高(米):);scanf(%f,&h);if(h1.2)printf(免票!);elseif(h=1.5)printf(请购买半价票!);elseprintf(请购买全价票!);任务实施:任务10 儿童票售票提示if选择语句任务总结:u多个if结构并列,有执行多个分支的可

10、能性u基本的ifelse结构以及扩展的ifelse结构只能根据条件执行其中的一个分支u使用ifelse的嵌套结构要仔细确定好if与else的配对。任务拓展:1.从键盘输入3个数,判断能否构成三角形,如果能,则输出该三角形的形状信息(等边、等腰、任意三种情况),否则输出提示。2.从键盘上输入3个数,按照从大到小的顺序输出。3.从键盘输入一个字母,判断它是否为大写英文字母,若是,转换成对应的小写字母,否则原样输出(用条件表达式实现)。任务10 儿童票售票提示if选择语句任务描述:编写程序,当输入学生的考试成绩(百分制)后,输出学生的成绩等级:90分及以上为优,80-89分为良,70-79分为中,6

11、0-69分为及格,60分以下为不及格。任务分析:在本任务中,程序面临多重选择,使用if嵌套语句可以实现多重选择,但是嵌套层次过多,这时使用switch多分支语句更为方便。任务11 打印成绩等级switch多分支语句4.7switch多分支语句任务11 打印成绩等级switch多分支语句switch(表达式)case常量表达式1:语句序列1;break;case常量表达式2:语句序列2;break;case常量表达式n:语句序列n;break;default:语句序列n+1;4.7switch多分支语句任务11 打印成绩等级switch多分支语句switch语句的工作过程是:先计算switch括

12、号中表达式的值,如果它与某一case后的常量表达式的值相等,则执行这个case常量后的语句序列,遇到break语句后,跳出switch结构,执行switch结构后的语句。若表达式的值与所有case后的常量都不相等,则执行default(如果有)后的语句序列。#includemain()floatscore;intx;printf(请输入成绩:);scanf(%f,&score);x=score/10;switch(x)case10:case9:printf(优n);break;case8:printf(良n);break;case7:printf(中n);break;case6:printf(

13、及格n);break;default:printf(不及格n);任务实施:任务11 打印成绩等级switch多分支语句任务总结:u本任务使用switch语句实现了五重分支结构,break语句作用非常关键,使程序能及时跳出switch结构。任务拓展:编写一个程序,能够对两个操作数进行基本的四则运算,例如从键盘上输入“3+5”时,输出“15”,当除数为0时,输出提示“除数不能为零!”。任务11 打印成绩等级switch多分支语句(1)关系表达式和逻辑表达式均可用于判断,前者适合单个条件的简单判断,后者可将多个简单判断联合构成复杂的判断。这两种表达式的值均为“真”或“假”,在C语言中使用数值1和0来表示的。(2)使用关系表达式和逻辑表达式时要注意与数学上表达方式的不同,多个运算符同时使用时要注意优先级和结合性。(3)多个if结构并列,有执行多个分支的可能性,基本的ifelse结构以及扩展的ifelse结构只能根据条件执行其中的一个分支,要根据需要灵活选用。ifelse的嵌套结构要仔细确定好if与else的配对。(4)当程序面临多重选择时,选用switch多分支语句更为方便。项目总结

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

当前位置:首页 > 教育专区 > 初中资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁