第一篇:linux和C語言經(jīng)典書籍
思想篇
《Linux/Unix設(shè)計(jì)思想》
圖書將Unix與Linux的原理有效地結(jié)合起來,總結(jié)了Unix/Linux軟件開發(fā)中的原則。在保留了第1版中Unix方面的內(nèi)容的同時(shí),強(qiáng)調(diào)了Linux和開源領(lǐng)域的新思想。
入門篇
《Linux程序設(shè)計(jì)(第4版)》
《Linux程序設(shè)計(jì)》是Linux程序設(shè)計(jì)領(lǐng)域的經(jīng)典名著,以簡單易懂、內(nèi)容全面和示例豐富而受到廣泛好評。中文版前兩版出版后,在國內(nèi)的 Linux愛好者和程序員中也引起了強(qiáng)烈反響,這一熱潮一直持續(xù)至今?!禠inux程序設(shè)計(jì)(第4版)》內(nèi)容組織更加嚴(yán)謹(jǐn),譯者更是細(xì)心雕琢,保留了這部 權(quán)威著作的原汁原味。對Linux所提供的功能全面而準(zhǔn)確的闡述,以及貫穿全書的示例程序體驗(yàn),使本書不僅成為初學(xué)者的最佳Linux程序設(shè)計(jì)指南,而且是中高級程序員不可或 缺的參考書。
進(jìn)程篇
《理解Unix進(jìn)程》
本書是唯一一本專為現(xiàn)代web開發(fā)人員準(zhǔn)備的Unix編程書。書中所有的例子都是用Ruby寫成,適用于所有具備高級語言經(jīng)驗(yàn)的程序開發(fā)人員。書的重點(diǎn)內(nèi)容如下:
1.文件描述符及其運(yùn)作機(jī)制 2.何時(shí)才需要守護(hù)進(jìn)程
3.如何用fork(2)創(chuàng)建新進(jìn)程 4.退出進(jìn)程的4種不同的方式
5.對于生成shell命令的實(shí)際考量以及如何避免這種情況 6.從高級層面上討論了創(chuàng)建進(jìn)程所帶來的開銷及陷阱 7.Resque和Unicorn的內(nèi)部工作原理
內(nèi)核篇
《深入Linux內(nèi)核架構(gòu)》
《深入Linux內(nèi)核架構(gòu)》是非常值得Linux程序員閱讀的圖書,堪稱是Linux內(nèi)核的詳解。
書中討論了Linux 內(nèi)核的概念、結(jié)構(gòu)和實(shí)現(xiàn)。主要內(nèi)容包括多任務(wù)、調(diào)度和進(jìn)程管理,物理內(nèi)存的管理以及內(nèi)核與相關(guān)硬件的交互,用戶空間的進(jìn)程如何訪問虛擬內(nèi)存,如何編寫設(shè)備 驅(qū)動(dòng)程序,模塊機(jī)制以及虛擬文件系統(tǒng),Ext 文件系統(tǒng)屬性和訪問控制表的實(shí)現(xiàn)方式,內(nèi)核中網(wǎng)絡(luò)的實(shí)現(xiàn),系統(tǒng)調(diào)用的實(shí)現(xiàn)方式,內(nèi)核對時(shí)間相關(guān)功能的處理,頁面回收和頁交換的相關(guān)機(jī)制以及審計(jì)的實(shí)現(xiàn)等。此外,本書借助內(nèi)核源代碼中最關(guān)鍵的部分進(jìn)行講解,幫助讀者掌握重要的知識點(diǎn),從而在運(yùn)用中充分展現(xiàn)Linux 系統(tǒng)的魅力。
shell篇
《Linux Shell腳本攻略》(第2版版權(quán)已確定)
《Linux Shell腳本攻略》 是Linux Shell 編程的實(shí)戰(zhàn)秘籍,程序員的獨(dú)門攻略:準(zhǔn)備,動(dòng)手,一舉成功!
對新手而言,本書的內(nèi)容由淺入深且緊貼實(shí)踐,使得他們能夠快速地學(xué)以致用,而專業(yè)人士也能從本書中發(fā)現(xiàn)一些新鮮的東西,使自己的技巧更加純熟。
《Linux命令行與Shell腳本編程大全(第2版)》 圖書堪稱黑客進(jìn)階必讀,讓你輕松全面掌握命令行和shell
全書分為四部分:第一部分介紹Linuxshell 命令行;第二部分介紹shell 腳本編程基礎(chǔ);第三部分深入探討shell 腳本編程的高級內(nèi)容;第四部分介紹如何在現(xiàn)實(shí)環(huán)境中使用shell 腳本。本書不僅涵蓋了詳盡的動(dòng)手教程和現(xiàn)實(shí)世界中的實(shí)用信息,還提供了與所學(xué)內(nèi)容相關(guān)的參考信息和背景資料。本書內(nèi)容全面,語言簡練,示例豐富,適合于Linux 系統(tǒng)管理員及Linux 愛好者閱讀參考。
應(yīng)用 編程
不用說了肯定是《UNIX環(huán)境高級編程(第2版)》被稱為unix編程的圣經(jīng)。本書內(nèi)容權(quán)威,概念清晰,闡述精辟,對于所有層次UNIX程序員都是一本不可或缺的參考書。
還有《UNIX網(wǎng)絡(luò)編程》可當(dāng)字典來查閱。
TCP/IP篇 《TCP/IP詳解》卷1、2、3作者W.Richard Stevens也是《unix環(huán)境高級編程》的作者,牛人出的書沒有一本不是經(jīng)典的。但是英年早逝,默哀一下。
c語言
推薦兩本日本圖書 《明解C語言》
榮獲日本工學(xué)教育協(xié)會著作獎(jiǎng),是日本C語言入門第一書,暢銷20余萬冊。這本《明解C語言》講的都是很基本的東西,高樓平地起,他強(qiáng)調(diào)著最最基礎(chǔ)、同時(shí)也是最最重要的東西。書中不僅圖文并茂且示例豐富,設(shè)有190段代碼 和164幅圖表,對C語言的基礎(chǔ)知識進(jìn)行了徹底剖析,內(nèi)容涉及數(shù)組、函數(shù)、指針、文件操作等。對于C語言語法以及一些難以理解的概念,均以精心繪制的示意 圖,清晰、通俗地進(jìn)行講解。
《征服C指針》
被稱為日本最有營養(yǎng)的C參考書。作者是日本著名的“毒舌程序員”,其言辭犀利,觀點(diǎn)鮮明,往往能讓讀者迅速領(lǐng)悟要領(lǐng)。
書中結(jié)合了作者多年的編程經(jīng)驗(yàn)和感悟,從C語言指針的概念講起,通過實(shí)驗(yàn)一步一步地為我們解釋了指針和數(shù)組、內(nèi)存、數(shù)據(jù)結(jié)構(gòu)的關(guān)系,展現(xiàn)了指針的常 見用法,揭示了各種使用技巧。另外,還通過獨(dú)特的方式教會我們怎樣解讀C語言那些讓人“糾結(jié)”的聲明語法,如何繞過C指針的陷阱。
鳥哥的LINUX私房菜也是非常好的入門書籍
C 語言”部分還有即將出版的《Head First C 中文版》
第二篇:C語言書籍推薦(范文模版)
一、入門級書籍推薦
1.C Programming:A Modern Approach(C語言程序設(shè)計(jì):現(xiàn)代方法)
簡介:《C語言程序設(shè)計(jì):現(xiàn)代方法》是C語言的經(jīng)典之作,被譽(yù)為“近10年來最好的一部C語言著作”。書中 討論了標(biāo)準(zhǔn)C和C標(biāo)準(zhǔn)庫的全部特性,包括信號、setjmp/longjmp和可變參數(shù)列表等其他書中很少涉及的內(nèi)容。全 書由易而難、循序漸進(jìn)、螺旋式地講述C語言,很好地處理了指針和位運(yùn)算等難點(diǎn)。第2版覆蓋了C99標(biāo)準(zhǔn),并提供 了對所有C99庫函數(shù)的參考,還擴(kuò)展了GCC的內(nèi)容,增加了對抽象數(shù)據(jù)類型的討論,并針對新CPU和操作系統(tǒng)做了更 新?!禖語言程序設(shè)計(jì):現(xiàn)代方法》尤為強(qiáng)調(diào)軟件工程和現(xiàn)代編程理念,在知識的闡述中突出工業(yè)界的最佳實(shí)踐、實(shí)際經(jīng)驗(yàn)和編程風(fēng)格,使讀者能夠合理運(yùn)用所學(xué),編寫出可讀性好、可靠性高和容易維護(hù)的代碼。書中精心選擇 了近500道習(xí)題,貼近實(shí)戰(zhàn),與敘述文字相得益彰。
目前《C語言程序設(shè)計(jì):現(xiàn)代方法》已被全球200多所學(xué)校采用為教材,包括哈佛大學(xué)、麻省理工學(xué)院、斯坦福 大學(xué)、加州大學(xué)伯克利分校、耶魯大學(xué)、加州理工學(xué)院等諸多名校。C語言程序設(shè)計(jì)
2.C Primer plus 5th 內(nèi)容提要:
本書全面講述了C語言編程的相關(guān)概念和知識。
全書共17章。第1、2章學(xué)習(xí)C語言編程所需的預(yù)備知識。第3到15章介紹了C語言的相關(guān)知識,包括數(shù)據(jù)類型、格式化輸入輸出、運(yùn)算符、表達(dá)式、流程控制語句、函數(shù)、數(shù)組和指針、字符串操作、內(nèi)存管理、位操作等等,知識內(nèi)容都針對C99標(biāo)準(zhǔn);另外,第10章強(qiáng)化了對指針的討論,第12章引入了動(dòng)態(tài)內(nèi)存分配的概念,這些內(nèi)容更加適合讀者的需求。第16章和第17章討論了C預(yù)處理器和C庫函數(shù)、高級數(shù)據(jù)表示(數(shù)據(jù)結(jié)構(gòu))方面的內(nèi)容。附錄給出了各章后面復(fù)習(xí)題、編程練習(xí)的答案和豐富的C編程參考資料。
本書適合希望系統(tǒng)學(xué)習(xí)C語言的讀者,也適用于精通其他編程語言并希望進(jìn)一步掌握和鞏固C編程技術(shù)的程序員。作者簡介:
Stephen Prata在加利福尼亞州的Kentfield的Marin學(xué)院教授天文學(xué)、物理學(xué)和程序設(shè)計(jì)課程。他在加州工業(yè)學(xué)院獲得學(xué)士學(xué)位,從加州大學(xué)伯克利分校獲得博士學(xué)位。他最早接觸計(jì)算機(jī),始于對星河的計(jì)算機(jī)建模。Stephen已經(jīng)編寫或與他人合作編寫了十多本書。其中包括C++Primer Plus和Unix Prinmer Plus.3.譚浩強(qiáng) 第三版
國內(nèi)非常普及的學(xué)語言入門書籍,很多學(xué)校都是用它作為教材,對于C語言入門來說比較通俗易懂。不過書中有些地方不夠嚴(yán)謹(jǐn),需要注意一些問題。下載地址:(百度文庫)
http://wenku.baidu.com/view/ccc7cd868762caaedd33d455.html 二.提高級書籍推薦
1.The C Programming Language Second Edition
by Brian W.Kernighan, Dennis M.Ritchie.Prentice Hall PTR
C程序設(shè)計(jì)語言 第2版·新版
本書是由C語言的設(shè)計(jì)者Brian W.Kernighan和Dennis M.Ritchie編寫的一部介紹標(biāo)準(zhǔn)C語言及其程序設(shè)計(jì)方法的權(quán)威性經(jīng)典著作。全面、系統(tǒng)地講述了C語言的各個(gè)特性及程序設(shè)計(jì)的基本方法,包括基本概念、類型和表達(dá)式、控制流、函數(shù)與程序結(jié)構(gòu)、指針與數(shù)組、結(jié)構(gòu)、輸入與輸出、UNIX系統(tǒng)接口、標(biāo)準(zhǔn)庫等內(nèi)容。
本書的講述深入淺出,配合典型例證,通俗易懂,實(shí)用性強(qiáng),適合作為大專院校計(jì)算機(jī)專業(yè)或非計(jì)算機(jī)專業(yè)的C語言教材,也可以作為從事計(jì)算機(jī)相關(guān)軟硬件開發(fā)的技術(shù)人員的參考書。
在計(jì)算機(jī)發(fā)展的歷史上,沒有哪一種程序設(shè)計(jì)語言像C語言這樣應(yīng)用如此廣泛。本書原著 即為C語言的設(shè)計(jì)者之一Dennis M.Ritchie和著名的計(jì)算機(jī)科學(xué)家Brian W.Kernighan合著的 一本介紹C語言的權(quán)威經(jīng)典著作。我們現(xiàn)在見到的大量論述C語言程序設(shè)計(jì)的教材和專著均以 此書為藍(lán)本。原著第1版中介紹的C語言成為后來廣泛使用的C語言版本—— 標(biāo)準(zhǔn)C的基礎(chǔ)。人們熟知的“hell, World”程序就是由本書首次引入的,現(xiàn)在,這一程序已經(jīng)成為所有程序設(shè) 計(jì)語言入門的第一課。原著第2版根據(jù)1987年制定的ANSIC標(biāo)準(zhǔn)做了適當(dāng)?shù)男抻啠肓俗钚碌恼Z言形式,并增加了新的示例,通過簡潔的描述、典型的示例,作者全面、系統(tǒng)、準(zhǔn)確地講述了C語言的各 個(gè)特性以及程序設(shè)計(jì)的基本方法。對于計(jì)算機(jī)從業(yè)人員來說,本書是一本必讀的程序設(shè)計(jì)語 言方面的參考書。
下載地址:http://
3.C Traps and Pitfalls(C陷阱與缺陷)
作者以自己1985年在Bell實(shí)驗(yàn)室時(shí)發(fā)表的一篇論文為基礎(chǔ),結(jié)合自己的工作經(jīng)驗(yàn)擴(kuò)展成為這本對C程序員具有珍貴價(jià)值的經(jīng)典著作。寫作本書的出發(fā)點(diǎn)不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。
全書分為8章,分別從詞法分析、語法語義、連接、庫函數(shù)、預(yù)處理器、可移植性缺陷等幾個(gè)方面分析了C編程中可能遇到的問題。最后,作者用一章的篇幅給出了若干具有實(shí)用價(jià)值的建議。
本書適合有一定經(jīng)驗(yàn)的C程序員閱讀學(xué)習(xí),即便你是C編程高手,本書也應(yīng)該成為你的案頭必備書籍。
《C陷阱與缺陷》Andrew Koenig Andrew Koenig的成名作,能幫助初學(xué)者減少90%的錯(cuò)誤。一些錯(cuò)誤(比如賦值符、運(yùn)算符優(yōu)先級等)還是不時(shí)的會在自己的程序里出現(xiàn),只是已經(jīng)打過預(yù)防針了,很容易發(fā)現(xiàn)。
下載地址:http://?from=like
5.C Interfaces and Implementations(C語言接口與實(shí)現(xiàn))
本書概念清晰、內(nèi)容新穎、實(shí)例詳盡,是一本有關(guān)設(shè)計(jì)、實(shí)現(xiàn)和有效使用C語言庫函數(shù),掌握創(chuàng)建可重用C語言軟件模塊技術(shù)的參考指南。本書倡導(dǎo)基于接口的C語言設(shè)計(jì)理念及其實(shí)現(xiàn)技術(shù),深入詳細(xì)地描述了24個(gè)C語言接口及其實(shí)現(xiàn)。本書通過敘述如何用一種與語言無關(guān)的方法將接口的設(shè)計(jì)與實(shí)現(xiàn)獨(dú)立開來,從而形成一種基于接口的設(shè)計(jì)途徑來創(chuàng)建可重用的API。本書是一本針對C語言程序員的不可多得的好書,也是值得所有希望掌握可重用軟件模塊技術(shù)的讀者閱讀的參考書籍。
下載地址:(百度文庫)http://wenku.baidu.com/view/4573cf2d2af90242a895e57b.html
第三篇:c語言書籍總結(jié)
關(guān)于這個(gè)方向,我認(rèn)為大概分3個(gè)階段:
1、嵌入式linux上層應(yīng)用,包括QT的GUI開發(fā)
2、嵌入式linux系統(tǒng)開發(fā)
3、嵌入式linux驅(qū)動(dòng)開發(fā)
嵌入式目前主要面向的幾個(gè)操作系統(tǒng)是,LINUX,WINCE、VxWorks等等
Linux是開源免費(fèi)的,而且其源代碼是開放的,更加適合我們學(xué)習(xí)嵌入式。
所以你可以嘗試以下路線:
(1)C語言是所有編程語言中的強(qiáng)者,單片機(jī)、DSP、類似ARM的種種芯片的編程都可以用C語言搞定),因此必須非常熟練的掌握。
推薦書籍:《The C Programming Language》 這本經(jīng)典的教材是老外寫的,也有中譯版本。
(2)操作系統(tǒng)原理,是必需的,如果你是計(jì)算機(jī)專業(yè)畢業(yè)那也就無所謂了,如果是非計(jì)算機(jī)專業(yè)的就必須找一本比較淺顯的計(jì)算機(jī)原理書籍看一看,把啥叫“進(jìn)程”“線程”“系統(tǒng)調(diào)度”等等基本問題搞清楚。
(3)Linux操作系統(tǒng)就是用C語言編寫的,所以你也應(yīng)該先學(xué)習(xí)下Linux方面的編程,只有你會應(yīng)用了,才能近一步去了解其內(nèi)核的精髓。
推薦書籍:《UNIX環(huán)境高級編程》(第2版)
(4)了解ARM的架構(gòu),原理,以及其匯編指令,我們在嵌入式開發(fā)中,一般很少去寫匯編,但是最起碼的要求是能夠看懂a(chǎn)rm匯編。
(5)系統(tǒng)移植的時(shí)候,就需要你從最下層的bootloader開始,然后內(nèi)核移植,文件系統(tǒng)移植等。而移植這部分對硬件的依賴是非常大的,其配置步驟也相對復(fù)雜,也沒有太多詳細(xì)資料。
(6)驅(qū)動(dòng)開發(fā)
linux驅(qū)動(dòng)程序設(shè)計(jì)既是個(gè)極富有挑戰(zhàn)性的領(lǐng)域,又是一個(gè)博大精深的內(nèi)容。
linux驅(qū)動(dòng)程序設(shè)計(jì)本質(zhì)是屬于linux內(nèi)核編程范疇的,因而是對linux內(nèi)核和內(nèi)核編程是有要求的。在學(xué)習(xí)前你要想了解linux內(nèi)核的組成,因?yàn)槊恳徊糠忠敿?xì)研究的話足夠可以擴(kuò)展成一本厚書。
以上只不過是大概的框架,在實(shí)際的開發(fā)中還會涉及很多東西,比如:交叉編譯、makefile、shell腳本等等,所以說學(xué)習(xí)嵌入式的周期較長,門檻較高,自學(xué)的話更是需要較強(qiáng)的學(xué)習(xí)能力和專業(yè)功底。只要能堅(jiān)持下來一定會取得成功!
其實(shí)LZ可以到一些嵌入式培訓(xùn)機(jī)構(gòu)的網(wǎng)站上看一下他們的課程設(shè)置,就會在腦子里有個(gè)清晰的思路,比如華清遠(yuǎn)見的嵌入式linux課程設(shè)置就很專業(yè),華清遠(yuǎn)見網(wǎng)站上的嵌入式內(nèi)容很豐富,嵌入式方面的信息更新也很迅速,沒事可以去轉(zhuǎn)轉(zhuǎn)
第四篇:學(xué)習(xí)C語言的經(jīng)典書籍
PART 1.推薦經(jīng)典書籍(內(nèi)容不全,慢慢補(bǔ)充)
①C語言:(讀完之后請混CSDN論壇進(jìn)行鞏固)
《C語言程序設(shè)計(jì)》
作者:郭有強(qiáng) 編
出 版 社:清華大學(xué)出版社
評價(jià):書很利索,該有的都有,如果你還沒有一本滿意的C語言課本,買它沒錯(cuò)。(也可以閱讀外國的經(jīng)典C語言書籍)
《C和指針》
POINTERS ON C Kenneth A.Reek、徐波 人民郵電出版社
評價(jià):不算厚的書,糾正對指針的錯(cuò)誤理解,這是必讀經(jīng)典,相信會帶給你很多思考。(單單一本還不夠,繼續(xù)往后看)
《C陷阱與缺陷》
Andrew Koenig、高巍
人民郵電出版社
評價(jià):172頁,應(yīng)當(dāng)1-2天看完,讀完豁然開朗,對C語言常見的陷阱進(jìn)行剖析,必須經(jīng)典。
《C專家編程》
Expert C Programming Deep C Secrets Peter Van
Der Linden 人民郵電出版社(2008-02出版)
評價(jià):200多頁,應(yīng)當(dāng)2天左右看完,本書讀起來很舒坦,不可多得的好書,帶你領(lǐng)略語法之外的奧秘,必讀經(jīng)典。
②數(shù)據(jù)結(jié)構(gòu)與算法:
《清華大學(xué)計(jì)算機(jī)系列教材?數(shù)據(jù)結(jié)構(gòu)(C語言版)(附光盤1張)》
吳偉民、嚴(yán)蔚敏
清華大學(xué)出版社
評價(jià):數(shù)據(jù)結(jié)構(gòu)都是類C的偽代碼描述,初次接觸編程的同學(xué)可能理解不了,我也一樣。我是看嚴(yán)蔚敏視頻學(xué)會的數(shù)據(jù)結(jié)構(gòu),希望這個(gè)辦法對你們也同樣有效。
《計(jì)算機(jī)算法設(shè)計(jì)與分析(第3版)》
王曉東
電子工業(yè)出版社
評價(jià):這是我們的課本,不過的確是學(xué)習(xí)它才把數(shù)據(jù)結(jié)構(gòu)和算法入門了,為后面進(jìn)階做了鋪墊。
《算法藝術(shù)與信息學(xué)競賽?算法競賽入門經(jīng)典》
劉汝佳
清華大學(xué)出版社
評價(jià):了解數(shù)據(jù)結(jié)構(gòu)怎么用,常用算法與思想,書不厚,但很給力。初學(xué)可能有障礙,但這的確是入門經(jīng)典書籍,請不要放棄。
《算法導(dǎo)論(原書第2版)》
科曼(Cormen T.H.)、等、潘金貴
機(jī)械工業(yè)出版社(2006-09出版)
評價(jià):經(jīng)典中的經(jīng)典,無需多說,不要問我看哪些內(nèi)容,負(fù)責(zé)任的說:有能力就多看點(diǎn),其實(shí)都能看懂,書中的內(nèi)容與思想將會終身受用。
《編程之美:微軟技術(shù)面試心得 》
《編程之美》小組
電子工業(yè)出版社
評價(jià):微軟出品,像是一本小故事集,將數(shù)學(xué)和編程之美展露無疑,學(xué)起來很輕松,反復(fù)回顧收獲頗豐。
《編程珠璣(第2版)》
Jon Bentley、黃倩、錢麗艷
人民郵電出版社
評價(jià):主要是數(shù)據(jù)結(jié)構(gòu)和算法,都是常用的內(nèi)容,不過作者思維新奇,跟隨作者一起思考會碰撞出不少火花,評價(jià)非常高的一本書,本人沒有順序閱讀,感興趣的內(nèi)容翻了翻。
《算法藝術(shù)與信息學(xué)競賽 》
劉汝佳
清華大學(xué)出版社
評價(jià):放在最后,因?yàn)榇藭拇_很專業(yè),我這點(diǎn)智商也駕馭不了,信息學(xué)競賽必備。
《程序員面試寶典(第3版)》
歐立奇、劉洋、段韜
電子工業(yè)出版社
評價(jià):這本書很神奇,大二下學(xué)期的時(shí)候我就買了并看完了,等到大三找工作的時(shí)候發(fā)現(xiàn)里邊的提到的陷阱題目還是有點(diǎn)意思的,C語言掌握的怎么樣拿這本書驗(yàn)一驗(yàn)就知道了。
《數(shù)學(xué)之美》
(《浪潮之巔》作者吳軍最新力作,李開復(fù)作序推薦,Google黑板報(bào)百萬點(diǎn)擊)
評價(jià):吳軍博士那是相當(dāng)犀利,《浪潮之巔》足以讓人拜服了,此書一出無與爭鋒,放在數(shù)據(jù)結(jié)構(gòu)與算法這里比較合適。
第五篇:c語言
學(xué)C語言有感
姓 名: 李文麗 學(xué) 號:034108048 班 級:083411 指導(dǎo)老師:張印
2009年12月
學(xué)C語言有感
第1頁
學(xué)C語言有感
摘要:C語言既有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn);既能用來編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序,又能用來編寫各種系統(tǒng)程序;是一種受歡迎、應(yīng)用廣泛的程序設(shè)計(jì)語言C語言版本。首先按照學(xué)習(xí)C語言的順序分別介紹了我在學(xué)習(xí)C語言過程中所遇到的問題,敘述了在C語言學(xué)習(xí)過程,學(xué)習(xí)C語言的重點(diǎn),難點(diǎn),以及易出錯(cuò)的地方,并且用具體的案例做解釋。然后闡述了學(xué)習(xí)C語言的體會:C語言的語法部分是學(xué)好C語言的基礎(chǔ),學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,只有通過上機(jī)才能檢驗(yàn)自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。最后總結(jié)學(xué)習(xí)c語言,既是件有趣的事情,又是件艱苦的事情。靜下心來學(xué)習(xí),我們會有所收獲,更會其樂無窮的。
關(guān)鍵詞:運(yùn)算符 表達(dá)式 優(yōu)先級 語句 變量
一、C語言的學(xué)習(xí)中的問題
在這個(gè)學(xué)期里,我們工商管理專業(yè)的學(xué)生在專業(yè)老師張印的帶領(lǐng)下進(jìn)行了實(shí)用c語言簡明教程的學(xué)習(xí)。經(jīng)過這一個(gè)學(xué)期的學(xué)習(xí),我們已經(jīng)對c語言這門課程有了一定的了解。C語言是一門最基礎(chǔ)的語言,也是一門廣泛使用的語言。所以學(xué)習(xí)C語言義不容辭
首先,在學(xué)習(xí)的最初幾節(jié)課,老是主要向我們講述了C語言的特點(diǎn),學(xué)習(xí)C語言的意義,以及學(xué)習(xí)C語言能給我們所帶來的方便優(yōu)越之處。
C語言是一種結(jié)構(gòu)化語言。它層次清晰,簡潔緊湊、靈活方便,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng),語法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作,適用范圍大,可移植性好??傊珻語言既有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn);既是一個(gè)成功的系統(tǒng)設(shè)計(jì)語言,有是一個(gè)使用的程序設(shè)計(jì)語言;既能用來編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序,又能用來編寫各種系統(tǒng)程序;是一種受歡迎、應(yīng)用廣泛的程序設(shè)計(jì)語言C語言版本。
當(dāng)然,C語言也有自身的不足,比如:C語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)族下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語言比其他高級語
學(xué)C語言有感
第2頁
言較難掌握。
下面我給大家說一說我在學(xué)習(xí)C語言過程中所遇到的問題。
在第二章,我們學(xué)習(xí)的是數(shù)據(jù)描述與基本操作。在這一章,我們主要講了數(shù)據(jù)類型,運(yùn)算符與表達(dá)式,和不同類型數(shù)據(jù)間的混合運(yùn)算。其中比較難以理解和掌握的是自加、自減運(yùn)算符。
自加、自減運(yùn)算符作用是使變量的值增1或減1;當(dāng)符號在前,變量在后,++i/--i 變量的值先加1或先減1,然后再參與其它運(yùn)算。當(dāng)符號在后,變量在前,++i/--i 變量的值先參與其它運(yùn)算,然后再加1或先減1。例如: # include
1.自加運(yùn)算符(++)和自減運(yùn)算符(--)只能用于變量,而不能用于常量或表達(dá)式,如6++或(a+b)++都是不合法的。因?yàn)?是常量,常量的值是不能改變的。(a+b)++也不可能實(shí)現(xiàn),假如a+b的值為5,那么自加后得到的6放在什么地方?
2.++和--的結(jié)合方向是“自右向左”。負(fù)號運(yùn)算符和++運(yùn)算符同優(yōu)先級,而結(jié)合方向?yàn)椤白杂蚁蜃蟆?,即它相?dāng)于-(i++),如果有printf(“%d”,-i++),則先取出i的值3,輸出-i的值-3,然后i增值為4。注意-(i++)是先用i的原值3加上負(fù)號輸出-3,再對i加1,不要認(rèn)為加完1后再加負(fù)號,輸出-4,這是不對的。
例如,x=a*b+c%d 無所謂;
例如,a=3;y=a*++a;不同的編譯系統(tǒng)有兩種處理方式,結(jié)果不同:
A)按從左到右的順序處理為:先取a的值3,再計(jì)算++a,a的值 自增為4,子表達(dá)式++a的值也為4,所以相乘的結(jié)果為12;
學(xué)C語言有感
第3頁
B)按從右到左的順序處理為:先計(jì)算++a,a的值自增為4,子表達(dá)式++a的值也為4,再取a的值為4,所以相乘的結(jié)果為16。
在第三章我們講的是順序結(jié)構(gòu)程序設(shè)計(jì),其中所涉及的主要問題說優(yōu)先級。
說到優(yōu)先級什么叫優(yōu)先級?比方說,我們在公交車終點(diǎn)站排座隊(duì)時(shí)總會遇到70歲以上的老人不需要排隊(duì)就能上車的情景,這就是優(yōu)先級的涵義。C程序在運(yùn)行時(shí)也象排隊(duì)坐車一樣,首先照顧那些優(yōu)先級高的運(yùn)算符,若是優(yōu)先級相同,那么就象遇到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。
下面我們通過幾個(gè)例子來說明:
(1)3*20/4%10 這個(gè)表達(dá)式中出現(xiàn)3種運(yùn)算符,是同級運(yùn)算符,運(yùn)算順序按從左至右結(jié)合,因此先計(jì)算3 * 20=60,然后被4除,結(jié)果為15,最后是%(求余數(shù))運(yùn)算,所以表達(dá)式的最終結(jié)果為15%10 = 5(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
例子中的“;”是C語言的語句分隔符,執(zhí)行順序?yàn)閺淖蟮接?,?條語句執(zhí)行后a的值為3,第2條語句執(zhí)行后b的值為5,第3條語句中有兩個(gè)運(yùn)算符前置+ +和*,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運(yùn)算,所以a的值4參與運(yùn)算,C的值為20,最后執(zhí)行第4條語句,由于a + +為后置運(yùn)算,所以a值為4參與運(yùn)算,使得d的值仍為20,而a參與運(yùn)算后其值加1,值為5。這個(gè)例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20。(3)a = 3,b = 5,b+ = a,c = b* 5
例子中的“,”是逗號結(jié)合運(yùn)算,上式稱為逗號表達(dá)式,自左向右結(jié)合,最后一個(gè)表達(dá)式的結(jié)果值就是逗號表達(dá)式的結(jié)果,所以上面的逗號表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。
但是C語言中的優(yōu)先級的運(yùn)算并不是千篇一律的,只能說是在大多數(shù)情況下,有些運(yùn)算符的優(yōu)先級有其自己的特點(diǎn),因此這點(diǎn)大家要注意。例如條件表達(dá)式:條件?結(jié)果1:結(jié)果2,這種表達(dá)式很多朋友都知道,它的作用與IF…ELSE…條件判斷語句很雷同,它運(yùn)算時(shí)的優(yōu)先級就不是按照C語言的規(guī)則來完成的。所以說對于優(yōu)先級各位編程愛好者一定靈活掌握,不要死記硬背。
第三四章的選擇結(jié)構(gòu)程序設(shè)計(jì)和循環(huán)結(jié)構(gòu)設(shè)計(jì)說我們這學(xué)期所學(xué)內(nèi)容的重點(diǎn)。在這里,學(xué)者結(jié)構(gòu)程序設(shè)計(jì)比較簡單,我們就不多說了,主要談一下循結(jié)構(gòu)環(huán)程序設(shè)計(jì)。
學(xué)C語言有感
第4頁
循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書寫的工作量,用來描述重復(fù)執(zhí)行某段算法的問題,這是程序設(shè)計(jì)中最能發(fā)揮計(jì)算機(jī)特長的程序結(jié)構(gòu),C語言中提供四種循環(huán),即goto循環(huán)、while循環(huán)、do –while循環(huán)和for循環(huán)。四種循環(huán)可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提昌用goto循環(huán),所以下面我們重點(diǎn)講解另外的三種循環(huán)。
用while和do—while循環(huán)時(shí),循環(huán)變量的初始化的操作應(yīng)在循環(huán)體之前,而for循環(huán)是在語句1中進(jìn)行的;while 循環(huán)和for循環(huán)都是先判斷表達(dá)式,后執(zhí)行循環(huán)體,而do—while循環(huán)是先執(zhí)行循環(huán)體后判斷表達(dá)式,也就是說do—while的循環(huán)體最少被執(zhí)行一次,而while 循環(huán)和for就不一定了。這三種循環(huán)都可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán),而goto語句與if構(gòu)成的循環(huán),不能用break和 continue語句進(jìn)行控制。這三種結(jié)構(gòu)并不是彼此孤立的,在循環(huán)中可能出現(xiàn)分支、順序結(jié)構(gòu),分支中也可能出現(xiàn)循環(huán)、順序結(jié)構(gòu)而把循環(huán)、分支看成一個(gè)語句,它又是構(gòu)成順序結(jié)構(gòu)的一個(gè)元素,因此這三種結(jié)構(gòu)相互結(jié)合,就能實(shí)現(xiàn)各種算法,設(shè)計(jì)出解題程序,但若是很大的題目,這樣編出的程序往往很長,重復(fù)結(jié)構(gòu)多,并且可閱讀性差,因此我們常將C程序設(shè)計(jì)成模塊化結(jié)構(gòu)。
二、C語言學(xué)習(xí)的重點(diǎn)、難點(diǎn)
針對我個(gè)人而言,在C語言學(xué)習(xí)過程,學(xué)習(xí)C語言的重點(diǎn),難點(diǎn),以及易出錯(cuò)的地方主要有以下幾個(gè)方面: 如果對幾個(gè)變量賦予同一個(gè)初值,應(yīng)寫成: int a=3,b=3,c=3;表示a、b、c的初值都是3。不能寫成: int a=b=c=3;2 強(qiáng)制類型轉(zhuǎn)換其一般形式為(類型名)(表達(dá)式)表達(dá)式應(yīng)該用括號括起來。如(int)(x+y)表示將x+y的值轉(zhuǎn)換成整形如果寫成(int)x+y則表示將x轉(zhuǎn)換成整形,然后與y相加。使用scanf函數(shù)注意的問題: ①“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng)是變量名。如 scanf(“%d”,a)是不對的,應(yīng)改為scanf(“%d”,&a);②scanf函數(shù)格式控制最后面不能有n否則將沒有結(jié)果輸出如scanf(“%dn”,&a);是不對的。③輸入數(shù)據(jù)時(shí)不能規(guī)定精度,如scanf(“%7.2f”),&a);是不合法的 ④如果在%后有一個(gè)“*”附加說明符,表示跳過它指定的列數(shù)。
學(xué)C語言有感
第5頁
三、學(xué)習(xí)c語言的體會
在經(jīng)過了一個(gè)學(xué)期的學(xué)習(xí)之后,對于學(xué)習(xí)c語言心得體會也總結(jié)了一下:
1、既然是一門語言,他就漢語,英語一樣,都有自己的語法規(guī)則,學(xué)習(xí)一門語言,就是要按照它的語法來編程。C語言的語法部分是學(xué)好C語言的基礎(chǔ),只有學(xué)好了這些語法,才會寫程序,看程序。所以對一個(gè)初學(xué)者來說,加深對課堂講授內(nèi)容的理解,要扎實(shí)地熟悉每一個(gè)語法,并能根據(jù)這些語法來編程。
2、課堂上要講授許多關(guān)于c語言的語法規(guī)則,聽起來十分枯燥無味,也不容易記住死記硬背是不可取的。然而要使用c語言這個(gè)工具解決實(shí)際問題,又必須掌握它。通過多次上機(jī)練習(xí),對于語法知識有了感性的認(rèn)識,加深對它的理解,在理解的基礎(chǔ)上就會自然而然地掌握c語言的語法規(guī)定。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機(jī)實(shí)踐中會發(fā)現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)踐所致。
3、學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識編寫c語言程序,解決實(shí)際問題。即把c語言作為工具,描述解決實(shí)際問題的步驟,由計(jì)算機(jī)幫助我們解題。只有通過上機(jī)才能檢驗(yàn)自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。學(xué)習(xí)C語言是沒有什么捷徑的,打好基礎(chǔ),做好每章的練習(xí)才是關(guān)鍵。尤其是書本里的習(xí)題,不能因?yàn)楹唵尉筒蝗?shí)踐,學(xué)習(xí)C語言,乃至于學(xué)習(xí)所有的電腦知識都是一樣的,實(shí)踐練習(xí)永遠(yuǎn)處于最為重要的地位,須知電腦是要實(shí)際操作的,對于C語言,更是要是把這個(gè)程序自己編出來并且運(yùn)行成功,知識點(diǎn)才記得最為深刻。
通過上機(jī)實(shí)驗(yàn)來驗(yàn)證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時(shí)的心態(tài)。但是在程序設(shè)計(jì)領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯(cuò)誤的想法。因?yàn)樵谶@種思想支配下,可能你會想辦法去“掩蓋”程序中的錯(cuò)誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機(jī)調(diào)試運(yùn)行時(shí),可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。學(xué)習(xí)c語言更為重要的是掌握編程的思想,如何用簡捷的方法解決一個(gè)問題。同樣做一個(gè)循環(huán)問題,可能有人要做300次循環(huán),而有的人要做100次,這就是差距。平時(shí),我們學(xué)習(xí)的時(shí)候要注意掌握每個(gè)概念,當(dāng)然理論的學(xué)習(xí)是離不開實(shí)踐的,尤其是c語言,需要你編寫大量的程序,最初可以學(xué)著別人的程序打,慢慢就應(yīng)該獨(dú)立出來,把自己的想法用c語言描述出來,這是一件十分快樂的事情。建議初學(xué)者不要看高級編程,先勤寫代碼、多看代碼、培
學(xué)C語言有感
第6頁
養(yǎng)風(fēng)格、熟悉語法、最關(guān)鍵的還是把握思想。當(dāng)你能夠信手拈來的時(shí)候,你的c語言才可以說學(xué)會了。一定要養(yǎng)成自己獨(dú)立寫完一個(gè)程序的能力,這樣可以有一種成就感。不斷培養(yǎng)這種成就感,循序漸進(jìn),進(jìn)步是自然的事情。
四、總結(jié)
學(xué)習(xí)c語言,既是件有趣的事情,又是件艱苦的事情。說它有趣,是因?yàn)閺闹心隳艿玫娇鞓?,能使你的?jì)算機(jī)整體水平上升一大步。說它艱苦,是因?yàn)閷W(xué)習(xí)它的過程比起學(xué)習(xí)其他計(jì)算機(jī)知識,要難得多
C語言只是一門計(jì)算機(jī)語言,說到底就是一種工具。它的用處就是可以讓你用它編出能夠運(yùn)行的程序來,而這些程序可以實(shí)現(xiàn)某些人需要的功能。人通過學(xué)習(xí)c語言也可以更加深入的了解計(jì)算機(jī),所以很多人都把c語言作為計(jì)算機(jī)入門的第一門語言來學(xué)習(xí),因?yàn)樗麑W(xué)習(xí)起來相對簡單一些。至于實(shí)際的意義,無非是讓你多學(xué)會一門技能,讓你更加深入對計(jì)算機(jī)的了解,為學(xué)習(xí)其他計(jì)算機(jī)語言打下好的基礎(chǔ)。
學(xué)習(xí)最好抱著一種踏踏實(shí)實(shí)的心態(tài),老是想著有什么實(shí)際的好處并不會促進(jìn)我們的學(xué)習(xí),因?yàn)橹R對人的影響是潛移默化的,靜下心來學(xué)習(xí)吧,我相信我們會有收獲的!而且如果你真的用心學(xué)習(xí),會發(fā)現(xiàn)學(xué)起來越來越有意思,也會給你帶來無窮的樂趣的!
學(xué)C語言有感
第7頁
參考文獻(xiàn):
[1] 3 沈其益等編著,棉花病害——基礎(chǔ)理論與防治,北京:科學(xué)出版社,1992.7 [2] 3 沈其益、張三等編著,棉花病害——基礎(chǔ)理論與防治,北京:科學(xué)出版社,1992.7。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。參考文獻(xiàn)(不少于10篇,中文參考文獻(xiàn)不少于7篇,英文不少于3篇)
學(xué)C語言有感
第8頁
學(xué)C語言有感
第9頁