if语句多个条件怎么用c语言(c语言if语句用法指南)

选择结构语句

在实际生活中我们经常需要作出一些判断,比如开车来到一个十字路口,这时需要对红绿灯进行判断,如果前面是红灯,就停车等候,如果是绿灯,就通行。同样,在C语言中也经常需要对一些条件做出判断,从而决定执行哪一段代码,这时就需要使用选择语句。选择结构语句分为if条件语句和switch条件语句,今天我们就重点讲解一下if条件语句。

if条件语句

if 条件语句分为三种语法格式,每一种格式都有其自身的特点,下面分别进行讲解。

格式一:if语句

if语句是指如果满足某种条件,就进行相应的处理。例如,小明妈妈跟小明说“如果你考试得了100分,星期天就带你去游乐场玩”。这句话可以通过下面的一段伪代码来描述。

如果小明考试得了100分

妈妈星期天带小明去游乐场

在上面的伪代码中,“ 如果 ”相当于C语言中的关键字 if,“小明考试得了100分”是判断条件,需要用 ( ) 括起来,“妈妈星期天带小明去游乐场”是执行语句,需要放在 { } 中。修改后的伪代码如下:

if (小明考试得了100分)

{

妈妈星期天带小明去游乐场

}

上面的例子就描述了if语句的用法,在C语言中,if语句的具体语法格式如下:

if (条件语句)

{

代码块

}

上述语法格式中,判断条件是一个布尔值,当判断条件为true时, { } 中的执行语句才会被执行。if语句的执行流程如下图所示:

if语句流程图

接下来我们通过一个案例来学习if语句的具体用法:

#include<stdio.h>

int main()

{

int x = 5; //声明变量x

if (x < 10) //如果x的值小于10则执行if大括号中的代码

{

x ;

}

printf(“x=%d\n” , x);

return 0;

}

运行结果如图3-5所示:

if语句多个条件怎么用c语言(c语言if语句用法指南)

上例中,定义了一个变量x,其初始值为5。在if语句的判断条件中判断x的值是否小于10,很明显条件成立,因此{}中的语句会被执行,变量x的值将进行自增。从运行结果图的运行结果可以看出,x的值已由原来的5变成了6。

格式二:if…else语句

if…else语句是指如果满足某种条件,就进行相应的处理,否则就进行另一种处理。例如,要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则该数字就是一个奇数。if…else语句的具体语法格式如下:

if (判断条件)

{

执行语句1

……

}

else

{

执行语句2

……

}

上述语法格式中,判断条件是一个布尔值。当判断条件为true时,if后面 { } 中的执行语句1会被执行。当判断条件为false时,else后面 { } 中的执行语句2会被执行。if…else语句的执行流程如下图所示:

if…else语句流程图

接下来通过一个实现奇偶数判断的案例来演示if..else语句的具体用法:

#include<stdio.h>

int main()

{

int num = 19;

if (num % 2 == 0)

{

//判断条件成立,num被2整除

printf(“num是一个偶数\n”);

}

else

{

printf(“num是一个奇数\n”);

}

return 0;

}

运行结果如下图所示:

例中,变量num的值为19,模以2的结果为1,不等于0,判断条件不成立。因此会执行else后面 { } 中的语句,打印“num是一个奇数”。

格式三:if…else if…else语句

if…else if…else语句用于对多个条件进行判断,从而进行多种不同的处理。例如,对一个学生的考试成绩进行等级的划分,如果分数大于等于80分等级为优,如果分数小于80分大于等于70分等级为良,如果分数小于70分大于等于60分等级为中,否则,等级为差。if…else if…else语句的具体语法格式如下:

if (判断条件1)

{

执行语句1

}

else if (判断条件2)

{

执行语句2

}

……

else if (判断条件n)

{

执行语句n

}

else

{

执行语句n 1

}

上述语法格式中,判断条件是一个布尔值。当判断条件 1 为 true 时, if 后面 { } 中的执行语句1会执行。当判断条件 1 为 false 时,会继续执行判断条件 2,如果为 true 则执行语句 2,以此类推,如果所有的判断条件都为 false ,则意味着所有条件均未满足,else后面 { } 中的执行语句n 1会被执行。if…else if…else语句的执行流程如下图所示:

if…else if…else语句的流程图

接下来通过一个对学生考试成绩进行等级划分的案例来演示if…else if…else语句的用法:

#include<stdio.h>

int main()

{

int grade = 75; //定义学生成绩

if (grade >= 80)

{

//满足条件 grade >=80

printf(“该成绩的等级为优\n”);

}

else if (grade >= 70)

{

//不满足条件 grade >= 80 ,但满足条件 grade >= 70

printf(“该成绩的等级为良\n”);

}

else if (grade >= 60)

{

//不满足条件 grade >= 70 ,但满足条件 grade >= 60

printf(“该成绩的等级为中\n”);

}

else

{

//不满足条件 grade >= 60

printf(“该成绩的等级为差\n”);

}

return 0;

}

运行结果如图所示:

例中,定义了学生成绩 grade 为75。它不满足第一个判断条件 grade >=80,会执行第二个判断条件 grade>=70,条件成立,因此会打印“该成绩的等级为良”。

&多学一招:三元运算符

在C语言中有一种特殊的运算叫做三元运算,它和if…else语句类似,具体语法格式如下:

判断条件 ? 表达式1 : 表达式2

三元运算通常用于对某个变量进行赋值,当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值。

例如求两个数x、y中的较大者,如果用if…else语句来实现,具体代码如下:

int x = 0;

int y = 1;

int max;

if (x > y)

{

max = x;

} else

{

max = y;

}

上面的代码运行之后,变量 max 的值为 1 。如果 if…else 语句用三元运算来替换,具体代码如下:

int x = 0;

int y = 1;

int max;

max = x > y ? x : y;

这样子代码量是不是就建少了呢?当然了,前提是你的得学会使用啦!

想要学习的童鞋可以加群:564950050!

发表评论

登录后才能评论