C語言程序設計
陳維 曹惠雅 魯麗 楊有安
相關主題
商品描述
根據中國高等院校電腦基礎教育研究會發布的“中國高等院校電腦基礎教育課程體系2014”中關於程序設計類課程教學設計方案的要求,結合當前人才培養的目標編寫。全書共11章,主要內容包括C語言的基本概念、變量與運算符、表達式、順序結構、選擇結構、循環結構、數組、函數、指針、結構體、聯合體和枚舉類型、預處理和標準函數、文件、數據結構和數據抽象。同時,還將介紹程序設計的基本方法和常用算法。
作者簡介
陈维主要研究项目及领域:计算机软件、计算机应用技术
在研究领域发表了相关学术论文5篇;编写出版了《大学计算机基础》、《程序设计基础》、《数据库技术及应用》等12部专业教材;主持完成或参与完成的校级研究项目共6项。
目錄大綱
第 1章 C 語言概述 1
1.1 程序與程序設計語言 1
1.1.1 程序與指令 1
1.1.2 程序設計語言的功能 2
1.1.3 程序設計語言的語法 2
1.2 C 語言的發展和優缺點 5
1.2.1 C 語言的發展 6
1.2.2 C 語言的優缺點 6
1.3 C 程序的結構 7
1.3.1 簡單C程序舉例 8
1.3.2 C語言程序的結構特點 9
1.3.3 書寫程序時應遵循的規則 10
1.4 Visual C++ 6.0 上機簡介 10
1.4.1 Visual C++ 6.0 集成開發環境簡介 10
1.4.2 Visual C++ 6.0 集成環境上機步驟 12
小結 16
習題 16
第 2章 基本數據類型和運算符 18
2.1 基本數據類型 18
2.1.1 常量和變量的概念 18
2.1.2 整型 20
2.1.3 實型 22
2.1.4 字符型 23
2.1.5 字符串 27
2.2 數據的存儲 28
2.2.1 整型數據的存儲 28
2.2.2 實型數據的存儲 28
2.2.3 字符型數據的存儲 29
2.3 運算符和表達式 29
2.3.1 算術運算符與算術表達式 30
2.3.2 賦值運算符與賦值表達式 32
2.3.3 位運算符及其表達式 35
2.3.4 增減量運算符與增減量表達式 37
2.3.5 關系運算符與關系表達式 38
2.3.6 邏輯運算符與邏輯表達式 40
2.3.7 條件運算符與條件表達式 42
2.3.8 逗號運算符與逗號表達式 43
2.3.9 其他運算符 44
2.3.10 運算符的優先級與結合性 44
2.4 數據類型的轉換 45
2.4.1 自動轉換 45
2.4.2 賦值轉換 46
2.4.3 強制類型轉換 47
小結 48
習題 48
第3章 順序和選擇結構程序設計 52
3.1 程序設計概述 52
3.1.1 程序設計基本步驟 52
3.1.2 C 語言編寫風格 53
3.1.3 程序的語句 54
3.2 數據的輸入/輸出 55
3.2.1 數據的輸入 55
3.2.2 scanf()函數的調用 55
3.2.3 scanf()函數使用中常見的問題 57
3.2.4 getchar()函數 58
3.2.5 putchar()函數 59
3.3 程序的3 種基本結構 60
3.4 if 語句 61
3.4.1 if 語句的3 種形式 61
3.4.2 if 語句的嵌套 66
3.5 switch 語句 68
3.6 程序設計舉例 71
小結 75
習題 75
第4 章 循環結構程序設計 80
4.1 for 循環 80
4.2 while 循環 84
4.3 do-while 循環 87
4.4 三種循環語句的比較 89
4.5 跳轉語句 89
4.5.1 break 語句 89
4.5.2 continue 語句 90
4.5.3 goto 語句 92
4.6 循環語句的嵌套 93
4.7 程序設計舉例 96
小結 101
習題 101
第5 章 數組 104
5.1 一維數組 104
5.1.1 一維數組的定義 104
5.1.2 一維數組元素的引用 105
5.1.3 一維數組元素的初始化 107
5.2 二維數組 108
5.2.1 二維數組的定義 108
5.2.2 二維數組元素的引用 109
5.2.3 二維數組元素的初始化 110
5.3 字符數組 112
5.3.1 字符數組的定義 112
5.3.2 字符數組的引用 113
5.3.3 字符數組的初始化 114
5.3.4 字符串及其結束標志 115
5.3.5 字符數組的輸入/輸出 116
5.3.6 常用的字符串處理函數 118
5.4 使用數組的程序設計方法 121
5.4.1 排序 121
5.4.2 查找 124
5.5 程序設計舉例 125
小結 128
習題 129
第6 章 函數和模塊設計 133
6.1 結構化程序設計 133
6.1.1 結構化程序設計的基本概念 133
6.1.2 結構化程序設計的基本特徵 134
6.2 函數的定義和調用 135
6.2.1 函數的定義 135
6.2.2 函數的調用 136
6.2.3 函數的返回值 139
6.2.4 函數參數及函數間的數據傳遞 142
6.3 函數的嵌套調用和遞歸調用 147
6.3.1 函數的嵌套調用 147
6.3.2 函數的遞歸調用 150
6.4 作用域和存儲類型 151
6.5 內部函數和外部函數 158
6.5.1 內部函數 159
6.5.2 外部函數 159
6.6 模塊化程序設計 160
6.6.1 模塊化程序設計方法的指導思想 160
6.6.2 模塊分解的原則 161
6.7 程序設計舉例 161
小結 166
習題 167
第7 章 指針 169
7.1 指針的概念 169
7.1.1 地址與指針 169
7.1.2 指針變量的定義和引用 170
7.1.3 指針變量的運算 173
7.2 指針變量作為函數參數 175
7.3 指針與一維數組 178
7.3.1 一維數組的指針表示 178
7.3.2 數組作為函數參數時的指針表示 180
7.3.3 字符串的指針表示 182
7.4 指針與多維數組 185
7.4.1 多維數組的處理 185
7.4.2 指向多維數組的指針 186
7.5 指針數組和多級指針 188
7.5.1 指針數組的概念 188
7.5.2 指針數組的應用 189
7.5.3 多級指針(指向指針的指針) 192
7.6 指針與函數 193
7.6.1 指向函數的指針 193
7.6.2 函數指針的應用 195
7.6.3 返回指針的函數 198
7.7 命令行參數 201
小結 202
習題 204
第8 章 結構體與聯合體 205
8.1 結構體 205
8.1.1 結構體類型的定義 206
8.1.2 結構體類型變量的定義與使用 206
8.1.3 結構體類型變量的賦值與初始化 208
8.1.4 結構體類型數組的定義與引用 210
8.1.5 結構體類型指針的定義與引用 213
8.1.6 結構體類型數據的動態存儲分配 218
8.1.7 鏈表及其基本操作 219
8.2 聯合體 224
8.3 其他自定義數據類型 226
8.3.1 枚舉類型 226
8.3.2 類型定義符typedef 228
小結 229
習題 230
第9 章 預處理和標準函數 232
9.1 預處理命令 232
9.1.1 宏定義 232
9.1.2 文件包含 235
9.1.3 條件編譯 235
9.2 輸入/輸出標準函數 237
9.2.1 格式輸出函數 237
9.2.2 格式輸入函數 239
9.3 自定義頭文件設計的原則 241
小結 245
習題 245
第 10 章 文件 246
10.1 問題的引入 246
10.2 文件的基本概念 246
10.3 內存與外存的數據交流 247
10.4 程序針對文件的基本操作 248
10.4.1 打開文件 248
10.4.2 關閉文件 250
10.4.3 文件的讀寫 250
10.4.4 文件檢測函數 259
10.5 程序調試與數據測試文件 259
10.6 程序設計舉例 261
小結 264
習題 265
第 11 章 數據結構和數據抽象 266
11.1 數據抽象 266
11.1.1 數據結構和數據類型 266
11.1.2 抽象數據類型 267
11.2 線性表 267
11.2.1 線性表的定義 267
11.2.2 線性表的基本操作 268
11.2.3 線性表的順序存儲 268
11.2.4 線性表上基本運算的實現 270
11.3 堆棧 271
11.3.1 抽象棧的定義及基本操作 271
11.3.2 抽象棧的定義 272
11.3.3 順序棧的基本運算的實現 272
11.4 隊列 273
11.4.1 隊列的定義 273
11.4.2 隊列的存儲結構及其相關算法 274
小結 276
習題 277
附錄A ASCII 代碼對照表 278
附錄B C 庫函數 279
附錄C Debugger 調試器使用簡介 284