本書(shū)是根據(jù)教育部計(jì)算機(jī)基礎(chǔ)課程教學(xué)指導(dǎo)委員會(huì)制定的大綱,結(jié)合目前普通高等院校計(jì)算機(jī)基礎(chǔ)教學(xué)的現(xiàn)狀和全國(guó)計(jì)算機(jī)等級(jí)考試大綱,由一線教師組織編寫(xiě)的。全書(shū)共12章,主要內(nèi)容包括C語(yǔ)言概述、基本數(shù)據(jù)類型與表達(dá)式、順序結(jié)構(gòu)程序設(shè)計(jì)、選擇結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、數(shù)組、函數(shù)、編譯預(yù)處理、指針、結(jié)構(gòu)體、共用體和枚舉、文件。本書(shū)主線清晰、重點(diǎn)明確、敘述嚴(yán)謹(jǐn)、內(nèi)容由淺入深。書(shū)中從全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)(C語(yǔ)言)試題中選用了大量經(jīng)典試題作為例題和練習(xí)題,有很強(qiáng)的針對(duì)性,并有配套的教學(xué)課件。本書(shū)適合作為高等院校本科生的教學(xué)用書(shū),也可作為參加全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)(C語(yǔ)言)的輔導(dǎo)教材,同時(shí)也是工程技術(shù)人員較好的參考用書(shū)。
陳亮, 男, 副教授, 西安交通大學(xué)博士, 西安工程學(xué)院計(jì)算機(jī)科學(xué)學(xué)院副院長(zhǎng), 長(zhǎng)期從事計(jì)算機(jī)科學(xué)的教學(xué)與研究工作, 發(fā)表論文多篇.
第1章 C語(yǔ)言概述 1
1.1 程序設(shè)計(jì)的相關(guān)概念 1
1.1.1 基本概念 1
1.1.2 算法 1
1.1.3 數(shù)據(jù)結(jié)構(gòu) 3
1.1.4 算法+數(shù)據(jù)結(jié)構(gòu)=程序 3
1.2 C/C++語(yǔ)言的產(chǎn)生及特點(diǎn) 3
1.3 C語(yǔ)言程序結(jié)構(gòu)的特點(diǎn) 4
1.4 C語(yǔ)言中的詞匯 6
1.5 C語(yǔ)言程序編寫(xiě)的基本規(guī)范 7
1.6 C語(yǔ)言程序的開(kāi)發(fā)步驟及Microsoft Visual C++ 2010 Express集成開(kāi)發(fā)環(huán)境介紹 9
1.6.1 C語(yǔ)言程序的開(kāi)發(fā)步驟 9
1.6.2 Microsoft Visual C++ 2010 Express集成開(kāi)發(fā)環(huán)境介紹 9
1.6.3 利用集成開(kāi)發(fā)環(huán)境進(jìn)行程序開(kāi)發(fā) 10
第2章 基本數(shù)據(jù)類型與表達(dá)式 14
2.1 C語(yǔ)言的數(shù)據(jù)類型 14
2.2 標(biāo)識(shí)符、常量和變量 15
2.2.1 標(biāo)識(shí)符 15
2.2.2 常量和符號(hào)常量 15
2.2.3 變量 16
2.3 整型 17
2.3.1 整型常量 17
2.3.2 整型變量 17
2.3.3 整型數(shù)據(jù)的存儲(chǔ)形式 18
2.4 實(shí)型 19
2.4.1 實(shí)型常量 19
2.4.2 實(shí)型變量 19
2.4.3 實(shí)型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式 19
2.5 字符型 20
2.5.1 字符常量 20
2.5.2 字符串常量 21
2.5.3 字符變量 22
2.6 算術(shù)表達(dá)式 22
2.6.1 C語(yǔ)言運(yùn)算符簡(jiǎn)介 22
2.6.2 數(shù)值型數(shù)據(jù)混合運(yùn)算時(shí)的類型轉(zhuǎn)換 22
2.6.3 算術(shù)運(yùn)算符及算術(shù)表達(dá)式 23
2.7 賦值表達(dá)式 25
2.7.1 賦值運(yùn)算符和賦值表達(dá)式 25
2.7.2 復(fù)合賦值表達(dá)式 25
2.7.3 賦值運(yùn)算中的類型轉(zhuǎn)換 26
2.8 關(guān)系表達(dá)式和邏輯表達(dá)式 27
2.8.1 C語(yǔ)言的邏輯值 27
2.8.2 關(guān)系運(yùn)算符及關(guān)系表達(dá)式 27
2.8.3 邏輯運(yùn)算符及邏輯表達(dá)式 27
2.9 逗號(hào)表達(dá)式 28
2.10 位運(yùn)算 29
2.10.1 位運(yùn)算符 29
2.10.2 位域簡(jiǎn)介 32
2.11 條件運(yùn)算符和條件表達(dá)式 33
第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 35
3.1 C語(yǔ)句概述 35
3.2 程序的三種基本結(jié)構(gòu) 37
3.3 數(shù)據(jù)的輸入/輸出 39
3.3.1 格式輸出函數(shù)printf 39
3.3.2 格式輸入函數(shù)scanf 44
3.3.3 字符輸出函數(shù)putchar 47
3.3.4 字符輸入函數(shù)getchar 47
3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例 48
第4章 選擇結(jié)構(gòu)程序設(shè)計(jì) 55
4.1 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 55
4.1.1 關(guān)系運(yùn)算符 55
4.1.2 關(guān)系表達(dá)式 56
4.2 邏輯運(yùn)算符與邏輯表達(dá)式 56
4.2.1 邏輯運(yùn)算符 56
4.2.2 邏輯表達(dá)式 57
4.3 if語(yǔ)句 57
4.3.1 if語(yǔ)句的三種形式 57
4.3.2 if語(yǔ)句的嵌套使用 62
4.4 switch語(yǔ)句 64
4.5 選擇結(jié)構(gòu)程序設(shè)計(jì)舉例 67
第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 71
5.1 概述 71
5.2 while語(yǔ)句及其循環(huán)結(jié)構(gòu) 72
5.3 do-while語(yǔ)句及其循環(huán)結(jié)構(gòu) 75
5.4 for語(yǔ)句及其循環(huán)結(jié)構(gòu) 76
5.5 break、continue和goto語(yǔ)句 78
5.5.1 break語(yǔ)句 80
5.5.2 continue語(yǔ)句 80
5.5.3 goto語(yǔ)句 81
5.6 循環(huán)的嵌套 81
5.7 循環(huán)程序舉例 83
第6章 數(shù)組 87
6.1 一維數(shù)組 87
6.1.1 一維數(shù)組的定義 87
6.1.2 一維數(shù)組元素的引用 88
6.1.3 一維數(shù)組的初始化 89
6.1.4 一維數(shù)組程序舉例 90
6.2 二維數(shù)組 96
6.2.1 二維數(shù)組的定義 96
6.2.2 二維數(shù)組元素的引用 96
6.2.3 二維數(shù)組的初始化 97
6.2.4 二維數(shù)組程序舉例 98
6.3 字符數(shù)組 103
6.3.1 字符數(shù)組的定義 104
6.3.2 字符數(shù)組的初始化 104
6.3.3 字符數(shù)組的引用 105
6.3.4 字符串和字符串結(jié)束標(biāo)志 106
6.3.5 字符數(shù)組的輸入/輸出 107
6.3.6 字符串處理函數(shù) 109
6.3.7 字符數(shù)組應(yīng)用舉例 114
第7章 函數(shù) 118
7.1 函數(shù)概述 118
7.2 函數(shù)的定義與返回值 119
7.2.1 函數(shù)的定義 119
7.2.2 函數(shù)的返回值 121
7.3 函數(shù)的調(diào)用 122
7.3.1 函數(shù)的參數(shù)及其傳遞 122
7.3.2 函數(shù)調(diào)用方式 124
7.3.3 函數(shù)聲明和函數(shù)原型 125
7.4 函數(shù)的嵌套調(diào)用 126
7.5 函數(shù)的遞歸調(diào)用 128
7.6 數(shù)組作為函數(shù)的參數(shù) 132
7.6.1 數(shù)組元素作為函數(shù)實(shí)參 132
7.6.2 數(shù)組名作為函數(shù)參數(shù) 133
7.7 局部變量和全局變量 137
7.7.1 局部變量及其作用域和生存期 138
7.7.2 全局變量及其作用域和生存期 141
7.8 內(nèi)部函數(shù)和外部函數(shù) 144
第8章 編譯預(yù)處理 147
8.1 宏定義 147
8.1.1 無(wú)參宏的定義 147
8.1.2 帶參數(shù)的宏定義 150
8.2 文件包含 153
8.3 條件編譯 155
第9章 指針 159
9.1 存儲(chǔ)單元及其地址 159
9.2 變量的實(shí)質(zhì) 160
9.3 指針和變量 162
9.3.1 指針相關(guān)概念的引入 162
9.3.2 指針變量的定義和聲明 163
9.3.3 指針變量的引用 164
9.4 指針和數(shù)組 168
9.4.1 指向一維數(shù)組元素的指針 168
9.4.2 通過(guò)指針變量引用一維數(shù)組元素 170
9.4.3 指向二維數(shù)組的指針 171
9.4.4 指針型數(shù)組 175
9.4.5 動(dòng)態(tài)數(shù)組的實(shí)現(xiàn) 178
9.5 指針和字符串 180
9.5.1 字符指針 180
9.5.2 字符指針變量和字符數(shù)組的比較 182
9.5.3 字符串?dāng)?shù)組的進(jìn)一步討論 183
9.6 指針和函數(shù) 186
9.6.1 指針作為函數(shù)的參數(shù) 186
9.6.2 指針型函數(shù) 190
9.6.3 指向函數(shù)的指針 191
9.6.4 數(shù)組和指向數(shù)組的指針變量作為函數(shù)參數(shù)的進(jìn)一步討論 194
9.7 指針和多級(jí)指針 196
9.7.1 指向指針的指針 196
9.7.2 多級(jí)指針 198
第10章 結(jié)構(gòu)體與鏈表 199
10.1 概述 199
10.2 結(jié)構(gòu)體類型的聲明 200
10.3 結(jié)構(gòu)體變量的定義 200
10.4 結(jié)構(gòu)體變量的引用 202
10.4.1 對(duì)結(jié)構(gòu)體變量成員的引用 203
10.4.2 對(duì)結(jié)構(gòu)體變量的整體引用 203
10.5 結(jié)構(gòu)體變量的初始化 203
10.6 結(jié)構(gòu)體數(shù)組 204
10.6.1 結(jié)構(gòu)體數(shù)組的定義 205
10.6.2 結(jié)構(gòu)體數(shù)組的初始化 206
10.6.3 結(jié)構(gòu)體數(shù)組元素的引用 207
10.7 指向結(jié)構(gòu)體類型數(shù)據(jù)的指針 208
10.7.1 指向結(jié)構(gòu)體變量的指針 208
10.7.2 指向結(jié)構(gòu)體數(shù)組的指針 209
10.7.3 結(jié)構(gòu)體變量和指向結(jié)構(gòu)體的指針作為函數(shù)參數(shù) 211
10.8 鏈表 216
10.8.1 鏈表概述 216
10.8.2 處理動(dòng)態(tài)鏈表所需的函數(shù) 216
10.8.3 單鏈表 217
10.8.4 雙向鏈表 230
10.9 用typedef定義類型 236
第11章 共用體和枚舉 238
11.1 共用體類型 238
11.1.1 共用體類型和共用體變量的定義 238
11.1.2 共用體變量的引用 240
11.1.3 共用體的特點(diǎn) 240
11.1.4 共用體和結(jié)構(gòu)體的比較 241
11.2 共用體類型應(yīng)用舉例 241
11.3 枚舉類型 243
11.3.1 枚舉類型的定義 243
11.3.2 枚舉類型的特點(diǎn) 244
11.3.3 枚舉類型應(yīng)用舉例 244
第12章 文件 247
12.1 文件概述 247
12.2 文件指針 248
12.3 文件的打開(kāi)和關(guān)閉 249
12.3.1 文件的打開(kāi)函數(shù)fopen 249
12.3.2 文件的關(guān)閉函數(shù)fclose 250
12.4 文件的讀/寫(xiě) 251
12.4.1 字符讀/寫(xiě)函數(shù)fgetc和fputc 251
12.4.2 字符串讀/寫(xiě)函數(shù)fgets和fputs 252
12.4.3 數(shù)據(jù)塊讀/寫(xiě)函數(shù)fread和fwrite 252
12.4.4 格式化讀/寫(xiě)函數(shù)fscanf和fprintf 253
12.5 文件的隨機(jī)讀/寫(xiě) 253
12.5.1 文件定位 253
12.5.2 文件的隨機(jī)讀/寫(xiě) 254
12.6 文件檢測(cè)函數(shù) 255
12.6.1 文件結(jié)束檢測(cè)函數(shù)feof 255
12.6.2 讀/寫(xiě)文件出錯(cuò)檢測(cè)函數(shù)ferror 255
12.6.3 文件出錯(cuò)標(biāo)志和文件結(jié)束標(biāo)志置零函數(shù)clearerr 255
12.7 庫(kù)文件 255
12.8 文件應(yīng)用舉例 256
附錄A ASCII碼表 261
附錄B 運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向一覽 264
附錄C C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù) 265
C.1 頭文件 265
C.2 常用庫(kù)函數(shù)分類 266
參考文獻(xiàn) 269