收藏 分销(赏)

C语言教学之选择结构程序设计省公共课一等奖全国赛课获奖课件.pptx

上传人:人****来 文档编号:4153718 上传时间:2024-08-05 格式:PPTX 页数:53 大小:469.32KB
下载 相关 举报
C语言教学之选择结构程序设计省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共53页
C语言教学之选择结构程序设计省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共53页
C语言教学之选择结构程序设计省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共53页
C语言教学之选择结构程序设计省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共53页
C语言教学之选择结构程序设计省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、嘉应学院杨久红嘉应学院杨久红20102010年末年末聪明出于勤奋,天才在于积累 华罗庚1第1页5.1关系运算符和关系表示式5.2逻辑运算符和逻辑表示式5.3if语句5.4switch语句5.5程序举例习题第5章 选择结构程序设计2第2页嘉应学院杨久红嘉应学院杨久红20102010年末年末本章纲领选择结构程序设计(选择结构程序设计(4 4课时)课时)教学内容:教学内容:1.关系运算符和关系表示式2.逻辑运算符及逻辑表示式3.if语句及条件运算符4.switch语句5.选择结构C程序编写3第3页嘉应学院杨久红嘉应学院杨久红20102010年末年末基本要求:基本要求:1.掌握关系运算符与关系表示式;

2、2.掌握逻辑运算符与逻辑表示式;3.掌握if语句几个形式;4.掌握if语句嵌套应用;5.掌握条件运算符应用;6.掌握switch-case语句应用。重点:重点:if语句;选择结构C程序编写难点:难点:选择结构C程序编写4第4页嘉应学院杨久红嘉应学院杨久红20102010年末年末5.1 关系运算符和关系表示式 关系运算:实际上是“比较运算”。将两个值进行比较,判断其比较结果是否符合给定条件。谁会赢?判断题35 ()5第5页嘉应学院杨久红嘉应学院杨久红20102010年末年末5.1.1 关系运算符及其优先次序 (小于)=(小于或等于)(大于)=(大于或等于)=(等于)!=(不等于)1.C语言提供关

3、系运算符种类:高优先级相同低优先级相同6第6页嘉应学院杨久红嘉应学院杨久红20102010年末年末从左向右2.关系运算符优先次序:3.关系运算符结合性:关系运算符算术运算符赋值运算符低高比如:ca+b 等效于c(a+b)a=bc等效于a=(bc)a=bc等效于a=(bc)7第7页嘉应学院杨久红嘉应学院杨久红20102010年末年末5.1.2 关系表示式用关系运算符将两个表示式连接起来式子。表示式能够是:表示式能够是:1.1.算术表示式算术表示式2.2.关系表示式关系表示式3.3.逻辑表示式逻辑表示式4.4.赋值表示式赋值表示式5.5.字符表示式字符表示式比如:ab,abbc,(a=3)(b=5

4、),ab,(ab)(bc)只有两种:真和假,在C语言里分别用1和0 来表示。用用1 1和和0 0来表示原因在来表示原因在于:于:c c语言没有逻辑语言没有逻辑型数据,以型数据,以1 1代表代表“真真”,以,以“0”“0”代表代表“假假”。2.关系表示式结果:1.关系表示式:8第8页嘉应学院杨久红嘉应学院杨久红20102010年末年末例题:假设a=3,b=2,c=1 以下这些表示式结果是什么?比如:ab,abbc,(a=3)(b=5),ab,(ab)(bc)ab 3&890)printf(“优异”);else if(x80)printf(“良”);else if(x70)printf(“中”);

5、else if(x60)printf(“及格”);else printf(“不及格);表示式1真语句1假语句2表示式2真假语句3表示式3真假语句420第20页嘉应学院杨久红嘉应学院杨久红20102010年末年末说明:(1)三种形式if语句中“表示式”,普通为逻辑表示式或关系表示式。表示式类型能够是任意数值类型(包含整型、实型、字符型、指针型数据)(2)第二、第三种形式if语句中,在每个else前面有一分号,整个语句结束处有一分号if(x0)printf(%f,x);else printf(%f,-x);if(a=b&x=y)printf(“a=b,x=y”);if(3)printf(“k”);

6、if(a)printf(“%d,a);21第21页嘉应学院杨久红嘉应学院杨久红20102010年末年末(3)在if和else后面能够只含一个内嵌操作语句,也能够有多个操作语句,此时用花括号“”将几个语句括起来成为一个复合语句。if(abc&bca&cab)s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%6.2f”,area);else printf(“it is not a trilateral”);22第22页嘉应学院杨久红嘉应学院杨久红20102010年末年末例5.1输入两个实数,按代数值由小到大次序输出这两个数。main

7、()float a,b,t;scanf(“%f,%f“,&a,&b);if(ab)t=a;a=b;b=t;printf(“%5.2f,%5.2f“,a,b);3.6,-3.2(回车)-3.20,3.60 开始ab?交换a和b输出a和bYN结束23第23页嘉应学院杨久红嘉应学院杨久红20102010年末年末132酱油(a)醋(b)酱油(a)醋(b)空瓶(t)t=a;酱油空a=b;醋b=t;空酱油空妈妈告诉我,要把酱油和醋交换一下24第24页嘉应学院杨久红嘉应学院杨久红20102010年末年末5.3.2 if语句嵌套if()if()语句1 else语句2 else if()语句3 else语句4在

8、if语句中又包含一个或多个if语句称为if语句嵌套。普通形式以下:if()if()语句1else if()语句2 else 语句3else总是与它上面总是与它上面最近最近if配对配对25第25页嘉应学院杨久红嘉应学院杨久红20102010年末年末例5.3有一函数:编一程序,输入一个x值,输出y值。若 x 0 y=1输出y开始输入xx0 x=0y=0y=-1y=1输入x结束YNYN图5.726第26页嘉应学院杨久红嘉应学院杨久红20102010年末年末程序1:main()int x,y;scanf(“%d,&x);if(x0y=1y=0YNYNy=-128第28页嘉应学院杨久红嘉应学院杨久红20

9、102010年末年末5.3.3 条件运算符例:若有以下if语句:if(ab)max=a;elsemax=b;能够用下面条件运算符来处理:max=(ab)?ab;若若ifif语句中,在语句中,在表示式为表示式为“真真”和和“假假”时,都时,都只执行一个赋值只执行一个赋值语句且给同一个语句且给同一个变量赋值变量赋值时,能时,能够用简单条件运够用简单条件运算符来处理。算符来处理。29第29页嘉应学院杨久红嘉应学院杨久红20102010年末年末 表示式1?表示式2表示式31.条件表示式普通形式:c语言中唯语言中唯一一个三目一一个三目运算符运算符2.条件运算符执行次序:先求解表示式1,(1)若表示式1值

10、为非0(真)则求解表示式2,此时表示式2值就作为整个条件表示式值。(2)若表示式1值为0(假),则求解表示式3,表示式3值就是整个条件表示式值。表示式1条件表示式取表示式2值条件表示式取表示式3值真假图5.1130第30页嘉应学院杨久红嘉应学院杨久红20102010年末年末关系运算符算术运算符赋值运算符低高&!(非)假如有ab?ab1相当于ab?a(b1)3.条件运算符优先级|条件运算符条件运算符31第31页嘉应学院杨久红嘉应学院杨久红20102010年末年末4.条件运算符结合方向“自右至左”假如有以下条件表示式:ab?acd?cd相当于ab?a(cd?cd)假如a=1,b=2,c=3,d=4

11、,则条件表示式值等于多少?432第32页嘉应学院杨久红嘉应学院杨久红20102010年末年末5.说明:如 x?abx是整型变量,若x=0,则条件表示式值为b。如 xy?115假如x=A&ch=Z)?(ch+32)ch;printf(“%c,ch)A(回车)a35第35页嘉应学院杨久红嘉应学院杨久红20102010年末年末5.4 switch 语 句switch语句是多分支选择语句。用来实现如图所表示多分支选择结构。表示式语句A语句B语句M语句Np=p1p=p2p=pnp=pmswitch结构结构只能对等式只能对等式进行测试。进行测试。36第36页嘉应学院杨久红嘉应学院杨久红20102010年末

12、年末1.普通形式:switch(表示式)case常量表示式1:语句1 case常量表示式2:语句2 case常量表示式n:语句n default :语句n1 是整型、字符型或枚是整型、字符型或枚举类型表示式,举类型表示式,casecase后面常量表示式类型后面常量表示式类型必须与之匹配。必须与之匹配。每一个每一个casecase常量表示式常量表示式值必须互不值必须互不相同,不然相同,不然就会出现相就会出现相互矛盾现象互矛盾现象37第37页嘉应学院杨久红嘉应学院杨久红20102010年末年末比如,要求按照考试成绩等级打印出百分制分数段switch(grade)caseAprintf(85100n

13、);caseBprintf(7084n);caseCprintf(6069n);caseDprintf(60n);defaultprintf(errorn);38第38页嘉应学院杨久红嘉应学院杨久红20102010年末年末main()char grade;scanf(%c,&grade);switch(grade)case A:printf(85100n);case B:printf(7084n);case C:printf(6069n);case D:printf(60n);default:printf(errorn);完整程序:A(回车)851007084606960errorB(回车)7

14、084606960error不会吧?不会吧?39第39页嘉应学院杨久红嘉应学院杨久红20102010年末年末main()char grade;scanf(%c,&grade);switch(grade)case A:printf(“85100n”);break;case B:printf(“7084n”);break;case C:printf(“6069n”);break;case D:printf(“0输出两个实根x1,x2输出两个复根p+qip-qi复根实部和虚部分别为:真假45第45页嘉应学院杨久红嘉应学院杨久红20102010年末年末#include main()float a,b,

15、c,d,disc,x1,x2,realpart,imagpart;scanf(f,f,f,&a,&b,&c);printf(The equation);if(fabs(a)=le-6)printf(is not a quadratic);elsedisc=b*b-4*a*c;if(fabs(disc)=le-6)printf(has two equal roots:%8.4n,-b(2*a);程序以下:a=0 判断b2-4ac=0 判断fabs()是求实数绝对值函数46第46页嘉应学院杨久红嘉应学院杨久红20102010年末年末else if(discle-6)x1=(-bsqrt(disc)

16、(2*a);x2=(-b-sqrt(disc)(2*a);printf(has distinct real roots:%8.4f and%8.4fn,x1,x2);else realpart=-b(2*a);imagpart=sqrt(-disc)(2*a);printf(has comPlex rootsn);printf(%8.4f+%8.4fin,realpart,imagpart);printf(%8.4f-%8.4fin,realpart,imagpart);10-60-10-6=00=3000)c=12;elsec=s250;switch(c)case 0d=0;break;ca

17、se 1d=2;break;case 2 程序以下:51第51页嘉应学院杨久红嘉应学院杨久红20102010年末年末 case 3d=5;break;case 4 case 5 case 6 case 7d=8;break;case 8 case 9 case 10 case 11d=10;break;case12d=15;break;f=p*w*s*(1-d100.0);printf(freight=15.4f,f);100,20,300freight=588000.000052第52页嘉应学院杨久红嘉应学院杨久红20102010年末年末第二次上机题目名称:循环控制内容:5.4 (注意:不是排序),5.5 (P111),5.7(选做)目:(1)正确使用逻辑运算符和逻辑表达式(2)熟练掌握if语句和switch语句。(3)练习画流程图。(4)进一步学习调试程序。53第53页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服