Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

為什么要學C語言

發布時間:2021-03-04 16:08:35

為什么要學C語言


未命名的設計 (1).png 

為什么要把C語言作為第一語言去學習?

 

C語言(以及C++)幾乎是現今計算機軟件的基石,無論是操作系統、其它語言的編譯器,甚至電飯煲里的單片機運行的程序,大多數是用C/C++編寫的。

如果你不是懷著功利主義去學習編程,C語言其實是一個不錯的編程入門語言。


首先,C語言相對許多現代語言來說是十分簡單(或者說是原始)。它沒有內置面向對象、函數式編程、源編程等編程范式的功能,只有30來個關鍵字,少量的概念??梢员容^短時間內完整地學完這個語言。


第二,學習C語言適合同時學習計算機構架,各種數據類型(包括重要的指針)都是直接能和計算機構架的概念對應,語言里面沒有魔法,都是很平凡直觀。你會知道數據在內存中是怎么存儲的,占多少個字節。很多語言的抽象層次更高,不能做到這一點。


第三,很對語言都有類似C語言的語法(如C#、java、javaScript,例如花括號、分號、注釋、if、for、while、do while等等。用C語言入門編程后,這些知識可以過渡至其他語言。

 

由于大多數程序員或多或少學習過C語言,作為一門[通用語],各大網站都會介紹一些編程相關的知識,有些上班族工作中會C++/C#比較多。很多學C語言的學生不知道怎樣寫一些工程上有用的東西,有些學生會從零開始的JSON庫教程就是用C語言作為例子

C語言中會有一些有意思的小知識點,比如:

malloc的坑,分少了會buffer overflow,忘記free了又會造成memory leak

unsigned int

如果你接觸C語言,但不是系統學習和掌握的話,就不懂對應的系統知識,只能看著非常的confusing的bug找不出原因

 

編程中一個重要的概念是抽象,簡單來說,就是把不需要的細節隱藏起來。


舉個例子

你在用筆寫字的時候,不會考慮筆頭的構造是怎么樣讓墨水從筆芯里面流出來,然后留在紙上而只需要考慮這支筆能不能用。


C語言是面向過程的,所以抽象程度相對較低,更像是需要一拳一腳練習的《少林基本功》,所以搞清楚,要想學習編程,并且想在這條路上走很久的話,建議好好學練好扎實的基本功,為了更方便以后的學習。


C語言更像是武功的基礎,《python》這樣的語言也許一上來就直接舞一套《辟邪劍法》,但是如果對于體內真氣走向不清晰的話,一旦出問題就容易走火入魔,更甚至是只有厲害的劍招,沒有雄厚的內力支撐,這樣的后果就是,一旦江湖再出現什么厲害的武功,你就只能感嘆一句“*****”,然后加入爭奪秘籍的隊伍中,否則只能淪為后背的墊腳石。


C語言就是你要清楚體內每一根經脈的走向,真氣匯聚的走向。這個不如python那樣好學,但是相信我,只要熬過這個坎,別說什么辟邪劍法了,你就是心情大好想要打一套降龍十八掌,發一套六脈神劍,也只會感嘆一句,天下武功果然是殊途同歸啊,這就是高手和宗師的區別,也是個人價值的體現。


python》這種語言,有個兩三年其它語言經驗之后,想學的話,一兩周就能快速上手,而C語言這樣的語言,你搞五年《python》,難度對你來說都低不了多少,還是一個學習的過程。

天下武功出少林,對于編程語言更是如此,C語言作為始祖級的語言,肯定有缺點,但是這種講究一拳一腳的練武方式,是普通人成長為宗師最佳的方式之一。


你看江湖,一會來個辟邪劍法,一會來一個九陰白骨爪,偶爾降龍十八掌還來跑個龍套,但是我少林武功依然屹立不倒,這也就是為什么我說要先學C語言,然后才考慮C++Java還是python還是PHP的原因。

 

學習有提高效率的方法,但是絕對沒有捷徑可言。


上一篇:傻傻分不清的網絡知識
下一篇:軟件測試的基本問題
成年av女同网站㊣精品人妻无码专区在线视频㊣日日摸夜夜添夜夜添国产2021㊣成年女人免费视频播放大全