Post on 04-Jan-2016
description
广州市广州市 6363 中 岑光中 岑光
几种基本语句
条件语句
重点:重点:
难点:难点:
理解并会用IF----ELSE 结构。
理解并会用IF----ELSE 结构。
IF----ELSE----IF结构。
IF----ELSE----IF结构。
教学过程教学过程
新课导入
新课讲解
小结
作业
一、新课导入
教学过程教学过程
一、简单的IF语句
二、 IF----ELSE语句
三、 if-else-if语句
二、新课讲解二、新课讲解
简单的简单的 IFIF 语句语句
格式• 流程图• 例题
其语义是: 如果表达式的值为真,则执行其后的语句,否则不执行该语句,继续执
行主程序。 注意: 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 (表达式)语句
假假
真 真 表达
式
语句
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 :求两个数中的较大数:求两个数中的较大数
这类的例子很多这类的例子很多 if(成绩)>60 printf(“ 及格”) ; If(小白找小黑玩) printf(“ 走小路”);
If(今天是工作日) printf(“ 上班”); 再如: 从键盘上输入两个数,求出它们俩商的相反数。
IF----ELSEIF----ELSE 语句 语句
格式• 流程图• 例题
IF----ELSEIF----ELSE 语句格式语句格式 if( 表达式 ) 语句 1 ; else 语句 2 ; 其语义是:如果表达式的值为真,则执行语句 1 ,
否则执行语句 2 。 例如: if(x>0) printf(“x 大于 0”);
else printf(“x 小于等于 0);
或是 if( 小黑在家 ) printf(“ 找小黑玩” );
else printf(“ 找小花玩” );
如果小白找小黑玩,小黑在家吗?若在,找小黑玩,不在,就找小花玩。能用 C 语言来实现吗?可以,用 if ----else 语句就能完成。
真 假小黑在家吗
找小黑玩找小黑玩 找小花玩找小花玩
假假 真 真
表达式
语句 1语句 2
If (a>b) printf("max=%d\n",a);else printf("max=%d\n",b);
输入两个整数,输出其中的大数。改用if-else 语句判别 a,b 的大小,若 a 大,则输出 a,否则输出b。
例例 22 ::求两个数中较大的一个。求两个数中较大的一个。
if-else-ifif-else-if 语句语句
格式• 流程图• 例题
if-else-ifif-else-if 语句格式语句格式 if( 表达式 1) 语句 1 ; else if( 表达式 2) 语句 2 ; else if( 表达式 3) 语句 3 ; … else if( 表达式 m) 语句 m ; else 语句 n ; 其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对
应的语句。然后跳到整个 if 语句之外继续执行程序。 如果所有的表达式均为假,则执行语句 n 。 然后继续执行后续程序 。
流程图
真 假 假 假 真 真
真 假
表达式1
表达式2
表达式3
表达式m
语句 1 语句 2 语句 3语句 m 语句 n
例例 33 、编写一程序,根据学生的考分来划、编写一程序,根据学生的考分来划分 成绩的优、良、及格和不及格。分 成绩的优、良、及格和不及格。
对优、良、及格和不及格,我们分别用 5 、4 、 3 、 2 四个等级来表示,划分如下:
分数 等级 100-90 5 89-75 4 74-60 3 59-0 2
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);}
例 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
例:根据消费量,计算优惠率。 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);
(1) 在三种形式的 if语句中,在 if关键字之 后均为表达式。该表达式通常是逻辑表达式或
关系表达式,但也可以是其它表达式,如赋值 表达式等,甚至也可以是一个变量。例如:
if(a=5) 语句; if(b) 语句;都是允许的。
。
三、三、小结小结
只要表达式的值为非 0,即为“真”。如在 if(a=5)…;中表达式的值永远为非 0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
只要表达式的值为非 0,即为“真”。如在 if(a=5)…;中表达式的值永远为非 0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
又如,有程序段: 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”字符串。
这种用法在程序中是经常出现的
(2) 在 if 语句中,
条件判断表达式必须用括号括起来,
在语句之后必须加分号。 If(b)
printf(“b 不是 0”);
(2) 在 if 语句中,
条件判断表达式必须用括号括起来,
在语句之后必须加分号。 If(b)
printf(“b 不是 0”);
(3) 在 if 语句的三种形式中, 所有的语句应为单个语句, 如果要想在满足条件时执行一组 ( 多个 ) 语句,则必须把这一组语句 用 {} 括起来组成一个复合语句。 但要注意的是在 } 之后不能再加分号。例如: if(a>b){ a++; b++; } else{ a=0; b=10; }
(3) 在 if 语句的三种形式中, 所有的语句应为单个语句, 如果要想在满足条件时执行一组 ( 多个 ) 语句,则必须把这一组语句 用 {} 括起来组成一个复合语句。 但要注意的是在 } 之后不能再加分号。例如: if(a>b){ a++; b++; } else{ a=0; b=10; }
四、作业四、作业