C++简介
在这里我们用最简单的方式阐述一下究竟为什么C++比C语言高级。从功能的角度讲,用C++写的程序C语言也能够实现。那么C++究竟高级在哪儿呢?它就高级在引入了更加人性化的编程方式。
人们常说C是面向过程的语言,而C++在此基础上引入了面向对象(封装、继承、多态)和泛型两种全新的编程方式。而这两种新的编程方式更加接近我们现实中解决问题的思想,因此在编写大型应用程序方面,C++更受欢迎一些。
编程语言高下之争一直是业内一个主要争论话题,多年以来从未停止。随着各种新语言的诞生,参加争论的派系也越来越多。
其实,我们大可不必纠结于语言,所有的语言都是为程序员服务的,解决现实中的问题才是我们最终的目的。所以,语言没有高下之分,只不过是使用语言的人参差不齐而已。
在我们学习C++时,千万不要把它和C语言分割开来,我们要把C++想象成为C语言的一个扩展,所有C语言的东西在这里都能继续使用。
创建C++项目
我们用Visual Studio来创建一个标准的控制台程序工程。创建过程与创建一个C项目类似。与C语言项目的唯一区别是新建文件时要以cpp为后缀名。
第一段C++代码
我们在新创建的main.cpp文件中加入下面这段C++代码:
// main.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}
1. 头文件
C++的标准输入输出库不再是stdio.h,而是iostream。需要注意的是这里用的是<>而不是“”。值得注意的是,C++的标准库引用不需要加后缀名。
2. 命名空间
using namespace std;
这句话看着比较陌生。
C++中引入了命名(名字)空间的概念,std就是一个常用的命名(名字)空间。命名空间的作用是不同命名空间下的事物可以有相同的名字,但是带来的成本是指定事物时需要指出名字空间的名字。所以,要使用名字空间std下的事物,或者提前指出名字空间名
using namespace std;
或者直接在事物前指出名字空间名
std::cout << "Hello World!" << std::endl;
“::”这个符号叫做域运算符。
3. 标准输入输出
在C++中,我们用cout和cin进行标准输出输入。它们代替了C中的printf和scanf。具体的用法我们会在使用中慢慢了解。cout、cin、是标准库中定义好了的用于输出输入的对象(变量)名。
4. endl
cout<<后面接endl的话表示输出一个换行。当然我们也可以使用
cout << "Hello World!\n";
或者
cout << "Hello World!" << '\n';
达到输出换行的目的。(endl
除了输出换行,还有清空输出缓冲区的作用,将未输出的内容输出出来。因此使用endl
更显得我们是专业C++程序员:-))
Visual Studio代码调试
代码调试是编程的基本功,既是是作为一个合格的程序员必须掌握的技能,也是编程乐趣所在。
1. 快捷键F6
这个快捷键的作用是编译项目中的全部代码。如果要看看有没有语法错误,就直接按这个键。
PS:如果在安装过程中,VS发现这个快捷键有冲突,也许会自动调整成别的键。在BUILD菜单中能够查看到这个快捷键。
2. 快捷键F5
调试运行代码。如果源代码没有编译,它会先进行编译之后运行。执行过程中,遇到断点会停下来。在VS环境下,如果没有设置断点并调试模式下运行代码,运行结果窗口会一闪而过。这时可以在代码最后添加暂停窗口的语句,这样就可以看到窗口的结果。
// main.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
system("pause");
return 0;
}
3. 快捷键F9
增加或删除断点,方便调试。不要问我什么是断点,在C语言学习中你就该知道的。
4. 快捷键F10,F11
这两个快捷键负责单步调试,就是按一下执行一句话。前者遇到函数调用一次执行完,后者遇到函数调用会进入函数内部单步执行。
在调试代码时,这两个键非常有用。
5. 快捷键Ctrl + F5
忽略断点执行。就是不在断点处停下直接执行结束。
现在,我们在VS中使用“Ctrl+F5”运行我们刚才的代码。
学习C++资源
网上有很多C++学习资源,我给大家推荐一个,程序员实验室,可以当作大家复习C和学习C++的基本知识点的参考材料。除了本校的学习平台,网上也有公开课供大家参考学习。
致谢
本文的内容和图片大量参考了简书上文章C++代码训练营 | 鸟枪终于换炮了,在此表示诚挚的谢意!