1.if 语句的最简单用法
if(表达式)
语句
功能:如果 (表达式)为真,则执行下面的语句
如果 (表达式)为假,则不执行语句
2.if 的范围问题
if语句只能控制一个语句的运行。若想运行多个语句则需要加{}。
3.if else 的用法
if (表达式)
A
else
B
4. if...else if...if 的用法
格式:
if (表达式1)
A;
else if (表达式2)
B;
else if (表达式3)
C;
else
D;
# include <stdio.h>
int main(void)
{
//if (1>2) //if 最简单的用法 if(表达式)
// printf("A"); // 语句
//功能;如果 (表达式)为真,则执行下面的语句
// 如果 (表达式)为假,则不执行语句
// if... else ... 的用法
//if (3>2)
// printf("B");
//else
// printf("C");
//if..... else if.... else 用法
int delta = 5 ;
if (delta>0) //基本格式如下
printf("有两个解"); // if (表达式1)
else if (delta= 0) // A;
printf("有且仅有一个解"); // else if (表达式2)
else // B;
printf("无解"); // else if (表达式3)
// C;
// else
// D;
return 0 ;
}
if的应用:
1.数字的互换
# include <stdio.h>
int main (void)
{
int j = 1;
int k = 9;
int l ;
l = j ;
j = k ;
k = l ;
printf ("j=%d,k=%d ",j,k);
return 0 ;
}
2.等级赋分
#include <stdio.h>
int main (void)
{
printf("请您输入成绩:");
float score ;
scanf("%f",&score);
if (score>100)
printf("你在做梦呢,骚年");
else if (score>=90 && score<=100) //不能写成90=<score<=100,否则会变成逻辑运算。
printf("优秀");
else if (score>=60 && score<90)
printf("良好");
else if (score>=0 && score<60)
printf("不及格,加油骚年!");
else
printf("你输错了");
return 0 ;
}
3.对任意三个数进行排列(由小到大排列)
# include <stdio.h>
int main (void)
{
int a , b , c ;
int d;
printf("请输入三个整数(中间请用空格隔开);");
scanf("%d %d %d",&a,&b,&c);
if (a<b)
{
d=a;
a=b;
b=d;
}
if (a<c)
{
d=a;
a=c;
c=d;
}
if (b<c)
{
d=b;
b=c;
c=d;
}
printf("%d %d %d ",a,b,c);
return 0 ;
}
if函数的常见几种错误:
# include <stdio.h>
//时间;2021年10月11日09点58分
//目的;解析if常见的错误
int main (void)
{
//1.空语句问题
//if (3>2); //两个都会输出,if (3>2);= if (3>2)
//printf("AAAA\n"); // 空语句; 这是一个空语句,如果3>2则会执行空语句,为空。如不成立,则不执行。
//printf("bbbbb"); //输出结果为 AAAA bbbbb
//正确输入
//if(3>2)
// printf("AAAA\n");
//printf("bbbbb");
//2.分号问题
//if (3>2); //如果在()后面加上; 则会错误。
// printf("1111"); //因为 相当于if 执行了一个空语句
//else //而后面的 else成为独立的,没有一个函数是以else开头的所以错误
// printf("2222");
//return 0 ;
//正确的输入
//if (3>2)
// printf("1111");
//else
// printf("2222");
//return 0 ;
//3. 两个都成立的问题
//if(4>3) //如果两个条件都成立,那么输出的结果为 1111
// printf("1111"); //这样写没有语法错误 但是程序只有执行第一个,所以不能这样写
//else if(4>1) //这样不能实现想要的功能
// printf("2222");
//else
// printf("3333");
//4.删掉一个else
//printf("请您输入成绩:");
//float score ;
//scanf("%f",&score);
//if (score>100)
// printf("你在做梦呢,骚年");
//else if (score>=90 && score<=100)
// printf("优秀");
//else if (score>=60 && score<90)
// printf("良好");
//else if (score>=0 && score<60)
// printf("不及格,加油骚年!");
//else //如果删掉这一行的else和后面的函数
// printf("你输错了"); //语法上不会出错,但逻辑上有漏洞
//5. 在else后面多加一个表达式
//if(4>3)
// printf("1111");
//else if(0>1)
// printf("2222"); //如果在else 后面加上表达式1,那么是错误的,语法上有问题。要么删掉,要么在else后加if ,也可以在 括号外加上分号
//else (表达式1) // 因为else 只能控制一个语句,而表达式1和printf是两个语句,所以错误。
// printf("3333"); // 也可以在表达式1后加上分号,这样就能成立 。但逻辑上可能有问题。
}