C語言開發從入門到精通

C語言開發從入門到精通
定價:330
NT $ 287
 

內容簡介

本書循序漸進、由淺入深地詳細講解了C語言開發的技術,並通過具體實例的實現過程演練了各個知識點的具體使用流程。

全書共22章,第1~4章分別講解了C語言開發的基礎知識,包括C語言簡介,安裝開發工具等;第5~10章分別講解了函數、輸入/輸出、流程控制、數組操作等知識,這些內容都是C語言技術的核心知識;第11~20章分別講解了指針、結構體、共享體和枚舉、鏈表、位運算、預編譯、文件操作、錯誤調試和高級編程技術的知識,這些內容是C語言開發技術的重點和難點;第21~22章分別通過2個綜合實例的實現過程,介紹了C語言在綜合項目中的開發過程。全書內容以「技術解惑」和「范例演練」貫穿全書,引領讀者全面掌握C語言。

本書不但適用C語言的初學者,也適合有一定C語言基礎的讀者學習,還可以作為大專院校相關專業的師生用書和培訓學校的教材。
 

目錄

第1章C語言之定位1
(視頻總計24分鍾,實例1個,拓展實例2個,技術解惑3個)
1.1C語言的誕生2
1.2第一印象的建立2
1.3理解編譯系統——學習的第一步3
1.4揭開存儲器的層次5
1.5技術解惑6
1.5.1學習C語言還有用嗎6
1.5.2怎樣學好C語言7
1.5.3學好C語言的建議7
第2章C語言開發工具詳解8
(視頻總計15分鍾,技術解惑3個)
2.1用DOS開發C程序9
2.1.1安裝Turbo C 3.09
2.1.2認識Turbo C 3.0集成開發環境11
2.1.3Turbo C 3.0開發演習14
2.2在Windows環境下開發C程序15
2.2.1Visual Studio 2010介紹15
2.2.2安裝Visual Studio 201015
2.2.3認識Visual Studio 2010開發環境17
2.3在Linux下開發C程序18
2.3.1裝備GCC18
2.3.2GCC基本使用介紹20
2.4技術解惑22
2.4.1安裝Visual Studio的幾個常見問題22
2.4.2有沒有輕量級的、可以復制和粘貼代碼的工具22
2.4.3Windows7中安裝Visual Studio的常見問題22
第3章算法——抓住程序的靈魂23
(視頻總計25分鍾,技術解惑2個)
3.1我們對算法的理解24
3.1.1為什麼是程序靈魂24
3.1.2何謂算法24
3.1.3算法的特性25
3.2算法表示法——流程圖26
3.3用計算機語言表示算法27
3.4技術解惑27
3.4.1初學者的一個困惑27
3.4.2另外一種表示方法——N—S流程圖28
第4章程序員的基本素質培養29
(視頻總計15分鍾,技術解惑1個)
4.1養成好的命名習慣30
4.2C程序文件結構30
4.2.1C程序組成部分30
4.2.2C程序格式總結31
4.3養成好的C語言編程風格32
4.3.1隨時使用縮進格式32
4.3.2注意大符號的位置32
4.3.3函數的規則33
4.3.4注意注釋33
4.4如何成為一名優秀的程序員33
4.5技術解惑35
第5章C語言語法36
(視頻總計23分鍾,實例5個,拓展實例10個,技術解惑4個)
5.1標識符和關鍵字37
5.2最基本的數據類型37
5.3常量和變量的深入理解38
5.3.1常量詳解39
5.3.2變量詳解40
5.4整型數據42
5.4.1整型常量詳解42
5.4.2整型變量詳解44
5.5實型數據46
5.5.1實型常量詳解46
5.5.2實型變量詳解46
5.5.3了解實型常量的類型48
5.6字符型數據48
5.6.1字符常量詳解49
5.6.2字符串常量詳解50
5.6.3字符變量詳解51
5.7初始化變量52
5.8整型、實型和字符型數據間的運算總結53
5.8.1自動轉換53
5.8.2強制轉換54
5.9技術解惑54
5.9.1C語言中無符號整型變量和有符號整型變量指什麼?54
5.9.2C語言中字符變量是怎麼回事55
5.9.3怎麼理解字符型數據取值范圍為0~25555
5.9.4怎樣將帶小數點的字符型數據轉換成浮點型的55
第6章運算符和表達式56
(視頻總計29分鍾,實例8個,拓展實例16個,技術解惑5個)
6.1運算符和表達式的基本概況57
6.1.1先看運算符的種類57
6.1.2再看運算符的優先級58
6.2算術運算符和算術表達式詳解59
6.2.1單目運算符59
6.2.2雙目運算符60
6.3賦值運算符和賦值表達式60
6.3.1基本賦值運算符61
6.3.2復合賦值運算符61
6.3.3賦值表達式62
6.4關系運算符和關系表達式詳解63
6.4.1關系運算符63
6.4.2關系表達式63
6.5邏輯運算符和邏輯表達式詳解64
6.5.1邏輯運算符64
6.5.2邏輯表達式64
6.6逗號運算符和逗號表達式詳解66
6.6.1逗號運算符66
6.6.2逗號表達式66
6.7求字節數運算符詳解67
6.8技術解惑68
6.8.1C語言運算符優先級的詳細情況68
6.8.2有少數運算符有規定表達式求值的順序70
6.8.3在C語言中可以進行混合運算嗎70
6.8.4在一個邏輯條件語句中常數項永遠在左側70
6.8.5賦值處理的自動類型轉換70
第7章輸入和輸出72
(視頻總計25分鍾,實例7個,拓展實例14個,技術解惑3個)
7.1先來了解C語句初步73
7.1.1C語句簡介73
7.1.2賦值語句74
7.2打通任督二脈——數據輸入和輸出詳解75
7.2.1putchar函數(字符輸出函數)76
7.2.2getchar函數(字符輸入函數)77
7.2.3printf函數(格式輸出函數)78
7.2.4scanf函數(格式輸入函數)81
7.2.5puts函數(字符串輸出函數)84
7.2.6gets函數(字符串輸入函數)84
7.3技術解惑85
7.3.1gets函數和scanf函數的區別85
7.3.2克服gets函數的缺陷85
7.3.3一個C語言的輸入和輸出問題87
第8章流程控制88
(視頻總計32分鍾,實例8個,拓展實例16個,技術解惑3個)
8.1最常見的順序結構89
8.2選擇結構89
8.2.1單分支結構語句90
8.2.2雙分支結構語句91
8.2.3還要使用多分支結構語句94
8.2.4條件運算符和條件表達式96
8.3循環結構詳解97
8.3.1for語句循環98
8.3.2while語句99
8.3.3do—while語句101
8.3.4正確對待goto語句102
8.3.5break/continue跳躍103
8.3.6死循環/退出程序104
8.4技術解惑105
8.4.1循環中的低效問題105
8.4.2分析C語言循環語句的效率105
8.4.3使用for循環語句的注意事項106
第9章數組和字符串——數據存在形式107
(視頻總計49分鍾,實例13個,拓展實例26個,技術解惑4個)
9.1一維數組108
9.1.1定義一維數組108
9.1.2引用一維數組元素108
9.1.3初始化一維數組109
9.2多維數組110
9.2.1二維數組110
9.2.2多維數組113
9.3字符數組與字符串115
9.3.1字符數組116
9.3.2字符串與字符數組116
9.3.3字符數組的輸入和輸出117
9.4字符串處理函數119
9.4.1測試字符串長度函數119
9.4.2字符串大小寫轉換函數119
9.4.3字符串復制函數120
9.4.4字符串比較函數121
9.4.5字符串連接函數123
9.4.6其他的字符串函數124
9.4.7將字符串轉換成數值的函數124
9.5字符處理函數125
9.5.1字符檢測函數詳解125
9.5.2字符大小寫轉換函數詳解127
9.6技術解惑128
9.6.1數組的下標總是從0開始嗎128
9.6.2C語言對數組的處理是非常有效的嗎128
9.6.3初始化賦值一維數組的注意事項129
9.6.4冒泡排序129
第10章函數——C語言的CPU130
(視頻總計65分鍾,實例14個,拓展實例28個,技術解惑10個)
10.1C語言函數的基礎知識131
10.1.1函數的分類131
10.1.2函數的定義132
10.2必須知道的函數聲明和函數原型133
10.3函數的參數135
10.3.1形參和實參詳解135
10.3.2可以將數組名作為函數參數136
10.3.3可以將數組作為函數參數138
10.4函數的返回值140
10.5怎樣實現函數的調用142
10.5.1函數的調用格式142
10.5.2函數調用的方式142
10.5.3被調函數的聲明方式144
10.5.4對調用函數的方式進行深入分析144
10.6函數的嵌套調用和遞歸調用146
10.6.1函數嵌套調用詳解146
10.6.2函數遞歸調用詳解148
10.7必須了解變量的作用域和生存期151
10.7.1變量作用域詳解151
10.7.2靜態存儲變量和動態存儲變量153
10.8談談C的內部函數和外部函數159
10.8.1內部函數詳解159
10.8.2外部函數詳解160
10.9必須知道的庫函數161
10.10技術解惑162
10.10.1深入分析項目文件162
10.10.2要盡量避免不必要的函數調用164
10.10.3請確保聲明和定義是靜態的,除非希望從不同的文件中調用該函數164
10.10.4避免過長的main(函數)164
10.10.5函數的地址本身也是數據166
10.10.6什麼時候說明函數167
10.10.7一個函數可以有多少個參數168
10.10.8如果一個函數沒有返回值,是否需要加入return語句168
10.10.9在程序退出main函數之后還有可能執行一部分代碼168
10.10.10exit()函數和return語句有什麼不同169
第11章指針是學習C語言的最大障礙170
(視頻總計61分鍾,實例14個,拓展實例28個,技術解惑8個)
11.1基本概念171
11.2變量的指針和指向變量的指針變量171
11.2.1聲明指針變量172
11.2.2指針變量的初始化172
11.2.3指針變量的引用173
11.2.4關於指針運算符的說明174
11.2.5指針變量的運算175
11.2.6指針變量作為函數參數176
11.2.7void類型的指針179
11.3指針和數組180
11.3.1數組元素的指針181
11.3.2指向一維數組元素的指針變量182
11.3.3通過指針引用數組元素182
11.3.4數組名作函數參數185
11.4指針和多維數組187
11.4.1多維數組的地址187
11.4.2指向多維數組的指針變量189
11.5指針和字符串192
11.5.1指針訪問字符串192
11.5.2字符串指針作函數參數193
11.5.3使用字符串指針變量與字符數組的區別194
11.6指針數組和多級指針195
11.6.1指針數組195
11.6.2多級指針的定義和應用196
11.6.3指向指針的指針198
11.6.4main函數的參數198
11.7指針函數和函數指針199
11.7.1指針函數199
11.7.2函數指針200
11.8技術解惑202
11.8.1指針初始化時應注意的問題202
11.8.2指針賦值時應注意的問題203
11.8.3指針用於數組時應注意的問題204
11.8.4結構中使用指針時應注意的問題204
11.8.5避免不必要的內存引用205
11.8.6避免懸空指針和野指針205
11.8.7數組下標與指針的效率解析205
11.8.8使用指針時的常見錯誤206
第12章數據的熔爐——結構體、共用體和枚舉208
(視頻總計49分鍾,實例12個,拓展實例24個,技術解惑4個)
12.1結構體209
12.1.1定義結構體類型209
12.1.2定義結構體類型變量209
12.1.3引用結構體變量211
12.1.4初始化結構體變量213
12.2進一步談結構體數組214
12.2.1定義結構體數組214
12.2.2初始化結構體數組215
12.2.3引用結構體數組216
12.3詳談結構體指針217
12.3.1定義結構體指針變量217
12.3.2初始化結構體指針變量218
12.3.3引用結構體指針變量218
12.3.4指向結構變量的指針219
12.3.5指向結構體數組的指針220
12.4在函數中使用結構體220
12.4.1結構體變量和結構體指針可以作為函數參數221
12.4.2函數可以返回結構體類型的值222
12.5共用體(聯合)223
12.5.1定義共用體和共用體變量223
12.5.2引用和初始化共用體變量224
12.6枚舉225
12.6.1定義枚舉類型225
12.6.2定義枚舉變量226
12.6.3引用枚舉變量227
12.7為什麼需要用typedef定義類型228
12.7.1類型定義符typedef基礎228
12.7.2使用typedef229
12.8技術解惑230
12.8.1可以省略結構名嗎230
12.8.2是否可以定義一種通用數據類型方便地存儲任意類型的數據呢230
12.8.3分析結構和共用體的區別231
12.8.4一個定義C結構體的問題231
第13章鏈表232
(視頻總計25分鍾,實例4個,拓展實例8個,技術解惑3個)
13.1動態內存分配233
13.1.1為什麼用動態內存分配233
13.1.2如何實現動態內存分配及其管理233
13.2鏈表詳解236
13.2.1鏈表基本介紹236
13.2.2單向鏈表237
13.2.3創建一個鏈表239
13.2.4刪除整個鏈表240
13.2.5在鏈表中插入節點240
13.2.6在鏈表中刪除節點241
13.2.7雙向鏈表242
13.2.8循環鏈表243
13.3技術解惑244
13.3.1一段代碼對鏈表的總結244
13.3.2面試題—判斷單鏈表是否有環248
13.3.3面試題—實現單鏈表逆置248
第14章位運算250
(視頻總計22分鍾,實例2個,拓展實例4個,技術解惑3個)
14.1位運算符和位運算251
14.1.1按位與運算(&)251
14.1.2按位或運算252
14.1.3按位異或運算252
14.1.4取反運算253
14.1.5左移運算253
14.1.6右移運算254
14.1.7位運算應用實例254
14.2位域256
14.2.1位域的定義和位域變量的說明256
14.2.2位域的使用257
14.3技術解惑257
14.3.1二進制補碼運算公式257
14.3.2面試題:從某個數中取出指定的某些位258
14.3.3位域的內存對齊原則258
第15章預編譯處理259
(視頻總計27分鍾,實例3個,拓展實例6個,技術解惑6個)
15.1預編譯基礎260
15.2宏定義260
15.2.1不帶參數的宏定義260
15.2.2帶參數的宏定義262
15.2.3字符串化運算符264
15.2.4並接運算符264
15.3文件包含詳解265
15.4條件編譯267
15.4.1#ifdef…#else…#endif命令267
15.4.2#ifdefined…#else…#endif268
15.4.3#ifndef…#else…#endif268
15.4.4#if!defined…#else…#endif268
15.4.5#ifdef…#elif…#elif…#else…#endif269
15.5技術解惑270
15.5.1還有其他預編譯指令嗎270
15.5.2帶參的宏定義和函數不同271
15.5.3總結C語言中的預處理指令271
15.5.4預編譯指令的本質是什麼271
15.5.5sizeof(int)在預編譯階段是不會被求值的272
15.5.6多行預處理指令的寫法272
第16章文件操作273
(視頻總計56分鍾,實例14個,拓展實例28個,技術解惑5個)
16.1C領域中的文件274
16.1.1文本文件274
16.1.2文件分類275
16.2文件指針275
16.3實現文件打開與關閉276
16.3.1打開文件276
16.3.2關閉文件278
16.4文件讀寫詳解279
16.4.1字符讀寫函數280
16.4.2字符串讀寫函數282
16.4.3格式化讀寫函數283
16.4.4數據塊讀寫函數284
16.4.5其他的讀寫函數286
16.5必須掌握文件的隨機讀寫287
16.5.1fseek函數詳解287
16.5.2rewind函數詳解289
16.5.3ftell函數詳解289
16.6文件管理函數詳解290
16.6.1刪除文件290
16.6.2重命名文件291
16.6.3復制文件291
16.7文件狀態檢測函數詳解293
16.7.1feof函數詳解293
16.7.2ferror函數詳解293
16.7.3clearerr函數詳解294
16.8Win32API中的文件操作函數294
16.8.1創建和打開文件295
16.8.2讀取、寫入和刪除文件295
16.9技術解惑296
16.9.1文件指針和文件內部的位置指針是一個含義嗎296
16.9.2fseek函數的換行問題296
16.9.3怎樣解決gets函數的溢出問題296
16.9.4feof函數會多讀一個數據嗎297
16.9.5流和文件有何關系297
第17章錯誤和程序調試298
(視頻總計9分鍾,技術解惑3個)
17.1常見錯誤分析299
17.1.1語法錯誤299
17.1.2邏輯錯誤(語義錯誤)300
17.1.3內存錯誤303
17.2錯誤的檢出與分離308
17.3調試時的注意事項309
17.3.1上機前要先熟悉程序運行的環境309
17.3.2程序設計過程中要為程序調試做好准備309
17.4技術解惑310
17.4.1編譯通過並不代表運行正確310
17.4.2兩段代碼的編譯差別310
17.4.3調試程序的方法與技巧310
第18章組件技術313
(視頻總計19分鍾)
18.1組件技術概述314
18.2體系結構314
18.2.1體系結構的概念314
18.2.2CORBA技術體系315
18.2.3DCOM技術319
第19章C語言高級編程技術322
(視頻總計33分鍾,實例12個,拓展實例8個)
19.1何謂C的高級編程技術323
19.2分析文本的屏幕輸出和鍵盤輸入323
19.2.1實現文本的屏幕輸出323
19.2.2實現鍵盤輸入329
19.2.3應用實例330
19.3分析圖形顯示方式和鼠標輸入332
19.3.1初始化圖形模式332
19.3.2清屏和恢復顯示函數詳解334
19.3.3建立獨立圖形運行程序335
19.3.4基本繪圖函數詳解335
19.3.5線性函數詳解339
19.3.6顏色控制函數詳解340
19.3.7分析填色函數和畫圖函數344
19.3.8圖形窗口函數詳解347
19.3.9分析圖形方式下的文本輸出函數347
19.4菜單設計350
19.4.1實現下拉式菜單350
19.4.2實現彈出式菜單353
第20章網絡編程技術358
(視頻總計33分鍾,實例3個,拓展實例2個)
20.1OSI七層網絡模型359
20.2TCP/IP子協議360
20.2.1IP協議361
20.2.2TCP協議362
20.2.3UDP協議363
20.2.4ICMP協議363
20.3使用C語言開發網絡項目363
20.3.1網絡編程方式364
20.3.2網絡通信基本流程364
20.3.3搭建開發環境365
20.3.4兩個常用的數據結構365
20.3.5WindowsSockets基礎365
20.4常用的Winsock函數366
20.4.1WSAStartup函數366
20.4.2socket函數366
20.4.3inet_addr函數367
20.4.4gethostbyname函數367
20.4.5bind函數367
20.4.6connect函數367
20.4.7select函數367
20.4.8recv函數368
20.4.9sendto函數368
20.5MAC地址368
20.6NetBIOS編程369
20.6.1處理過程369
20.6.2NetBIOS命令369
20.6.3NetBIOS名字解析370
20.6.4何謂NetBEUI372
20.6.5NetBIOS范圍373
20.6.6NetBios控制塊373
20.7實戰演練——獲取當前機器MAC地址373
20.7.1選擇開發工具373
20.7.2設計MFC窗體373
20.7.3具體編碼374
第21章初入江湖——游戲項目設計381
(視頻總計45分鍾)
21.1游戲功能描述382
21.2游戲總體設計382
21.2.1功能模塊設計383
21.2.2數據結構設計385
21.2.3構成函數介紹386
21.3游戲具體實現387
21.3.1預處理387
21.3.2主函數389
21.3.3初始化界面處理390
21.3.4時鍾中斷處理391
21.3.5成績、速度和幫助處理391
21.3.6滿行處理392
21.3.7方塊顯示和消除處理394
21.3.8游戲方塊操作判斷處理395
第22章風雲再起——網絡項目設計398
(視頻總計28分鍾)
22.1系統功能描述399
22.2系統總體設計399
22.2.1功能模塊設計399
22.2.2數據結構設計401
22.2.3構成函數介紹402
22.3系統具體實現403
22.3.1預處理403
22.3.2初始化處理404
22.3.3控制模塊405
22.3.4數據報解讀處理406
22.3.5Ping測試處理408
22.3.6主函數409
網路書店 類別 折扣 價格
  1. 新書
    87
    $287