一、学习目标
- 了解什么是条件判断
- 了解多个条件判断
- 了解输入
- 了解什么是逻辑与、逻辑或
目录
预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:《软件介绍》
想了解编译原理和学习方法点这篇,学习方法和一些原理C++与C都是相同的《脱离学习误区》
《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然
《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会
《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭
推荐
1.《备受好评的看得懂的C语言入门教程》
二、学习过程
2.1 了解输入
在程序编写中,输出是指编写的程序向外发送一个内容。在使用cout进行输出内容显示的时候是指向程序外输出一个内容并且显示;输入则是值用户(我们)在程序运行时输入一个值到程序之中。例如我们登陆游戏,登陆聊天软件时输入的帐号密码都是输入操作。
在C++中使用cin进行输入。示例如下:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;cout<<a;
}
如上程序使用了cin进行输入,在这里要注意的是cin的>>朝向于cout朝向并不一致,是相反的;我们可以这样理解,cin是输入,是需要接收用户输入的值,并且将这个值存储到一个变量之中;在这里我将存储的值存入变量a中;所以朝向尖端指向a。在cout中是表示输出,则使用cout往外输出一个值,这个过程就像是一个推出去的过程,那么尖括号的嘴巴就朝向变量名方向。(当然这是个人经验,不适用于所有人)
以上程序将在运行时等待我输入一个值,随后将值存储在变量a中,并且下一行输出我输入的内容。
运行结果为:
接下来我们做一个程序,判断我们输入的内容是否等于6666,如果等于6666那么就显示正确。
2.2 了解if条件判断
需要判断一个数是否等于某值,那么需要进行条件判断。条件判断就像你约好朋友说第二天如果天气好就去打球,那么需要判断的是第二天天气是否晴朗。
进行条件判断需要使用if语句。if语句的作用是判断一个表达式是否正确;在我们上一小点内容中,将输入的内容存储值变量a中,现在我们需要判断变量a的内容是否等于666,那么这个表达式可以写成:
a==666
在C++中,使用一个等于号表示将等于号右边的值给左边的变量,使用两个等于号则表示判断等于号的左右两边是否相等。由于这只是单纯的一个表达式,这个表达式将会返回一个值来表示这个判断是否正确;这个值只是作为一个值而存在,我们还需要使用if 这个关键字进行判断。代码如下:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a==6666){cout<<"正确";}
}
以上代码中,使用if语句对a进行判断。if语句的格式为if语句后接一个圆括号,在圆括号中编写表达式,if将会判断表达式是否正确;接着在圆括号后有一对花括号,在花括号中编写表达式判断正确后执行的代码,格式如下:
if(表达式){表达式正确编写的代码
}
以上代码运行的结果为:
当然,正确执行的代码当然不可能只能写一条,可以写多条。例如:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a==6666){cout<<"正确";cout<<"输入的内容是:"<<a; }
}
结果为:
以上实例中,若我们输入错误则不会有任何提示。那我如何在输入错误时提示我输入错误呢?这时候需要使用else语句,如下示例:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a==6666){cout<<"正确";cout<<"输入的内容是:"<<a; }else{cout<<"对不起,你输入错误!";}
}
以上代码中,在第一个if圆括号后的花括号结束后添加了else关键字,并且在else关键字后添加了一对花括号,在花括号中编写了提示内容。运行结果如下:
由上可知,我们的if else语句结构如下:
if(表达式){表达式正确编写的代码
}else{表达式错误编写的代码
}
由于我们的if else是一个结构,不能打断结构连接性。
2.3 了解逻辑或
假设现在我们更换一下密码,密码更改为6666或者这个数能够被2除断余数为0也算正确。这时需要同时满足两个条件,一个是等于6666时正确,还有一个条件是被2除断余数为0也正确,那这个时候就需要进行逻辑运算,示例如下:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a==6666 || a%2==0){cout<<"正确";cout<<"输入的内容是:"<<a; }else{cout<<"对不起,你输入错误!";}
}
以上代码主要查看if的条件 a==6666 || a%2==0
。我们先把这个条件分解,一个条件是a==6666
,另外一个条件是 a%2==0
;其中 a%2==0
表示我们输入的a进行取余数计算,是对2取余数,取余数使用的运算符是%;如果能够被2取余数为0,表示能够整除2,那么密码也是正确。最为关键的其实为两个表达式中间的逻辑或运算发“||”,逻辑或运算符表示一个或运算;或的作用举一个例子,我明早上吃包子或者吃米粉。这一句话表示我只吃其中一样,两个都行;而或运算也是这个意思,或运算符“||”左右两边有一个对那么算对了。这个时候我输入6666也正确,输入10也正确。结果如下:
或也可以多个条件:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a==6666 || a%2==0 || a==0|| a==7){cout<<"正确";cout<<"输入的内容是:"<<a; }else{cout<<"对不起,你输入错误!";}
}
以上代码则表示输入2除的断的正确,输入0和7也正确。
2.4 了解逻辑与
逻辑与与逻辑或非常相似。逻辑或是满足一个就ok,逻辑与则表示都需要满足。例如我明早上需要吃米粉和包子。这句话的意思是我包子和米粉都需要吃,少一个都不行。
现在我们的密码更改为要大于100,并且能够跟2除的断。那么这两个条件为a>100和a%2==0;那么他们之间使用一个逻辑与运算符连接那么就可以做逻辑云运算了;示例如下:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a>100 && a%2==0){cout<<"正确";cout<<"输入的内容是:"<<a; }else{cout<<"对不起,你输入错误!";}
}
以上内容使用了逻辑与运算符对表达式进行连接。
运行结果如下:
2.4 了解多条件判断
以上内容讲解了如何在一个if条件中使用多个条件进行判断,现在我们讲解多个if条件的判断。使用if…else if…else if …else可以判断多个条件。示例如下:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a==1){cout<<"输入的内容是1"; }else if(a==2){cout<<"输入的内容是2"; }else if(a==3){cout<<"输入的内容是3"; }else{cout<<"输入的是其他值";}
}
以上使用了if…elseif…else结构。在else if 后跟接一个圆括号并且编写上表达式,即可完成对这个条件的判断。假设if语句的条件不成立,将会继续按照顺序从商往下对每个else if的条件进行判定,所有条件都不对,那么则执行else语句,若找到正确的表达式,则直接结束整个if结构。运行结果如下:
if…elseif…else语句内的条件都可以使用多个,通过逻辑与、逻辑或进行判断。elseif也是可以使用多个的。
2.5 了解switch条件判断
switch 的作用跟if语句一样,我们直接看他的语法结构:
switch(表达式){case 等于的值1:等于这个值则需要执行的代码1break;case 等于的值2:等于这个值则需要执行的代码2break; case 等于的值3:等于这个值则需要执行的代码3break;.........default:所有的值都没有等于则执行default后的内容
}
以上为switch语句的模板,跟if一样,输入一个值传递给一个变量a,把a直接放到switch表达式中,若a等于case 后面所输入的值,那么则执行这个case后面所对应break之前的代码。示例代码为:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;switch(a){case 1:cout<<"输入的内容是1"; break;case 2:cout<<"输入的内容是2"; break; case 3:cout<<"输入的内容是3"; break;default:cout<<"输入的是其他值";}
}
运行结果为:
如果删掉其中的break,则不会中断switch结构,直接运行接下来其它case中的代码,直到遇见break为止;不管条件对不对都会运行,一定要注意。例如:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;switch(a){case 1:cout<<"输入的内容是1"; case 2:cout<<"输入的内容是2"; break; case 3:cout<<"输入的内容是3"; break;default:cout<<"输入的是其他值";}
}
我在以上代码中删除了case 等于1时要执行的代码中的break,这时将会往下运行其它case正确后运行的代码,直到遇见break进行跳出,不需要满足条件。break的作用是跳出该结构的意思。结果为:
2.6 了解条件判断的嵌套使用
条件判断是可以嵌套的,在编程中很多结构都可以相互嵌套,这点需要记住。例如如下代码:
#include<iostream>
using namespace std;
int main(){int a=0;cin>>a;if(a%2==0){cout<<"a除2余数0,是偶数"<<endl;if(a==12){cout<<"a等于12,判断正确"<<endl;}else{cout<<"a不等于12,判断错误"<<endl;}}
}
以上代码首先将输入的值给a变量,随后判断a是否可以被2除断,若除的断则显示"a除2余数0,是偶数",在判断a是否是12,若是12则显示判断正确。
运行结果如下:
三、总结
- 了解条件判断的使用方法
- 了解了if语句判断多个条件使用else if
- 了解了输入使用cin
- 了解什么是逻辑与、逻辑或并且用于多个条件判断