如何學習 C 語言?

時間 2021-05-05 20:43:06

1樓:講泰語的潮汕人

the c programming language

declaration -> declarationSpecifier declarator

decalration specifier:

storage class specifier: auto, register, static, extern, typedef

type specifier: | | | | | | | | | StructOrUnionSpecifier() | EnumSpecifier() | LOOKAHEAD( )TypedefName()

type qulifier: const, volatile

declarator: pointer directDeclarator

statement

expression

2樓:小點鐘

計算機行業發展非常快,大學裡的教育基本都跟不上實際的社會需求。如果你所在的學校還在指定大家使用譚浩強的教材,或使用VC6.0來教大家上機實驗,那你不妨看看本文,這裡有一些建議可以幫助你不會脫離社會太遠。

推薦一本開源電子書:開源電子書:C語言學習筆記

在學習上遇到不懂的問題的時候可以加C/C++學習 487790381群在開始之前,我們先來做乙個小測試。

一、小測試,你準備好學習C語言了嗎?

你是否聽說過二進位制數,他們是如何進行運算的?(基本的數的進製知識)

你能說出乙個最小的計算機系統由哪些部分構成嗎?(基本的計算機結構知識)

計算機是如何儲存影象的? (數位化原理)

因為——

C語言說到底是一門以記憶體為中心的程式語言,你能不能學懂它,其實很大程度上不是取決於你智商高低,而是你是否擁有紮實的計算機結構、儲存、運算原理方面的知識!!

在這裡,我想強調,任何新知識的學習都是有一定的前提條件的。C語言學習的前提條件就是,對計算機系統要有乙個整體的,科學的基礎認識。 脫離了這個基礎認識,一切都很困難。

所以,有些同學學不會C語言,不是因為他們智商不行,而是因為他們沒有準備好。

3樓:不訴離殤

我建議在學習c語言的過程中,把系統API什麼的也加進去一起學吧,教人寫個帶介面的程式比教人成天面對控制台程式,效果可能會好很多,因為這讓人覺得學習c語言能做事情。

4樓:

C語言有比較接近計算機底層的計算模型,所以能夠比較容易的設計出高效的應用。

C語言學習的關鍵是對基本資料結構的設計,因為其他高階語言都在內部解決了這個問題。唯有C語言需要程式設計師自己掌握這些東西的使用。

鍊錶,快取,陣列明白了,以後的問題和其他語言就差不多了。

5樓:蘇菲的老爸

我有超過20年C語言程式設計經驗,20多年來,工作中幾乎天天用,說說我的看法。

有兩種學法:1、跟著正規課程學;2、自學。

如果是第一種學法,那麼上課認真聽,下課做作業,乙個學期下來,基本用法應該沒問題。

我當時是第二種學法,我的做法是:

1、先找一本書,用最快速度從頭到尾看一遍,寫筆記。裡面必然有很多地方不懂,沒關係,把看懂的記錄下來。

2、用C語言寫乙個小程式,建議俄羅斯方塊。我當時是寫俄羅斯方塊,目標很清晰,寫出來之後也很有成就感。

後來我還學了其他語言,也用的是這個套路。

6樓:

c語言是最簡單的一門語言,沒有之一。

看K 'n' R就完事了。

然後遇到迷幻的錯誤或者看不懂的語法就去各大faq搜。從什麼#define charptr char*這種低階錯誤,到duff's device這種技巧,到printf實現、柔性陣列、alloca有什麼用這樣探索語言標準,到unlikely這種語言擴充套件。一切都看你接觸到了什麼,能用到多少,興趣有多少,如是而已。

7樓:

1.要有「聰明人會下笨功夫」的心態,不要急於求成,對於C非常基礎的知識點一定要想方設法弄清楚等;

2.耐心、多練,所為光看別人教游泳不自己練習是學不會游泳的。所以,必要的程式設計聯絡是少不了的;

3.最好最後自己寫乙個簡單的遊戲或者其他一些有意思的程式作為學習的乙個成果,這樣可以鞏固自己所學。

8樓:郭建波

《C語言核心30天突破》

其實學習一門程式語言,首先我想應該弄清楚幾個問題:

1、為什麼要學習C語言?

如果是想考試、過級為目的,那麼就快速把語法過一遍後,去找來歷年的真題來做一下,反覆找到自己出錯的盲點,然後不斷改正修復就可以在短時間內有乙個好的成績

如果是興趣使然,想獲得一門技能。建議在最初階段最重要的是,要得到學習的反饋,這樣才有繼續學習新知識的動力,可以加入學習的圈子,跟大家一起學習,讓自己學習有及時的反饋,逐步精進,這樣才會走的遠,也可以克服初期遇到的很多問題。

2、C語言到底能做什麼?

C語言是一門面向過程的程式語言,相對於很多其它高階語言來說,它更加接近計算機執行的底層邏輯,使用C語言可以學習記憶體的概念,可以掌握一些常用的演算法。想Linux和Windows系統和iOS系統的核心都是C語言編寫的。還有很多嵌入式的應用,即很多跟硬體相結合的地方都是使用的C語言。

C 語言在幾十年中一直保持前三的地位,可以說是非常經典的語言。

3、如何學習C語言?

首先,我們不可避免的是學習基礎的語法和一些計算機記憶體的概念。在這個學習過程中是相對較枯燥的,可以找一些相關的專欄:《C語言核心30天突破》或者圈子,加入後跟其它小夥伴一起學習交流,這樣會比較有動力,而且遇到問題也容易解決。

當我們基礎的語法學會後,就可以學習一些基礎的演算法,演算法是實現乙個程式的核心,演算法通俗一點講就是實現某個目標的核心方法。然後再學一點資料結構的知識,和演算法結合起來,這樣會達到事半功倍的效果。

在這個過程中可以學一點圖形化程式設計的東西,但是建議不要去學一些複雜的庫和框架,那會將消耗你大量的精力。有乙個組合非常適合初學者使用,就是:ege圖形庫 + codeblocks。

你可以看下專欄:《C語言核心30天突破》

祝你早日學成!

9樓:但歌大風雲飛揚

如果是面相工作的話那麼c語言可能不是那麼好的選擇,但如果是面相個人發展的話c還是要重點研究下的。編譯原理。彙編什麼的。

剛入門的話有兩個真的好乙個是部落格讓你不在害怕指標。另乙個就是大話資料結構。鍊錶很重要。。。。

10樓:

直接開荒c可能是想被勸退?初學者建議先學點高階實用易懂的語言(如c#、js、python、swift等)再回過頭來學c,這樣一來你可以以內行的身份來審視自己的決定,二來即使要學有了基礎也比硬啃要輕鬆不少

11樓:Ansiz

《C和指標》看完,習題都自己做出來,應付學校的考試綽綽有餘了,沒興趣做C就可以考慮換語言了,有C的基礎換Go不錯…… 如果有興趣做C可以找一些庫來玩玩。《C專家程式設計》《C陷阱與缺陷》也可以看看。

12樓:咸寧樂

感覺很多回答都非常高大上,但是我覺得那些都不適合初學者。

c作為最基礎的程式語言,是很多初學者首先接觸的程式語言。所以初學者一開始學習肯定都會覺得有些困難。

但是這是正常的,就如同任何一門課的學習一樣,題主應該由簡到繁,由淺到深,從最開始的概念開始學習。一步一步,慢慢向後學。

碰到無法理解的難點,一定要想辦法弄清楚,因為c的學習是連續的,前面不懂,會影響後面的學習。

還有書後習題,有時候的話最好全部做一遍。

最後,最重要的就是上機練習。最少要保持每週1~2次的上機。

實踐才是檢驗真理的唯一標準。

13樓:陶華碧的淚

額,為什麼國內很多任務科要求學c,而且是大部分人沒接觸過程式設計就直接上c,這麼難這麼底層的東西不太適合入門啊...

而且我覺得,說自己會c的,那基本只是懂皮毛,懂程式設計的基本方法罷了,c這種東西要想學好還是要做很多底層開發才敢說自己懂c吧.

對於初學者我覺得隨便乙個指標就能把人繞暈了(我當時反正是這樣)如果不是計算機專業的為什麼不學學matlab呢,完全夠用了啊

14樓:guoking

談談我的經歷吧。我建議把c語言當作第一門語言,它對建立自己的程式設計思維幫助極大。在學習c語言之前,用一本電腦科學導論或者是電腦科學概論,入門計算機原理和作業系統。

然後學習c語言,就不會太難了。開始學的時候,可以在網上搜一些小的簡單的例子。之後,還是要看書。

書知乎都有推薦的。

C語言才開始學的時候,雖然是面對的黑框框,但是你自己可以把它變得很有意思。比如,你可以自己和電腦對話啊;比如,可以實現簡單的資料結構和演算法啊,雖然顯示的只是黑框框的數字,但是可以想象那個資料結構的存在。小孩子,玩泥巴都可以玩一下午。

還是要自己找樂趣,黑框框也能玩出花來。

15樓:易如

第一次回答問題,哈哈 。現在在讀資訊保安專業的大二,大一學習了C語言,一點小心德吧,來分享一下。

C語言給我第一感覺是很難入門,當時學了一學期只是掌握了基礎的輸入輸出,迴圈,條件等程式。陣列,指標,結構體等都是在學習了資料結構後才有了深入的了解。C語言雖然是我們的專業課,但是老師主要側重講了程式設計用到的語法,程式設計思想主要是通過資料結構學到的。

大一學完c語言,能編出來的程式還脫離不了那乙個小黑框,而且能處理的問題邏輯都很簡單。

除了刷題,要把C語言當做乙個工具,編一些小程式能省不少事。大一的時候有物理實驗,資料處理就自己編個很簡單的小程式,只要把資料輸入就能得到答案,不用重複的更換資料在計算器上按同一步驟按來按去,處理資料很快,有時把程式分享到班群裡,簡直裝逼的不得了。

還有我們學校坑爹的綜測分要學生自己算。作為班委一員,我負責審核。當時也是編了個程式,5分鐘就編完了,直接輸入成績就能算出來,當時覺得自己學以致用,有點小喜悅。

生活中一些處理起來邏輯簡單,需要重複多次相同操作的問題都可以程式設計試試。

個人經驗,要把儲存空間(或者說位址),位址裡存的值兩個東西想明白了。因為乙個資料就是由數值和儲存空間組成的。比如賦值語句A=B,就是把B中存的值存到A的位址裡。

再比如乙個指標p,它本身佔乙個位址,他的位址裡存的是它所指向的變數的位址,*p就是找p所佔的位址裡存的那個位址存的值(蒙了嗎,哈哈,多讀幾遍)。再比如陣列,a[10],a相當於乙個指標常量,指向了一段連續的儲存空間。當時我弄明白了這兩個概念,真的覺得勝過大一學的那乙個學期的C語言。

學習嘛,還是要心情愉悅,告訴自己,程式設計很有趣,恩,真的很有趣~

如何深入學習C語言

啊忍 作為剛考完C語言二級的過來人,提一點微薄的想法。我就是報了個培訓班也不貴 本地300左右,並不是打廣告 我是看不進去那些書,就跟著老師學,下來自己做些題目,不懂得及時問,老師也樂意回答,感覺C語言最難的是陣列和指標,把這兩個學好基本上沒問題了。 甘強 我本人做C開發10年了,個人感覺主要是掌握...

如何高效的學習C語言?

高手課 C語言是乙個很古老的語言,新手學習C語言,要具備一定的技巧,這樣才能夠達到事半功倍的效果。下面我們就來談談怎麼學習C語言?高手課 這裡介紹幾個學習C語言必備的東東 乙個開發環境 例如turbo C 2.0,這個曾經佔據了DOS時代開發程式的大半個江山。但是現在windows時代,用turbo...

如何學習C語言的GUI?

binghoo dang libui 可以寫一些小的gui程式。SDL,可以寫一些2D的遊戲。TK 也是c完成的,給tcl用的。win32 API還是算了,那個api的命名,都讓你看不出來是在用c語言!看看這裡 jobbole awesome c cn 樓上都說了Qt,但那是C 的,C 是區別於C的...