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所提供给我的目录结构是虚拟的目录结构,而当我们点击显示所有文件的按钮时,才是我们真正的目录结构。
对于大型项目开发,这样的目录结构未免有些混乱,那么我们就应该重新设置我们的目录结构使之变得有序更好查找各个文件。
通常设置如下:
-
进入VS上方的项目选项,点击属性
-
配置文件的输出目录和中间目录如下:
![](https://i-blog.csdnimg.cn/blog_migrate/919ec25d9120c834b066240990fa0531.png)
为什么
$(SolutionDir)
后面没有\
,那时因为我们查看宏发现$(SolutionDir)
后面自带了一个’’
![](https://i-blog.csdnimg.cn/blog_migrate/3e45f5d247b18c395cf8f8743b9267a2.png)
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!");
}
循环代码还有while
与do 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
这是因为break
会break
(终止/破坏)这个循环
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函数作用