二、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行 的 coutcin 就是 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;
      }
      

      只不过, 在这种小程序里面, 这样写有点麻烦, 就直接改用第一种写法了.

    • 其中, 我们看见在stdcout , 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) , 意思就是一堆字符结合在一起.

    • endlend-line 的缩写, 意思就是 换行 , 就相当于在输入时按了一下 回车键.

  • 第 8 行 cin.get();

    • 这个语句就是让窗口在屏幕上停留, 而不是一闪而过.
    • 而不难看出, cincout 是一对好兄弟, 嗯! 即 c-input .
  • 第 9 行 return 0;

    • 照应 第 4 行 int main() .......
    • 至此, 程序将运行状态返回给操作系统 并 退出, 完毕 !

芜湖! 结束啦!

AwA

么么哒!

posted @ 2021-02-06 15:04  不爱喝橙子汁的橙子  阅读(411)  评论(0编辑  收藏  举报