當前位置:首頁 » 編程語言 » c語言學習
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言學習

發布時間: 2022-02-03 23:31:58

c語言的學習方法

如果剛開始接觸c語言,聽不懂也正常,不要有畏懼的心理,有些小夥伴可能看到部分同學什麼都會,自己就很氣餒,因為這部分同學很可能接觸編程比較早,即使小孩學走路也有一個過程,剛開始有走路慾望->學會站立,腿部有力量->嘗試走路,不斷練習->學會走路。所以不要慌。

學C語言與走路一樣,剛開始一定要有學習的慾望,然後,再制定計劃,不斷練習,量變會引起質變,堅持下去就發現原來這么簡單。

歡迎關注公眾號:c語言與cpp編程

1、學習資料

書本推薦:《cprimerplus》難得的好書。老譚的書可看可不看,但是這本藍皮的cprimerplus是我案頭必備的參考書,後面還有完整的c99標准庫,所以適合當個參考書。注意區分一下《c++primer》和《cprimerplus》

如果覺得這幾本書還是有點難,那就先看《C語言程序設計》

有了經驗後要去看看,例子很經典。後來進階可以看看三劍客《c和指針》《c陷阱與缺陷》《c專家編程》

剛學C語言的話可以結合看下C語言編程經典100例;

編譯器:VS,DevC++,VC++,CodeBlocks,C-Free,TurboC。關於它們的特點網上介紹很多了,就不贅述了。講真,入門和基礎階段你用哪個無所謂,還是選自己喜歡的,不過對於初學者我們推薦DevC++。可能現在大學課堂用的還是VC++,剛入門自己習慣就行。

視頻推薦:有同學曾經說過,視頻這么好,上課就不用聽講了,這個是完全錯誤的,視頻是課堂補充,上課還是一定要好好聽講的,視頻可以查缺補漏,系統的學習一下。

上面提到的一些資料整理好了,可以下載:

鏈接:

提取碼:1234

學習方法:

1、過:學習一門新的語言,第一步就是把它所涉及的基礎知識大體過一點,不求深解,只求了解——第一遍:無需了解太過深入的理論,大體知道這門語言是什麼樣的,主要面向哪些場合,一些基本的語法格式是什麼樣的就可以了。

2、抄代碼:剛開始寫代碼,沒有多少人一上來就能立刻自己寫一個很完善很強大的代碼,甚至連基本的語法都會寫錯,這時候抄代碼就很關鍵了,從書上抄,從例子里抄,邊抄邊想,邊想邊回憶語法。

3、模仿改:自己會抄寫一些簡單的代碼,熟悉了一遍此語言的簡單語法後,但還不太清楚怎樣下手寫一個完整的代碼模塊,所以這一步要仿寫了,仿照給出的代碼寫一個屬於自己的代碼

4、勤調試:沒有人能一下子寫出完全正確的代碼,自己試著寫一些代碼,通過不斷調試來驗證自己的一些想法,繼續思考,再次驗證,來回折騰。熟悉一些基本的調試工具以及調試方法。

5、看n遍:出錯或遇到問題時,將代碼從頭看到尾,看了一遍又一遍,直到快全部記住時,總能找出問題原因,相信方法總會比問題多

6、練重復2-5步三遍以上,不解釋。

7、創新拿出一個完全沒有寫過的代碼,根據要求,一步步的寫出來。如果寫不出來,或者中間一堆錯誤,請參考第六步。

8、悟:主動找到寫代碼的感覺和成就感,並保持下去,世界上最難的語言就掌握了,將成為你軟體生涯永遠的工具。

⑵ C語言的學習過程

1、就C語言本身來說,可以分為三個階斷的學習:
其一,語法階斷,要對所有的語法知識點有所了解。沒必要記,但是得有個印象,在實際開發中,不懂就查,慢慢的也就熟悉啦。
其二、底層階斷,主要是從內存角度、反匯編角度、編譯角度來理解C的語法知識,因為C語言只是C編譯器的功能。這裡面涉及的基礎知識很多,比如從內存角度來理解,要涉及操作系統原理、計算機組成原理等等大學本科計算機專業最基礎的學科。
其三、設計階斷,學語言就是為了編程,要多實踐,多從別人的實踐中取得設計經驗,這個是最重要的,也是最難的。
以上是個人的觀點,概括來說,第1個階斷是見道,第2個階斷是修道,第3個階斷是行道,這個道便是C語言的編程之道。
2、大的方向來看 ,先把C語言弄精通,然後向上可以學習C++,也可以學習C系風格的語言,比如php、java等等,走應用程序開發路線,向下可以學習匯編、硬體編程,走底層系統程序開發。

⑶ c語言學習步驟

這個問題我今天回答第三遍了,關鍵在於代碼練習。
1:不要急,要有耐心學習,不要想著一下能夠寫出什麼樣的大系統來。
2:一些參考書是很有必要的,具體書籍就不必多說了,比如譚浩強的C等,自己可以網路下相關資料。
3:還是不要急,把書籍上的事例代碼敲出來(不是拷貝、粘帖,是你自己一個字母一個字母的敲出來)。
4:運行代碼,使正確的結果能夠出來。
5:修改部分代碼,嘗試運行。最終使修改後的代碼能夠正確運行。
6:寫自己的代碼。
7::以上6步建立在你掌握了一點語法和結構的基礎上。如果你是0基礎,那麼接著看。
8:按書籍上的順序來,先學習語法、結構、變數等,在學習數組、指針、鏈表等知識。
9:不要急,第8步是很重要的基礎。一定不可馬虎放過。
10:進行3--6步練習。繼續學習。
11:可以進行第6步,繼續學習。
12:可以學習下其他書籍,比如《數據結構與演算法》等。
13:編寫代碼,調試。運行,修改、完善、調試、運行、擴大功能、調試、運行.....
14:寫代碼、調試。運行。。。。。
編程需要大量的代碼練習,紙上談兵沒用,一定要動手敲、調試、運行。
以上學到的知識只是C的基礎部分,以後你也可以繼續學習C++、Java等。當然你也可以繼續學習C的高級部分,比如網路、游標庫等(這些學好就是大師級C了)。
走編程之路,光學習語言是不夠的,比如演算法、編譯原理、軟體工程、計算機系統、高數、物理學等都要學習下。
希望對你有幫助

⑷ c語言如何學習

相對於其他編程語言,C語言還是比較難的。初學者需要注意一下幾點:

一是學習順序

先從熟悉簡單的C語言語法開始入門,然後再循序漸進,學習C++語法,WIN32、MFC、QT、網路編程,資料庫、數據結構、演算法、COM、STL等。構建一個完整的C語言知識體系。這需要一個比較漫長的學習積累的過程。語法入門部分大概2-3個月,其他部分需要學習和工作中慢慢理解和消化了。

c11.jpg

二是學習方法

人的知識80%是通過眼睛獲取的,但是學習編程有所不同,除了看書、看視頻之外,關鍵是要勤動手,勤動腦。通過做大量的練習、項目實戰不斷積累代碼量。只有代碼量足夠多了,項目做的多了,才能算是真正學會了。項目能否完成,就是衡量是否學會的唯一標准。後期就是代碼的質量和優化問題了,這個只能在項目工作中慢慢積累經驗了。

c12.jpg

最後強調一點

很多人學不會編程是因為掉坑裡了。就是教程或者書上的知識點之間跨越太大,作為一個初學者很難自己摸索出來,前面的知識點沒有掌握,接著學習後面的知識,肯定是學不會了。目前絕大多數編程書籍和教程或多或少都有這樣的弊端。自學能力比較強的人可以通過各種方法,參考各種網上的資料自己解決。但是大多數自學能力不是很強的人,只能依賴老師、同學、同事或者朋友幫忙指導,或者報名培訓機構,老師指導完成了。

學習編程通常需要一些好的學習資料,包括紙質的書籍,視頻教程,課件,項目練習,代碼。零基礎入門的書籍推薦《明解C語言》、《C Primer Plus》,還有一本非常特別的匯編和C語言正向逆向結合的書編程達人內部教材《匯編、C語言基礎教程》也非常不錯,講解匯編和C語言的本質非常透徹,非常細致。視頻資料也是特別多了,各種視頻網站、論壇、自媒體都有,比如網易課堂、騰訊課堂、慕客網這些。還有一些論壇,比如CSDN、編程中國等。最重要的一點就是答疑服務,推薦愛達人的網站也很不錯,從零基礎入門到應用課程,配套的視頻、課件、代碼、項目、答疑服務都有,還可以兼職接單,學以致用。

⑸ C語言學習

要想學好C語言 最好還是買本書看
我記得有本 作者是 譚浩強 寫的關於C語言比較基礎的書 你搜索看看

⑹ C語言學習。。。。

您好!
第一題:
int x = 0177;
這條語句中的0代表的是8進制數177,轉換成10進制:7+7×8+1×64=127。
所以
1,輸出%3d的時候就是輸出3位10進制數,
也就是輸出127。
2,輸出%6d的時候就是輸出6位10進制數,所以先輸出3個空格,
也就是輸出 127。
3,輸出%6o的時候就是輸出6位8進制數,所以先輸出3個空格,
也就是輸出 177。
4,輸出%6f的時候就是輸出6位16進制數,127轉換成16進制就是7f,所以先輸出4個空格,
也就是輸出 7f。
5,輸出%6u的時候就是輸出6位無符號10進制數,跟第2個一樣,
也就是輸出 127。

第二題:
1,c -= ++b; //先算++b結果是3,且b值為3,然後是c -= 3,結果是c值為-2
2,b *= a + c; //先算a+c結果是1,然後是b *= 1,結果是b值為3
3,然後是內聯函數(這個好像是叫內聯函數吧,有點忘記了),重新定義了b和c,所以內聯函數中b和c是重新開辟了一塊內存空間,與內聯函數外的b和c不一樣,內聯函數結束時,內聯函數中的b和c內存被釋放。
❤c /= b * 2; //先算b * 2結果是10,然後是c /= 10,結果是c值為1
❤a -= c; //a值為2
❤輸出a,b,c,就是輸出2,5,1
❤a += --c; //先計算--c,結果是0,且c值為0,然後是a += 0,結果是a值為2
❤內聯函數結束,b和c被釋放,a仍然還是2,b和c又回到了內聯函數開始之前,b值為3,c值為-2
4,輸出a,b,c,就是輸出2,3,-2

你哪裡看不懂記得問我哦

⑺ C語言學習方法

我是自學的,想學c,首先必須對計算機有足夠的興趣,否則你是堅持不下來的。等程序化的思維養成,你會發現c語言是很奇妙的東西,開始愛上它,自然而然的就掌握它。順便提一句,c語言很強大

⑻ 學習C語言技巧

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。

大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以網路一下:)

Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C Reference Manual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。

如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。

切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。

Unix/Linux還是Windows,這是個很大的問題

不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如Visual Studio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的Visutal C++工具欄按鈕就可以開始寫Hello, World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。

對於一個只懂得Windows基本操作、連DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注於C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。

所以我建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。Visual C++ 6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而Dev C++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標准幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過於復雜了)。

等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格
歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。

書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。

學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。

例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。

也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。

仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。

⑼ c語言學習

問題的根本是缺少實踐和編程思路,下載一個編譯器多動手編一些小東西玩玩,還有就是到網上下載一些簡單的有源碼的程序,邊調試邊學習。