真的是小白,大一新生的那种
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判断的前提是前面的if和else 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————————————下次再写