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

参考链接

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 定义的变量

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值