《算法基本语句课件》由会员分享,可在线阅读,更多相关《算法基本语句课件(27页珍藏版)》请在金锄头文库上搜索。
1、6363中岑光中岑光 几种基本语句条件语句算法基本语句 重点:重点:难点:难点:理解并会用理解并会用IF-ELSE结构。结构。IF-ELSE-IF结构。结构。算法基本语句教学过程教学过程 新课导入新课导入 新课讲解新课讲解 小结小结 作业作业算法基本语句一 、 新 课 导 入教教学学过过程程算法基本语句一、一、简单的简单的IF语句语句二、二、IF-ELSE语句语句三、三、if-else-if语句语句二 、 新 课 讲 解算法基本语句简单的简单的IF语句语句l 格式格式 流程图 例题算法基本语句其语义是:其语义是: 如如果果表表达达式式的的值值为为真真,则则执执行行其其后后的的语语句句,否否则则
2、不不执执行该语句,继续执行主程序。行该语句,继续执行主程序。 注注意意:1 1、这这里里的的表表达达式式通通常常是是逻逻辑辑表表达达式式或或关关系系表表达达式式,例如:例如: if(ab if(ab &ac) &ac) printf(“%d”,a)printf(“%d”,a)或或是是if(aif(a=b)b) printf(“aprintf(“a等等于于b”)b”) 2 2、但但也也可可以以是是其其它它表表达达式式,如如赋赋值值表表达达式式等等,甚甚至至也也可可以以是一个是一个变量变量。例如:。例如: if(a=5) if(a=5) 语句;语句;if(b) if(b) 语句;语句; 3 3、
3、语语句句若若有有多多条条语语句句,则则用用 括括起起来来,且且语语句句后后必必须须有有“;”,而而 后没有后没有“;” 例如:例如:if(ab)a+;b+; if(ab)a+;b+; printf(“%d,%d”,a,b); printf(“%d,%d”,a,b);简单的简单的IF语句格式语句格式IFIF(表达式)语句表达式)语句算法基本语句假真 表达式语句语句算法基本语句max=a;if (max60 printf(“及格”) ;If(小白找小黑玩)printf(“走小路”);If(今天是工作日) printf(“上班”);再如:从键盘上输入两个数,求出它们俩商的相反数。算法基本语句IF-E
4、LSE语句语句 l 格式格式 流程图 例题算法基本语句IF-ELSE语句格式语句格式 if(表达式表达式)语句语句1;else语句语句2;其其语语义义是是:如如果果表表达达式式的的值值为为真真,则则执执行行语语句句1,否则执行语句否则执行语句2。例如:例如:if(x0)printf(“x大于大于0”);elseprintf(“x小于等于小于等于0);或是或是if(小黑在家小黑在家)printf(“找小黑玩找小黑玩”);elseprintf(“找小花玩找小花玩”);算法基本语句 如果小白找小黑玩,小黑在家吗?若在,找小黑玩,不在,就找小花玩。能用C语言来实现吗?可以,用if -else 语句就能
5、完成。 真 假小黑在家吗小黑在家吗找小黑玩找小黑玩找小花玩找小花玩算法基本语句假真 表达式语句语句1语句语句2算法基本语句If (ab) printf(max=%dn,a);else printf(max=%dn,b); 输入两个整数,输出其中的大数。改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。例例2 2:求两个数中较大的一个。求两个数中较大的一个。 算法基本语句if-else-if语句语句 l 格式格式 流程图 例题算法基本语句if-else-if语句格式语句格式 if(表达式表达式1)语句语句1;elseif(表达式表达式2)语句语句2;elseif(表达式表达式
6、3)语句语句3;elseif(表达式表达式m)语句语句m;else语句语句n; 其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n 。 然后继续执行后续程序 。算法基本语句流程图流程图 真 假 假 假 真 真 真 假表达式1表达式2表达式3表达式m语句1语句2语句3语句m语句n算法基本语句例3、编写一程序,根据学生的考分来划分 成绩的优、良、及格和不及格。 对优、良、及格和不及格,我们分别用5、4、3、2四个等级来表示,划分如下: 分数 等级 100-90 5 89-75 4 74-60 3 59
7、-0 2算法基本语句m ma ai in n( () ) i in nt t s so or rc ce e, ,s sn nu um m; ;c ch ha ar r g gr ra ad de e; ;s sc ca an nf f( (“% %d d, ,% %d d”, ,& &s sn nu um m, ,& &s sc co or re e) ); ;i if f( (s sc co or re e 8 89 9) ) g gr ra ad de e= =5 5; ; e el ls se e i if f( (s sc co or re e 7 74 4) ) g gr ra a
8、d de e= =4 4; ;e el ls se e i if f( (s sc co or re e 5 59 9) ) g gr ra ad de e= =3 3; ; e el ls se e g gr ra ad de e= =2 2; ;p pr ri in nt tf f( (“% %d d: :% %c c n n”, ,s sn nu um m, ,g gr ra ad de e) ); ; main()main() int sorce,snum;int sorce,snum;char grade;char grade;scanf(“%d,%d”,&snum,&score);
9、scanf(“%d,%d”,&snum,&score);if(score89)if(score89) grade=5; grade=5; else if(score74) else if(score74) grade=4; grade=4;else if(score59) else if(score59) grade=3;grade=3; else grade=2; else grade=2;printf(“%d:%cn”,snum,grade);printf(“%d:%cn”,snum,grade);算法基本语句例例4.P1语句语句5P2P3P4P5语语句句1语句语句2语句语句4语句语句3Y
10、YYYYNNNN商场促销商场促销,购物购物500元以上元以上,8折折购物购物300元以上元以上,85折折购物购物100元以上元以上,9折折购物购物50元以上元以上,95折折购物购物50元以下元以下,不打折不打折设设:消费量为消费量为money折扣为折扣为cost实际花费实际花费pricen例:根据消费量,计算优惠率。例:根据消费量,计算优惠率。 nif (money500) cost=0.2; nelse if (money300) cost=0.15; n else if (money100) cost=0.1;n else if (money50) cost=0.05;n else cos
11、t=0;nprice=money-(money*cost); (1)(1)在三种形式的在三种形式的ifif语语句中,在句中,在ifif关关键键字之后均字之后均为为表达式。表达式。 该该表达式通常是表达式通常是逻辑逻辑表达式或关系表达式或关系表达式,表达式, 但也可以是其它表达式,如但也可以是其它表达式,如赋值赋值表达表达式等,甚至也可以是一个式等,甚至也可以是一个变变量。例如:量。例如: if(a=5) if(a=5) 语语句;句;if(b) if(b) 语语句;句; 都是允都是允许许的。的。三、小小结结只要表达式的只要表达式的值为值为非非0 0,即,即为为“真真”。如在如在if(a=5)if
12、(a=5);中表达式的中表达式的值值永永远为远为非非0 0,所以其后的所以其后的语语句句总总是要是要执执行的,行的,当然当然这这种情况在程序中不一定会出种情况在程序中不一定会出现现,但在但在语语法上是合法的。法上是合法的。算法基本语句又如,有程序段:又如,有程序段: if(a=b)if(a=b) printf(%d,a); printf(%d,a); else else printf(a=0); printf(a=0); 本本语语句的句的语义语义是,把是,把b b值赋值赋予予a a,如如为为非非0 0则输则输出出该值该值,否否则输则输出出“a=0”a=0”字符串。字符串。这这种用法在程序中是种用法在程序中是经经常出常出现现的的算法基本语句F(2)(2)在if语句中, 条件判断表达式必须用括号括起来, 在语句之后必须加分号。 If(b) printf(“b不是0”);算法基本语句(3)(3)在if语句的三种形式中, 所有的语句应为单个语句, 如果要想在满足条件时执行一组 (多个)语句,则必须把这一组语句 用 括起来组成一个复合语句。 但要注意的是在之后不能再加分号。例如: if(ab) a+; b+; else a=0; b=10; 算法基本语句四 、 作 业算法基本语句