程序設計基礎(C語言)(第2版)(微課版)
劉穎 李遠輝 姚雪梅
商品描述
本書精心選擇和設計趣味性、實用性較強的案例,通過案例由淺入深地介紹每章所涉及的知識點。
全書共10章,主要包括C語言概述,C語言基礎,順序結構程序設計,選擇結構程序設計,循環結構程序設計,數組,函數,指針,結構體、共用體和枚舉,文件系統等內容。
本書適合作為本科院校理工類專業和高職院校計算機類專業“C語言程序設計”課程的教材,還可作為各類計算機培訓機構和自學C語言程序設計人員的參考書。
作者簡介
劉穎,重慶交通大學,信息科學與工程學院,副教授。自2001年開始承擔過計算機基礎和C、C++、VB、VF、Python等高級程序設計語言的教學,2019 年負責程序設計基礎(C語言)課程教學與建設工作。主持或參加的省級、校級項目(課題)9項,第一作者論文5篇,出版專著與教材多部。參與的“計算機與互聯網”課程獲批國家一流本科課程。獲2022年重慶市課程思政教學名師和團隊稱號。
目錄大綱
第 1章 C語言概述 1
1.1 C語言的發展歷史 1
1.2 C語言的特點 1
1.3 關鍵字與標識符 2
1.4 C語言的簡單實例 2
1.5 集成開發環境 4
本章小結 11
習題1 11
第 2章 C語言基礎 13
2.1 C語言的數據類型 13
2.2 常量和變量 15
2.2.1 常量 15
2.2.2 變量 17
2.3 運算符與表達式 17
2.3.1 運算符優先級及結合性 18
2.3.2 算術運算符及算術表達式 18
2.3.3 關系運算符及關系表達式 19
2.3.4 邏輯運算符及邏輯表達式 20
2.3.5 賦值運算符及賦值表達式 21
2.3.6 位運算符 22
2.3.7 其他運算符 23
2.4 數據類型轉換 24
2.4.1 自動轉換 24
2.4.2 賦值轉換 25
2.4.3 強制轉換 25
本章小結 26
習題2 26
第3章 順序結構程序設計 28
3.1 程序的“靈魂”——算法 28
3.1.1 算法概述 28
3.1.2 算法的描述 29
3.1.3 結構化程序設計方法 30
3.2 C語言基本語句 31
3.2.1 表達式語句 32
3.2.2 函數調用語句 32
3.2.3 控制語句 32
3.2.4 復合語句 33
3.2.5 空語句 33
3.3 數據的輸入和輸出 33
3.3.1 輸入和輸出的概念及實現 33
3.3.2 字符數據的輸入/輸出 34
3.3.3 格式數據的輸入/輸出 35
3.4 順序結構程序設計舉例 39
本章小結 40
習題3 42
第4章 選擇結構程序設計 44
4.1 簡單選擇結構 44
4.1.1 單分支if語句 44
4.1.2 雙分支if語句 45
4.2 多分支選擇結構 47
4.2.1 多分支if語句 47
4.2.2 if語句的嵌套 49
4.2.3 多分支switch語句 51
4.2.4 多分支if語句與switch語句的比較 53
4.3 選擇結構程序設計舉例 53
本章小結 56
習題4 57
第5章 循環結構程序設計 60
5.1 實現循環結構的3種語句 60
5.1.1 while語句 60
5.1.2 do…while語句 62
5.1.3 for語句 64
5.1.4 3種循環語句比較 68
5.2 循環嵌套 68
5.2.1 break語句——提前終止循環 69
5.2.2 continue語句——提前結束本次循環 70
5.2.3 goto語句——提前終止多重循環 71
5.3 循環結構程序設計舉例 72
5.3.1 窮舉法 72
5.3.2 遞推法 74
5.3.3 疊代法 75
5.3.4 標記變量法 77
本章小結 77
習題5 77
第6章 數組 80
6.1 數組的概念 80
6.2 一維數組 80
6.2.1 一維數組的定義 80
6.2.2 一維數組元素的引用 81
6.2.3 一維數組的初始化 81
6.2.4 一維數組的存儲 82
6.2.5 一維數組的應用 82
6.3 二維數組 83
6.3.1 二維數組的定義 84
6.3.2 二維數組元素的引用 84
6.3.3 二維數組的初始化 84
6.3.4 二維數組的存儲 85
6.3.5 二維數組的應用 85
6.4 字符數組與字符串 88
6.4.1 字符數組的定義與初始化 88
6.4.2 字符串與字符串結束標誌 88
6.4.3 字符數組的輸入與輸出 89
6.4.4 字符串處理函數 90
6.5 數組常用算法 95
6.5.1 數組元素的查找 95
6.5.2 數組元素的排序 96
6.5.3數組元素的插入 98
6.5.4 數組元素的刪除 99
本章小結 100
習題6 100
第7章 函數 103
7.1 函數的概念與分類 103
7.1.1 函數的概念 103
7.1.2 函數的分類 103
7.2 函數的定義與函數的返回值 104
7.2.1 函數的定義 104
7.2.2 函數的參數和返回值 106
7.3 函數的調用 107
7.3.1 函數的聲明和函數調用格式 107
7.3.2 函數的參數傳遞 109
7.4 函數的嵌套調用和遞歸調用 111
7.4.1 函數的嵌套調用 111
7.4.2 函數的遞歸調用 113
7.5 數組作函數參數 116
7.5.1 數組元素作函數參數 116
7.5.2 數組名作函數參數 116
7.5.3 二維數組作函數參數 118
7.6 變量的作用域與存儲類別 119
7.6.1 變量的作用域 119
7.6.2 變量的存儲類別 124
7.7 編譯預處理 128
7.7.1 宏定義 129
7.7.2 文件包含 132
7.7.3 條件編譯 133
本章小結 134
習題7 135
第8章 指針 137
8.1 指針與指針變量 137
8.1.1 指針的概念 137
8.1.2 指針變量的定義 137
8.2 指針的運算 138
8.2.1 有關指針的兩個運算符 138
8.2.2 賦值運算 139
8.2.3 加減算術運算 140
8.2.4 兩個指針變量之間的運算 140
8.3 多級指針 140
8.4 指針與數組 141
8.4.1 一維數組的指針表示 142
8.4.2 二維數組的指針表示 143
8.4.3 指針數組 146
8.5 指針與字符串 148
8.6 指針與函數 149
8.6.1 指針作函數參數 149
8.6.2 返回指針的函數 153
8.6.3 指向函數的指針 155
本章小結 158
習題8 158
第9章 結構體、共用體和枚舉 160
9.1 結構體類型與變量 160
9.1.1 結構體類型與結構體變量的定義 160
9.1.2 結構體變量的引用 162
9.1.3 結構體變量的初始化 162
9.2 結構體數組 163
9.2.1 結構體數組的定義 163
9.2.2 結構體數組的初始化 163
9.2.3 結構體數組應用舉例 164
9.3 指針與結構體 164
9.3.1 指向結構體變量的指針 165
9.3.2 指向結構體數組的指針 166
9.3.3 結構體與函數參數 167
9.4 共用體類型與變量 168
9.4.1 共用體及共用體變量的定義 168
9.4.2 共用體變量的引用方式和特點 169
9.5 枚舉類型與變量 170
9.6 自定義數據類型 171
9.7 順序表 171
9.7.1 順序表的定義和創建 171
9.7.2 順序表的基本操作 172
9.8 鏈表 173
9.8.1 鏈表概述 173
9.8.2 鏈表的存儲分配 174
9.8.3 鏈表的建立及輸出 174
9.8.4 鏈表的基本操作 176
9.9 綜合應用 179
本章小結 181
習題9 182
第 10章 文件系統 184
10.1 文件概述 184
10.1.1 文件類型 184
10.1.2 文件指針 185
10.2 文件的操作 186
10.2.1 文件的打開和關閉 186
10.2.2 文件的讀寫操作 187
10.3 文件的檢測與隨機讀寫 192
10.3.1 文件的檢測 192
10.3.2 文件的隨機讀寫 193
10.4 綜合應用 194
本章小結 197
習題10 198
附錄1 ASCII表 199
附錄2 C語言的關鍵字 200
附錄3 運算符的優先級和結合性 201
附錄4 常用函數 202
參考文獻 206