零基礎C++編程(重寫版)


停更了三個月的我終於回來了!為了兩個考試,我整整備考了三個月,9月19號,最后一個考試結束了!!!
好了,由於之前那個C++ 編程教程不是死了嗎,今天來一個重寫版的,就是一切從頭開始。
警告:本篇文章是理論知識,可能會有些枯燥,不想看的可以不看,但是像我一樣要考試的一定得看,都是考點!
還有就是,我會盡量把文章進行三平台同步發出,也就是公眾號,cnblogs(https://www.cnblogs.com/eason66-blog/category/1937901.html),和很久以前搭建,目前已經壞掉的個人博客(http://easonlee66_admin.gitee.io/blog/)。之前在cnblogs上的文章我都會盡量同步到公眾號上的。
另外,咔咔別催了,最快今年寒假。
正文分割線

C++是什么

首先,編程語言有三代。

  1. 機器語言:就是一堆0和1,甚至還有打孔的,學起來賊難,目前幾乎沒人用。

  2. 匯編語言:就是機器語言+助記符。啥是助記符?舉個例子,假如0101010表示加法,我們就可以用ADD代替0101010,也就是1+1寫成1 ADD 1,而不用1 0101010 1。所以匯編語言只不過是套了層皮的機器語言,但至少好學一點,目前還有人用。

  3. 高級語言:這種語言就很貼近與日常生活,代碼邏輯再也不用按照計算機的邏輯寫了,只需要按照一般人的邏輯寫就行了,1+1寫成1+1就行了。世界上第一個高級語言是Fortran。

其中,高級語言又分兩類,面向過程以及面向對象。

簡單來說,面向過程需要告訴電腦做什么、怎么做,而面向對象只需要告訴電腦做什么就行了。

C++就是面向對象的高級語言。世界上第一個面向對象的語言叫Smalltalk

注:有些人可能聽說過C語言,C其實是C++的前身,但C是面向過程的,C++就是把C加上了面向對象的東西,C++其實最早叫“帶類的C(C with classes)”,並且幾乎所有的編程語言都和C有或多或少的聯系

高級語言還有一種分類方法:編譯執行和解釋執行

首先,編好程序要讓電腦聽得懂,編譯執行就是全部翻譯成機器語言后再讓電腦執行,解釋執行是翻譯一句執行一句,然后在翻譯下一句。

C++屬於編譯執行。

不過,不管是編譯執行還是解釋執行,都需要一個編譯器/解釋器,相當於翻譯官,負責將全部代碼/一句代碼翻譯成機器語言。

C++的編譯器叫做g++,所以有些地方也把C++叫做g++,C++還有一個別名叫Cpp,因為加的英文plus的首字母是p,C++代碼的文件后綴名就叫.cpp(xxx.cpp)。

C++的頭文件

之前我們把頭文件比喻成說明書,今天來講點硬核的,看不懂的可以看下面的原來的C++編程教程。

頭文件其實是一種C++程序,只不過它的后綴名一般是.h。一般情況下,頭文件里面都是寫一些函數、類的定義的,就相當於“怎么做”,面向對象語言可以省略“怎么做”,很大程度上是因為這些頭文件(Python、Java等面向對象語言沒有頭文件的感覺是因為頭文件系統已經自動幫你們加上去了),所以我才會說頭文件相當於說明書,但實際上,頭文件想寫什么寫什么。頭文件是不能直接用g++編譯的,如果你非要編譯,出一對.gch垃圾文件我不管。但是你可以在C++代碼的上方加上一行

#include <xxx.h>
來使用頭文件。加上了這行代碼,就相當於將頭文件里的所有內容復制到你的代碼里。

C++的命名空間

之前說命名空間就像工具箱,繼續說具體。

首先,有很人會用C++開發大軟件(比如MC的基岩版就是用C++開發的),有些時候,大家寫一些自己的函數、類(相當於“怎么做”)的時候,取名字會有選擇困難症,有些時候就要和其他函數或變量或類重名,重名就會導致你用一個函數或類就不知道你用的是哪個。於是命名空間應運而生,它可以把一個函數或類放在一個命名空間里,另一個放在另一個命名空間里,使用時只用點明是那個命名空間里的函數就行了。相當於兩個班都有小明,叫的時候只用叫“A班的小明”或“B班的小明”就行了。

C++內置的頭文件(不包括C也有的,因為C沒有命名空間)內定義的函數、類都放置於std命名空間里。

總結

今天我們講了C++的理論知識,頭文件、命名空間的概念。

下集預告

g++安裝方法(Windows、Linux、MacOS三系統都有)


免責聲明!

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



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