一、什么是if语句、有什么作用
if语句是实现选择结构最常用的语句,其作用是根据给定的条件,判断执行哪些语句,要执行的语句可能有一条或多条。if语句包括基本if语句、双分支if语句、多分支if语句和嵌套if语句四种形式。
该语句的一般形式如下
if(表达式)
语句 功能:如果表达式的值为真,则执行其后面的语句,否则不执行该语句。
二、实例分析
if (x>y) printf(“%d”,x);
#include <stdio.h>
void main()
{float a,b,t=0;
scanf(“%f,%f”,&a,&b);
if (a>b)
{t=a; a=b; b=t;}
printf(“%5.2f,%5.2f\n”,a,b);
}
……
if (a>b)
t=a, a=b,b=t;
……
结果:3,4回车
4.00, 0.00
双分支if语句
这是if语句比较完整的形式,包含一条if子句和一条else子句。
该语句的一般形式如下:
if(表达式) 语句1 else
语句2 功能:如果表达式的值为真,则执行语句1,否则执行语句2。
例:输入三角形的三边,求三角形的面积。
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,p,s;
scanf(“%f,%f,%f”,&a,&b,&c);
if (a+b>c && a+c>b && b+c>a)
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf(“s=%7.2f\n”,s);
}
else
printf(“非三角形!\n”);
}
3,4,5回车
s= 6.00
3,4,8回车
非三角形!
条件运算符的使用条件
若if语句中,在表达式为“真”和“假”时,都只执行一个赋值语句给同一个变量赋值,则可以用简单的条件运算符来处理。
条件运算符 条件表达式
表达式1?表达式2:表达式3
取值
表达式1为真,则取值为表达式2的值; 表达式1为假,则取值为表达式3的值。
例
f (a>b) max=a;
else max=b;
max= (a>b)? a : b;
多分支if语句
if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
……
else if(表达式m)语句m
else 语句n
if (number>500)cost=0.15;
else if(number>300)cost=0.10;
else if(number>100)cost=0.075;
else if(number>50)cost=0.05;
else cost=0;
在if语句中又包含一个或多个if语句。
被嵌套的条件语句和嵌套进去的条件语句既可是单分支,也可是双分支。
if (表达式1)
if (表达式2) 语句1
[else 语句2]
[else
if (表达式3) 语句3
[else 语句4]]