如何學(xué)好c語(yǔ)言 教了多年《C程序設計》課程,大多學(xué)生覺(jué)的這門(mén)課程難學(xué)。
其實(shí),按照我們現在的教學(xué)大綱和教學(xué)要求,只要同學(xué)們掌握一些方法,克服心理上畏難、不輕言放棄,是完全可以學(xué)好的。 《C程序設計》的內容很豐富,按照我們現在的教學(xué)大綱,教學(xué)的主要內容是基礎知識、四種結構的的程序設計、函數與數組的應用和一些簡(jiǎn)單的算法。
在學(xué)習時(shí),同學(xué)們應該把主要精力放在這些部分,通過(guò)實(shí)踐(練習和上機調試等熟練掌握。當然,在初學(xué)C語(yǔ)言時(shí),可能會(huì )遇到有些問(wèn)題理解不透,或者表達方式與以往數學(xué)學(xué)習中不同(如運算符等),這就要求不氣餒,不明白的地方多問(wèn)多想,鼓足勇氣進(jìn)行學(xué)習,待學(xué)完后面的章節知識,前面的問(wèn)題也就迎刃而解了,這一方面我感覺(jué)是我們同學(xué)最欠缺,大多學(xué)不好的就是因為一開(kāi)始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問(wèn)題,回答是聽(tīng)不懂、不想聽(tīng)、放棄這樣三個(gè)過(guò)程,我反問(wèn),這節課你聽(tīng)過(guò)課嗎?回答又是沒(méi)有,根本就沒(méi)聽(tīng)過(guò)課,怎么說(shuō)自己聽(tīng)不懂呢?相應的根本就沒(méi)學(xué)習,又談何學(xué)的好? 學(xué)習C語(yǔ)言始終要記住“曙光在前頭”和“千金難買(mǎi)回頭看”,“千金難買(mǎi)回頭看”是學(xué)習知識的重要方法,就是說(shuō),學(xué)習后面的知識,不要忘了回頭弄清遺留下的問(wèn)題和加深理解前面的知識,這是我們學(xué)生最不易做到的,然而卻又是最重要的。
比如:在C語(yǔ)言中最典型的是關(guān)于結構化程序設計構思,不管是那種教材,一開(kāi)始就強調這種方法,這時(shí)也許你不能充分體會(huì ),但是學(xué)到函數時(shí),再回頭來(lái)仔細體會(huì ),溫故知新,理解它就沒(méi)有那么難了。學(xué)習C語(yǔ)言就是要經(jīng)過(guò)幾個(gè)反復,才能前后貫穿,積累應該掌握的C知識。
那么,我們如何學(xué)好《C程序設計》呢? 一.學(xué)好C語(yǔ)言的運算符和運算順序 這是學(xué)好《C程序設計》的基礎,C語(yǔ)言的運算非常靈活,功能十分豐富,運算種類(lèi)遠多于其它程序設計語(yǔ)言。在表達式方面較其它程序語(yǔ)言更為簡(jiǎn)潔,如自加、自減、逗號運算和三目運算使表達式更為簡(jiǎn)單,但初學(xué)者往往會(huì )覺(jué)的這種表達式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。
當多種不同運算組成一個(gè)運算表達式,即一個(gè)運算式中出現多種運算符時(shí),運算的優(yōu)先順序和結合規則顯得十分重要。在學(xué)習中,只要我們對此合理進(jìn)行分類(lèi),找出它們與我們在數學(xué)中所學(xué)到運算之間的不同點(diǎn)之后,記住這些運算也就不困難了,有些運算符在理解后更會(huì )牢記心中,將來(lái)用起來(lái)得心應手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。
先要明確運算符按優(yōu)先級不同分類(lèi),《C程序設計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。下面我們通過(guò)幾個(gè)例子來(lái)說(shuō)明: (1) 5*8/4%10 這個(gè)表達式中出現3種運算符,是同級運算符,運算順序按從左至右結合,因此先計算5 *8=40,然后被4除,結果為10,最后是%(求余數)運算,所以表達式的最終結果為10%10 = 0; (2)a = 3;b = 5;c =++ a* b ;d =a + +* b; 對于c=++a*b來(lái)說(shuō),按表中所列順序,+ +先執行,*后執行,所以+ + a執行后,a的值為4,由于+ +為前置運算,所以a的值4參與運算,C的值計算式為4*5=20而不是3*5=15了;而對于d=a++*b來(lái)說(shuō),由于a + +為后置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算后其值加1,值為5。
這個(gè)例子執行后,a的值為5,b的值為5,c的值為20,d的值也是20; (3)(a = 3,b = 5,b+ = a,c = b* 5) 例子中的“,”是逗號結合運算,上式稱(chēng)為逗號表達式,自左向右結合,最后一個(gè)表達式的結果值就是逗號表達式的結果,所以上面的逗號表達式結果為40,a的值為3,b的值為8,c的值為40。 (4)a=5;b=6;c=a>b?a:b; 例中的a>b?a:b是一個(gè)三目運算,它的功能是先做關(guān)系運算a>b部分,若結果為真,則取問(wèn)號后a的值,否則取冒號后b的值,因此c的值應該為6,這個(gè)運算可以用來(lái)代替if…else…語(yǔ)句的簡(jiǎn)單應用。
二.學(xué)好C語(yǔ)言的四種程序結構 (1)順序結構 順序結構的程序設計是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序寫(xiě)出相應的語(yǔ)句就行,它的執行順序是自上而下,依次執行。 例如;a = 3,b = 5,現交換a,b的值,這個(gè)問(wèn)題就好象交換兩個(gè)杯子水,這當然要用到第三個(gè)杯子,假如第三個(gè)杯子是c,那么正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫(xiě)成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學(xué)者最容易犯這種錯誤。
順序結構可以獨立使用構成一個(gè)簡(jiǎn)單的完整程序,常見(jiàn)的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語(yǔ)句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過(guò)大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個(gè)復雜的程序,例如分支結構中的復合語(yǔ)句、循環(huán)結構中的循環(huán)體等。
(2) 分支結構 順序結構的程序雖然能解決計算、輸出等問(wèn)題,但不能做判斷再選擇。對于要先做判斷再選擇的問(wèn)題就要使用分支結構。
分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語(yǔ)句出現的物理順序。分支結構。
(第六版) Bradley L. Jones, Peler Aitken 著(zhù). 信達工作室 譯. 人民郵電出版社 這本書(shū)對初學(xué)者很好, 如果有點(diǎn)基礎那就更好了. 建議選擇譚浩強譚老師的書(shū),簡(jiǎn)單易學(xué),理論與實(shí)踐結合的很好,而且如果能認真學(xué)的話(huà),你會(huì )發(fā)現你的C語(yǔ)言基礎非常的實(shí)。
也不是說(shuō)其他的書(shū)不好,但是有些書(shū)只是為了讓讀者入門(mén),沒(méi)有前途呀。 先讀譚浩強的《C語(yǔ)言程序設計》,這是公認的中文入門(mén)級教材。
但是書(shū)中的代碼風(fēng)格不敢恭維。看完這本,推薦《21天學(xué)通C語(yǔ)言》,這本書(shū)比較好,個(gè)人感覺(jué)。
看完這兩本,你就可以進(jìn)階C++了。 C語(yǔ)言只要把基礎打好就好,你要是想精通的話(huà),最好是精通C++,這樣比較有前途。
但不要操之過(guò)急。
1,C語(yǔ)言的運算符和優(yōu)先級
2,分支結構程序設計
3,循環(huán)結構程序
4,數組
5,函數
6,指針
7,字符類(lèi)型和字符串
8,字符串與指針
9,指針數組、二級指針、指向一維數組的指針、指向函數的指針
10,返回指針的函數、數組名做函數參數
11,結構體、共用體、枚舉、自定義類(lèi)型、變量存儲類(lèi)別、工程文件
12,文件、宏、主函數帶形參
13,鏈表、位運算、考試環(huán)境
14,排序、強制類(lèi)型轉換
去百度文庫,查看完整內容>
內容來(lái)自用戶(hù):暗香飛度
C語(yǔ)言考試必備基礎知識點(diǎn)整理
【考點(diǎn)1】C程序
C語(yǔ)言程序結構有三種:順序結構,循環(huán)結構(三個(gè)循環(huán)結構),選擇結構(if和switch)
【考點(diǎn)2】main函數
每個(gè)C語(yǔ)言程序中main函數是有且只有一個(gè)。讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。
【考點(diǎn)3】存儲形式
計算機的數據在電腦中是以二進(jìn)制的形式保存。最低的存儲單元是bit(位),位是由為0或者1構成。byte是指字節,一個(gè)字節=八個(gè)位。數據存放的位置就是它的地址。
【考點(diǎn)4】注釋
是對程序的說(shuō)明,可出現在程序中任意合適的地方,注釋從“/*”開(kāi)始到最近一個(gè)“*/”結束,其間任何內容都不會(huì )被計算機執行,注釋不可以嵌套。
【考點(diǎn)5】書(shū)寫(xiě)格式
每條語(yǔ)句的后面必須有一個(gè)分號,分號是語(yǔ)句的一部分。一行內可寫(xiě)多條語(yǔ)句,一個(gè)語(yǔ)句可寫(xiě)在多行上。
【考點(diǎn)6】標識符
合法的用戶(hù)標識符考查:
合法的要求是由字母,數字,下劃線(xiàn)組成。有其它元素就錯了。
并且第一個(gè)必須為字母或則是下劃線(xiàn)。第一個(gè)為數字就錯了。
C語(yǔ)言標識符分如下3類(lèi)
(1)關(guān)鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。
(2)預定義標識符。預先定義并具有特定含義的標識符。如 【考點(diǎn) 注意
1.C提供了三種主要的預處理功能,分別是__宏定義_______、___文件包含______、____條件編譯____。
2.C語(yǔ)言中,數組元素下標下限為_(kāi)__0_____。
3.數組名作函數參數傳遞時(shí)是__數組首地址______傳遞。變量作函數參數時(shí)是_值_______傳遞,
4.一個(gè)編輯好的*.C源程序,必須經(jīng)過(guò)編譯、_連接_______、后才能運行。
5.在C語(yǔ)言中可以用__逐個(gè)引用______法和________法引用數組元素。
6.C語(yǔ)言的程序結構有_順序___、_選擇___、循環(huán)____三種。
7.在C中,Char類(lèi)型變量值可以賦值給___int_____類(lèi)型變量。
8.使指針P指向數組int a[ ]的首址,寫(xiě)作 __p=a______ ,*(P+1)是a[ _1__ ]的值
9.所謂指針是指_______;指針變量是用于存放___變量地址___的變量;字符串的指針是指__字符串的首地址________ ;函數的指針是指__函數首地址____________。
10.在函數調用中,一個(gè)函數無(wú)論直接還是間接地調用自身,該調用稱(chēng)為_(kāi)_遞歸_____調用。
很多人對學(xué)習C語(yǔ)言感到無(wú)從下手,經(jīng)常問(wèn)我同一個(gè)問(wèn)題:究竟怎樣學(xué)習C語(yǔ)言?我是一個(gè)教師,已經(jīng)開(kāi)發(fā)了很多年的程序,和很多剛剛起步的人一樣,學(xué)習的第一個(gè)計算機語(yǔ)言就是C語(yǔ)言。
經(jīng)過(guò)這些年的開(kāi)發(fā),我深深的體會(huì )到C語(yǔ)言對于一個(gè)程序設計人員多么的重要,如果不懂C語(yǔ)言,你想寫(xiě)底層程序這幾乎聽(tīng)起來(lái)很可笑,不懂C語(yǔ)言,你想寫(xiě)出優(yōu)秀高效的程序,這簡(jiǎn)直就是天方夜譚。為什么C語(yǔ)言如此重要呢? 第一:C語(yǔ)言語(yǔ)法結構很簡(jiǎn)潔精妙,寫(xiě)出的程序也很高效,很便于描述算法,大多數的程序員愿意使用C語(yǔ)言去描述算法本身,所以,如果你想在程序設計方面有所建樹(shù),就必須去學(xué)它。
第二:C語(yǔ)言能夠讓你深入系統底層,你知道的操作系統,哪一個(gè)不是C語(yǔ)言寫(xiě)的?所有的windows,Unix,Linux,Mac,os/2,沒(méi)有一個(gè)里外的,如果你不懂C語(yǔ)言,怎么可能深入到這些操作系統當中去呢?更不要說(shuō)你去寫(xiě)它們的內核程序了。 第三:很多新型的語(yǔ)言都是衍生自C語(yǔ)言,C++,J ava,C#,J#,perl。
哪個(gè)不是呢?掌握了C語(yǔ)言,可以說(shuō)你就掌握了很多門(mén)語(yǔ)言,經(jīng)過(guò)簡(jiǎn)單的學(xué)習,你就可以用這些新型的語(yǔ)言去開(kāi)發(fā)了,這個(gè)再一次驗證了C語(yǔ)言是程序設計的重要基礎。還有啊,多說(shuō)一點(diǎn):即使現在招聘程序員,考試都是考C語(yǔ)言,你想加入it行業(yè),那么就一定要掌握好C語(yǔ)言。
那么究竟怎樣學(xué)習C語(yǔ)言呢? 1:工欲善其事,必先利其器 這里介紹幾個(gè)學(xué)習C語(yǔ)言必備的東東: 一個(gè)開(kāi)發(fā)環(huán)境,例如turbo C 2.0,這個(gè)曾經(jīng)占據了DOS時(shí)代開(kāi)發(fā)程序的大半個(gè)江山。但是現在windows時(shí)代,用turbo C有感覺(jué)不方面,編輯程序起來(lái)很吃力,并且拖放,更沒(méi)有函數變量自動(dòng)感應功能,查詢(xún)參考資料也不方便。
建議使用Visual C++,這個(gè)東西雖然比較大塊頭,但是一旦安裝好了,用起來(lái)很方便。 一本學(xué)習教程,現在C語(yǔ)言教材多如牛毛,但推薦大家使用《C語(yǔ)言程序設計》譚浩強主編 第二版 清華大學(xué)出版社,此書(shū)編寫(xiě)的很適合初學(xué)者,并且內容也很精到。
除此以外,現在有很多輔助學(xué)習的軟件,畢竟現在是Window時(shí)代了,學(xué)習軟件多如牛毛,不象我們當初學(xué)習,只有讀書(shū)做題這么老套。我向大家推薦一個(gè)“集成學(xué)習環(huán)境(C語(yǔ)言)”,里邊的知識點(diǎn)總結和例程講解都非常好,還有題庫測試環(huán)境,據說(shuō)有好幾千題,甚至還有一個(gè)windows下的trubo C,初學(xué)者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學(xué)者。
還有一個(gè)“C語(yǔ)言學(xué)習系統”軟件,不過(guò)感覺(jué)只是一個(gè)題庫系統,如果你覺(jué)得題做的不夠,不妨也可以試試。 2:葵花寶典 學(xué)習計算機語(yǔ)言最好的方法是什么?答曰:讀程序。
沒(méi)錯,讀程序是學(xué)習C語(yǔ)言入門(mén)最快,也是最好的方法。如同我,現在學(xué)習新的J#,C#等其他語(yǔ)言,不再是抱著(zhù)書(shū)本逐行啃,而是學(xué)習它們的例程。
當然,對于沒(méi)有學(xué)過(guò)任何計算機語(yǔ)言的初學(xué)者,最好還是先閱讀教程,學(xué)習完每一章,都要認真體會(huì )這一章的所有概念,然后不放過(guò)這一章中提到的所有例程,然后仔細研讀程序,直到每一行都理解了,然后找幾個(gè)編程題目,最好是和例程類(lèi)似的或一樣的,自己試圖寫(xiě)出這段已經(jīng)讀懂的程序,不要以為例程你已經(jīng)讀懂了,你就可以寫(xiě)出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫(xiě)不出來(lái),也不要著(zhù)急,回過(guò)頭來(lái)再繼續研究例程,想想自己為什么寫(xiě)不出來(lái),然后再去寫(xiě)這段程序,反反復復,直到你手到擒來(lái)為止,祝賀你,你快入門(mén)了。 3:登峰造極 寫(xiě)程序的最高境界其實(shí)就是掌握各種解決問(wèn)題的手段(數據結構)和解決問(wèn)題的方法(算法)。
是不是寫(xiě)出底層程序就是程序設計高手呢?非也,寫(xiě)底層程序,無(wú)非是掌握了硬件的結構,況且硬件和硬件還不一樣,要給一個(gè)芯片寫(xiě)驅動(dòng)程序,無(wú)非就是掌握這塊芯片的各種寄存器及其組合,然后寫(xiě)值讀值,僅此而已。這不過(guò)是熟悉一些io函數罷了。
…… 以上內容來(lái)源于: 。
語(yǔ)言是一門(mén)計算機語(yǔ)言也就是平時(shí)所說(shuō)的編程1~ 你如果一點(diǎn)基礎都沒(méi)有的話(huà)學(xué)習編程我認為 c語(yǔ)言是一個(gè)很好的入門(mén)語(yǔ)言(很多人都說(shuō)是vb簡(jiǎn)單,但個(gè)人認為雖然簡(jiǎn)單不適合入門(mén)語(yǔ)言學(xué)習,除非今后想往.net或basic方面發(fā)展)先不說(shuō)這些!!~在學(xué)習c語(yǔ)言之前要掌握的時(shí)計算機基礎啊 比如2 8 10 16進(jìn)制的轉換原碼反碼補碼等鑒于你是初學(xué)不用掌握太多的東西需要的知識在以后會(huì )慢慢了解適自己的情況而定!~ 至于你說(shuō)看了看沒(méi)看懂 不知道你看的是什么書(shū) 我推薦你一本 譚浩強的《c程序設計 (第二版)》很多人學(xué)習c語(yǔ)言都是看的這個(gè)(我也不例外呵呵)第一章是介紹c語(yǔ)言的歷史和版本之類(lèi)的東西了解一下就可以了!~從第二章好好看吧 不是很難應該能看懂!~ C語(yǔ)言幾乎什么都能做,雖然有的領(lǐng)域C不是最適合的開(kāi)發(fā)工具。
網(wǎng)絡(luò )、多媒體、數據庫,。 都有很多C/C++的庫。
而且C/C++幾乎是最“直接”的高級(中級)語(yǔ)言,和其他高級語(yǔ)言相比,C對計算機的理解更深刻。在程序的執行效率非常重要的情況下,C/C++幾乎是不二的選擇。
就目前來(lái)看, C/C++的開(kāi)發(fā)群體也應該是最大的。各個(gè)領(lǐng)域技術(shù)的最新發(fā)展上,幾乎也都能看到C/C++的身影。
C/C++的效率幾乎是沒(méi)有可以出其右的,C/C++的適應性和生命力也是極強的。
你先要了解電腦的基本知識, 16位, 32進(jìn)位制啊等這些的, 再來(lái)學(xué)編程, C語(yǔ)言可以說(shuō)是編程中最基礎的, 要學(xué)好不難
剛開(kāi)始學(xué)時(shí)要弄清楚各種變量的定義方法,尤其是常用的變量類(lèi)型,如整數,字符型;還要弄清楚各種數據類(lèi)型的輸入,輸出格式.這一步做到后,初期的上機就沒(méi)有多大的問(wèn)題了
在學(xué)習各個(gè)函數時(shí),一定要弄懂各個(gè)函數的作用,及它的具體格式,尤其是前期寫(xiě)循環(huán)程序時(shí),一定要弄清楚循環(huán)的條件.
找一本好的教材,推薦譚浩強主編的《C語(yǔ)言程序設計》(第二版), 可以說(shuō)是國內C語(yǔ)言初學(xué)者的必看書(shū), 邊看邊操作
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.060秒