条件语句

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例:根据消费量,计算优惠率。 根据消费量,计算优惠率。 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);
三 、
小 结
在三种形式的if语句中, if关键字之后 if语句中 (1) 在三种形式的if语句中,在if关键字之后 均为表达式。 均为表达式。 该表达式通常是逻辑表达式或关 系表达式, 但也可以是其它表达式,如赋值表 系表达式, 但也可以是其它表达式, 达式等,甚至也可以是一个变量。例如: 达式等,甚至也可以是一个变量。例如: 语句; 语句; 都是允许的。 if(a=5) 语句;if(b) 语句; 都是允许的。
这类的例子很多
if(成绩)>60 printf(“及格”) ; If(小白找小黑玩)printf(“走小路”); If(今天是工作日) printf(“上班”); 再如: 从键盘上输入两个数,求出它们俩 商的相反数。
IF----ELSE语句 IF----ELSE语句
格式
• 流程图 • 例题
IF----ELSE语句格式 IF----ELSE语句格式
(2)在if语句中, (2)
条件判断表达式必须用括号 括起来, 在语句之后必须加分号。 If(b) printf(“b不是0”);
(3)在if语句的三种形式中, (3) 所有的语句应为单个语句, 如果要想在满足条件时执行一组 (多个)语句,则必须把这一组语句 用{} 括起来组成一个复合语句。 但要注意的是在}之后不能再加分号。 例如: if(a>b){ a++; b++; } else{ a=0; b=10; }
if-else-if语句 if-else-if语句
格式
• 流程图 • 例题
if-else-if语句格式 if-else-if语句格式
if(表达式 表达式1) 表达式 语句1; 语句 ; else if(表达式 表达式2) 表达式 语句2; 语句 ; else if(表达式 表达式3) 表达式 语句3; 语句 ; … else if(表达式 表达式m) 表达式 语句m; 语句 ; else语句 ; 语句n; 语句
几种基本语句
条件语句
广பைடு நூலகம்市63中 广州市63中 岑光
重点: 重点:
理解并会用 IF----ELSE结构。 结构。 结构
难点: 难点:
IF----ELSE----IF 结构。 结构。
教学过程
新课导入 新课讲解 小结 作业
教学过程
一 、 新 课 导 入
二 、 新 课 讲 解
一、简单的IF语句 简单的 语句 二、IF----ELSE语句 语句
四 、 作 业

又如,有程序段: 又如,有程序段: if(a=b) printf("%d",a); else printf("a=0"); 本语句的语义是, 值赋予a 本语句的语义是,把b值赋予a, 如为非0则输出该值, 如为非0则输出该值, 否则输出“a=0”字符串 字符串。 否则输出“a=0 字符串。 这种用法在程序中是经常出现的
注意:1、这里的表达式通常是逻辑表达式或关系表达式, 通常是逻辑表达式或关系表达式 逻辑表达式或关系表达式, 注意:
例如: 例如: printf(“% ,a) ,a)或是if(a== ==b) printf(“a等于b ) if(a>b &&a>c) printf( %d”,a) 或是 if(a==b) printf( a 等于 b”) 但也可以是其它表达式, 赋值表达式等 2、但也可以是其它表达式,如赋值表达式等,甚至也可以 变量。 语句; 是一个变量 例如: if(a=5 语句; 是一个变量。例如: if(a=5) 语句;if(b) 语句; 括起来, 3、 语句若有多条语句,则用{ }括起来,且语句后必须 有“;”,而}后没有“;” 后没有“ 例如:if(a>b){a++;b++; 例如:if(a>b){a++;b++;} printf(“%d,% ,a,b) ,a,b); printf( %d,%d”,a,b);
三、if-else-if语句 语句
简单的IF语句 简单的IF语句
格式
• 流程图 • 例题
简单的IF语句格式 简单的IF语句格式
IF(表达式) IF(表达式)语句 其语义是: 其语义是:
如果表达式的值为真,则执行其后的语句,否则不执 如果表达式的值为真, 则执行其后的语句 , 行该语句,继续执行主程序。 行该语句,继续执行主程序。
如果小白找小黑玩,小黑在家吗? 若在,找小黑玩,不在,就找小花玩。 能用C语言来实现吗?可以,用if ----else 语句就能完成。 小黑在家吗 真 假
找小黑玩 找小花玩

语句2 语句
表达式

语句1 语句
例2:求两个数中较大的一个。
If (a>b) printf("max=%d\n",a); else printf("max=%d\n",b); 输入两个整数,输出其中的大 数。改用if-else语句判别a,b的 大小,若a大,则输出a,否则输 出b。
例4.
P1 Y
N P2 Y N P3 Y N P4 Y N P5 Y
语句2 语句3 语句4 语句5 语句1 语句 语句 语句 语句
商场促销, 商场促销 购物500元以上 折 元以上,8折 购物 元以上 购物300元以上 折 元以上,85折 购物 元以上 购物100元以上 折 元以上,9折 购物 元以上 购物50 元以上 折 元以上,95折 购物 购物50元以下 元以下,不打折 购物 元以下 不打折 设:消费量为 money 消费量为 cost 折扣为 实际花费 price

表达式

语句
例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的值。
只要表达式的值为非0 即为“ 只要表达式的值为非0,即为“真”。 如在if(a=5) ;中表达式的值永远为非0, 如在if(a=5)…;中表达式的值永远为非0 if(a=5) 所以其后的语句总是要执行的, 所以其后的语句总是要执行的, 当然这种情况在程序中不一定会出现, 当然这种情况在程序中不一定会出现, 但在语法上是合法的。 但在语法上是合法的。
其语义是:依次判断表达式的值,当出现某个值 为真时, 则执行其对应的语句。然后跳到整个if语句 之外继续执行程序。 如果所有的表达式均为假,则执 行语句n 。 然后继续执行后续程序 。
流程图
表达式 1真

表达式 2
假 假
表达式 3


语句1
语句2
语句3
表达式 真m 假
语句m 语句n
例3、编写一程序,根据学生的考分来划分 成绩的优、良、及格和不及格。 对优、良、及格和不及格,我们分别用5、 4、3、2四个等级来表示,划分如下: 分数 等级 100-90 5 89-75 4 74-60 3 59-0 2
if(表达式 语句 ; 表达式) 语句1; 表达式 else 语句2; 语句 ; 其语义是: 如果表达式的值为真, 则执行语句1, 其语义是 : 如果表达式的值为真 , 则执行语句 , 否则执行语句2 否则执行语句 。
例如: 大于0” 例如:if(x>0) printf(“x大于 ”); 大于 else printf(“x小于等于 小于等于0); 小于等于 或是if(小黑在家 找小黑玩” 或是 小黑在家) printf(“找小黑玩”); 小黑在家 找小黑玩 else printf(“找小花玩”); 找小花玩” 找小花玩
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);}
相关文档
最新文档