基于c++的小白入门笔记——条件分支if

75 阅读3分钟

真的是小白,大一新生的那种
markdown语法不太会,现学的

记录下蒟蒻的学习过程,整理一下思路,如果确实有错误,也请各位佬指教


  • 引入

设想一下,一个程序如果只需要执行某些语句、实现部分功能,按照一开始学的程序设计方式,那我们应该怎么做呢? 通常能看到的操作是————加注释

/*这是操作1*/
//这是操作2

方便吗?我不认为方便,我再加一个要求,要满足xxx条件才执行,那需要怎么做?

这时候就体现了条件分支存在的必要性。我们可以通过条件分支,执行满足条件的语句。


  • if类语句

让我们假设一个情境吧,假设你需要实现一个数和800的大小比较,比800大xxx或者是比800小xxx 那我们就可以用if语句实现了。

首先,假设我们只需要当输入值(假设为b)比800小,输出比800小xxx,要怎么实现呢?

1. if()

if(条件){
语句1;
语句......;
}

如果条件为真,就执行{}中的语句。

也就是说,我们的代码就是这样实现的

int a=800,b=0;
cin<<b;
if(a>b){
	cout<<"比800小"<<a-b<<endl;//cin是输入,cout是输出,在此不做详细介绍
	}

那如果只用if,是不是就能完成了呢?

int a=800,b=0;
cin<<b;
if(a>b){
	cout<<"比800小"<<a-b<<endl;
	}
if(a<b){
	cout<<"比800大"<<b-a<<endl;
	}

没错,但是我们有更好的办法。

2.if()...else...

不满足a>b(假设不会输入800),那不就只剩下b<a了吗?

这个时候,就可以用if...else...语句

if(条件){
语句块1;//满足条件就执行语句1
}
else{
语句块2;//不满足条件的话就执行语句2
}

那回到题目,就是这样

int a=800,b=0;
cin<<b;
if(a>b){
	cout<<"比800小"<<a-b<<endl;
	}
else{
	cout<<"比800大"<<b-a<<endl;
	}

3.if()...else if()...else

到这里可能会有人提出异议,那刚好800呢?又怎么办?

所以就引出了第三种语句,它是怎么样的呢?

if(条件1){
语句块1;//满足条件1就执行语句1
}
else if(条件2){//不满足条件1,但是满足条件2,就执行条件2
语句块2;
}
......//可以加入无数个else if,每一个else if判断的前提是前面的ifelse if都不符合,如果前面存在任意一个符合,不往下执行
else{
语句块n;//上面所有条件都不符合就执行语句n
}

实现:

int a=800,b=0;
cin<<b;
if(a>b){
	cout<<"比800小"<<a-b<<endl;
	}
else if(a<b){
	cout<<"比800大"<<b-a<<endl;
	}
else{
        cout<<"就是800"<<endl;
        }

温馨提示:else,else if类似于积木,可以基于if叠叠乐叠上去,但是else最多只能有一个 else和离它最近的if配对


  • switch————————————下次再写