2024香港最具教育競爭力中學/小學/幼稚園50強龍虎榜
2024香港最具教育競爭力中學/小學/幼稚園排名指南
最近十一年香港最具教育競爭力中學/小學/幼稚園50強完整版榜單:
2024202320222021/202019201820172016201520142013
教育競爭力評比體系說明
校風評比體系說明
服务全球华人的中英文書籍網上書店
您的購物車是空的

你必須知道的213個C語言問題

  • 作者:范立鋒,李世欣 著
  • 出版社: 人民郵電出版社
  • 出版時間:2010-06-01
  • 版次:1
  • 商品編號: 10354202

    頁數:340

    印次:1

    印刷時間:2010-06-01


HK$72.70 (速遞費用須知)
購買額滿HK$158免運費
免郵費優惠僅限香港、澳门、
台灣及中國大陸

購買數量:

內容簡介

 

《你必須知道的213個C語言問題》精選了213個在C語言程序設計中經常遇到的問題,目的是幫助讀者解決在C語言學習和開發中遇到的實際困難,提高讀者學習和開發的效率。這些問題涵蓋了C語言與軟件開發、C語言基礎、編譯預處理、字符串、函數、鍵盤操作、文件、目錄和磁盤、數組、指針和結構、DOS服務和BIOS服務、日期和時間、重定向I/O和進程命令、C語言開發常見錯誤及程序調試等內容,均是作者經過充分的調研,從實際項目開發中總結出來的典型問題,濃縮了作者多年從事開發工作的心得體會和經驗教訓,對初學者具有重要的參考價值。書中每節都提供了程序設計的示例代碼。
  《你必須知道的213個C語言問題》適合已經初步掌握C語言編程概念和用法的讀者閱讀。

目錄

第1章 C語言與軟件開發 1
FAQ1.01 C語言有哪些特點? 1
FAQ1.02 C語言與C++語言及VC++比較有什麼優勢? 2
FAQ1.03 如何安裝Turbo C++ 3.0? 4
FAQ1.04 C語言的編譯環境有哪些? 6
FAQ1.05 如何使用Turbo C++ 3.0開發C語言程序? 7

第2章 C語言基礎 9
FAQ2.01 C語言的開發流程是怎樣的? 9
FAQ2.02 典型的C程序是怎樣構成的? 11
FAQ2.03 如何在新的一行輸出結果? 12
FAQ2.04 如何應對開發過程中遇到的語法錯誤? 14
FAQ2.05 如何理解C語言中的變量? 17
FAQ2.06 一個變量可以既被聲明為變量又被聲明為常量嗎? 18
FAQ2.07 C語言中的變量包含哪些類型?這些類型是如何表示的? 20
FAQ2.08 如何自定義類型? 22
FAQ2.09 如何理解數據溢出? 23
FAQ2.10 什麼時候可以應用類型轉換?什麼時候不能應用? 25
FAQ2.11 不同類型的數據進行運算時會出現什麼問題? 26
FAQ2.12 C語言提供了哪些運算符?運算符的優先級和結合性是怎樣的? 27
FAQ2.13 如何理解C語言中的頭文件? 30
FAQ2.14 為什麼需要加入程序註釋? 31
FAQ2.15 聲明的變量和定義的變量有什麼不同之處? 32
FAQ2.16 什麼情況下要用到switch語句?如何使用switch語句? 34
FAQ2.17 在一個switch語句中,default語句是否必須存在呢? 36
FAQ2.18 for語句的3個子語句是否都是必須存在的? 37
FAQ2.19 如何區分break和continue? 39
FAQ2.20 如何使用goto語句提高程序靈活性? 41
FAQ2.21 「&」與「&&」,「|」與「||」有什麼區別? 42
FAQ2.22 已經有了for循環,為什麼還要用while循環? 43
FAQ2.23 如何強制操作符的運算順序? 45

第3章 編譯預處理 46
FAQ3.01 如何理解C語言中的宏?如何使用宏? 46
FAQ3.02 標準的預定義宏包括哪些? 50
FAQ3.03 如何改變預處理器的行計數? 51
FAQ3.04 宏與函數有什麼區別? 53
FAQ3.05 如何自定義頭文件? 54
FAQ3.06 頭文件都包含哪些信息? 55
FAQ3.07 文件包含命令可以嵌套嗎? 56
FAQ3.08 如何避免多次包含同一個文件? 57
FAQ3.09 除了.h文件以外其他文件能被#include命令所包含嗎? 58
FAQ3.10 #include文件名和#include「文件名」有何不同? 59
FAQ3.11 如何進行條件編譯預處理? 60
FAQ3.12 如何創建自定義宏? 63
FAQ3.13 宏有類型嗎? 64
FAQ3.14 如何重寫一個定義好的宏? 65
FAQ3.15 使用枚舉和使用#define定義常量有什麼不同? 66

第4章 字符串 69
FAQ4.01 C語言是如何存儲字符串的? 69
FAQ4.02 如何判斷字符串的長度? 70
FAQ4.03 如何判斷兩個字符串是否相同? 72
FAQ4.04 如何將一個字符串的內容追加到另一個字符串中? 73
FAQ4.05 如何為字符串追加N個字符? 75
FAQ4.06 如何將一個字符串複製到另一個字符串中? 76
FAQ4.07 如何在比較字符串時忽略字符大小寫? 77
FAQ4.08 如何轉換字符串中字符的大小寫? 79
FAQ4.09 如何獲取字符串中首次與末次出現某個字符的位置? 81
FAQ4.10 如何計算一個字符在字符串中出現的次數? 83
FAQ4.11 如何將字符串轉換為數字? 84
FAQ4.12 如何將數字轉換為字符串? 86
FAQ4.13 如何判斷字符是何種類型? 89

第5章 函數 91
FAQ5.01 如何理解C語言中的函數? 91
FAQ5.02 如何理解函數原型? 92
FAQ5.03 形參和實參分別是什麼?如何使用它們? 94
FAQ5.04 如何解決自定義函數與庫函數命名衝突問題? 96
FAQ5.05 如何理解函數的開銷問題? 97
FAQ5.06 主調函數如何調用被調函數? 99
FAQ5.07 return和exit有什麼不同之處? 101
FAQ5.08 局部變量和全局變量有何區別? 102
FAQ5.09 當局部變量與全局變量發生名稱衝突時如何解決? 103
FAQ5.10 如何更好地定義全局變量的有效範圍? 105
FAQ5.11 如何理解傳值調用? 106
FAQ5.12 C語言支持傳址調用嗎? 107
FAQ5.13 為什麼要用到靜態變量?靜態變量何時被初始化? 108
FAQ5.14 如何理解遞歸函數?什麼情況下要用到遞歸? 110
FAQ5.15 使用遞歸函數時對程序的執行效率有何影響? 112
FAQ5.16 如何使用其他方法代替遞歸? 113
FAQ5.17 函數如何對字符串進行堆棧處理? 115
FAQ5.18 如何使用外部變量及外部靜態變量? 116
FAQ5.19 如何調用結構和基指針? 118
FAQ5.20 如何在C程序中調用彙編語言函數並獲得彙編語言函數返回值? 119
FAQ5.21 如何創建支持多參數多類型的函數? 121
FAQ5.22 內部函數和外部函數有什麼不同? 124

第6章 鍵盤操作 126
FAQ6.01 如何從鍵盤讀入字符? 126
FAQ6.02 如何使用緩衝輸入? 127
FAQ6.03 如何使用直接I/O讀入字符? 128
FAQ6.04 如何實現不顯示字符的鍵盤輸入? 130
FAQ6.05 如何實現直接輸出? 131
FAQ6.06 如何將按鍵放回鍵盤緩存? 132
FAQ6.07 為什麼直接I/O能夠更快地輸出字符串? 134
FAQ6.08 如何更快地從鍵盤輸入字符串? 135
FAQ6.09 如何實現定位光標的屏幕輸出? 137
FAQ6.10 如何在屏幕中插入空行? 138
FAQ6.11 如何將屏幕上的文本複製到緩衝區? 140
FAQ6.12 如何判斷文本模式設置? 142
FAQ6.13 如何控制文本顏色? 144
FAQ6.14 如何指定背景顏色? 145
FAQ6.15 如何控制文本的顯示亮度? 147
FAQ6.16 如何在屏幕上移動文本? 148

第7章 文件、目錄和磁盤 150
FAQ7.01 如何理解FILE結構? 150
FAQ7.02 如何打開文件?如何關閉文件? 151
FAQ7.03 如何實現每次讀/寫文件信息的一個字符? 153
FAQ7.04 如何判斷當前文件位置? 155
FAQ7.05 文本模式和二進制模式有什麼區別? 156
FAQ7.06 如何使用低級和高級文件的I/O? 158
FAQ7.07 如何理解文件句柄? 159
FAQ7.08 進程文件表有什麼作用? 160
FAQ7.09 如何獲取進程文件表的入口? 160
FAQ7.10 如何獲取並顯示系統文件表的信息? 163
FAQ7.11 如何從流指針中導出文件句柄? 163
FAQ7.12 如何重命名文件? 165
FAQ7.13 如何刪除文件? 166
FAQ7.14 如何判斷程序訪問文件? 167
FAQ7.15 如何設置文件訪問模式? 169
FAQ7.16 如何檢測文件流錯誤? 171
FAQ7.17 如何判斷文件長度? 171
FAQ7.18 如何使用臨時文件? 173
FAQ7.19 如何搜索環境入口的子目錄? 174
FAQ7.20 為什麼要儘量減少文件的I/O操作? 175
FAQ7.21 對目錄的操作有哪些?如何實現? 176
FAQ7.22 如何刪除目錄樹? 177
FAQ7.23 如何列出一個目錄中的所有文件? 178
FAQ7.24 如何建立完全路徑名? 181
FAQ7.25 如何分解目錄路徑? 182
FAQ7.26 如何使用低級函數打開和關閉文件? 184
FAQ7.27 如何打開20個以上的文件? 186
FAQ7.28 如何改變文件長度? 187
FAQ7.29 如何控制文件打開操作的讀寫模式? 188
FAQ7.30 如何將緩衝區賦給文件? 190
FAQ7.31 如何分配文件緩衝區? 191
FAQ7.32 如何創建唯一文件名? 193
FAQ7.33 如何從文件流中讀取結構數據? 194
FAQ7.34 如何複製文件句柄? 195
FAQ7.35 如何強制文件句柄設置? 197
FAQ7.36 如何實現文件共享? 198
FAQ7.37 如何鎖定文件內容? 199
FAQ7.38 textcopy是否能夠複製二進制文件? 201
FAQ7.39 如何讀取格式化的文件數據? 202
FAQ7.40 如何重新打開文件流? 203

第8章 數組、指針和結構 205
FAQ8.01 數組的下標總是從零開始嗎? 205
FAQ8.02 越界的數組元素是否依然有效? 207
FAQ8.03 瀏覽數組元素時,使用指針和使用數組下標有什麼區別? 209
FAQ8.04 為什麼不能將數組大小初始化為一個常量? 210
FAQ8.05 數組與動態存儲孰優孰劣? 212
FAQ8.06 如何理解多維數組? 214
FAQ8.07 C語言是如何存放多維數組的? 216
FAQ8.08 可以在程序運行時才去聲明數組的長度嗎? 218
FAQ8.09 如何使用結構數組? 219
FAQ8.10 如何理解聯合? 221
FAQ8.11 使用聯合是否能夠節省內存? 222
FAQ8.12 如何使用位字段結構? 224
FAQ8.13 是否可以對指針進行類型轉換? 226
FAQ8.14 兩次釋放同一指針會產生什麼結果? 227
FAQ8.15 指針佔用的內存空間是否與基類型有關? 229
FAQ8.16 什麼是空指針?哪些情況會用到空指針? 229
FAQ8.17 使用指針變量操作字符串和使用字符數組操作字符串有什麼不同? 231
FAQ8.18 如何將指針操作作為函數參數? 233
FAQ8.19 指針函數和函數指針分別是什麼? 234
FAQ8.20 指針如何進行運算? 237
FAQ8.21 如何將指針作為函數返回值? 238
FAQ8.22 如何使用指向字符串指針的指針? 240
FAQ8.23 最多可以使用多少級指針? 242
FAQ8.24 為什麼使用結構?如何聲明結構? 243
FAQ8.25 C語言如何為結構分配內存空間? 246
FAQ8.26 free()函數如何決定到底釋放多大的內存空間? 247
FAQ8.27 如何使用結構作為函數參數? 249
FAQ8.28 如何使用指向結構體的指針? 251
FAQ8.29 結構體和共用體有哪些異同點? 253

第9章 DOS服務和BIOS服務 256
FAQ9.01 如何理解DOS服務和BIOS服務? 256
FAQ9.02 如何理解寄存器? 258
FAQ9.03 如何理解軟件中斷? 260
FAQ9.04 如何使用BIOS訪問指針? 261
FAQ9.05 如何暫時掛起程序? 263
FAQ9.06 如何控制聲音? 264
FAQ9.07 如何應用BIOS鍵盤服務? 265
FAQ9.08 如何獲取BIOS設備列表? 268
FAQ9.09 如何控制串行接口的I/O? 270
FAQ9.10 如何判斷BIOS常規內存數量? 272
FAQ9.11 如何分配動態內存? 273
FAQ9.12 動態分配的內存空間會被自動釋放嗎? 274
FAQ9.13 malloc()與calloc()函數的區別? 276
FAQ9.14 如何解決64KB堆的限制? 277
FAQ9.15 如何從堆棧中分配內存? 278
FAQ9.16 如何改變被分配內存區域的大小? 280

第10章 日期與時間 282
FAQ10.01 如何使用單個數字存儲日期信息?必須遵循什麼標準? 282
FAQ10.02 如何獲取當前的日期與時間? 284
FAQ10.03 如何判斷程序的耗時? 286
FAQ10.04 如何設置DOS系統時間與系統日期? 289
FAQ10.05 如何讀取BIOS計時器? 290
FAQ10.06 如何獲取與設置系統日期以及系統時間? 292
FAQ10.07 如何處理日期與字符串之間的轉換? 293
FAQ10.08 如何創建格式化日期與時間串? 294

第11章 重定向I/O與進程命令行 297
FAQ11.01 如何編寫密碼函數? 297
FAQ11.02 如何使用輸入/輸出重定向? 299
FAQ11.03 如何使用管道運算符? 300
FAQ11.04 如何自定義more命令? 301
FAQ11.05 如何防止I/O重定向? 303
FAQ11.06 如何應用STDPRN文件句柄? 304
FAQ11.07 如何將重定向輸出分割到一個文件中? 305
FAQ11.08 如何應用STDAUX文件句柄? 306
FAQ11.09 如何使用命令行變元? 307
FAQ11.10 如何從命令行中顯示文件內容? 309
FAQ11.11 如何創建定時的more命令? 310
FAQ11.12 如何在重定向輸入內尋找字串? 312
FAQ11.13 如何指定重定向輸入顯示行數? 313
FAQ11.14 如何定義在程序結束時執行的函數? 314

第12章 C語言開發常見錯誤及程序調試 316
FAQ12.01 使用C語言開發會遇到哪些常見錯誤? 316
FAQ12.02 程序調試包括哪幾步? 320
FAQ12.03 如何使用編譯工具找出錯誤信息對應代碼位置? 321
FAQ12.04 如何檢測內存漏洞? 323
FAQ12.05 如何讓程序發送失敗報告? 324
FAQ12.06 哪些原因會導致運行的程序掛起? 326
FAQ12.07 沒有聲明函數原型會造成怎樣的結果? 329
FAQ12.08 函數參數的個數有限制嗎? 332
FAQ12.09 exit()函數與return語句有什麼不同嗎? 334
FAQ12.10 return語句是必須存在的嗎? 336
FAQ12.11 退出main()函數就意味著程序運行的結束嗎? 339


我們接受以下的付款方式︰VISA、Mastercard、JCB 信用卡、PayPal、銀行轉帳。