日期:2020年3月17日
作者:Commas
注釋:開始我的C++學習的奇妙之旅,願意和我一起學習的小夥伴們可以關注我,也可以給我點贊,如若部落格有哪裡寫的不好的地方,還望各位看官指出,非常感謝……
更多C++内容,請看我的《C++學習的奇妙之旅》
文章目錄
- 一、學習一門技術,首先來個Hello World
- 二、解讀C++的Hello Word程式
-
- (1)引入代碼(類庫)
- (2)設定命名空間
- (3)程式入口
- (4)操作符解讀
一、學習一門技術,首先來個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>
),那麼使用
cout
和
endl
就會抛出異常,如下:
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
看到上面抛出的異常,可以知道,
cout
和
endl
沒有被定義,由此我們也可以推測出來,這些辨別符應該都是被人預先定義好在輸出流類庫
<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;
的執行解讀:
- cout是将流輸出;
- 首先輸出的是“Hello World”;
- 其次輸出的是“endl”(即換行符\n);
另外值得強調的一點,代碼是以英文分号作為結束的,漏寫可是會報錯的哦!
版權聲明:本文為部落客原創文章,如需轉載,請給出:
原文連結:https://blog.csdn.net/qq_35844043/article/details/104919575