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

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