注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關C程序設計伴侶

C程序設計伴侶

C程序設計伴侶

定 價:¥49.00

作 者: 陳良喬
出版社: 人民郵電出版社
叢編項:
標 簽: VC++

ISBN: 9787115290953 出版時間: 2012-09-25 包裝: 平裝
開本: 16 頁數: 字數:  

內容簡介

  《C程序設計伴侶:幫你更好地理解譚浩強老師的那本書以及更多!》是譚浩強老師經典的《C 程序設計》(以下簡稱原書)一書的最佳伴侶,是對原書有益且神奇的補充。本書對原書中沒有講透徹的沒有講明白的那些概念、知識和技術點進行了深刻卻易于理解的講解,并把原書中遺漏的、忽視的,甚至是多少有點問題的,以及那些未曾涉及的但作為初學者或稱為未來的程序員絕對應該知道的基礎知識、編程素養(yǎng)、編程思想,以及業(yè)內行規(guī)一并講解清楚了。 較之原書,這本伴侶更加的有趣、更加的通俗易懂。在內容上,較之原書,這本伴侶更加的深刻、更加的透徹,具有更加廣闊的視野和更加深厚的內涵。在實用性上,這本伴侶較之原書更加的實戰(zhàn),可以讓你養(yǎng)成良好且符合業(yè)界標準的編程習慣和編程思想,為今后的繼續(xù)前行打下必要而優(yōu)秀的基礎。

作者簡介

  陳良喬一個喜歡寫作的程序員。一個喜歡編程的文藝青年。連續(xù)八年獲得微軟最有價值專家(MVP)稱號。曾任東軟數字醫(yī)療項目經理;德國IB&T中國公司架構師。摯愛技術,好分享。作為講師進行百人以上微軟技術講座數十次。因撰寫一系列有分量的VisualStudio和Windows 7技術文章榮獲“MSDN原創(chuàng)之星”稱號。因參與VisualStudio的工作,榮獲“VisualStudio貢獻水晶獎杯”。生性樂觀,敏而好學,樂于分享。平素喜好新鮮事物,但絕非新潮技術的追捧者,至今仍執(zhí)迷C/C++這些古老而新鮮的技術。好舞文弄墨,傳播心得。著有《我的第一本C++書》。組織并參與翻譯《C++11 FAQ中文版》。作者網站(及本書源代碼下載地址):http://chenlq.net歡迎親愛的讀者們訪問交流

圖書目錄

目 錄
注:淺灰色的目錄標題是本書所對應的譚浩強《C程序設計》(第四版)中的相應章節(jié)的目錄標題。
第1章 C語言背后的故事程序設計和C語言  1
1.1 計算機程序是什么什么是計算機程序  1
1.2 計算機語言又是什么什么是計算機語言  1
1.2.A 如何用計算機語言來表達一個程序  2
1.2.B 從匯編語言到高級語言——風格各異的計算機語言  4
1.3 C語言真正的特點及其演變C語言的發(fā)展及其特點  6
1.3A C語言與C++不得不說的那點事  8
1.3B 我們?yōu)槭裁船F在還要學習C語言  9
1.4 第一次的親密接觸——Hello,World最簡單的C語言程序  11
1.4.A 最簡單的C語言程序背后的故事——它的匯編代碼是如何被執(zhí)行的  12
1.4.1 比最簡單再復雜一點點最簡單的C語言程序舉例  15
1.4.2 程序的三要素:數據輸入、數據處理與數據輸出C語言程序的結構  18
1.4.B 編碼規(guī)范——如何寫出簡潔優(yōu)美的代碼  19
1.5 C程序開發(fā)的兩個循環(huán)和四個步驟運行C程序的步驟與方法  21
1.5A 工欲善其事,必先利其器——使用Eclipse編寫C程序  22
1.5B 使用GCC編譯C語言程序  24
1.6 程序設計的瀑布模型程序設計的任務  25
第2章 解決問題的思路——算法算法——程序的靈魂  28
2.1 先有算法,后有程序什么是算法  28
2.1A 算法的時間復雜度和空間復雜度  31
2.2 如何將抽象的算法實現為具體的代碼簡單的算法舉例  36
2.3 算法的特征——簡單,沒啥可說的算法的特性  38
2.4 一群聰明的程序員是怎么把事情搞砸的怎樣表示一個算法  38
2.5 掌握結構化的程序設計結構化程序設計方法  39
2.5A 結構化程序設計的基本思想、步驟與流程  39
2.5B“自頂向下,逐步求精”:把“問題”變成“程序”的魔法  40
第3章 順序結構的程序設計最簡單的C程序設計——順序程序設計  44
3.1 順序結構程序舉例——簡單,沒啥可說的順序程序設計舉例  45
3.1A 如何理解程序的執(zhí)行順序  45
3.2 如何描述數據,如何對數據進行運算數據的表現形式及其運算  46
3.2.1 常量、變量、常變量及符號常量和變量  46
3.2.2 數據類型及舉例 數據類型  48
3.2.3 整型數據及如何選擇合適的類型整型數據  51
3.2.4 字符型數據及舉例字符型數據  52
3.2.5 浮點型數據及比較大小時的特別注意浮點型數據  53
3.2.6 如何強制指定常量的數據類型怎樣確定常量的類型  55
3.2.7 運算符和表達式及使用經驗和建議運算符和表達式  55
3.3 基本程序單位——語句 C語句  58
3.3.1 C語言的語句分類C語句的作用和分類  58
3.3.2 賦值語句及其使用注意最基本的語句——賦值語句  60
3.4 數據從哪里來,又到哪里去?數據的輸入輸出  61
3.4.1 輸入輸出舉例——簡單,沒啥可說的輸入輸出舉例  61
3.4.2 輸入輸出的概念——簡單,沒啥可說的有關數據輸入輸出的概念  61
3.4.3 使用printf函數進行格式化數據輸出用printf函數輸出數據  61
3.4.4 使用scanf函數進行格式化數據輸入用scanf函數輸入數據  62
3.4.5 單字符的輸入輸出及敏感信息輸入函數字符數據的輸入輸出  64
3.4.5A 字符串數據的簡單輸入輸出  66
第4章 選擇結構的程序設計選擇結構程序設計  67
4.1 選擇結構和條件判斷——交通燈例子選擇結構和條件判斷  67
4.2—4.3使用if語句實現選擇結構  69
4.4 邏輯運算符及表達式邏輯運算符和邏輯表達式  69
4.4.1 邏輯運算符及優(yōu)先級邏輯運算符及其優(yōu)先次序  69
4.4.1A 合理的出錯處理——讓你的程序更受歡迎  71
4.4.2 邏輯表達式及其使用注意邏輯表達式  71
4.4.3 邏輯型變量——時控燈例子邏輯型變量  72
4.5 條件運算符及表達式條件運算符和條件表達式  73
4.6 條件結構的嵌套——拜金女擇偶例子選擇結構的嵌套  73
4.7 使用switch語句實現多分支選擇結構——看天穿衣例子用switch語句實現多分支選擇結構  76
4.8 綜合運用——猜數字游戲選擇結構程序綜合舉例  78
第5章 循環(huán)結構的程序設計循環(huán)結構程序設計  82
5.1 為什么需要循環(huán)控制——簡單,沒啥可說的為什么需要循環(huán)控制  82
5.1A 循環(huán)結構的四個要素  82
5.2 如果條件滿足,就一直做某事的while用while語句實現循環(huán)  84
5.3 一直做某事,直到條件不滿足的do…while用do…while語句實現循環(huán)  86
5.4 最完備最復雜的循環(huán)語句for用for語句實現循環(huán)  87
5.5 更復雜的數據處理——嵌套的循環(huán)循環(huán)的嵌套  89
5.6 如何選擇合適的循環(huán)結構幾種循環(huán)的比較  89
5.7 改變循環(huán)的狀態(tài)改變循環(huán)執(zhí)行的狀態(tài)  90
5.7.1—5.7.2用break和continue語句提前終止循環(huán)  90
5.7.3 break和continue的不同break語句和continue語句的區(qū)別  90
5.8 綜合運用——檢測磁盤剩余容量與統(tǒng)計字符串中的單詞數循環(huán)程序舉例  91
第6章 處理批量數據的利器——數組利用數組處理批量數據  95
6.1 如何定義和引用一維數組怎樣定義和引用一維數組  95
6.1.1 如何定義一維數組——保存學生成績的例子怎樣定義一維數組  95
6.1.2 如何引用一維數組怎樣引用一維數組元素  96
6.1.3 使用memset()函數進行一維數組的初始化一維數組的初始化  98
6.1.4 用qsort()函數對數組進行排序一維數組程序舉例  99
6.2 如何定義和引用二維數組怎樣定義和引用二維數組  101
6.2.1 如何定義二維數組及二維數組的內存排列方式怎樣定義二維數組  101
6.2.2 如何引用二維數組怎樣引用二維數組的元素  103
6.2.3 使用memset()函數進行二維數組的初始化二維數組的初始化 103
6.2.4 對二維數組中的數據進行排序二維數組程序舉例  103
6.2.4.A分析問題,定義二維數組描述批量數據  104
6.2.4.B 向二維數組輸入數據  104
6.2.4.C用qsort()函數對二維數組進行排序  105
6.2.4.D 輸出二維數組結果  107
6.2.A 擴展:多維數組的使用  108
6.3 字符數組的本質 字符數組  109
6.3.1—6.3.3如何定義字符數組  109
6.3.4 字符串和字符數組的區(qū)別字符串和字符串結束標志  109
6.3.5 字符數組和字符串的輸入輸出字符數組的輸入輸出  110
6.3.6 使用字符串處理函數完成字符串處理任務使用字符串處理函數  111
6.3.6.A用gets()和puts()輸入輸出字符串  111
6.3.6.B用strcat()連接兩個字符串  111
6.3.6.C用strchr()和strstr()查找字符串  113
6.3.6.D用strcmp()比較字符串  114
6.3.7 綜合運用——自己寫一個strsub()函數截取字符串字符數組應用舉例  115
6.A 如何運用數組處理批量數據——一個計算平均血糖的例子 118
6.A.A 什么時候應該使用數組  118
6.A.B 如何將數據輸入到數組  118
6.A.C 如何處理數組中的數據  119
6.A.D 數組使用的三部曲:定義數組、輸入數據、處理數據  120
第7章 模塊化程序設計的根基——函數用函數實現模塊化程序設計  122
7.1 為什么要用函數——便于代碼的管理和復用為什么要用函數  122
7.2 如何聲明函數 怎樣定義函數  123
7.2.1 為什么要聲明函數為什么要定義函數  124
7.2.2 聲明函數的方法定義函數的方法  124
7.2.2A 聲明函數的三要素:返回值、函數名、參數列表  125
7.3 如何調用函數 調用函數  129
7.3.1 調用的形式及調用語句函數調用的形式  130
7.3.2 函數調用時的數據傳遞——兩個方向的傳遞函數調用時的數據傳遞  130
7.3.2A 如何向函數傳遞體積很大的數據  132
7.3.3 調用的過程——簡單,沒啥可說的函數調用的過程  134
7.3.4 關于函數的返回值函數的返回值  134
7.3.4A 如何從函數返回多個結果數據  135
7.4 編譯器對函數聲明的要求對被調用函數的聲明和函數原型  138
7.4A 創(chuàng)建一個我們自己的頭文件  138
7.A 站在巨人的肩膀上——如何使用已有的函數庫  141
7.B 我也能成為巨人——如何創(chuàng)建一個函數庫  147
7.5 嵌套的函數調用函數的嵌套調用  152
7.6 函數的遞歸調用——統(tǒng)計字符串出現的次數函數的遞歸調用  153
7.C 讓函數飛——在C語言中嵌入匯編代碼  156
7.7 將數組作為函數參數傳遞數組作為函數參數  159
7.8 變量的生存期局部變量和全局變量  159
7.8.1 局部變量的定義及作用域局部變量  160
7.8.1A 不要從函數返回指向局部變量的指針  163
7.8.2 全局變量及跨文件的全局變量全局變量  163
7.9 變量的存儲方式及其區(qū)別變量的存儲方式和生存期  165
7.10 變量的聲明和定義的區(qū)別——是否建立存儲空間關于變量的聲明和定義  166
7.11 控制函數的訪問范圍內部函數和外部函數  167
7.D 函數使用的四項基本原則  169
第8章 指針?沒啥好怕的!善于利用指針  172
8.1 什么是指針 指針是什么  172
8.2 什么是指針變量 指針變量  173
8.2.1 使用指針變量的例子——指針的四大用途使用指針變量的例子  173
8.2.1A 什么是NULL指針  178
8.2.2 如何定義指針變量怎樣定義指針變量  180
8.2.2A 內存的動態(tài)申請與釋放  182
8.2.3 如何引用指針變量怎樣引用指針變量 184
8.2.3A 指針變量存放在哪里呢? 185
8.2.4 使用指針變量作為函數參數的場合指針變量作為函數參數  186
8.3 更靈活的數組訪問方式——使用指針訪問數組通過指針引用數組  187
8.3.1—8.3.3A使用指針訪問數組的要點  187
8.3.4 如何向函數傳遞一個數組用數組名作函數參數  190
8.3.5 通過指針引用多維數組的要點——統(tǒng)計學生成績的例子通過指針引用多維數組 190
8.4 利用指針引用字符串通過指針引用字符串  196
8.5 定義指向函數的指針指向函數的指針  197
8.5.1 了解函數指針什么是函數指針  197
8.5.1A 函數指針背后的故事——剖析它的匯編代碼  198
8.5.2 利用函數指針變量調用函數用函數指針變量調用函數  201
8.5.3 函數指針變量的定義和使用怎樣定義和使用指向函數的指針變量  201
8.5.4 用函數指針作函數參數——在函數之間傳遞函數,即傳遞操作
用指向函數的指針作函數參數  204
8.6 使用指針作為函數的返回值返回指針值的函數  208
8.7 指針數組及指向指針的指針指針數組和多重指針  210
8.7.1 什么是指針數組——一個電磁爐火力控制程序什么是指針數組  210
8.7.2 指向指針的指針指向指針數據的指針  212
8.7.3 向main()函數傳遞數據指針數組作main函數的形參  215
8.8 動態(tài)內存分配及動態(tài)調整動態(tài)內存分配與指向它的指針變量  216
8.9 指針的“醒世恒言”有關指針的小結  217
8.A 如何避免錯誤地使用指針  218
第9章 建立自己的數據類型用戶自己建立數據類型  223
9.1 結構體變量登場定義和使用結構體變量 224
9.1.1—9.1.3關于這三小節(jié)的特別說明 224
9.1.A 定義結構體應該注意的問題 224
9.1.B 使用結構體以及它的數據成員 225
9.2 使用結構體數組——利用qsort()函數對數組排序使用結構體數組 228
9.2.1—9.2.2關于這兩小節(jié)的特別說明 230
9.3 利用結構體指針減少傳遞的數據量結構體指針 231
9.3.1—9.3.3關于這三小節(jié)的特別說明  232
9.4 筆試必考,面試必問的數據結構——鏈表用指針處理鏈表  233
9.4.1 鏈表是神馬 什么是鏈表  233
9.4.2 如何建立靜態(tài)鏈表建立簡單的靜態(tài)鏈表  234
9.4.3 如何建立動態(tài)鏈表建立動態(tài)鏈表  234
9.4.4 如何輸出鏈表 輸出鏈表  236
9.4.A 鏈表數據的處理:對鏈表進行排序和查找  237
9.4.B 鏈表數據的處理:查找結點  241
9.4.C 釋放一個鏈表  245
9.5 共用體類型的定義和使用共用體類型  245
9.5.1—9.5.3關于這三小節(jié)的特別說明  247
9.6 什么是枚舉類型使用枚舉類型  247
9.7 數據類型也可以有個更好記更好用的綽號——用typedef聲明新的數據類型用typedef聲明新類型名  249
第10章 文件的輸入與輸出對文件的輸入輸出  250
10.1 在C中文件的概念是怎樣的C文件的有關基本知識  250
10.1.1—10.1.5關于這五小節(jié)的特別說明  251
10.1A C語言所處理的文件類型  251
10.2 如何打開與關閉文件打開與關閉文件  252
10.2.1 使用fopen函數打開數據文件及注意事項用fopen函數打開數據文件  252
10.2.1A 用freopen()重定向標準輸入輸出流 253
10.2.2 使用fclose函數關閉數據文件及注意事項用fclose函數關閉數據文件  255
10.3 對數據文件進行順序讀寫順序讀寫數據文件  255
10.3.1—10.3.2怎樣向文件讀寫字符和字符串  255
10.3.3 使用函數來進行數據文件的格式化讀寫用格式化的方式讀寫文件  258
10.3.4 二進制方式的文件讀寫——讀寫一張圖片用二進制方式向文件讀寫一組數據  258
10.3.A 文件讀寫的“三大紀律”  263
10.4 在任意位置讀寫數據文件隨機讀寫數據文件  264
10.4.1—10.4.2關于這兩小節(jié)的特別說明  268
10.5—10.5A擴展:訪問文件的各種屬性  268
10.5A.A如何判斷文件是否存在  268
10.5A.B如何獲得文件的日期和大小  270
第A章 程序是如何煉成的  272
A.A 問題的提出——統(tǒng)計網頁中的詞頻  272
A.B 自頂向下:分析問題,劃分模塊  272
A.B.A 分析數據輸入模塊  273
A.B.B 分析數據處理模塊  273
A.B.C 分析數據輸出模塊  275
A.C 逐步求精:用函數實現各個模塊  275
A.C.A 實現數據輸入模塊  275
A.C.B 實現數據處理模塊  277
A.C.C 組裝實現數據預處理模塊  280
A.C.D 實現計算詞頻模塊  283
A.C.E 實現文件排序模塊  285
A.C.F 實現數據輸出模塊  286
A.C.G打掃戰(zhàn)場:釋放動態(tài)申請的內存  287
A.D 百煉成鋼:如何調試我們的程序  288
A.E 程序就是這樣煉成的  291
第B章 接下來我該……  292
B.A 接下來要讀的書  292
B.A.A提升對C語言的理解和掌握  292
B.A.B 做一個有思想的程序員  294

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號