c語言程序設計清華大學譚浩強版
1.《C程序設計》 譚浩強 清華大學出版社
目前最新版本是第三版
配套的習題解答:《C程序設計題解與上機指導》
高質量C++/C編程指南
http://www.codeguru.cn/CPP/AdvanceC++-CProgramGuide/
應用C++技術構建優質軟體
http://www.codeguru.cn/CPP/AppliedCpp/
C++編碼規范與指導
http://www.codeguru.cn/CPP/C++CodingGuide/
C++PrimerPlus4th
http://www.codeguru.cn/CPP/C++PrimerPlus4th/
C語言函數示例集
http://www.codeguru.cn/CPP/CFunctionExamples/
C語言技術文章
http://www.codeguru.cn/CPP/CLanguageArticle/
C++疑難解答
http://www.codeguru.cn/CPP/CppAQ/
C++實踐之路
http://www.codeguru.cn/CPP/CppInAction/
C++應用程序例解
http://www.codeguru.cn/CPP/CppProgramLiJie/
C++參考
http://www.codeguru.cn/CPP/cppreference/
C語言編程寶典之一
http://www.codeguru.cn/CPP/Cprogramdict/
C語言學習和精華文摘
http://www.codeguru.cn/CPP/CStudyAndArticle/
Effective C++
http://www.codeguru.cn/CPP/EffectiveCpp/
GenericProgramming
http://www.codeguru.cn/CPP/GenericProgramming/
TheCprogrammingLanguage
http://www.codeguru.cn/CPP/TheCprogrammingLanguage/
用VC開發ACTIVEX
http://www.codeguru.cn/VC&MFC/ActiveXProgramingWithVC/
用DirctX9進行高級3D游戲程序設計
http://www.codeguru.cn/VC&MFC//
21天學會VC資料庫編程
http://www.codeguru.cn/VC&MFC//
STL輕松入門
http://www.codeguru.cn/VC&MFC/EasySTL/
COM+組件服務技術內幕
http://www.codeguru.cn/VC&MFC/InsideCOM+/
OGRE手冊
http://www.codeguru.cn/VC&MFC/OGREManual/
OpenGL基礎圖形編程
http://www.codeguru.cn/VC&MFC/OpenGLJiChuTuXingBianCheng/
MFC程序設計
http://www.codeguru.cn/VC&MFC/progmfc2/
VC技術內幕
http://www.codeguru.cn/VC&MFC/ProgramingVC/
Windows核心編程
http://www.codeguru.cn/VC&MFC//
VC編程經驗總結
http://www.codeguru.cn/VC&MFC/VCBianChengJianYanZongJie/
VC編程資料
http://www.codeguru.cn/VC&MFC/VCBianChengZiliao/
VC高級編程
http://www.codeguru.cn/VC&MFC/VCGaoJiBianCheng/
vchome圖形圖像編程技術篇
http://www.codeguru.cn/VC&MFC/vchomeGraph/
VC知識庫
http://www.codeguru.cn/VC&MFC/vckbase/
vc++ 編程指南
http://www.codeguru.cn/VC&MFC/VCProgramGuide/
Windows程序設計
http://www.codeguru.cn/VC&MFC/WindowsProgramming/
Winsock程序員疑難解答
http://www.codeguru.cn/VC&MFC/WinsockProgrammerFAQ/
Microsoft編程精粹
http://www.codeguru.cn/VC&MFC/WritingCleanCode/
⑵ 譚浩強的C語言程序設計。各個版本有什麼區別
就拿第四版和第三版作對比,區別如下:
1、指代不同
(1)C程序設計譚浩強版本的第四版:這是清華大學出版社2010年出版的一本書,作者是譚浩強。
(2)C程序設計譚浩強版本的第三版:被普遍認為是學習C語言的一本好教科書,並且被全國大多數大學所選擇。
2、影響不同
(1)C程序設計譚浩強版本的第四版:本書被大多數大學用作C語言學習的教科書,且糾正了第三版中的不足。
(2)C程序設計譚浩強版本的第三版:獲原電子工業部優秀教科書一等獎,大學出版社暢銷書特等獎,全國高等院校計算機基礎教育研究會優秀教材一等獎。
3、特點不同
(1)C程序設計譚浩強版本的第四版:內容先進,體系合理,概念清晰,說明詳盡,步驟少,分散困難點,實例豐富,通俗易懂,文字通俗易懂,是初學者學習C程序設計理想的教材,可以用作大學所有專業的正式教材。
(2)C程序設計譚浩強版本的第三版:已發行超過700萬冊,創下了類似書籍的全國記錄,並且是學習C語言的主流書籍。
⑶ 譚浩強的C語言程序設計怎麼樣
譚浩強的《C語言程序設計》
是一本很經典的書~~
當時我們學C語言的時候,老師就推薦了這本。
蠻通俗易懂的,適合初學者。
當時是第三版,現在好像有第四版了吧~~
用於初學確實不錯,基本上中國C語言學習都要看這本書~~
外國的就是《The C Programming Language》
Brian W.Kernighan,Dennis M.Ritchie
希望採納~~~
⑷ 譚浩強C語言入門書籍
C程序設計(第四版)
【作 者】:譚浩強
【出 版 社】:清華大學出版社
【出版日期】:2012-5-1
【 ISBN 號】:9787302224464
C程序設計(第四版)學習輔導
【圖書定價】:28元
【作者】: 譚浩強
【叢書名】: 中國高等院校計算機基礎教育課程體系規劃教材
【出版社】:清華大學出版社
【ISBN】:9787302226727
【出版日期】:2013 年1月
【開本】:16開
【頁碼】:268
《c程序設計(第四版)》
第1章程序設計和c語言1
1.1什麼是計算機程序1
1.2什麼是計算機語言1
1.3c語言的發展及其特點3
1.4最簡單的c語言程序5
1.4.1最簡單的c語言程序舉例6
1.4.2c語言程序的結構10
1.5運行c程序的步驟與方法12
1.6程序設計的任務14
習題15
第2章演算法——程序的靈魂16
2.1什麼是演算法16
2.2簡單的演算法舉例17
2.3演算法的特性21
2.4怎樣表示一個演算法22
2.4.1用自然語言表示演算法22
2.4.2用流程圖表示演算法22
2.4.3三種基本結構和改進的流程圖26
2.4.4用ns流程圖表示演算法28
.2.4.5用偽代碼表示演算法31
2.4.6用計算機語言表示演算法32
2.5結構化程序設計方法34
習題36
第3章最簡單的c程序設計——順序程序設計37
3.1順序程序設計舉例37
3.2數據的表現形式及其運算39
3.2.1常量和變數39
3.2.2數據類型42
3.2.3整型數據44
3.2.4字元型數據47
3.2.5浮點型數據49
3.2.6怎樣確定常量的類型51
3.2.7運算符和表達式52
3.3c語句57
3.3.1c語句的作用和分類57
3.3.2最基本的語句——賦值語句59
3.4數據的輸入輸出65
3.4.1輸入輸出舉例65
3.4.2有關數據輸入輸出的概念67
3.4.3用printf函數輸出數據68
3.4.4用scanf函數輸入數據75
3.4.5字元數據的輸入輸出78
習題82
第4章選擇結構程序設計85
4.1選擇結構和條件判斷85
4.2用if語句實現選擇結構87
4.2.1用if語句處理選擇結構舉例87
4.2.2if語句的一般形式 89
4.3關系運算符和關系表達式91
4.3.1關系運算符及其優先次序91
4.3.2關系表達式92
4.4邏輯運算符和邏輯表達式92
4.4.1邏輯運算符及其優先次序93
4.4.2邏輯表達式94
4.4.3邏輯型變數96
4.5條件運算符和條件表達式97
4.6選擇結構的嵌套99
4.7用switch語句實現多分支選擇結構102
4.8選擇結構程序綜合舉例105
習題111
第5章循環結構程序設計114
5.1為什麼需要循環控制114
5.2用while語句實現循環115
5.3用do…while語句實現循環117
5.4用for 語句實現循環120
5.5循環的嵌套124
5.6幾種循環的比較125
5.7改變循環執行的狀態125
5.7.1用break語句提前終止循環126
5.7.2用continue語句提前結束本次循環127
5.7.3break語句和continue語句的區別128
5.8循環程序舉例131
習題140
第6章利用數組處理批量數據142
6.1怎樣定義和引用一維數組142
6.1.1怎樣定義一維數組143
6.1.2怎樣引用一維數組元素144
6.1.3一維數組的初始化145
6.1.4一維數組程序舉例146
6.2怎樣定義和引用二維數組148
6.2.1怎樣定義二維數組149
6.2.2怎樣引用二維數組的元素150
6.2.3二維數組的初始化151
6.2.4二維數組程序舉例152
6.3字元數組154
6.3.1怎樣定義字元數組154
6.3.2字元數組的初始化155
6.3.3怎樣引用字元數組中的元素155
6.3.4字元串和字元串結束標志156
6.3.5字元數組的輸入輸出159
6.3.6使用字元串處理函數161
6.3.7字元數組應用舉例165
習題168
第7章用函數實現模塊化程序設計170
7.1為什麼要用函數170
7.2怎樣定義函數172
7.2.1為什麼要定義函數172
7.2.2定義函數的方法173
7.3調用函數174
7.3.1函數調用的形式174
7.3.2函數調用時的數據傳遞175
7.3.3函數調用的過程177
7.3.4函數的返回值178
7.4對被調用函數的聲明和函數原型179
7.5函數的嵌套調用182
7.6函數的遞歸調用184
7.7數組作為函數參數192
7.7.1數組元素作函數實參193
7.7.2數組名作函數參數194
7.7.3多維數組名作函數參數197
7.8局部變數和全局變數199
7.8.1局部變數199
7.8.2全局變數200
7.9變數的存儲方式和生存期204
7.9.1動態存儲方式與靜態存儲方式204
7.9.2局部變數的存儲類別205
7.9.3全局變數的存儲類別208
7.9.4存儲類別小結212
7.10關於變數的聲明和定義214
7.11內部函數和外部函數215
7.11.1內部函數215
7.11.2外部函數215
習題218
第8章善於利用指針220
8.1指針是什麼220
8.2指針變數222
8.2.1使用指針變數的例子222
8.2.2怎樣定義指針變數223
8.2.3怎樣引用指針變數224
8.2.4指針變數作為函數參數226
8.3通過指針引用數組230
8.3.1數組元素的指針230
8.3.2在引用數組元素時指針的運算231
8.3.3通過指針引用數組元素233
8.3.4用數組名作函數參數237
8.3.5通過指針引用多維數組245
8.4通過指針引用字元串255
8.4.1字元串的引用方式 255
8.4.2字元指針作函數參數259
8.4.3使用字元指針變數和字元數組的比較263
8.5指向函數的指針266
8.5.1什麼是函數指針266
8.5.2用函數指針變數調用函數266
8.5.3怎樣定義和使用指向函數的指針變數268
8.5.4用指向函數的指針作函數參數270
8.6返回指針值的函數274
8.7指針數組和多重指針277
8.7.1什麼是指針數組 277
8.7.2指向指針數據的指針280
8.7.3指針數組作main函數的形參282
8.8動態內存分配與指向它的指針變數285
8.8.1什麼是內存的動態分配285
8.8.2怎樣建立內存的動態分配285
8.8.3void指針類型 287
8.9有關指針的小結288
習題291
第9章用戶自己建立數據類型293
9.1定義和使用結構體變數293
9.1.1自己建立結構體類型293
9.1.2定義結構體類型變數 295
9.1.3結構體變數的初始化和引用297
9.2使用結構體數組300
9.2.1定義結構體數組300
9.2.2結構體數組的應用舉例301
9.3結構體指針303
9.3.1指向結構體變數的指針303
9.3.2指向結構體數組的指針304
9.3.3用結構體變數和結構體變數的指針作函數參數306
9.4用指針處理鏈表309
9.4.1什麼是鏈表 309
9.4.2建立簡單的靜態鏈表310
9.4.3建立動態鏈表311
9.4.4輸出鏈表315
9.5共用體類型317
9.5.1什麼是共用體類型317
9.5.2引用共用體變數的方式318
9.5.3共用體類型數據的特點319
9.6使用枚舉類型323
9.7用typedef聲明新類型名326
習題330
第10章對文件的輸入輸出331
10.1c文件的有關基本知識331
10.1.1什麼是文件331
10.1.2文件名332
10.1.3文件的分類332
10.1.4文件緩沖區333
10.1.5文件類型指針333
10.2打開與關閉文件335
10.2.1用fopen函數打開數據文件335
10.2.2用fclose函數關閉數據文件337
10.3順序讀寫數據文件338
10.3.1怎樣向文件讀寫字元338
10.3.2怎樣向文件讀寫一個字元串341
10.3.3用格式化的方式讀寫文件344
10.3.4用二進制方式向文件讀寫一組數據345
10.4隨機讀寫數據文件349
10.4.1文件位置標記及其定位349
10.4.2隨機讀寫 352
10.5文件讀寫的出錯檢測353
習題354
第11章常見錯誤分析355
附錄370
附錄a在visual c++ 6.0環境下運行c程序的方法370
附錄b常用字元與ascii代碼對照表377
附錄cc語言中的關鍵字378
附錄d運算符和結合性378
附錄ec語言常用語法提要380
附錄fc庫函數384
參考文獻390
⑸ 譚浩強《C語言程序設計》一書有何缺點
書上面ANSI只給了兩種方式:
int main(void) {/*...*/}和 int main(int argc, char *argv[]){/*...*/}
其它的形式都是不標準的,屬未定義行為。
老譚雖然水平不高,但是在中國計算機教育的早期他的確作出了不少貢獻。因為那時全國上下懂計算機的人很少、總體水平極低,所以以老譚之碌碌,仍能對大夥有所幫助。
但是人貴有自知之明:你的時代已經過去了,你就應該知趣地退在一邊看年輕人的表演。這方面王選先生就很值得學習。
王先生自已說過:在90年代初的時候他就深切地體會到自己對新技術的學習和掌握已經趕不上身邊的年輕人了,所以他自覺退出科研一線,讓有能力和活力的年輕學者挑大樑。
反觀譚先生,不但隔個一年半載的就要把他那泛黃的書稿拿出來撣撣灰、改幾個字,然後找家出版社出版。
而且,他老先生還成立了一個所謂「譚浩強工作室」,組織一夥寫手寫了一批同樣的碌碌之作——其中某些書涉及的領域,相信譚先生自己恐怕知之甚少。
以王選先生之學識和名望,尚知其力有不逮。老譚,你為什麼不慚愧?
⑹ 關於自學C語言入門的 該看什麼書
譚浩強的《C語言程序設計》 1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個研發環境,例如turbo C 2.0,這個曾占據了DOS時代研發程式的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C ,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程式設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都很好,更有題庫測試環境,據說有好幾千題,甚至更有一個windows下的trubo C,初學者甚至不用裝其他的編譯器,就能夠練習編程了,很適合初學者。更有一個「C語言學習系統」軟體,但是感覺只是個題庫系統,假如您覺得題做的不夠,不妨也能夠試試。
2:葵花寶典
學習電腦語言最好的方法是什麼?答曰:讀程式。 對真正的成功者來說,不論他的生存條件如何,都不會自我磨滅
沒錯,讀程式是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習他們的常式。當然,對於沒有學過任何電腦語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的任何概念,然後不放過這一章中提到的任何常式,然後仔細研讀程式,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或相同的,自己試圖寫出這段已讀懂的程式,不要以為常式您已讀懂了,您就能夠寫出和他相同的程式,絕對不一定,不相信您就試一試吧,假如寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程式,反反復復,直到您手到擒來為止,祝賀您,您快入門了。
3:登峰造極
寫程式的最高境界其實就是掌控各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程式就是程式設計高手呢?非也,寫底層程式,無非是掌控了硬體的結構,況且硬體和硬體還不相同,要給一個晶元寫驅動程式,無非就是掌控這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這但是是熟悉一些io函數罷了。
那麼怎樣才算精通程式設計呢?怎樣才能精通程式設計呢?舉個例子:您面前有10個人,找出一個叫「張三」的人,您該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:您挨個去問「您是不是張三?」,直到問到的這個人就是張三。第三種方法:您去挨個問一個人「您認不認識張三,指給我看」。不要小看這個問題,您說當然會選第一種方法,沒錯恭喜您答對了,因為這個方法最快,效率最高,但是在程式設計中找到解決問題的最優方法和您用的手段卻是考驗一個程式員程式設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌控好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程式設計高手的人研讀此書。 總結
1、先照書上的題目寫,題目的設計是有道理的鞏固基礎知識。
2、找數學題,寫個小程序解決,熟悉演算法和基礎函數。
3、自己出題目,小一點的,如自編資源管理器、自編寫字板之類,練習WINDOWS下的編程。
4、結合身邊的事,找個中等課題,或看別人的程序,自已想辦法實現。
5.把教材中的例子,自己仿照著寫一遍,上機運行,看結果.要知道,任何產品都是有例子的,有機結合或仿照。
6.從自己熟悉的事情入手,如成績統計,編制一段程序,完成一個功能.然後再完善。
7.要反復破壞代碼,從破壞中尋找代碼的規律。
8.必須經常反復上機練習。