1 / 27

广州市 63 中 岑光

广州市 63 中 岑光. 几种基本语句 条件语句. 重点:. 理解并会用 IF----ELSE 结构。. 难点:. IF----ELSE----IF 结构。. 教学过程. 新课导入 新课讲解 小结 作业. 教学过程. 一、新课导入. 小白的家. 小黑的家. 二、新课讲解. 一、 简单的 IF 语句. 二、 IF----ELSE 语句. 三、 if-else-if 语句. 简单的 IF 语句. 格式. 流程图 例题. 简单的 IF 语句格式. IF ( 表达式)语句. 其语义是:

chavez
Download Presentation

广州市 63 中 岑光

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 广州市63中 岑光 几种基本语句 条件语句

  2. 重点: 理解并会用 IF----ELSE结构。 难点: IF----ELSE----IF结构。

  3. 教学过程 新课导入 新课讲解 小结 作业

  4. 教学过程 一、新课导入 小白的家 小黑的家

  5. 二、新课讲解 一、简单的IF语句 二、IF----ELSE语句 • 三、if-else-if语句

  6. 简单的IF语句 • 格式 • 流程图 • 例题

  7. 简单的IF语句格式 IF(表达式)语句 其语义是: 如果表达式的值为真,则执行其后的语句,否则不执行该语句,继续执行主程序。 注意:1、这里的表达式通常是逻辑表达式或关系表达式,例如: if(a>b &&a>c) printf(“%d”,a)或是if(a==b) printf(“a等于b”) 2、但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句;if(b) 语句; 3、 语句若有多条语句,则用{ }括起来,且语句后必须有“;”,而}后没有“;” 例如:if(a>b){a++;b++;} printf(“%d,%d”,a,b);

  8. 小白找小黑玩吗 假 真 表达式 真 走小路 语句

  9. 例1:求两个数中的较大数 max=a;if (max<b) max=b;printf("max=%d",max); 本例程序中,输入两个数a,b,把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。

  10. 这类的例子很多 • if(成绩)>60 printf(“及格”) ; • If(小白找小黑玩)printf(“走小路”); • If(今天是工作日) printf(“上班”); • 再如:   从键盘上输入两个数,求出它们俩商的相反数。

  11. IF----ELSE语句 • 格式 • 流程图 • 例题

  12. IF----ELSE语句格式 if(表达式) 语句1; else 语句2; 其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。 例如:if(x>0) printf(“x大于0”); else printf(“x小于等于0); 或是if(小黑在家) printf(“找小黑玩”); else printf(“找小花玩”);

  13. 如果小白找小黑玩,小黑在家吗?若在,找小黑玩,不在,就找小花玩。能用C语言来实现吗?可以,用if ----else 语句就能完成。 真假 小黑在家吗 找小黑玩 找小花玩

  14. 假 真 表达式 语句2 语句1

  15. 例2:求两个数中较大的一个。 If (a>b) printf("max=%d\n",a);else printf("max=%d\n",b); 输入两个整数,输出其中的大数。改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。

  16. if-else-if语句 • 格式 • 流程图 • 例题

  17. if-else-if语句格式 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; … else if(表达式m) 语句m; else语句n; 其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n 。 然后继续执行后续程序 。

  18. 流程图 表达式1 表达式2 表达式3 表达式m 语句1 语句3 语句2 语句n 语句m 真 假 假 假 真 真 真 假

  19. 例3、编写一程序,根据学生的考分来划分 成绩的优、良、及格和不及格。 对优、良、及格和不及格,我们分别用5、4、3、2四个等级来表示,划分如下: 分数 等级 100-90 5 89-75 4 74-60 3 59-0 2

  20. main() {int sorce,snum; char grade; scanf(“%d,%d”,&snum,&score); if(score>89) grade=’5’; else if(score>74) grade=’4’; else if(score>59) grade=’3’; else grade=’2’; printf(“%d:%c\n”,snum,grade);} main() {int sorce,snum; char grade; scanf(“%d,%d”,&snum,&score); if(score>89) grade=’5’; else if(score>74) grade=’4’; else if(score>59) grade=’3’; else grade=’2’; printf(“%d:%c\n”,snum,grade);}

  21. P1 N Y P2 N P3 Y N Y P4 N Y P5 Y 语句1 语句2 语句3 语句4 语句5  例4. 商场促销, 购物500元以上,8折 购物300元以上,85折 购物100元以上,9折 购物50 元以上,95折 购物50元以下,不打折 设:消费量为 money 折扣为 cost 实际花费 price

  22. 例:根据消费量,计算优惠率。 • if (money>500) cost=0.2; • else if (money>300) cost=0.15; • else if (money>100) cost=0.1; • else if (money>50) cost=0.05; • else cost=0; • price=money-(money*cost);

  23. 三、小结 (1)在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句;if(b) 语句; 都是允许的。 。 只要表达式的值为非0,即为“真”。 如在if(a=5)…;中表达式的值永远为非0, 所以其后的语句总是要执行的, 当然这种情况在程序中不一定会出现, 但在语法上是合法的。

  24. 又如,有程序段: if(a=b) printf("%d",a); else printf("a=0"); 本语句的语义是,把b值赋予a, 如为非0则输出该值, 否则输出“a=0”字符串。 这种用法在程序中是经常出现的

  25. (2)在if语句中, 条件判断表达式必须用括号括起来, 在语句之后必须加分号。 If(b) printf(“b不是0”);

  26. (3)在if语句的三种形式中, 所有的语句应为单个语句, 如果要想在满足条件时执行一组 (多个)语句,则必须把这一组语句 用{} 括起来组成一个复合语句。 但要注意的是在}之后不能再加分号。例如:if(a>b){ a++; b++;} else{ a=0; b=10; }

  27. 四、作业

More Related