用IF语句实现分支选择结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例题: 我们班上有50个人,我想把学号前十的分到1组,11到20的分为2组,以 此类推,问if语句怎么写? 我们用X表示学号,Y表示分组号。
if(x<=10) y=1; else if(x<=20) y=2; else if(x<=30) y=3; else if(x<=40) y=4; else y=5;
课后作业: 1.认真复习今天所内容。 2.三个数,用if语句判断出最大数并输出。 3.预习明天所学的if语句的嵌套。
复习部分:逻辑运算表达式
判断闰年的逻辑表达式:
(year%4==0&&year%100!=0)||year%400==0
注意:我们要注意逻辑运算符的优先级,所以要加上小括号, 不然就得不到我们想要的结果。
用IF语句实现分支选择结构
1.if语句的格式
2.if语句的实际应用
if语句的基本格式
第一种: if(表达式)
下面我们来看一下生活中的实际例子 1. 在超市水果,一斤水果8元,10斤以下不打折,10斤及 以上打0.8折,编写一个程序,实现输入购买斤数,输出要缴 纳的金额。 #include<stdio.h> main() {float x,y; printf("请输入购买斤数:\n"); scanf("%d",&x); if(x<=10) y=8*x; else y=8*x*0.8 printf("买了%.2f斤,花费%.2f元"); }
语句1
表达式
语句2
例题:输入两个数,输出较大的数。
我们用x和y来保存输入的两个值 if(x>y)
printf("我是较大的那个数,我是x=%d",x);
else printf("我才是那个较大的数,我是y=%d",y");
if语句的第三种形式
if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 …… else if(表达式m)语句m else 语句n
(2)第二,第三种形式的if语句中,在每个 else前面有一个分号,整个语句结束处有一 个分号。 例如,if(x>0) printf(‚%f‛,x); else printf(‚%f‛,-x); 但注意,上面不是两个语句,而是一个if语句, Else子句不能作为语句单独使用。
(3)在if和else后面可以只含有一个内嵌的操 作语句,也可以有多个操作语句,此时用花 括号{ }将几个语句括起来成为一个复合语句。 例如,if(a+b>c&&b+c>a&&c+a>b) {a+=1; b+=1; c+=1; printf(‚a=%d,b=%d,c=%d”,a,b,c); } else printf(‚it is not a trilateral‛); 注意第五行花括号}外面不需再加分号;。因为{ }内是 一个完整的复合语句,不需要附加分号。
语句
表达式通常是逻辑与条件表达式 表达式里面我们通常认为非零为真, 比如说if('a')这个也算是为真。
流程图
表达式
语句 例子: 如果变量X大于Y就输出X的值
if(x>y) printf("x的值为%d",x);
if语句的第二种形式
if…else… 流程图
if(Байду номын сангаас达式) 语句1 else 语句2
总结及需要注意的地方:
(1) 3种形式的if语句中在if后面都有表达式, 一般为逻辑表达式或关系表达式。 例如,if(a==b&&x==y) printf(‚a=b,x=y‛); 在执行if语句时先对表达式求解,若表达式指为 0,按假处理,若值非0,按真处理,执行指定语 句。 例如,if(3) printf(‚ok‛); if(‘a’) printf(‚%d‛,’a’); 都是合法的