参考链接

​RUNOOB.COM​

判断

在判断语句中主要有两种:if...else和switch两个语句。下面我们还是主要通过代码来说明:

先看一看看if...else语句:

#include <iostream>

using namespace std;
int main()
{
float iVar1 = 1, iVar2 = 2;

if(iVar1 > iVar2) //判断语句
cout << "iVar1 大于 iVar2 " << endl;
else if(iVar1 < iVar2)
cout << "iVar1 小于 iVar2 " << endl;
else if (iVar1 == iVar2)
cout << "iVar1 等于 iVar2 " << endl;
else if (iVar1 != iVar2)
cout << "iVar1 不等于 iVar2 " << endl;
else if (iVar1 <= iVar2)
cout << "iVar1 小于等于 iVar2 " << endl;
else if (iVar1 >= iVar2)
cout << "iVar1 大于等于 iVar2 " << endl;
else
cout << "error" << endl;
getchar();
}

运行结果

iVar1 小于 iVar2

上面这段代码是前几篇中提到的,不过当时主要介绍的是运算符,现在我们好好说说上面的程序。在if判断语句中主要有三种:

//方式一
if(判断语句)
{
/*语句*/
}
//方式二
if(判断语句)
{
/*语句*/
}
else
{
/*语句*/
}
//方式三
if(判断语句)
{
/*语句*/
}
else if(判断语句)
{
/*语句*/
}
else if(判断语句)
{
/*语句*/
}
else
{
/*语句*/
}

说明:当只有一句语句时,可以不加{}。并且语句内部也可以嵌入if判断语句,在这里说明一下,if语句只要有一个判断语句成立,就会执行里面的程序,而未判断的语句则不会再进行判断。if判断语句是从上到下逐个进行判断。

再来看看switch语句

#include <iostream>

using namespace std;
int main()
{
int iVar1 = 1, iVar2 = 2;

switch (iVar1)
{
case 1:
cout << "iVar1" << endl;
break; //程序执行到此处后,会跳出switch语句块;如果不添加break,则会顺序执行。
case 2:
cout << "iVar2" << endl;
break;
default : //在上述所有情况不满足的时,则进入到default
cout << "None" << endl;
break;
}
getchar();
}

运行结果

iVar1

:在上述描述中,我们可以看到switch与if判断还是有一定的不同。switch在满足判断条件的情况下,如果不添加break语句,则会顺序执行程序,直到遇到break或者switch语句运行结束。switch语句也满足内部嵌套switch,下面我们看一下它的用法:

switch(/*整型或枚举型*/)
{
case 常量1:
/*语句*/
break; //可选
case 常量2:
/*语句*/
break; //可选
default :
/*语句*/
break; //可选
}

循环

这个其实就包括三个,分别为for、while、do...while循环语句。还是通过代码直接进行一一讲解:

for循环

#include <iostream>

using namespace std;
int main()
{

for (int iId = 0; iId < 10; iId++) //for循环语句
{
cout << "iId = " << iId << endl; //打印dos界面
}
getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4
iId = 5
iId = 6
iId = 7
iId = 8
iId = 9

:for循环还是比较简单的,只要了解for里面内部的含义即可,下面我们来说一下语法:

for(初始化;判断;数值改变)
{
/*核心语句*/
}

在for循环中数值改变可以放到核心语句中,其它的格式都要保持不变。

while语句

#include <iostream>

using namespace std;
int main()
{
int iId = 0;
while(iId < 10) //while语句
{
cout << "iId = " << iId << endl;
iId++;
}
getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4
iId = 5
iId = 6
iId = 7
iId = 8
iId = 9

:从程序上来看while的语法比for循环更加简单,下面我们来说一下while语法:

while(判断条件)
{
/*核心语句*/
}

do...while语句

#include <iostream>

using namespace std;
int main()
{
int iId = 11;
do
{
cout << "iId = " << iId << endl;
iId++;
} while (iId < 10); //while语句
getchar();
}

:从程序上我们看到do...while比上面两个循环语句稍微复杂点,不过do...while这个家伙比较牛,就是要先执行一次,然后在进行判断(上面两个循环语句要先判断后执行)。下面我们来说一下do...while语法:

do
{
/*核心语句*/
}while(条件)

循环语句控制

讲完了循环语句,必须说一下循环控制的几个关键字:continuebreakgoto

continue:因为循环语句会在内部进行多次操作,但是在某些情况不需要循环,因此需要跳过本次循环。

#include <iostream>

using namespace std;
int main()
{

for (int iId = 0; iId < 10; iId++)
{
if (iId == 5) //在iId等于5的情况下,跳过一次循环
continue;
cout << "iId = " << iId << endl;
}
getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4
iId = 6
iId = 7
iId = 8
iId = 9

:从上面程序的运行结果可以看出,在iId等于5的情况下,跳过一次循环。

break:在循环语句中,满足一定的条件下,要退出循环语句,这时候就需要使用break。

#include <iostream>

using namespace std;
int main()
{

for (int iId = 0; iId < 10; iId++)
{
if (iId >= 5) //在iId大于等于5的情况下,直接跳出循环
break;
cout << "iId = " << iId << endl;
}
getchar();
}

运行结果

iId = 0
iId = 1
iId = 2
iId = 3
iId = 4

:从上面程序的运行结果可以看出,在iId大于等于5的情况下,直接跳出循环。

goto:在一定的情况,需要将当前程序处理的地方,直接跳转到上面或者下面语句,这时候需要使用goto语句。

#include <iostream>

using namespace std;
int main()
{

int iVar = 1;
Loop:

iVar++;
cout << "iVar = " << iVar << endl;
if(iVar < 3) //在变量小于3的情况下,直接跳转到Loop当前的语句
goto Loop;
getchar();
}

运行结果

iVar = 2
iVar = 3

:从结果我们可以看到,在小于3的情况下,进行了跳转。但是给大家一点建议,尽量少用goto语句。goto语句语法

定义的变量:
/*核心语句*/
goto 定义的变量

 

更多《计算机视觉与图形学》知识,可关注下方公众号:

刷野打怪上王者·C++篇·第9期·判断&循环_循环语句