C++之HelloWorld入门

日期:2020年3月17日
作者:Commas
注释:开始我的C++学习的奇妙之旅,愿意和我一起学习的小伙伴们可以关注我,也可以给我点赞,如若博客有哪里写的不好的地方,还望各位看官指出,非常感谢……
更多C++内容,请看我的《C++学习的奇妙之旅》



一、学习一门技术,首先来个Hello World

大神说过一句话,任何一门语言或技术,在控制台打印出“Hello World”,就说明你入门了,我也就毫不犹豫的写下了以下代码:

#include <iostream>   //引入输入输出类库
using namespace std;  //使用std的命名空间

// main() 是主程序,程序开始执行的地方
int main()
{
    
    cout<<"Hello World"<<endl;
    cout<<"Welcome to C++"<<endl;
    
    // 终止 main( )函数,并向调用进程返回值 0。
    return 0;
}

控制台完美输出:
Hello World
Welcome to C++

但是入门简单,精通难啊,努力吧,先做个C++菜鸟Coder吧,当不了将军,就从士兵做起咯……

二、解读C++的Hello Word程序

在这里插入图片描述
如上图所示,按照我的理解,分成了三大块:

(1)引入代码(类库)

#include <iostream>实际上是一个输出流类库,此库定义了4个IO对象:cout、cin、cerr和clog,所以后续我们使用到的cout就是这个类库的一个标准输出流对象。
如果不引用此类库(即在首行注释#include <iostream>),那么使用coutendl就会抛出异常,如下:

tempCodeRunnerFile.cpp: In function 'int main()':
tempCodeRunnerFile.cpp:8:5: error: 'cout' was not declared in this scope
     cout<<"Hello World"<<endl;
     ^~~~
tempCodeRunnerFile.cpp:8:26: error: 'endl' was not declared in this scope
     cout<<"Hello World"<<endl;
                          ^~~~
tempCodeRunnerFile.cpp:8:26: note: suggested alternative: 'enum'
     cout<<"Hello World"<<endl;
                          ^~~~
                          enum

看到上面抛出的异常,可以知道,coutendl没有被定义,由此我们也可以推测出来,这些标识符应该都是被人预先定义好在输出流类库<iostream>中。

知识加油站:

对象 说明
cin 标准输入流
cout 标准输出流
cerr 错误的标准输出流
clog 用于记录的标准输出流

(2)设置命名空间

为了避免导致全局命名冲突问题,所以才引入了命名空间这一概念。命名空间,就是一种将程序库(如<iostream>)名称封装起来的方法,它就像在各个程序库中建起了一道道围墙
using namespace std;直译为使用命名空间std,这个翻译很OK,作用是提供一个全局的命名空间std。倘若不使用std的namespace,那么我们就需要加入加上前缀std,如下:

std::cout
//而不是直接cout

之前的示例代码就要改写为:

#include <iostream>      //引入输入输出类库
// using namespace std;  //不使用std的命名空间

// main() 是主程序,程序开始执行的地方
int main()
{
    std::cout<<"Hello World"<<std::endl;
    std::cout<<"Welcome to C++"<<std::endl;

    // 终止 main( )函数,并向调用进程返回值 0。
    return 0;
}

(3)程序入口

程序入口毋庸置疑,是启动程序后,有点调用了main()这个函数的味道。
int main()规定了函数返回结果为整型,所以在程序最后有return 0;作为程序的终止。

(4)操作符解读

运算符 说明
:: 范围解析用算符
<< 输出流符号
>> 输入流符号

如:cout<<"Hello World"<<endl;的执行解读:

  1. cout是将流输出;
  2. 首先输出的是“Hello World”;
  3. 其次输出的是“endl”(即换行符\n);

另外值得强调的一点,代码是以英文分号作为结束的,漏写可是会报错的哦!


版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/104919575

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章