二、C++ (C Plus Plus) 教程 之 Hello World代码分析
上一篇文章, 我们看了 Hello World 的实现方法, 但我们仍然不知道, 他是如何起效的.
那么我们这节课就来讲一讲, 这个代码究竟做了些什么 ?
Hello World! 代码如下:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
cin.get();
return 0;
}
-
第 1 行
#include <iostream>
:-
最前面的
#
表示 "预编译 ( pre-interpret )" , 就是 最先编译 的意思. -
包含 输入输出流头文件 ( input-output stream ) , 这里面 封装 了很多事先写好的东东, 方便我们使用. (eg. 下面第6行 和 第8行 的
cout
和cin
就是iostream
头文件里面的). -
【拓展】
C++ 98标准之前是使用
#include <iostream.h>
的,C++ 98标准进行这种制定的目的是区分用户定义的和C++语言标准的,没有.h
后缀的一律为C++语言
标准头文件 .#include "..."
和#include <...>
的区别在于,#include "..."
预编译命令让源程序现在
当前项目目录下 寻找头文件,如果找不到,再到 Visual C++ 6.0标准头文件目录下 去找,
而#include<...>
则直接告诉编译器直接去 VisualC++6.0标准头文件目录 去找该头文件。
-
-
第 2 行
using namespace std;
:-
使用标准命名空间 : 什么是命名空间呢 ? 命名空间就像是划分的一块领地, 这领地里面的所有东西都是改命名空间里面的.
-
在第 2 行就写
using namespace std
表示下面所有的东东都是在 std (standard) 命名空间下的. -
【拓展】
其实如果不这么写, 也可以写成这样
#include <iostream> int main() { std::cout << "Hello World!" << std::endl; std::cin.get(); return 0; }
只不过, 在这种小程序里面, 这样写有点麻烦, 就直接改用第一种写法了.
-
其中, 我们看见在
std
和cout
,cin
,endl
之间 , 有个 "::" 这叫 "作用域解析符". 它表示后面的东西是属于前面那个东西的.......QwQ
-
-
第 4 行
int main()
:-
C++程序的主函数
-
就像一个房间, 一定要有房门, 一个程序也要有一个入口, 而在C++中, 这样的入口函数就是
main()
函数. -
【拓展】在这里, 提前补充一个知识, 就是 C++ 中 函数 的声明方式:
<ReturnType/*返回值类型*/> FuncName/*函数名*/(param1, param2, ..., params/*参数*/) { // codings here return <ReturnType/*返回值, 类型与上面声明的类型相同*/>; // 返回语句 }
再来看看我们的
main()
函数:int/*返回值类型 int*/ main/*函数名 main*/(/*参数 无*/) { // codings here return 0/*返回值 0*/; // 返回语句 }
所以, 为啥是
return 0;
因为前面声明时, 声明的是int main()
....QwQ
-
-
第 5 行 - 第 10 行
{...}
- 一对 花括号 框起来的语句的集合, 称为 语句块.
-
一个语句块可以由 多个语句 组成.
-
第 6 行
cout << "Hello World!" << endl;
-
cout
就是 c-output 的缩写, 因为 C++ 脱胎于 C, 所以就在 output 前面加了一个 c ....... AwA -
<<
叫做 流运算符 , 看cout << "Hello World!" << endl;
这个语句, 就像后面所有的 字符 (character) 都顺着流运算符, 流到cout
上, 然后就输到我们的屏幕上面了. -
【拓展】
<<
运算符本来的功能是 向左移位操作,在cout
对象中使用的是 输出重载 功能,其调用就相当于cout.operator<<("Hello,C++!")
. -
"Hello World!"
带有 双引号 , 叫做 字符串 (string) , 意思就是一堆字符结合在一起. -
endl
是end-line
的缩写, 意思就是 换行 , 就相当于在输入时按了一下 回车键.
-
-
第 8 行
cin.get();
- 这个语句就是让窗口在屏幕上停留, 而不是一闪而过.
- 而不难看出,
cin
和cout
是一对好兄弟, 嗯! 即 c-input .
-
第 9 行
return 0;
- 照应 第 4 行
int main()
....... - 至此, 程序将运行状态返回给操作系统 并 退出, 完毕 !
- 照应 第 4 行
芜湖! 结束啦!
AwA
么么哒!