聊聊C語言/C++—程式和程式語言

weixin_33701251發表於2018-03-24

C語言是程式導向的,而C++是物件導向的

C和C++的區別:

C是一個結構化語言,它的重點在於演算法和資料結構。C程式的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。

C++,首要考慮的是如何構造一個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取物件的狀態資訊得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。

C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是演算法的概念。那麼是不是C就不重要了,錯!演算法是程式設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。

9850446-42f3be75af0f5fbc.jpg

前幾天看到新聞說是美國總統奧巴馬寫程式碼並且鼓勵全部的美國人都應該學習程式設計,一時程式設計成了人們熱議的話題。那麼小編接下來將要寫一個系列的文章來帶你進入C語言程式設計的奇妙世界。

9850446-112541ee3f9c5483

小編推薦一個學C語言/C++的學習裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

什麼是程式設計?

程式設計簡單來說就是用計算機能夠識別的語言來編寫程式。我們平時用的電腦、平板、手機、電視機、計算機以及工廠用的各種裝置無一不包含程式。

9850446-720b810a606a2bfa.jpg

小編推薦一個學C語言/C++的學習裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

上面這幅畫面肯定大家都見過它包含不少人對兒時的回憶,它就是一個計算機程式。

什麼是程式語言?

瞭解了什麼是程式設計,那麼我們就來了解一下程式語言。不論是我們平時說的漢語、英語、法語還是其他語言,它們從來就是我們用來溝通的工具。如果我們要和計算機進行溝通,對它說這些語言肯定行不通(或許未來計算機可以聽懂我們說的語言,自己進行程式設計吧。小編也期待那一天),我們就要用計算機能夠懂的語言。只要計算機能夠聽得懂的語言我們就可以叫它程式語言。

計算機懂的語言是什麼呢?

就是010101這些二進位制語言(也叫機器語言)。計算機只能對數字做運算,最早的程式設計師就是用這些010101來編寫程式的。想想也是醉了,整天面對這些010101該是一件多麼苦逼的事情。後來人們為了解決這件苦逼的事情發明了很多種高階語言(也叫形式語言)。

9850446-a683b8174824260f

上面這幅圖展現了人們發明的大多數高階語言,但是並不包含全部。我們現在用的程式基本都是用這些高階語言編寫的。

高階語言與機器語言的聯絡是什麼?

上面說的高階語言其實也並不能被計算機直接識別處理的,它們需要轉化成機器語言。轉化的方法有兩種-編譯和解釋。只有經過編譯或者解釋完後,我們的程式才能在計算機或者其他裝置上執行。經歷的過程如下:

9850446-d4609a3983714e2c

小編推薦一個學C語言/C++的學習裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

這些是C/C++能做的

伺服器開發工程師、人工智慧、雲端計算工程師、資訊保安(黑客反黑客)、大資料 、資料平臺、嵌入式工程師、流媒體伺服器、資料控解、影象處理、音訊視訊開發工程師、遊戲伺服器、分散式系統、遊戲輔助等

為什麼選擇C語言?

既然有那麼多的高階語言我們為什麼選擇C語言編寫程式呢,也許是小編對C語言有著獨有的情懷吧,也許是因為我們上過大學的人基本上學的第一門程式語言都是C語言吧,也許它是至今為止用的最多的和底層硬體打交道的語言吧,也許它是這麼多高階語言中經歷時間的考驗最長,至今仍被頻繁使用的語言吧。

9850446-f8c7bd44761d28cb.png
9850446-52de48361b03370c.png
9850446-02d1cdfc8b83b661.png

相關文章