C++(The Cherno)-Day3

C++(The Cherno)-Day3

CONDITIONS and BRANCHES in C++

  • if语句

if语句使用如下

if(conditon is not flase)
{
    //code
}
else
{
    // code
}

if中的条件通常被理解为:不是假的(0)就执行if中的内容,这不只是对于数字的比较,还可以对空指针进行比较

  • elseif是关键字吗?

else if:只有当if后的条件为假时才会来检测else if后的条件

值得注意的是else if并不是c++中的关键字

else if其实可以写为如下的形式

else
{
    if(condition is not 0)
    {
        //code
    }
}
  • 一个else语句前面有两个if语句该怎么办?

在C++中,如果一个else语句前面有两个if语句,那么else语句将执行与其前面最近的if语句判别为假的条件相关联的代码块。这意味着,如果前面的if语句判别为假,那么将执行else语句。如果前面的if语句判别为真,那么将跳过else语句。

int i = 5;
if (i < 5) {
    // 这个代码块不会执行,因为i不小于5
}
if (i < 10) {
    // 这个代码块会执行,因为i小于10
}
else {
    // 这个代码块不会执行,因为前面的if语句判别为真
}

BEST Visual Studio Setup For C++ Project

对于VS所提供给我的目录结构是虚拟的目录结构,而当我们点击显示所有文件的按钮时,才是我们真正的目录结构。

对于大型项目开发,这样的目录结构未免有些混乱,那么我们就应该重新设置我们的目录结构使之变得有序更好查找各个文件。

通常设置如下:

  1. 进入VS上方的项目选项,点击属性

  2. 配置文件的输出目录和中间目录如下:

为什么$(SolutionDir)后面没有\,那时因为我们查看宏发现$(SolutionDir)后面自带了一个’’

Loops in C++

循环就是多次执行同样的代码

例如

for (int i = 0; i < 5; i++)
{
	Log("Hello Wolrd!");
}

其中for括号中的第一部分int i = 0是在for循环之前执行一次

第二部分i < 5是一个比较或布尔值,执行每一次循环前去检验本次循环是否能够满足去执行

第三部分i++是每次循环结束后执行的代码。

那我们既然知道for循环三部分的作用,那么for循环还可以写为如下的方式,但我不建议这么写,可读性很差。

int i = 0;
for (;i<5; )
{
	i++;
	Log("Hello World!");
}

循环代码还有whiledo while使用示例如下:

int i = 0;
while (i<5)
{
	i++;
	Log("Hello World!");
}

i = 0;
Log("-------------------");

do
{
	i++;
	Log("Hello World!");
} while (i<5);

Control Flow in C++

控制流语句:主要是用来控制程序的运行

三个主要的控制流语句为:continue break return

Continue:从continue处开始下一次循环,示例代码如下:

for (int i = 0; i < 5; i++)
{
	if (i % 2 == 0)
		continue;
	Log("Hello World!");
	cout << i << endl;
}

代码运行结果如下:

Hello World!
1
Hello World!
3

我们可以看到一旦满足continue的执行条件,那么本次循环就会从continue终止并开始下一次循环

break:从此处直接结束这个循环,我们将上一次代码contiue改写为break试一下运行结果如下:

运行结果发现终端什么都没有输出,那时因为初始的i满足i % 2 == 0这个条件便直接结束了本次循环,我们将代码改写一下使之能输出一点东西,代码如下:

for (int i = 0; i < 5; i++)
{
	if ((i+1) % 2 == 0)
		break;
	Log("Hello World!");
	cout << i << endl;
}

代码运行结果如下:

Hello World!
0

这是因为breakbreak(终止/破坏)这个循环

return:常用来结束这个函数(包括main函数),return可以被写在任何地方。

return用在需要整数作为返回值的函数

我们将代码写为如下:

int main() 
{
	
	for (int i = 0; i < 5; i++)
	{
		if ((i+1) % 2 == 0)
			return 0;
		Log("Hello World!");
		cout << i << endl;
	}

	Log("Tag!");

	cin.get();
	return 0;
}

程序运行输出如下:

Hello World!
0

我们发现程序并未打印Tag!这是因为当在循环处满足return的条件后,return对main函数做一个返回值为0的操作使得整个程序就终止了。

return为何对main函数作用?

这是因为对于上面的程序包含return最近的函数就是main函数,for循环并不算一个函数,所以return对main函数作用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值