本書通過實例的形式系統講解C程序設計的知識和應用,內容包括C語言基礎、順序結構、選擇結構、循環結構、數組、函數、指針、結構體和共用體、文件以及綜合實訓學生信息管理系統。每單元包含問題引入、本單元學習任務、知識描述、實例分析與實現、知識拓展和同步練習,配全套慕課視頻,生動形象地講解C語言中的基礎知識和應用方法,易學易用。
本書適合作為高職高專院校C程序設計課程的教材,也可供廣大讀者自學參考。
配全套微課視頻105個,總時長868分鐘
細致講解與真人模擬演示,生動形象地解釋C語言中的基礎知識和算法,易學易用
每單元知識點介紹完,提供了多個練一練上機實踐,每個實例任務分為分析流程圖和代碼三部分,給出了實現實例的設計思路
常中華,中國計算機學會會員、山東省高教學會計算機教學研究會常務理事、青島市計算機學會理事、山東省青少年教育科學研究院評審專家。現任青島職業技術學院軟件與服務外包學院院長。
單元1 初識C語言 1
問題引入 1
本單元學習任務 1
知識描述 1
1.1 C語言概述 1
1.1.1 什么是C語言 1
1.1.2 為什么學習C語言 3
1.2 C語言結構 4
1.2.1 C程序及結構 4
1.2.2 如何開發C程序 6
實例分析與實現 7
知識拓展 初學者最常問的幾個問題 8
同步練習 9
單元2 C語言基礎 11
問題引入 11
本單元學習任務 11
知識描述 11
2.1 數據類型 11
2.2 常量與變量 12
2.2.1 常量和符號常量 13
2.2.2 變量 14
2.3 整型數據 14
2.3.1 整型常量 14
2.3.2 整型變量 15
2.4 實型數據 17
2.4.1 實型常量 17
2.4.2 實型變量 18
2.5 字符型數據 19
2.5.1 字符常量 19
2.5.2 字符型變量 21
2.5.3 字符串常量 23
2.6 運算符與表達式 24
2.6.1 算術運算符和算術表達式 24
2.6.2 賦值運算符和賦值表達式 26
2.6.3 數據類型轉換 27
2.6.4 幾個特殊的運算符 29
實例分析與實現 32
知識拓展 位運算 33
同步練習 37
單元3 順序結構 41
問題引入 41
本單元學習任務 41
知識描述 41
3.1 算法與結構化程序設計 41
3.1.1 什么是算法 42
3.1.2 算法與流程圖 43
3.1.3 結構化程序設計及原則 45
3.2 C語言語句 46
3.3 字符輸入與輸出 48
3.3.1 字符輸出函數 48
3.3.2 字符輸入函數 49
3.4 格式化輸入與輸出 50
3.4.1 格式化輸出函數 50
3.4.2 格式化輸入函數 55
實例分析與實現 59
知識拓展 C程序代碼編寫規范 61
同步練習 62
單元4 選擇結構 67
問題引入 67
本單元學習任務 67
知識描述 67
4.1 條件判斷表達式 67
4.1.1 關系運算符和關系表達式 67
4.1.2 邏輯運算符和邏輯表達式 68
4.2 if選擇語句 70
4.2.1 單分支if語句 70
4.2.2 多分支if語句 73
4.2.3 條件運算符 78
4.3 switch語句 79
實例分析與實現 83
知識拓展 程序中的語法錯誤和邏輯錯誤調試 85
同步練習 86
單元5 循環結構 90
問題引入 90
本單元學習任務 90
知識描述 90
5.1 while語句 90
5.2 do-while語句 94
5.3 for語句 96
5.4 嵌套的循環 99
5.4.1 嵌套的循環 99
5.4.2 break語句和continue語句 104
實例分析與實現 105
知識拓展 算法的時間復雜度 107
同步練習 108
單元6 數組 112
問題引入 112
本單元學習任務 112
知識描述 112
6.1 一維數組 112
6.1.1 一維數組的定義 113
6.1.2 一維數組的初始化 114
6.1.3 一維數組元素的引用 114
6.2 二維數組 119
6.2.1 二維數組的定義 119
6.2.2 二維數組的初始化 119
6.2.3 二維數組元素的引用 121
6.3 字符數組和字符串 123
6.3.1 字符數組 124
6.3.2 字符串及其處理函數 125
實例分析與實現 132
知識拓展 算法的空間復雜度 134
同步練習 135
單元7 函數 142
問題引入 142
本單元學習任務 142
知識描述 142
7.1 函數定義 142
7.2 函數調用 144
7.2.1 函數調用的形式 144
7.2.2 參數的傳遞方式 146
7.2.3 函數的返回值 148
7.2.4 函數的參數類型 150
7.3 函數的嵌套調用 153
7.4 函數的遞歸調用 154
7.5 函數的聲明 156
7.6 變量的作用域和存儲類別 157
7.6.1 變量的作用域 157
7.6.2 變量的存儲類別 159
實例分析與實現 162
知識拓展 模塊化程序設計 163
同步練習 164
單元8 指針 169
問題引入 169
本單元學習任務 169
知識描述 169
8.1 地址和指針 169
8.2 指針變量 170
8.3 指向數組的指針 173
8.3.1 指向一維數組的指針 173
8.3.2 指向字符串的指針 178
8.3.3 指向二維數組的指針 180
8.4 用指針變量作為函數參數 185
8.5 返回指針值的函數 186
實例分析與實現 186
知識拓展 main函數的形式參數 188
同步練習 189
單元9 結構體和共用體 194
問題引入 194
本單元學習任務 194
知識描述 194
9.1 結構體類型 194
9.1.1 結構體類型的定義 194
9.1.2 結構體變量的定義 196
9.1.3 結構體變量的初始化 197
9.1.4 結構體變量的引用 198
9.2 結構體數組 201
9.3 結構體指針 202
9.4 結構體與函數 204
9.5 鏈表 205
9.5.1 鏈表的概念 205
9.5.2 鏈表的實現 206
9.5.3 鏈表的操作 208
9.6 共用體類型 209
9.6.1 共用體類型的定義 209
9.6.2 共用體變量的定義 210
9.6.3 共用體變量的初始化和引用 210
實例分析與實現 211
知識拓展 數據庫技術 213
同步練習 213
單元10 文件 218
問題引入 218
本單元學習任務 218
知識描述 218
10.1 文件概述 218
10.1.1 文件分類 218
10.1.2 文件指針 219
10.2 文件的打開和關閉 220
10.3 文件的讀寫 222
10.3.1 字符讀寫函數 222
10.3.2 字符串讀寫函數 225
10.3.3 數據塊讀寫函數 227
10.3.4 格式化讀寫函數 228
10.4 文件的定位 229
實例分析與實現 231
知識拓展 云計算與大數據 233
同步練習 233
單元11 綜合實訓學生信息管理系統 236
11.1 系統功能需求 236
11.2 結構設計 240
11.2.1 系統基本功能流程圖 240
11.2.2 數據結構設計 241
11.2.3 函數設計 242
11.2.4 系統的實現 243
11.3 項目總結 250
附錄A 常用字符與標準ASCII碼對照表 251
附錄B 運算符的優先級和結合性 252
附錄C 常用標準庫函數 254