27
广广广 广广广 63 63 广 广广 广 广广 广广广广广广 广广广广

广州市 63 中 岑光

  • Upload
    chavez

  • View
    97

  • Download
    4

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: 广州市 63 中 岑光

广州市广州市 6363 中 岑光中 岑光

几种基本语句

条件语句

Page 2: 广州市 63 中 岑光

重点:重点:

难点:难点:

理解并会用IF----ELSE 结构。

理解并会用IF----ELSE 结构。

IF----ELSE----IF结构。

IF----ELSE----IF结构。

Page 3: 广州市 63 中 岑光

教学过程教学过程

新课导入

新课讲解

小结

作业

Page 4: 广州市 63 中 岑光

一、新课导入

教学过程教学过程

Page 5: 广州市 63 中 岑光

一、简单的IF语句

二、 IF----ELSE语句

三、 if-else-if语句

二、新课讲解二、新课讲解

Page 6: 广州市 63 中 岑光

简单的简单的 IFIF 语句语句

格式• 流程图• 例题

Page 7: 广州市 63 中 岑光

  其语义是: 如果表达式的值为真,则执行其后的语句,否则不执行该语句,继续执

行主程序。 注意: 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);

简单的简单的 IFIF 语句格式语句格式IF (表达式)语句IF (表达式)语句

Page 8: 广州市 63 中 岑光

假假

真 真 表达

语句

Page 9: 广州市 63 中 岑光

  max=a;if (max<b) max=b;printf("max=%d",max);

本例程序中,输入两个数 a,b,把 a 先赋予变量 max,再用 if语句判别 max和 b 的大小,如 max小于 b,则把 b 赋予 max。因此 max中总是大数,最后输出max的值。

例例 11 :求两个数中的较大数:求两个数中的较大数

Page 10: 广州市 63 中 岑光

这类的例子很多这类的例子很多 if(成绩)>60 printf(“ 及格”) ; If(小白找小黑玩) printf(“ 走小路”);

If(今天是工作日) printf(“ 上班”); 再如:  从键盘上输入两个数,求出它们俩商的相反数。

Page 11: 广州市 63 中 岑光

IF----ELSEIF----ELSE 语句 语句

格式• 流程图• 例题

Page 12: 广州市 63 中 岑光

IF----ELSEIF----ELSE 语句格式语句格式 if( 表达式 ) 语句 1 ; else 语句 2 ; 其语义是:如果表达式的值为真,则执行语句 1 ,

否则执行语句 2 。 例如: if(x>0) printf(“x 大于 0”);

else printf(“x 小于等于 0);

或是 if( 小黑在家 ) printf(“ 找小黑玩” );

else printf(“ 找小花玩” );

Page 13: 广州市 63 中 岑光

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

真 假小黑在家吗

找小黑玩找小黑玩 找小花玩找小花玩

Page 14: 广州市 63 中 岑光

假假 真 真

表达式

语句 1语句 2

Page 15: 广州市 63 中 岑光

 

If (a>b) printf("max=%d\n",a);else printf("max=%d\n",b);

输入两个整数,输出其中的大数。改用if-else 语句判别 a,b 的大小,若 a 大,则输出 a,否则输出b。

例例 22 ::求两个数中较大的一个。求两个数中较大的一个。

Page 16: 广州市 63 中 岑光

if-else-ifif-else-if 语句语句

格式• 流程图• 例题

Page 17: 广州市 63 中 岑光

if-else-ifif-else-if 语句格式语句格式 if( 表达式 1) 语句 1 ; else if( 表达式 2) 语句 2 ; else if( 表达式 3) 语句 3 ; … else if( 表达式 m) 语句 m ; else 语句 n ; 其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对

应的语句。然后跳到整个 if 语句之外继续执行程序。 如果所有的表达式均为假,则执行语句 n  。 然后继续执行后续程序 。

Page 18: 广州市 63 中 岑光

流程图

真 假 假 假 真 真

真 假

表达式1

表达式2

表达式3

表达式m

语句 1 语句 2 语句 3语句 m 语句 n

Page 19: 广州市 63 中 岑光

例例 33 、编写一程序,根据学生的考分来划、编写一程序,根据学生的考分来划分 成绩的优、良、及格和不及格。分 成绩的优、良、及格和不及格。

对优、良、及格和不及格,我们分别用 5 、4 、 3 、 2 四个等级来表示,划分如下:

分数 等级 100-90 5 89-75 4 74-60 3 59-0 2

Page 20: 广州市 63 中 岑光

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);}

Page 21: 广州市 63 中 岑光

 例 4.

P1

语句 5

P2

P3

P4

P5

语句 1 语句 2 语句 4语句 3

Y

Y

Y

Y

Y

N

N

N

N

商场促销 ,购物 500 元以上 ,8 折购物 300 元以上 ,85折购物 100 元以上 ,9 折购物 50 元以上 ,95折购物 50 元以下 , 不打折设 : 消费量为 money 折扣为 cost 实际花费 price

Page 22: 广州市 63 中 岑光

例:根据消费量,计算优惠率。 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);

Page 23: 广州市 63 中 岑光

  (1)    在三种形式的 if语句中,在 if关键字之 后均为表达式。该表达式通常是逻辑表达式或

关系表达式,但也可以是其它表达式,如赋值 表达式等,甚至也可以是一个变量。例如:

if(a=5) 语句; if(b) 语句;都是允许的。

三、三、小结小结

只要表达式的值为非 0,即为“真”。如在 if(a=5)…;中表达式的值永远为非 0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。

只要表达式的值为非 0,即为“真”。如在 if(a=5)…;中表达式的值永远为非 0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。

Page 24: 广州市 63 中 岑光

又如,有程序段: if(a=b)

printf("%d",a); else

printf("a=0"); 本语句的语义是,把 b 值赋予 a ,

如为非 0则输出该值,否则输出“ a=0”字符串。

这种用法在程序中是经常出现的

又如,有程序段: if(a=b)

printf("%d",a); else

printf("a=0"); 本语句的语义是,把 b 值赋予 a ,

如为非 0则输出该值,否则输出“ a=0”字符串。

这种用法在程序中是经常出现的

Page 25: 广州市 63 中 岑光

(2) 在 if 语句中,

条件判断表达式必须用括号括起来,

在语句之后必须加分号。   If(b)

 printf(“b 不是 0”);

(2) 在 if 语句中,

条件判断表达式必须用括号括起来,

在语句之后必须加分号。   If(b)

 printf(“b 不是 0”);

Page 26: 广州市 63 中 岑光

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

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

Page 27: 广州市 63 中 岑光

 四、作业四、作业