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;
}

输出:
image

还记得我们在运算符章节提到的布尔值吗,在关系运算符中有提到过。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;
}

输出为:
image

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;
}

输出为:
image

首先明白一点,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;
}

输出:
image

http://noi.openjudge.cn/ 现在可以去这个网站做两题简单的条件判断的题目(1.4)理解一下if的使用

posted @ 2023-12-02 15:37  Fantastic_fan  阅读(76)  评论(0)    收藏  举报