8.C语言的基础运用——if分支结构
这里开始介绍C语言的重要语句,if语句,顾名思义就是如果的意思。
一、if语句
直接先举个例子:
#include <stdio.h>
int main(){
int a=1,b=1;
if(1){
printf("%d\n",a+b);
}
return 0;
}
输出:
还记得我们在运算符章节提到的布尔值吗,在关系运算符中有提到过。C语言中0代表假,非0代表真,可以试着把if(1)改为if(0),看看程序还会不会有输出。
所以if语句的逻辑就是,如果if后面的小括号里的值为真,那么就会执行if后面花括号里的内容,如果值为假,则跳过花括号里的内容,继续执行下面的程序。
那么现在,我们将关系运算符和逻辑运算符都使用在if里面,举个例子:
#include <stdio.h>
int main(){
int a=1,b=1,c=0;
if(a==b&&c<=b){
printf("真");
}
return 0;
}
输出为:
a==b为真,c<=b为真,真&&真 为真,所以会执行if内的语句。
为什么先计算==和<=可以去前一张笔记最后查优先级的表格。
二、else if语句
再来介绍else if语句,else if语句是与if连用的,顾名思义,如果前面的条件没达成,那么如果满足另一些条件时,又该执行另一段程序。先贴个例子:
#include <stdio.h>
int main(){
int a=1,b=2,c=2;
if(a==b){
printf("1");
}else if(b==c){
printf("2");
}else if(a<=c){
printf("3");
}
return 0;
}
输出为:
首先明白一点,else if可以无限连用,可以看作时组成了一个if的语句结构。
其次,从第一个if开始,紧接着他的所有else if,只要其中有一个满足条件真,就不会再执行下面的else if了。
例如上面的例子,因为a==b为假,程序跳过if开始判断第一个else if,b==c是真,所以程序打印了第一个else if 的字符 2,但是我们发现,第二个else if的条件a<=c也是真,但是由于第一个else if已经满足了条件,他就不再执行下一个else if了。
三、else语句
else语句一般被安排在if语句结构的末尾,如果这个结构上面所有条件都为假,那么程序到了最后就一定为执行else语句。如果用数学集合的话来说,就是else所代表的就是上面所有条件的补集。
例子:
#include <stdio.h>
int main(){
int a=1,b=2,c=2;
if(a==b){
printf("1");
}else if(a==c){
printf("2");
}else{
printf("3");
}
return 0;
}
输出:
http://noi.openjudge.cn/ 现在可以去这个网站做两题简单的条件判断的题目(1.4)理解一下if的使用