內容簡介
本書系統、全面地介紹C語言程式設計相關的各類知識。全書共17章,內容包括C語言概述、演算法、C語言基礎、運算子與運算式、常用的資料登錄輸出函數、選擇結構程式設計、迴圈控制、陣列、函數、指標、結構體和共用體、位運算、預處理、檔、存儲管理、綜合開發實例——趣味俄羅斯方塊、課程設計——學生資訊管理系統,最後還提供了14個實驗。本書每章 內容都與實例緊密結合,有助於讀者理解知識、應用知識,達到學以致用的目的。本書為慕課版教材,各章 主要內容配備有以二維碼為載體的微課,並在人郵學院(www rymooc com)平臺上提供慕課。此外,本書還提供課程資源包,包含本書所有實例、上機指導、綜合案例和課程設計的原始程式碼,製作精良的電子課件、自測題庫(包括選擇題、填空題、操作題題庫及自測試卷等內容),以及拓展綜合案例和拓展實驗。課程資源包中的原始程式碼全部經過精心測試,能夠在Windows 10、Windows 11等主流作業系統下編譯和運行。本書既可以作為高等院校”C語言程式設計”課程的教材,又可以作為C語言愛好者、初中級C語言程式開發人員的參考書。
作者簡介
孟慶勳,河南科技職業大學副教授,在高等教育領域深耕多年,發表核心論文《電子海圖的艦船遠海航行中即時定位系統》等4篇、著作《大學生資訊技術專案化教程》等3部、專利《一種快遞運送用無人機》等5項。
目錄
第 1章 C語言概述1
1 1 C語言的發展史1
1 1 1 程式設計語言簡述1
1 1 2 C語言的發展歷程2
1 2 C語言的特點3
1 3 一個簡單的C語言程式3
1 4 C語言程式的格式6
1 5 Dev-C++開發工具7
1 6 常用的AIGC工具12
1 6 1 訊飛星火大模型12
1 6 2 通義大模型12
1 6 3 騰訊混元大模型12
1 6 4 文心大模型12
1 6 5 DeepSeek-R1推理大模型12
1 6 6 AIGC工具解決問題
示例13
1 7 小結13
1 8 上機指導14
1 9 習題14
第 2章 演算法15
2 1 演算法的基本概念15
2 1 1 演算法的特性15
2 1 2 演算法的優劣16
2 2 演算法的描述17
2 2 1 自然語言17
2 2 2 流程圖17
2 2 3 N-S流程圖21
2 3 借助AIGC工具編寫實例23
2 3 1 借助AIGC工具描述判斷
偶數演算法23
2 3 2 借助AIGC工具描述計算階
乘演算法24
2 4 小結24
2 5 上機指導24
2 6 習題25
第3章 C語言基礎26
3 1 程式設計規範26
3 2 關鍵字27
3 3 識別字28
3 4 資料類型29
3 5 常量30
3 5 1 整型常量30
3 5 2 實型常量32
3 5 3 字元型常量32
3 5 4 轉義字元35
3 5 5 符號常量35
3 6 變數36
3 6 1 整型變數36
3 6 2 實型變數38
3 6 3 字元型變數40
3 7 混合運算42
3 8 借助AIGC工具編寫實例43
3 9 小結43
3 10 上機指導43
3 11 習題44
第4章 運算子與運算式45
4 1 運算式45
4 2 設定運算子與賦值運算式47
4 2 1 為變數賦初值47
4 2 2 自動類型轉換49
4 2 3 強制類型轉換49
4 3 算術運算子與算術運算式50
4 3 1 算術運算子50
4 3 2 算術運算式51
4 3 3 優先順序與結合性52
4 3 4 自增運算子和自減運算子53
4 4 關係運算子與關聯運算式55
4 4 1 關係運算子55
4 4 2 關聯運算式55
4 4 3 優先順序與結合性56
4 5 邏輯運算子與邏輯運算式57
4 5 1 邏輯運算子58
4 5 2 邏輯運算式58
4 5 3 優先順序與結合性58
4 6 位元邏輯運算子與位元邏輯運算式59
4 6 1 位元邏輯運算子59
4 6 2 位元邏輯運算式60
4 7 逗號運算子與逗號運算式60
4 8 複合設定運算子61
4 9 借助AIGC工具編寫實例62
4 10 小結63
4 11 上機指導65
4 12 習題65
第5章 常用的資料登錄輸出函數66
5 1 語句66
5 2 字元資料的輸入輸出67
5 2 1 字元資料的輸出67
5 2 2 字元資料的輸入68
5 3 字串的輸入輸出70
5 3 1 字串的輸出函數70
5 3 2 字串的輸入函數71
5 4 格式輸出函數72
5 5 格式輸入函數75
5 6 借助AIGC工具編寫實例78
5 7 小結79
5 8 上機指導79
5 9 習題80
第6章 選擇結構程式設計81
6 1 if語句81
6 2 if語句的基本形式81
6 2 1 if語句形式82
6 2 2 ifelse語句形式84
6 2 3 else if語句形式85
6 3 if語句的嵌套形式88
6 4 條件運算子90
6 5 switch語句92
6 5 1 switch語句的基本形式92
6 5 2 多路開關模式的switch
語句96
6 6 ifelse語句和switch語句的
區別97
6 7 借助AIGC工具編寫實例99
6 7 1 借助AIGC工具進一步優化
排程99
6 7 2 借助AIGC工具獲取3個數
中的最大值100
6 8 小結101
6 9 上機指導101
6 10 習題102
第7章 迴圈控制103
7 1 迴圈語句103
7 2 while語句103
7 3 do while語句105
7 4 for語句107
7 4 1 for語句的使用107
7 4 2 for語句的變體110
7 4 3 for語句中的逗號應用112
7 5 3種迴圈語句的比較113
7 6 迴圈嵌套113
7 6 1 迴圈嵌套的結構113
7 6 2 迴圈嵌套實例115
7 7 轉移語句117
7 7 1 break語句117
7 7 2 continue語句118
7 8 借助AIGC工具編寫實例119
7 9 小結120
7 10 上機指導120
7 11 習題121
第8章 陣列122
8 1 一維陣列122
8 1 1 一維陣列的定義和引用122
8 1 2 一維陣列的初始化124
8 1 3 一維陣列的應用126
8 2 二維陣列127
8 2 1 二維陣列的定義和引用127
8 2 2 二維陣列的初始化128
8 2 3 二維陣列的應用130
8 3 字元陣列132
8 3 1 字元陣列的定義和引用132
8 3 2 字元陣列的初始化133
8 3 3 字元陣列的結束符134
8 3 4 字元陣列的輸入和輸出135
8 4 多維陣列136
8 5 陣列的排序演算法136
8 5 1 選擇法排序136
8 5 2 冒泡法排序138
8 5 3 排序演算法的比較139
8 6 字串處理函數140
8 6 1 字串複製140
8 6 2 字元串連接141
8 6 3 字串比較142
8 6 4 字串大小寫轉換143
8 6 5 獲得字串長度145
8 7 借助AIGC工具編寫實例146
8 7 1 借助AIGC工具進一步優化
冒泡排序演算法146
8 7 2 借助AIGC工具計算最大值、最小值和平均值147
8 8 小結149
8 9 上機指導149
8 10 習題149
第9章 函數150
9 1 函數概述150
9 2 函數的定義152
9 2 1 函式定義的形式153
9 2 2 定義與聲明154
9 3 返回語句155
9 3 1 從函數返回156
9 3 2 返回值156
9 4 函數參數158
9 4 1 形式參數與實際參數158
9 4 2 陣列作為函數參數160
9 4 3 main()函數的參數163
9 5 函數的調用164
9 5 1 函數的調用方式164
9 5 2 嵌套調用169
9 5 3 遞迴呼叫171
9 6 內建函式和外部函數173
9 6 1 內建函式173
9 6 2 外部函數174
9 7 區域變數和全域變數175
9 7 1 區域變數175
9 7 2 全域變數176
9 8 借助AIGC工具編寫實例176
9 9 小結177
9 10 上機指導177
9 11 習題178
第 10章 指針179
10 1 指針的相關概念179
10 1 1 地址與指針179
10 1 2 變數與指標180
10 1 3 指標變數180
10 1 4 指針的自增自減運算184
10 2 陣列與指標185
10 2 1 一維陣列與指標186
10 2 2 二維陣列與指標189
10 2 3 字串與指標192
10 3 指向指標的指標194
10 4 指標變數作函數參數197
10 5 指標函數198
10 6 借助AIGC工具快速清除
bug199
10 7 小結200
10 8 上機指導200
10 9 習題201
第 11章 結構體和共用體202
11 1 結構體202
11 1 1 結構體的概念202
11 1 2 結構體變數的定義203
11 1 3 結構體變數的引用205
11 1 4 結構體變數的初始化207
11 2 結構體陣列208
11 2 1 定義結構體陣列209
11 2 2 初始化結構體陣列210
11 3 結構體指標212
11 3 1 指向結構體變數的指標212
11 3 2 指向結構體陣列的指標215
11 3 3 結構體作為函數參數216
11 4 包含結構的結構219
11 5 共用體220
11 5 1 共用體的概念220
11 5 2 共用體變數的引用221
11 5 3 共用體變數的初始化222
11 5 4 共用體類型的特點223
11 6 枚舉類型223
11 7 借助AIGC工具編寫實例224
11 8 小結225
11 9 上機指導225
11 10 習題226
第 12章 位運算227
12 1 位元與位元組227
12 2 位運算子227
12 2 1 “與”運算子228
12 2 2 “或”運算子229
12 2 3 “取反”運算子230
12 2 4 “異或”運算子231
12 2 5 “左移”運算子233
12 2 6 “右移”運算子234
12 3 迴圈移位235
12 4 位段237
12 4 1 位段的概念與定義237
12 4 2 位段相關說明238
12 5 借助AIGC工具編寫實例240
12 6 小結241
12 7 上機指導241
12 8 習題241
第 13章 文件242
13 1 文件概述242
13 2 檔的基本操作243
13 2 1 文件指針243
13 2 2 文件的打開243