C語言是一門基礎(chǔ)性的程序設(shè)計語言,學(xué)習(xí)C語言有助于計算機(jī)專業(yè)的學(xué)生更好地學(xué)習(xí)其他程序設(shè)計語言。本書的主要內(nèi)容包括:C語言程序設(shè)計基礎(chǔ)、順序結(jié)構(gòu)程序設(shè)計、選擇結(jié)構(gòu)程序設(shè)計、循環(huán)結(jié)構(gòu)程序設(shè)計、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、文件、位運(yùn)算等內(nèi)容。書中每章都提供了豐富的案例和精心挑選的課后練習(xí)題,重點(diǎn)章節(jié)還提供了相關(guān)實(shí)訓(xùn)項目。本書體系結(jié)構(gòu)完整,內(nèi)容介紹深入淺出,注重理論與實(shí)踐相結(jié)合,每個案例都經(jīng)過精心調(diào)試并配有源代碼和運(yùn)行結(jié)果,方便讀者學(xué)習(xí)。
曾昭江,軟件設(shè)計師,講師。曾獲”藍(lán)橋杯”全國軟件大賽廣東賽區(qū)(Java高職組)優(yōu)秀指導(dǎo)教師獎,曾參與高職高專人才水平評估中專業(yè)剖析與說課等工作。主要擔(dān)任C語言、Java面向?qū)ο蟪绦蛟O(shè)計、PHP程序設(shè)計、網(wǎng)站建設(shè)與管理等課程的教學(xué)。并在國家相關(guān)刊物發(fā)表專業(yè)論文多篇,參與科研課題多項,并參與《計算機(jī)應(yīng)用基礎(chǔ)》、《數(shù)據(jù)庫原理與應(yīng)用》精品課程的建設(shè)。
目錄
第1章 C語言程序設(shè)計基礎(chǔ) 1
1.1 程序與程序設(shè)計語言 1
1.1.1 程序 1
1.1.2 程序設(shè)計語言 2
1.2 算法的概念及描述 3
1.2.1 算法的概念 3
1.2.2 算法的描述 4
1.2.3 常用算法 6
1.3 C語言的發(fā)展及特點(diǎn) 7
1.3.1 C語言的發(fā)展 7
1.3.2 C語言的特點(diǎn) 7
1.4 C語言程序的基本結(jié)構(gòu) 8
1.4.1 結(jié)構(gòu)化程序設(shè)計 8
1.4.2 C語言程序的結(jié)構(gòu) 9
1.5 C語言程序的開發(fā)環(huán)境 9
1.5.1 在Visual C++ 6.0中開發(fā)C語言程序 10
1.5.2 使用Dev C++開發(fā)C語言程序 12
1.6 C語言程序舉例 14
本章小結(jié) 16
習(xí)題1 17
第2章 順序結(jié)構(gòu)程序設(shè)計 19
2.1 順序結(jié)構(gòu)程序舉例 19
2.2 數(shù)據(jù)的表現(xiàn)形式 21
2.2.1 常量和變量 21
2.2.2 C語言中的數(shù)據(jù)類型 22
2.2.3 整型數(shù)據(jù) 23
2.2.4 實(shí)型數(shù)據(jù) 25
2.2.5 字符型數(shù)據(jù) 26
2.2.6 枚舉類型數(shù)據(jù) 28
2.3 運(yùn)算符和表達(dá)式 28
2.3.1 C語言中的運(yùn)算符 28
2.3.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 29
2.3.3 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 31
2.3.4 邏輯運(yùn)算符和邏輯表達(dá)式 32
2.3.5 賦值運(yùn)算符和賦值表達(dá)式 34
2.4 C語言中的語句 35
2.4.1 C語言中的語句的分類及作用 35
2.4.2 賦值語句 36
2.5 數(shù)據(jù)的輸入/輸出 37
2.5.1 printf()函數(shù)輸出數(shù)據(jù) 37
2.5.2 scanf()函數(shù)輸入數(shù)據(jù) 39
2.5.3 字符的輸入/輸出 40
本章小結(jié) 41
習(xí)題2 42
第3章 選擇結(jié)構(gòu)程序設(shè)計 45
3.1 選擇結(jié)構(gòu)程序舉例 45
3.2 選擇結(jié)構(gòu)和條件判斷 47
3.3 if語句實(shí)現(xiàn)選擇結(jié)構(gòu) 48
3.3.1 if語句實(shí)現(xiàn)選擇結(jié)構(gòu)舉例 49
3.3.2 簡單的if語句結(jié)構(gòu) 51
3.3.3 if-else語句結(jié)構(gòu) 51
3.3.4 if-else-if語句結(jié)構(gòu) 52
3.4 選擇結(jié)構(gòu)的嵌套 54
3.4.1 if語句的3種應(yīng)用 54
3.4.2 if語句的嵌套 55
3.4.3 if語句嵌套的應(yīng)用 56
3.5 switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu) 57
3.5.1 switch語句的一般形式 58
3.5.2 switch語句的實(shí)際應(yīng)用 59
本章小結(jié) 62
習(xí)題3 62
第4章 循環(huán)結(jié)構(gòu)程序設(shè)計 65
4.1 循環(huán)結(jié)構(gòu)程序舉例 65
4.2 while語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu) 66
4.3 do-while語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu) 68
4.4 for語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu) 70
4.5 幾種循環(huán)結(jié)構(gòu)的比較 73
4.6 循環(huán)結(jié)構(gòu)的嵌套 73
4.7 改變循環(huán)執(zhí)行的狀態(tài) 74
4.7.1 break語句提前結(jié)束整個循環(huán) 74
4.7.2 continue語句提前結(jié)束本次循環(huán) 76
4.7.3 break語句和continue語句的區(qū)別 76
本章小結(jié) 77
習(xí)題4 78
第5章 數(shù)組 81
5.1 一維數(shù)組的定義、引用和初始化 81
5.1.1 一維數(shù)組的定義 81
5.1.2 一維數(shù)組的引用 82
5.1.3 一維數(shù)組的初始化 84
5.1.4 一維數(shù)組程序舉例 84
5.2 二維數(shù)組的定義、引用和初始化 88
5.2.1 二維數(shù)組的定義 88
5.2.2 二維數(shù)組的引用 89
5.2.3 二維數(shù)組的初始化 90
5.2.4 二維數(shù)組程序舉例 91
5.3 字符數(shù)組的定義、引用和初始化 93
5.3.1 字符數(shù)組的定義 93
5.3.2 字符數(shù)組的初始化 94
5.3.3 字符數(shù)組的引用 95
5.3.4 字符串處理函數(shù) 96
5.3.5 字符數(shù)組程序舉例 101
本章小結(jié) 102
習(xí)題5 103
第6章 函數(shù) 107
6.1 概述 107
6.2 函數(shù)的定義 108
6.2.1 無參函數(shù)的定義 108
6.2.2 有參函數(shù)的定義 109
6.2.3 空函數(shù)的定義 109
6.3 函數(shù)的參數(shù)和返回值 110
6.3.1 形參和實(shí)參 110
6.3.2 函數(shù)的返回值 111
6.4 函數(shù)的調(diào)用和聲明 114
6.4.1 調(diào)用函數(shù)的一般形式 114
6.4.2 調(diào)用函數(shù)的方式 115
6.4.3 函數(shù)的聲明 116
6.5 函數(shù)的嵌套調(diào)用 118
*6.6 函數(shù)的遞歸調(diào)用 120
*6.7 數(shù)組作為函數(shù)的參數(shù) 124
*6.8 函數(shù)中變量的作用域 127
6.8.1 局部變量 127
6.8.2 全局變量 128
本章小結(jié) 131
習(xí)題6 131
第7章 指針 134
7.1 變量的地址和指針 134
7.2 指針變量的定義和基類型 135
7.3 為指針變量賦值 137
7.3.1 為指針變量賦地址值 137
7.3.2 為指針變量賦其他值 139
7.4 對指針變量的操作 140
7.4.1 指針變量的賦值運(yùn)算 140
7.4.2 指針變量的算術(shù)運(yùn)算 142
7.4.3 指針變量的關(guān)系運(yùn)算 143
*7.5 函數(shù)之間地址值的傳遞 144
7.5.1 指針變量作為函數(shù)的參數(shù) 144
7.5.2 指針變量作為函數(shù)返回的地址值 146
本章小結(jié) 148
習(xí)題7 149
第8章 結(jié)構(gòu)體 152
8.1 結(jié)構(gòu)體類型 152
8.2 結(jié)構(gòu)體變量 153
8.2.1 結(jié)構(gòu)體變量的定義 153
8.2.2 結(jié)構(gòu)體變量的引用 155
8.2.3 結(jié)構(gòu)體變量的初始化 156
8.3 結(jié)構(gòu)體數(shù)組 157
8.3.1 結(jié)構(gòu)體數(shù)組的定義 157
8.3.2 結(jié)構(gòu)體數(shù)組的初始化 158
8.3.3 結(jié)構(gòu)體數(shù)組的應(yīng)用 159
本章小結(jié) 160
習(xí)題8 160
第9章 文件 163
9.1 文件的相關(guān)概念 163
9.1.1 文件的分類 163
9.1.2 文件指針變量 163
9.2 文件的打開與關(guān)閉 164
9.2.1 文件的打開 164
9.2.2 文件的關(guān)閉 164
9.3 文件的順序讀寫 165
9.3.1 fputc()函數(shù)和fgetc()函數(shù) 165
9.3.2 fgets()函數(shù)和fputs()函數(shù) 167
9.3.3 fprintf()函數(shù)和fscanf()函數(shù) 168
*9.4 文件的隨機(jī)讀寫 169
*9.5 文件操作的出錯檢測 171
本章小結(jié) 171
習(xí)題9 171
第10章 位運(yùn)算 173
10.1 位運(yùn)算符和位運(yùn)算 173
10.1.1 按位與運(yùn)算符 173
10.1.2 按位或運(yùn)算符 174
10.1.3 按位異或運(yùn)算符 175
10.1.4 取反運(yùn)算符 176
10.1.5 左移運(yùn)算符 177
10.1.6 右移運(yùn)算符 177
10.1.7 位運(yùn)算符與賦值運(yùn)算符組合 178
10.1.8 不同長度的數(shù)據(jù)進(jìn)行位運(yùn)算 178
10.2 位運(yùn)算程序舉例 178
10.3 位段 179
本章小結(jié) 182
習(xí)題10 182
實(shí)訓(xùn)1 順序結(jié)構(gòu)程序設(shè)計 184
實(shí)訓(xùn)2 選擇結(jié)構(gòu)程序設(shè)計 185
實(shí)訓(xùn)3 循環(huán)結(jié)構(gòu)程序設(shè)計 186
實(shí)訓(xùn)4 數(shù)組的應(yīng)用 190
實(shí)訓(xùn)5 函數(shù)的應(yīng)用 195
實(shí)訓(xùn)6 學(xué)生成績管理系統(tǒng) 198
附錄A ASCII碼表 213
附錄B 運(yùn)算符的優(yōu)先級與結(jié)合性 214
參考文獻(xiàn) 216