C和C++從零開始系列(一)


今天開始寫下一系列C和C++從入門開始的文章。

簡單說幾句C和C++的關系。C語言早於C++。

C語言

貝爾實驗室的Ken Thompson發明了 UNIX,當時有個B語言的。后來D.M.Ritchie加入到這個項目,主要目的就是改進B語言,於是乎C語言誕生了(K&R)。現在很多計算機底層的東西都是C語言實現的。

C++語言

同樣來自貝爾實驗室的 Bjarne Stroustrup  發明了C++語言,期初只是在C語言的基礎上加了面向對象的東西,后來才加上模板,STL等特性。

值得一提的是,貝爾實驗室的最初的 cfront 編譯器 (第一款C++編譯器),是將C++語言翻譯成C語言來實現的。

這些歷史,權當做八卦來看就行,對新手學習C和C++,我建議大家先從C語言學起,熟悉指針,內存操作等之后,再學C++,最后再看C++11以后的新特性。

 

好了,言歸正傳,學習C語言,首先需要有一個能寫程序的工具,需要能夠編譯,運行的工具。如果想了解細節,還需要工具能夠調試。

我們先說一下工具。

編譯器: 我主要在 Linux 和 windows 平台做開發,所以會用這兩個操作系統做編譯環境。

編輯器:很多人推薦vim ,鑒於windows平台用戶眾多,新手對 vim 操作不太順暢,所以建議使用VS Code, 一個跨平台的開源編輯器。

先說說 windows 環境,在windows上入門,用visual studio 就行。(Visual Studio C++ 的架構師可是 cfront1.0版本的主力作者李普曼,C++Primer的作者)。qt確實跨平台做的好,UI也比較簡單,我還是建議用VS做入門。后邊用到UI的時候我們再說QT。

我的windows VM 版本是2012,Visual Studio 的版本是2015. 微軟提供簡單的安裝步驟,直接按照提示安裝就行。注意,VS2015在選中安裝模塊時,C++不在默認范圍內,所以需要選中C++模塊才行。

安裝完之后,打開 VS,選擇文件,新建項目,語言選擇C++,如果能正常出來下邊的窗口,說明C++模塊安裝正常

 

 

 

我的Linux VM 版本是Red Hat 7.7 版本,gcc 版本是4.8.5. RH 安裝gcc 時直接在命令行輸入 yum install gcc. 這時候會自動下載安裝 gcc。剛剛這個命令只會安裝 gcc,不會安裝 g++,所以如果在后邊我們學習進入C++階段時,g++是必須的,所以需要把g++ 也安裝上,輸入yum install gcc-c++ 即可安裝g++ 。安裝完后,輸入 gcc -v 和 g++ -v 能看到安裝的版本。如圖:

 

 

 

好了,接下來,我們要在這兩個平台上實現鼎鼎大名的 Hello World 了。

程序非常簡單。

1 #include <stdio.h>
2 int main()
3 {
4     printf("Hello World!\n");
5 }

第一行,引入頭文件,該頭文件中包含程序需要的庫函數的函數聲明。

第二行,程序入口,可執行程序的程序入口是 main 函數(可以有參數,因為這里不涉及,所以只定義了main函數)

第四行,程序主體,printf,標准輸出,函數聲明在 stdio.h 文件中能找到,所以需要在第一行引入頭文件。輸出末尾是 "\n", 標准換行符,程序語句以 ";"結束。

第三行和第五行,用 {} 將程序封裝到一個程序塊中(block),C和C++程序的函數都是以 {} 封裝。這兩行封裝了main 函數的主體。

windows環境的Visual Studio集成了編譯,運行,調試。切記擴展名會影響編譯結果,我們使用擴展名為 .c, 而不是VS默認的.cpp. 這樣會以C語言來編譯。

Linux 下,需要自己寫命令來編譯。假設我們的源文件叫 main.c, gcc main.c, 默認輸出可執行文件 a.out. 我們可以指定輸出文件。 gcc main.c -o main, 輸出文件為 main.

當我們運行編譯出來的結果時,會在控制台輸出 Hello World! 並換行。

好了,第一講先說這么些,后邊會慢慢進階C和C++。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM