你好,C語言 版權信息
- ISBN:9787302644194
- 條形碼:9787302644194 ; 978-7-302-64419-4
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
你好,C語言 本書特色
本書是一本經過精心設計和編寫的C語言教程,內容涵蓋C語言的基礎語法和高級概念。作者致力于為讀者提供一本入門型、簡單易懂、條理清晰且輕快的C語言教程,另外作者利用獨特的寫作風格將基礎的編程概念與C語言的細節很好地融合在一起,并通過大量貼近實際生活的示例同時演示一兩個概念,循序漸進地帶領讀者探索學習C語言的樂趣,助力讀者更好地掌握C語言的核心和程序設計原則。
你好,C語言 內容簡介
本書是一本全面介紹 C 語言的技術性書籍,旨在幫助讀者深入了解 C 語言的基礎知識和高級特性,以及它在實際項目中的應用。全書共 15 章,首先通過清晰易懂的語言,深入淺出地解釋了C 語言的語法和編程原理,其次重點介紹了 C 語言的指針操作、內存管理、文件處理和模塊化編程等關鍵概念。此外,本書還提供了主富的實例,幫助讀者加深對 C 語言的理解,并通過實踐鍛煉讀者解決實際問題的能力本書適合作為高等院校計算機科學及相關專業的教材和教學參考書,也可作為職業開發人員的自學用書和參考手冊。無論是初學者還是有一定編程基礎的開發人員,都可以從本書中獲得實用的 C 語言編程知識和技能,提升自己在軟件開發領域的能力。
你好,C語言 目錄
第1章 初識C語言 1
1.1 C語言的發明及發展 1
1.2 C語言現狀 3
1.3 C語言開發環境的搭建 5
1.3.1 下載Visual Studio 6
1.3.2 安裝Visual Studio 7
1.3.3 激活Visual Studio 9
第2章 C語言基礎知識 10
2.1 **個C語言程序 10
2.1.1 創建項目和源文件 11
2.1.2 編寫并運行程序 14
2.1.3 新手常見錯誤 15
2.2 函數 16
2.2.1 主函數 16
2.2.2 函數的概念 17
2.2.3 自定義函數 18
2.2.4 調用函數 19
2.3 變量和常量 21
2.4 printf函數和include命令 23
2.4.1 printf函數 23
2.4.2 include命令 24
第3章 數據類型 25
3.1 整型數據類型 25
3.1.1 各種整型數據類型 25
3.1.2 sizeof測量大小 26
3.1.3 三位二進制的數值范圍 27
3.1.4 數值的補碼表示法 28
3.1.5 整型的數值范圍 29
3.1.6 無符號整型 30
3.2 浮點數據類型 30
3.2.1 float 31
3.2.2 double 31
3.2.3 浮點類型占用的空間大小 32
3.3 變量 32
3.3.1 變量命名規則 34
3.3.2 初始化和賦值 34
3.4 常量 36
3.4.1 字面常量 36
3.4.2 符號常量 37
3.5 字符 38
3.5.1 字符常量 38
3.5.2 ASCII碼 40
3.5.3 字符變量 41
3.5.4 字符串常量 42
3.5.5 轉義字符 43
第4章 格式化輸入和輸出 46
4.1 printf函數 46
4.1.1 類型提升 48
4.1.2 轉換規范 50
4.1.3 轉換操作 50
4.1.4 長度指示符 56
4.1.5 精度 58
4.1.6 *小字段寬度 59
4.1.7 標志 60
4.2 scanf函數 62
4.2.1 Visual Studio安全報錯 62
4.2.2 scanf函數的使用公式 64
4.2.3 scanf函數的匹配規則 66
4.2.4 輸入字符 67
4.2.5 輸入字符串 68
第5章 運算符和表達式 69
5.1 表達式 69
5.2 運算符 70
5.3 類型轉換 77
5.3.1 同類型運算 78
5.3.2 不同類型運算 80
5.3.3 自動類型轉換 84
5.3.4 整型運算丟失精度 85
5.3.5 強制類型轉換 86
5.3.6 賦值造成的類型轉換 87
5.4 關系運算符 88
5.4.1 大于(>)和小于(
5.4.2 大于或等于(>=)和小于或等于(
5.4.3 等于(==)和不等于(!=) 89
5.5 邏輯運算符 90
5.5.1 邏輯或(||)和邏輯與(&&) 91
5.5.2 邏輯非(!) 92
5.5.3 運算符優先級 92
第6章 控制流 94
6.1 分支結構 94
6.1.1 分支流程 95
6.1.2 else關鍵字 96
6.1.3 復合語句 97
6.1.4 嵌套if語句 99
6.1.5 else if語句 102
6.1.6 條件運算符 103
6.2 循環結構 104
6.2.1 while循環 105
6.2.2 for循環 107
6.2.3 do-while循環 110
6.2.4 循環嵌套 111
6.3 break和continue 112
6.3.1 break跳出循環 112
6.3.2 continue開始新一輪循環 115
6.3.3 使用break和continue 115
6.3.4 循環嵌套中使用break和continue 116
6.4 多重選擇 117
6.4.1 switch語句 118
6.4.2 在switch中使用break 120
6.4.3 連續轉換程序 121
6.4.4 break和continue的作用范圍 123
第7章 數組 125
7.1 初識數組 125
7.2 數組初始化 126
7.3 訪問數組元素 128
7.3.1 遍歷數組的循環 128
7.3.2 小心數組越界 129
7.3.3 不初始化數組會怎樣 130
7.4 數組占用空間大小 131
7.5 數組賦值 131
7.5.1 逐個元素賦值 132
7.5.2 內存復制 132
7.6 多維數組 133
7.6.1 使用數組作為數組的元素 133
7.6.2 二維數組 134
7.6.3 實現更高維度的數組 136
7.7 字符串與字符數組 138
7.7.1 字符數組存儲字符串 138
7.7.2 字符串結尾標記'\0' 139
7.7.3 字符數組的大小及長度 141
7.7.4 修改字符數組 142
7.7.5 從鍵盤輸入字符串到字符數組中 143
7.7.6 其他的輸入和輸出函數 144
7.8 輸入和輸出緩存 146
7.8.1 輸出緩存區 147
7.8.2 輸入緩存區 148
7.8.3 非標準的輸入函數 151
第8章 函數 154
8.1 函數的定義 154
8.2 函數的調用 155
8.3 使用函數的意義 156
8.3.1 計算三角形面積 156
8.3.2 復用代碼 158
8.4 函數返回值 159
8.5 函數聲明 160
8.6 形參與實參 163
8.6.1 自動類型轉換 163
8.6.2 形參與實參相互獨立 164
8.6.3 不同函數的變量相互獨立 166
8.6.4 數組作為函數參數 166
8.7 函數遞歸 167
8.7.1 函數遞歸調用的示例 167
8.7.2 正確的遞歸實現 168
8.7.3 遞推和回歸 169
8.7.4 用遞歸計算階乘 170
8.7.5 遞歸計算斐波那契數列 171
8.8 調試代碼 172
8.8.1 調試模式與發布模式 172
8.8.2 調試功能在Visual Studio中的運用 174
第9章 指針 179
9.1 指針基礎 179
9.1.1 內存和內存地址 179
9.1.2 指針類型 181
9.1.3 使用指針 182
9.1.4 指針類型的大小 183
9.1.5 指針類型轉換 185
9.1.6 指針基礎例題 185
9.2 指針運算 186
9.2.1 指針與整型進行加減 186
9.2.2 指針運算的應用 188
9.2.3 同類型指針間的減法運算 189
9.2.4 其他類型的指針運算 190
9.2.5 指針運算例題 190
9.3 指針和數組 191
9.3.1 通過首元素獲取數組首地址 191
9.3.2 通過數組名獲取數組首地址 192
9.3.3 指針和數組的關系 194
9.3.4 指針與數組例題 195
9.4 指針作為函數參數傳遞 196
9.4.1 將指針作為函數參數進行傳遞 198
9.4.2 通用指針void * 199
9.4.3 將數組作為函數參數進行傳遞 200
9.4.4 將指針作為函數參數傳遞的例題 201
9.5 多級指針 202
9.5.1 指針的指針 202
9.5.2 多級指針的應用 204
9.5.3 多級指針例題 205
9.6 指針數組 205
9.6.1 定義、初始化和訪問指針數組 206
9.6.2 更復雜的例子 206
9.6.3 指針數組例題 208
9.7 函數返回指針 209
9.7.1 從函數中返回多個變量 210
9.7.2 函數返回指針例題 211
9.8 指針和多維數組 212
9.8.1 數組名的轉換規則 213
9.8.2 多維數組名和指針 213
9.8.3 移動數組指針 215
9.8.4 為數組指針取值 216
9.8.5 指針訪問與下標訪問等價 219
9.8.6 對數組名取地址 222
9.8.7 數組指針的運用 222
9.8.8 指針和多維數組例題 223
9.9 指針和三維數組 224
9.9.1 指針訪問三維數組元素 225
9.9.2 指針和三維數組例題 228
9.10 聲明器 229
9.10.1 聲明與使用形式統一 230
9.10.2 函數聲明器 230
9.10.3 聲明器中的優先級 230
9.11 函數指針和數組 233
9.11.1 函數指針 233
9.11.2 使用函數指針 234
9.11.3 函數指針數組 235
9.11.4 函數指針的運用 236
9.11.5 函數指針和數組例題 237
第10章 字符串 239
10.1 字符串和字符指針 239
10.1.1 字符數組和指針 241
10.1.2 使用指針處理字符串 242
10.2 const關鍵字 243
10.2.1 使用const修飾數組元素 244
10.2.2 使用const修飾指針所指向的數據 244
10.2.3 使用const修飾指針本身 245
10.2.4 使用const修飾基本變量 246
10.3 字符串處理函數 246
10.3.1 strlen函數:獲取字符串長度 246
10.3.2 strcat函數:拼接字符串 247
10.3.3 strcpy函數:復制字符串 248
10.3.4 strcmp函數:比較字符串 249
10.4 實現字符串處理函數 250
10.4.1 mstrlen函數 250
10.4.2 mstrcat函數 252
10.4.3 mstrcpy函數 254
10.4.4 mstrcmp函數 255
第11章 復合數據 258
11.1 結構化數據 258
11.1.1 使用數組存儲數據 259
11.1.2 交互式程序 261
11.1.3 數據聚合 263
11.2 結構體 266
11.2.1 結構體別名 267
11.2.2 初始化結構體 269
11.2.3 結構體數組 269
11.2.4 嵌套結構 270
11.2.5 指向結構體的指針 271
11.2.6 結構體在函數中傳遞 271
11.2.7 結構體例題 273
11.3 聯合體 274
11.3.1 聯合體的性質 276
11.3.2 聯合體的應用 276
11.4 枚舉 280
第12章 作用域和預處理器 283
12.1 標識符作用域 283
12.1.1 塊作用域 284
12.1.2 函數作用域 288
12.1.3 文件作用域 289
12.2 預處理指令 290
12.2.1 預處理指令的概念 290
12.2.2 #define 預處理指令的用法 292
12.2.3 帶參數的#define 293
12.2.4 宏函數的運算符 295
12.2.5 取消宏定義 298
12.3 typedef關鍵字 299
12.3.1 typedef關鍵字的概念 299
12.3.2 typedef和struct的關系 300
12.3.3 typedef與#define的區別 301
12.3.4 提高整型可移植性 302
12.4 條件編譯 303
12.4.1 #if指令 303
12.4.2 #else指令 304
12.4.3 #elif指令 305
12.4.4 #ifdef指令和#ifndef指令 306
第13章 多文件代碼和存儲類別 309
13.1 多文件代碼 309
13.1.1 預處理指令#include 309
13.1.2 多文件代碼 310
13.2 更復雜的多文件代碼 316
13.2.1 多文件代碼實現 316
13.2.2 頭文件守衛 322
13.3 存儲類別 324
13.3.1 自動變量 325
13.3.2 靜態變量 326
第14章 文件操作 332
14.1 創建和寫入文件 332
14.1.1 fopen函數 333
14.1.2 fprintf函數 334
14.1.3 fclose函數 334
14.1.4 文本模式與二進制模式 335
14.2 讀取文件 337
14.2.1 fscanf函數 337
14.2.2 fgetc函數 338
14.2.3 判斷文件狀態 339
14.2.4 fgets函數 340
14.3 寫入文件 341
14.3.1 fputc函數 342
14.3.2 fputs函數 343
14.3.3 fflush函數 345
14.3.4 文件偏移 346
14.3.5 更新文件 348
14.4 更多操作方式 350
14.4.1 以二進制形式保存數據 350
14.4.2 從文件中讀取二進制數據 354
第15章 位操作、動態內存管理和主函數參數 357
15.1 位操作 357
15.1.1 十進制轉二進制 357
15.1.2 十進制轉二進制函數 358
15.1.3 位運算符 361
15.1.4 左移和右移 365
15.2 動態內存管理 366
15.2.1 變長數組 367
15.2.2 申請內存空間 368
15.2.3 釋放內存空間 370
15.2.4 從函數中返回指針 371
15.3 主函數參數 373
15.3.1 ping命令 373
15.3.2 main函數參數 375
15.3.3 使用主函數參數 375
展開全部
你好,C語言 作者簡介
周圣杰:
廣州表達式科技有限公司的創始人,資深軟件工程師,擁有多年的C/C 經驗,尤其在桌面端開發、分布式后端和云原生運維方面經驗豐富。
公司旗下擁有品牌【你好編程】,開創了中國動畫視頻教程的先河。其中《動畫講解C語言》和《C語言小游戲實戰》課程以其精美的畫面和高效簡單的講解方式深受學生喜愛和支持。這些課程的服務用戶超4萬。
林耿亮:
畢業于武漢理工大學計算機科學與技術專業,廣州表達式科技有限公司的聯合創始人。經驗豐富的軟件工程師,專注于C語言編程和軟件開發領域。
在多個軟件項目中積累了豐富的經驗,涉及領域包括Android開發、網絡編程、數據結構和算法、圖形編程等。