本書主要介紹C語言程序設(shè)計(jì)的基礎(chǔ)知識(shí),包括變量、數(shù)據(jù)類型、運(yùn)算符、控制語句、函數(shù)、指針等基本概念和語法,以及如何使用這些知識(shí)編寫簡單的程序。本書內(nèi)容實(shí)用且通俗易讀,體系合理,既可作為高等院校學(xué)生的C 語言課程的教材,也可作為培訓(xùn)機(jī)構(gòu)的教材。
陳洪生,博士研究生,畢業(yè)于華中科技大學(xué),湖北科技學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院副教授,主要從事數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)原理、計(jì)算機(jī)導(dǎo)論、傳感網(wǎng)原理及應(yīng)用等課程的教學(xué),主要研究方向?yàn)楣I(yè)互聯(lián)網(wǎng)、無線自組織/傳感器網(wǎng)絡(luò)、容遲/擾網(wǎng)絡(luò)、大數(shù)據(jù)、云計(jì)算、人工智能等。
目錄
第1章 C語言入門 1
1.1 C語言概述 1
1.1.1 程序、程序設(shè)計(jì)與程序設(shè)計(jì)語言 1
1.1.2 C語言的主要特點(diǎn) 2
1.1.3 C語言程序的基本結(jié)構(gòu) 4
1.2 C語言的上機(jī)過程 6
1.2.1 安裝與啟動(dòng)Microsoft Visual C++ 2010學(xué)習(xí)版 6
1.2.2 Microsoft Visual C++ 2010學(xué)習(xí)版環(huán)境 11
1.2.3 編譯、生成和運(yùn)行程序 16
本章小結(jié) 19
課后習(xí)題 19
第2章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式 21
2.1 標(biāo)識(shí)符與關(guān)鍵字 21
2.1.1 標(biāo)識(shí)符 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 實(shí)型變量 33
2.2.5 字符變量 34
2.2.6 數(shù)據(jù)類型的轉(zhuǎn)換 36
2.3 運(yùn)算符和表達(dá)式 39
2.3.1 運(yùn)算符的優(yōu)先級(jí)、結(jié)合性及表達(dá)式的基本知識(shí) 39
2.3.2 算術(shù)運(yùn)算符及其表達(dá)式 40
2.3.3 自增、自減運(yùn)算符及其表達(dá)式 41
2.3.4 賦值運(yùn)算符及其表達(dá)式 42
2.3.5 關(guān)系運(yùn)算符及其表達(dá)式 43
2.3.6 邏輯運(yùn)算符及其表達(dá)式 44
2.3.7 條件運(yùn)算符及其表達(dá)式 46
2.3.8 逗號(hào)運(yùn)算符及其表達(dá)式 47
2.3.9 位運(yùn)算符及其表達(dá)式 48
本章小結(jié) 52
課后習(xí)題 52
第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 57
3.1 順序結(jié)構(gòu)程序設(shè)計(jì)舉例 57
3.2 C語言的基本語句 59
3.2.1 流程控制語句 59
3.2.2 表達(dá)式語句 60
3.2.3 函數(shù)調(diào)用語句 61
3.2.4 空語句 61
3.2.5 復(fù)合語句 61
3.3 輸入輸出函數(shù) 62
3.3.1 標(biāo)準(zhǔn)輸出函數(shù)printf 62
3.3.2 標(biāo)準(zhǔn)輸入函數(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è)計(jì)的精選示例 73
本章小結(jié) 74
課后習(xí)題 74
第4章 選擇結(jié)構(gòu)程序設(shè)計(jì) 81
4.1 選擇結(jié)構(gòu)程序設(shè)計(jì)舉例 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è)計(jì)的精選示例 91
4.5 選擇結(jié)構(gòu)程序設(shè)計(jì)的綜合示例 95
本章小結(jié) 96
課后習(xí)題 97
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 105
5.1 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)舉例 105
5.2 使用while語句實(shí)現(xiàn)循環(huán) 107
5.2.1 while語句的一般形式 107
5.2.2 while語句的執(zhí)行過程 107
5.3 使用do-while語句實(shí)現(xiàn)循環(huán) 109
5.3.1 do-while語句的一般形式 109
5.3.2 do-while語句的執(zhí)行過程 109
5.4 使用for語句實(shí)現(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語句提前終止整個(gè)循環(huán) 116
5.7.2 使用continue語句提前結(jié)束本次循環(huán) 118
5.8 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的精選示例 119
本章小結(jié) 124
課后習(xí)題 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 字符串的存儲(chǔ) 147
6.3.2 字符數(shù)組的定義和初始化 148
6.3.3 字符數(shù)組的基本操作 148
6.3.4 字符串處理函數(shù) 151
6.3.5 字符數(shù)組的精選示例 154
本章小結(jié) 156
課后習(xí)題 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 變量的作用域和存儲(chǔ)類別 179
7.5.1 變量的作用域 180
7.5.2 變量的存儲(chǔ)類別 183
*7.6 編譯預(yù)處理 185
7.6.1 宏定義 185
7.6.2 文件包含 188
7.6.3 條件編譯 189
本章小結(jié) 191
課后習(xí)題 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 指針變量幾個(gè)問題的進(jìn)一步說明 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
課后習(xí)題 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
課后習(xí)題 250
第10章 文件 256
10.1 什么是文件 256
10.2 文件與文件指針變量 259
10.3 文件操作函數(shù) 262
本章小結(jié) 276
課后習(xí)題 276
附錄A 常用字符與ASCII碼值對(duì)照表 284
附錄B 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 285
附錄C C語言的常用語法提要 287
附錄D 庫函數(shù) 291