GG資源網

C語言從哪學起?(c語言從哪裡學起)

先問個問題:

你喜歡看書嗎?你是否擁有計算機結構、存儲、運算原理的紮實基礎?

如果以上任何一個都沒有,那麼勸你還是放棄C語言,去學習門檻相對較低的HTML、PHP、Python、Java。

很多初學者剛學習C語言的時候,覺得困難重重,不是因為智商的差異,歸根到底,是因為你是否對計算機系統有一個整體的、科學的基礎認識?

所以,你想學習C語言,首先你得懂這些,如果你不懂,那麼就買書去看吧,看視頻也行。

書籍

《計算機科學導論》基礎書籍(必看):

必看書籍,先把「基礎的數的進位知識」「基礎的計算機結構知識」「數字化原理」搞明白,再去學習C語言,必定事半功倍。

這本書籍比較基礎,閱讀起來難度不高,能夠讓你對計算機有一個整體的了解。

【如果你看到這裡,決定放棄C語言,那麼就不要往下看了,說明C語言這門語言不適合你的性格。

你可以考慮HTML、PHP、Python、Java等,或者去w3cschool上面的免費實戰去測試下,你自己喜歡哪門語言,感興趣才能堅持,更何況是編程學習,更需要興趣做主導。】

《C語言程序設計》K.R(必看):

對新手來說略難,但是絕對是非常重要的一步,你需要認真閱讀。

《c primer plus》

進階書籍,寫的非常詳細,建議閱讀。

方法

後面就不再介紹書籍,你先把上面的書看完,你自然而然知道該如何學習C語言,上面介紹三本書都沒看完,介紹再多書籍,對你也沒有任何幫助。

說到底,C語言:一門以內存為中心的編程語言。

下面是知乎用戶「林建入」的一套學習C語言的方法,小夥伴可以參考下。

學習方法:

1.學習基礎語法

2.學習簡單的少數幾個C語言自帶的函數

3.學習程序設計的基礎知識,比如演算法、數據結構

4.學習一些C語言更加強大的函數。

5.學習一些特定領域的基礎理論知識,比如操作系統、圖像、資料庫、網路等。

6.應用上面的知識,進一步學習其他人其他人提供的函數庫。

這個階段最重要的是1到4,然後選擇去做5和6,自己做出一些小作品出來,那麼就非常贊了!

大概就這些,就這麼幾百個字,但是你去學習的時候,說實話,會很累,但是希望你能堅持!

最後送上一張圖,當年學C語言的過程,共勉之。

#####

九十年代從 TurboC 入門的老碼農來寫一點經驗之談:

首先,我個人是非常反對看視頻學習的,看視頻無法通過索引查詢知識點,會浪費大量的時間,而且網上的教學視頻水平參差不齊,容易走彎路。

其次,興趣是最好的老師,比如在 Windows PC 上學習 C 語言,你需要安裝數 GB 大小的 Windows SDK 才能用上百行代碼顯示一個窗口,期間還得學習 Win32 API 等不相關的內容。否則就只能簡單的輸出一個「Hello World」,非常的單調無聊。

所以這裡我推薦通過單片機來學習 C 語言,從點亮流水燈到控制液晶顯示屏再到控制電動機,通過單片機編寫調試 C 語言非常的有樂趣而且可以看到實際用途。同時成本並不高,以學習 STM32 開發為例,只需要購買一個約 10 元的 STM32F103 最小板和同樣價格約10元的編程器連接到電腦並配置好開發環境即可上手。

由於 C 語言是可移植的語言,你通過單片機學到的知識和技巧在 PC 等平台上同樣是有用的。同時通過單片機這種底層硬體的開發,樓主可以更深刻的掌握計算機體系架構,對日後學習其他計算機知識和語言都是有百利無一害。

同時學習 C 語言的書籍,我推薦 C 語言發明人編寫的《C編程語言》,使用最權威的教程能讓題主站在最高的起跑線上。

依據題主的選擇,結合單片機相關的學習材料相信很快就可以上手。

希望對題主有用。

#####

學習C語言從什麼開始學起。我來說說我的學習經驗,說句實在話我真正學會C語言是從開始學習單片機開始的,以前在上學時也學過C語言,由於只是應付考試,沒有深入去學習,當時只是學習了C語言的一些皮毛沒有領會C語言的精髓。後來由於工作的需要接觸到單片機,剛開始使用彙編語言編寫,感覺這種彙編語言晦澀難懂,在一次偶然的機會我從書中看到C語言也可以進行單片機程序的編寫,我如獲至寶就進入了用C語言編寫單片機程序的階段,下面我和朋友們談談我是如何從C語言開始學起的。

學習C語言要找到一個合適的平台

通過我這些年對C語言的學習,我認為學習C語言要有一個平台,這樣去學習進步才更快。特別是對剛接觸這種C語言的朋友來說更為重要,我學習就是通過單片機這個硬體平台才逐漸深入理解了C語言的,起初我是從新開始學習最基本的C語言知識的,比如先從 if、while、 for、 switch等基本語句和邏輯運算與賦值表達式開始編寫循環流水燈。儘可能多地運用這些語句和表達式編寫流水燈的程序,通過生成目標代碼下載到單片機實驗板中觀察現象,通過反覆的調試程序達到自己想要控制的效果,這樣慢慢的就對C語言產生了濃厚的興趣了,我想如果只用純軟體的C語言編譯軟體雖然能夠看到執行的最終結果,但是看不到每一步所執行的效果。我們通過Keil C編程軟體,在通過單步執行每一步程序,可以看到所設置的變數里數據值的變化,從而對程序每一步執行的過程和結果我們通過這個軟體都能看的到,最後的結果通過發光LED管或者數碼管等顯示器件顯示出來,這對我們樹立學會C語言的信心非常重要。就是通過這樣的一個平台我找到了快速學習C語言的方法。

學習C語言要找到一個適合自己的方法

學習C語言的平台有了之後,下面就要探索一個適合自己的學習方法的問題了,在這方面我還是根據自己學習的一點體會和朋友們分享我學習C語言的方法吧!我學習的第一步就是「看」,我主要是看別人的常式,然後按照「描葫蘆畫瓢」式,自己仿照別人的常式敲寫代碼,比如大部分朋友都學過這樣一個常式「滴水拖尾流水燈」,就像我們看到屋檐下的一顆水滴慢慢變大,達到一定程度突然墜落的過程,我就是通過別人的常式學會自己編寫這個程序的,編寫好程序通過八個發光二極體來驗證這個具有拖尾的流水燈程你會感覺到有一種成功後的喜悅感;看常式到一定程度後,我們就可以自己編寫一些簡單的程序了,又例如我們在中學課本上學了這樣一個數學故事的例子,從1+2+3+4+......+100。我相信朋友們都知道結果,我們就可以用C語言來編寫程序。最後用單片機控制數碼管來顯示這個式子的結果,就是這樣通過「看」、「模仿」、「自己編寫」這樣一個流程把C語言的很多方面都理解的更透徹了,特別是對指針這一塊的學習。我們可以用在簡單的流水燈程序上,雖然有點像「殺用牛刀」的嫌疑,但對我們理解指針的本質有很大的幫助;也可以用在動態LCD1602顯示或者LCD12864等液晶顯示程序上。通過這樣的方法學習使我走向了一個適合自己的學習C語言之路,我相信很多朋友都會找到適合自己學習C語言的方法的。

學習C語言要建立學習的興趣

「說一千,道一萬」關鍵學習C語言要有興趣,要有內驅力。這樣才是我們學習好C語言的關鍵。只要我們找到一個適合自己學習C語言的平台,然後有一個合適自己學習的方法,通過訓練「培養」出自己學習C語言的興趣,那麼你進入C語言的神秘的大門就為期不遠了!

以上就是我給學習C語言朋友們的一個小小的建議,希望能對大家有所啟迪!歡迎朋友們討論這個話題!敬請關注電子及工控技術。

#####

C語言並沒有想像中的那麼難。不過數學好的人學習C語言相對來說相對容易一些。數學好,說明你的邏輯思維能力比較強,編程本來就需要具備較強的邏輯思維能力。

剛開始接觸c語言的時候,覺得比較難是理所當然的。因為C語言跟其他的課程完全不一樣,C語言課程比較「虛」,很多人學的時候都不太理解C語言到底幹嘛用的,懵懵懂懂地學,當然會覺得比較難理解。不像我們之前所學的語文、數學、化學、物理等知識至少整體概念還是比較容易理解的。

很多人覺得C語言比較難入門。難度是有一點的,其實並沒有想像中的那麼難,只要認真努力,肯定可以學得好。覺得難的人,你們捫心自問一下,你真的努力了嗎?

很多人上大學大部分時間都是在玩,上課玩手機,要麼直接逃課,喜歡玩很正常,但是該學習時還是得認真學的。

對於C語言怎麼學?總結以下幾點:(1)該上課時盡量去上課,多聽課,理解起來也快一些;(2)課後最好能抽點時間複習老師教過的內容,及時複習是有好處的,時間長了容易忘記,而且如果前面的章節不理解,很容易影響後面章節內容的學習;(3)課程設計認真做,這是難得的鍛煉機會;(4)學習的過程中最好自己多動手敲代碼,可以完全按照書上的例子敲進去運行一遍,比只看不動要好得多;(5)自己開發一些小項目,練練手,比如五子棋、計算器、通訊錄等,遇到問題積極尋找答案,這樣進步要快得多。

本人有很多C語言資料和視頻教學,有沒有需要的朋友?歡迎大家積極留言,相互交流學習,一起進步~~~

#####

對於有C語言基礎得,進階C++,推薦用書C++ primer Plus ,這本書系統的講解了C++語言的編譯原理,處理數據、複合類型、循環關係、分支語句、邏輯運算符等等,其中C++語言的精髓面向對象也有系統講解,在所有的書中相比來說此書比較好,對於沒有C語言基礎得,就先從最簡單的語法開始學,然後逐步深入,其次,學習的過程一定要一邊學習一邊敲代碼,遇到問題要趕緊查找,切記不可以積累,這不僅僅不是個好習慣,還會為後面得學習造成很大的困擾!

#####

要學透徹,我也建議從嵌入式C開始,這樣很多東西都能從底層弄清楚,包括線程,程序控制,內存管理等,PC端很多都是封裝好的庫,甚至是做好的框架,想快速入門,PC上的C比較適合。

#####

計算機領域,有各種不同的編程語言,每種需要有其特點和擅長處理的領域。要學好C語言,首先要明白C語言的目標應用場景是什麼。

C語言是離計算機底層較接近的語言,擅長對性能要求較高的數值處理領域。所以,要學好C語言,除了掌握基本的語法規則之外,還需要學會:

1.掌握數據在內存中的存儲方式,知道一個變數在內存中是怎麼存儲的

2.掌握演算法的時間複雜度,學會評估一個演算法隨數據規模而變化的性能

3.掌握經典的各種高性能演算法,知道各種演算法的應用場景。常見的演算法有排序,搜索,遍歷等等。

#####

我這裡有一個系列的C語言入門基礎視頻,是一整個系列的全套視頻,講解的知識點很全面,也很詳細。適合初學者。

課程一共有9天,每天3-11個課時不等,你就按照這個進度學習就行了,9天幫助你輕鬆掌握C語言。

以下是部分視頻內容及各個課時的時長:

這是第01課 必備Linux命令和C語言基礎裡面的幾個課時。

第02課 數據類型、常量、變數及運算符

  • 課時1數據類型(1)

    00 : 23 : 57

  • 課時2數據類型(2)

    00 : 27 : 23

  • 課時3常量

    00 : 45 : 44

  • 課時4變數一

    00 : 16 : 44

  • 課時5變數二

    00 : 15 : 06

  • 課時6運算符一

    00 : 26 : 38

  • 課時7運算符二

    00 : 20 : 14

  • 課時8運算符三

    00 : 14 : 35

  • 課時9運算符四

第03課 輸入輸出專題

  • 課時1字元輸出函數和格式輸出函數(輸入輸出一)1

    00 : 17 : 31

  • 課時2字元輸出函數和格式輸出函數(輸入輸出一)2

    00 : 16 : 05

  • 課時3字元輸入函數和格式輸入函數(輸入輸出二)

    00 : 21 : 20

  • 課時4輸入函數的垃圾處理及字元串的輸入輸出(輸入輸出三)

第04課 控制語句

  • 課時1控制語句-if(控制語句一)1

    00 : 27 : 41

  • 課時2控制語句-if(控制語句一)2

    00 : 21 : 58

  • 課時3控制語句-switch(控制語句二)1

    00 : 22 : 03

  • 課時4控制語句-switch(控制語句二)2

    00 : 15 : 09

  • 課時5循環語句-while(控制語句三)1

    00 : 24 : 24

  • 課時6循環語句-while(控制語句三)2

    00 : 20 : 45

  • 課時7循環語句-for(控制語句四)1

    00 : 10 : 11

  • 課時8循環語句-for(控制語句四)2

    00 : 17 : 51

  • 課時9循環輔助語句(控制語句五)1

    00 : 18 : 15

  • 課時10循環輔助語句(控制語句五)2

    00 : 26 : 42

第05課 數組和字元串

  • 課時1一維數組(數組一)

    00 : 34 : 08

  • 課時2二維數組(一)第一節

    00 : 22 : 59

  • 課時3二維數組(一)第二節

    00 : 27 : 19

  • 課時4字元數組和字元串(第一節)

    00 : 20 : 46

  • 課時5字元數組和字元串(第二節)

    00 : 20 : 34

  • 課時6字元數組和字元串(第三節)

    00 : 28 : 27

  • 課時7字元串函數(一)第一節

    00 : 17 : 59

  • 課時8字元串函數(一)第二節

    00 : 16 : 04

  • 課時9字元串函數(一)第三節

    00 : 25 : 48

  • 課時10字元串函數二(第一節)

    00 : 22 : 08

  • 課時11字元串函數二(第二節)

00 : 15 : 52

還有第6.7.8.9課,總共9天的課程,我就不一一把課時及時長打字打出來了。

需要的話可以給我發私信「C語言視頻」,看到之後我會儘快發你。

#####

這個問題應該是問得最多的了,我自學過好幾門語言,開始也有你這種困惑,也這樣問過,那無論那種回答,都解決不了你的問題,因為大家都是站在不同的立場不同的高度來看待這個問題的,所以最簡單的辦法,就是找一本好書,認認真真照著書裡面的代碼自己在電腦上碼代碼,認真做練習題,遇到不懂得問題,無論費多長時間把它搞清楚。這樣堅持下去,你的學習能力會快速提高。千萬不能遇到不懂得跳過,這樣下去你的疑問會越積越多,透徹的了解了c語言學其他的就非常簡單了。不要看那些學習路線的文章,那是建立在你會的基礎之上的。所以總結下就是認真看書,勤敲代碼。這是我的學習方法,歡迎關注我,幫大家解決更多編程問題。

#####

本人親身經歷:

二十年前學校里沒有學過C語言,但系統的學過計算機原理、Basic語言、Foxbase等相關課程;

十五年前工作中使用彙編語言,發現C語言有需求,找來譚浩強C語言書來啃,前後不下三編,偶而上機練練,始終不得要領;

五年前,工作中C語言大勢所趨,不得不邊翻書,邊看別人代碼,幾個項目實操後,發現C語言寫起效率高、移植方便,簡單的項目自己用C寫完全沒問題了;

最近幾年,逐漸接觸大型SDK,大神們的代碼、工作中的良師益友,相對書本來說,受益非淺!

由於網站搬家,部分鏈接失效,如無法下載,請聯繫站長!謝謝支持!
1. 帶 [親測] 說明源碼已經被站長親測過!
2. 下載後的源碼請在24小時內刪除,僅供學慣用途!
3. 分享目的僅供大家學習和交流,請不要用於商業用途!
4. 本站資源售價只是贊助,收取費用僅維持本站的日常運營所需!
5. 本站所有資源來源於站長上傳和網路,如有侵權請郵件聯繫站長!
6. 沒帶 [親測] 代表站長時間緊促,站長會保持每天更新 [親測] 源碼 !
7. 盜版ripro用戶購買ripro美化無擔保,若設置不成功/不生效我們不支持退款!
8. 本站提供的源碼、模板、插件等等其他資源,都不包含技術服務請大家諒解!
9. 如果你也有好源碼或者教程,可以到審核區發布,分享有金幣獎勵和額外收入!
10.如果您購買了某個產品,而我們還沒來得及更新,請聯繫站長或留言催更,謝謝理解 !
GG資源網 » C語言從哪學起?(c語言從哪裡學起)

發表回復

CAPTCHAis initialing...