本書主要介紹C語言程序設(shè)計的基礎(chǔ)知識,包括變量、數(shù)據(jù)類型、運算符、控制語句、函數(shù)、指針等基本概念和語法,以及如何使用這些知識編寫簡單的程序。本書內(nèi)容實用且通俗易讀,體系合理,既可作為高等院校學(xué)生的C 語言課程的教材,也可作為培訓(xùn)機構(gòu)的教材。
陳洪生,博士研究生,畢業(yè)于華中科技大學(xué),湖北科技學(xué)院計算機科學(xué)與技術(shù)學(xué)院副教授,主要從事數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)原理、計算機導(dǎo)論、傳感網(wǎng)原理及應(yīng)用等課程的教學(xué),主要研究方向為工業(yè)互聯(lián)網(wǎng)、無線自組織/傳感器網(wǎng)絡(luò)、容遲/擾網(wǎng)絡(luò)、大數(shù)據(jù)、云計算、人工智能等。
目錄
第1章 C語言入門 1
1.1 C語言概述 1
1.1.1 程序、程序設(shè)計與程序設(shè)計語言 1
1.1.2 C語言的主要特點 2
1.1.3 C語言程序的基本結(jié)構(gòu) 4
1.2 C語言的上機過程 6
1.2.1 安裝與啟動Microsoft Visual C++ 2010學(xué)習版 6
1.2.2 Microsoft Visual C++ 2010學(xué)習版環(huán)境 11
1.2.3 編譯、生成和運行程序 16
本章小結(jié) 19
課后習題 19
第2章 數(shù)據(jù)類型、運算符和表達式 21
2.1 標識符與關(guān)鍵字 21
2.1.1 標識符 21
2.1.2 關(guān)鍵字 22
2.2 數(shù)據(jù)類型 22
2.2.1 常量 23
2.2.2 變量 27
2.2.3 整型變量 31
2.2.4 實型變量 33
2.2.5 字符變量 34
2.2.6 數(shù)據(jù)類型的轉(zhuǎn)換 36
2.3 運算符和表達式 39
2.3.1 運算符的優(yōu)先級、結(jié)合性及表達式的基本知識 39
2.3.2 算術(shù)運算符及其表達式 40
2.3.3 自增、自減運算符及其表達式 41
2.3.4 賦值運算符及其表達式 42
2.3.5 關(guān)系運算符及其表達式 43
2.3.6 邏輯運算符及其表達式 44
2.3.7 條件運算符及其表達式 46
2.3.8 逗號運算符及其表達式 47
2.3.9 位運算符及其表達式 48
本章小結(jié) 52
課后習題 52
第3章 順序結(jié)構(gòu)程序設(shè)計 57
3.1 順序結(jié)構(gòu)程序設(shè)計舉例 57
3.2 C語言的基本語句 59
3.2.1 流程控制語句 59
3.2.2 表達式語句 60
3.2.3 函數(shù)調(diào)用語句 61
3.2.4 空語句 61
3.2.5 復(fù)合語句 61
3.3 輸入輸出函數(shù) 62
3.3.1 標準輸出函數(shù)printf 62
3.3.2 標準輸入函數(shù)scanf 68
3.3.3 字符型數(shù)據(jù)輸出函數(shù)putchar 71
3.3.4 字符型數(shù)據(jù)輸入函數(shù)getchar 72
3.4 順序結(jié)構(gòu)程序設(shè)計的精選示例 73
本章小結(jié) 74
課后習題 74
第4章 選擇結(jié)構(gòu)程序設(shè)計 81
4.1 選擇結(jié)構(gòu)程序設(shè)計舉例 81
4.2 簡單選擇結(jié)構(gòu) 83
4.2.1 單分支if語句 83
4.2.2 雙分支if語句 84
4.3 多分支選擇結(jié)構(gòu) 85
4.3.1 多分支if語句 85
4.3.2 if語句的嵌套 87
4.3.3 switch語句 89
4.4 選擇結(jié)構(gòu)程序設(shè)計的精選示例 91
4.5 選擇結(jié)構(gòu)程序設(shè)計的綜合示例 95
本章小結(jié) 96
課后習題 97
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 105
5.1 循環(huán)結(jié)構(gòu)程序設(shè)計舉例 105
5.2 使用while語句實現(xiàn)循環(huán) 107
5.2.1 while語句的一般形式 107
5.2.2 while語句的執(zhí)行過程 107
5.3 使用do-while語句實現(xiàn)循環(huán) 109
5.3.1 do-while語句的一般形式 109
5.3.2 do-while語句的執(zhí)行過程 109
5.4 使用for語句實現(xiàn)循環(huán) 111
5.4.1 for語句的一般形式 112
5.4.2 for語句的執(zhí)行過程 112
5.5 循環(huán)語句的嵌套 114
5.6 循環(huán)語句的比較 116
5.7 循環(huán)執(zhí)行狀態(tài)的改變 116
5.7.1 使用break語句提前終止整個循環(huán) 116
5.7.2 使用continue語句提前結(jié)束本次循環(huán) 118
5.8 循環(huán)結(jié)構(gòu)程序設(shè)計的精選示例 119
本章小結(jié) 124
課后習題 124
第6章 數(shù)組 134
6.1 一維數(shù)組 135
6.1.1 一維數(shù)組的定義 135
6.1.2 一維數(shù)組的初始化 136
6.1.3 一維數(shù)組元素的引用及一維數(shù)組的基本操作 137
6.1.4 一維數(shù)組的精選示例 138
6.2 二維數(shù)組 141
6.2.1 二維數(shù)組的定義 142
6.2.2 二維數(shù)組的初始化 143
6.2.3 二維數(shù)組元素的引用及二維數(shù)組的基本操作 144
6.2.4 二維數(shù)組的精選示例 145
6.3 字符數(shù)組與字符串 147
6.3.1 字符串的存儲 147
6.3.2 字符數(shù)組的定義和初始化 148
6.3.3 字符數(shù)組的基本操作 148
6.3.4 字符串處理函數(shù) 151
6.3.5 字符數(shù)組的精選示例 154
本章小結(jié) 156
課后習題 156
第7章 函數(shù)及編譯預(yù)處理 162
7.1 函數(shù)概述 163
7.1.1 庫函數(shù) 163
7.1.2 自定義函數(shù) 164
7.1.3 C語言程序的構(gòu)成 164
7.2 函數(shù)的定義 165
7.3 函數(shù)的調(diào)用和聲明 167
7.3.1 函數(shù)的調(diào)用 168
7.3.2 函數(shù)的聲明 170
7.3.3 參數(shù)的傳遞 171
*7.4 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 175
7.4.1 函數(shù)的嵌套調(diào)用 175
7.4.2 函數(shù)的遞歸調(diào)用 177
*7.5 變量的作用域和存儲類別 179
7.5.1 變量的作用域 180
7.5.2 變量的存儲類別 183
*7.6 編譯預(yù)處理 185
7.6.1 宏定義 185
7.6.2 文件包含 188
7.6.3 條件編譯 189
本章小結(jié) 191
課后習題 192
第8章 指針 198
8.1 地址與指針的概念 198
8.2 變量的指針和指向變量的指針變量 200
8.2.1 指針變量的定義 201
8.2.2 指針變量的初始化 202
8.2.3 指針變量的引用 203
8.2.4 指針變量作為函數(shù)參數(shù) 207
8.2.5 指針變量幾個問題的進一步說明 211
8.3 數(shù)組指針和指向數(shù)組的指針變量 214
8.3.1 指向數(shù)組的指針變量 214
8.3.2 通過指針變量引用數(shù)組元素 216
8.3.3 指向字符串的指針變量 218
8.3.4 數(shù)組名作為函數(shù)參數(shù) 219
本章小結(jié) 224
課后習題 225
第9章 結(jié)構(gòu)體與共用體 230
9.1 結(jié)構(gòu)體的概念 230
9.2 結(jié)構(gòu)體類型 231
9.2.1 結(jié)構(gòu)體類型的聲明 231
9.2.2 結(jié)構(gòu)體變量的定義、初始化、引用及基本操作 233
9.2.3 結(jié)構(gòu)體類型的精選示例 237
9.3 結(jié)構(gòu)體數(shù)組 239
9.3.1 結(jié)構(gòu)體數(shù)組的定義及初始化 239
9.3.2 結(jié)構(gòu)體數(shù)組的引用 240
9.3.3 結(jié)構(gòu)體數(shù)組的精選示例 241
9.4 共用體類型 242
9.4.1 共用體變量的定義 242
9.4.2 共用體變量的引用 243
9.4.3 共用體類型的精選示例 244
9.5 枚舉類型 246
9.5.1 枚舉類型的聲明 246
9.5.2 枚舉變量的定義及引用 246
9.5.3 枚舉類型的精選示例 247
本章小結(jié) 250
課后習題 250
第10章 文件 256
10.1 什么是文件 256
10.2 文件與文件指針變量 259
10.3 文件操作函數(shù) 262
本章小結(jié) 276
課后習題 276
附錄A 常用字符與ASCII碼值對照表 284
附錄B 運算符的優(yōu)先級和結(jié)合性 285
附錄C C語言的常用語法提要 287
附錄D 庫函數(shù) 291