C語言是一門基礎性的程序設計語言,學習C語言有助于計算機專業(yè)的學生更好地學習其他程序設計語言。本書的主要內容包括:C語言程序設計基礎、順序結構程序設計、選擇結構程序設計、循環(huán)結構程序設計、數(shù)組、函數(shù)、指針、結構體、文件、位運算等內容。書中每章都提供了豐富的案例和精心挑選的課后練習題,重點章節(jié)還提供了相關實訓項目。本書體系結構完整,內容介紹深入淺出,注重理論與實踐相結合,每個案例都經過精心調試并配有源代碼和運行結果,方便讀者學習。 本書既可作為高等院!癈語言程序設計”課程的教材,又可作為廣大計算機程序設計人員和計算機程序設計愛好者的參考書,同時可供參加相關考試的讀者參考。
張仁忠,男,教授、博士生導師。中國系統(tǒng)仿真學會會員、中國自動化學會高級會員、曾任中國造船學會電子信息技術委員會委員、黑龍江省系統(tǒng)工程學會理事長。哈爾濱工程大學本科教學主講教師,研究生教學優(yōu)秀教師,并多次被評為研究生優(yōu)秀指導教師,主編、副主編、主審教材各一部;主持完成包括國防科工委基金、預研、型號,橫向聯(lián)合以及為地方服務等科研項目二十多項,累計項目經費二千多萬元,獲省部級科技進步獎二等獎一次、三等獎一次;發(fā)表文章五十多篇,其中核心期刊三十多篇、EI檢索九篇,F(xiàn)任廣東創(chuàng)新科技職業(yè)學院軟件技術專業(yè)帶頭人,學校教學指導委員會委員。
目 錄
第1章 C語言程序設計基礎 1
1.1 程序與程序設計語言 1
1.1.1 程序 1
1.1.2 程序設計語言 2
1.2 算法及其描述 3
1.2.1 算法的概念 3
1.2.2 算法的描述 4
1.2.3 常用算法舉例 6
1.3 C語言的發(fā)展及其特點 6
1.3.1 C語言的發(fā)展歷史 6
1.3.2 C語言的特點 7
1.4 C語言的基本結構 8
1.4.1 結構化程序設計 8
1.4.2 一個C語言程序的結構 8
1.5 C語言程序的開發(fā)環(huán)境 9
1.5.1 在Visual C++ 6.0平臺上開發(fā)C語言程序 9
1.5.2 使用Dev C++編譯系統(tǒng)開發(fā)C語言程序 12
1.6 C語言程序舉例 13
本章小結 15
習題一 16
第2章 順序結構程序設計 18
2.1 最簡單的C程序——順序結構程序舉例 18
2.2 數(shù)據(jù)的表現(xiàn)形式 19
2.2.1 常量和變量 19
2.2.2 C語言的數(shù)據(jù)類型 20
2.2.3 整型數(shù)據(jù) 20
2.2.4 實型數(shù)據(jù) 22
2.2.5 字符型數(shù)據(jù) 23
2.2.6 字符串型數(shù)據(jù) 24
2.3 運算符和表達式 24
2.3.1 C運算符 24
2.3.2 算術運算符和算術表達式 25
2.3.3 關系運算符和關系表達式 26
2.3.4 邏輯運算符和邏輯表達式 27
2.4 C語句 29
2.4.1 C語句的分類及作用 29
2.4.2 最基本的C語句——賦值語句 30
2.5 數(shù)據(jù)的輸入/輸出 31
2.5.1 printf函數(shù)輸出數(shù)據(jù) 31
2.5.2 scanf函數(shù)輸入數(shù)據(jù) 33
2.5.3 字符數(shù)據(jù)的輸入/輸出 34
本章小結 36
習題二 36
第3章 選擇結構程序設計 39
3.1 選擇結構程序舉例 39
3.2 選擇結構和條件判斷 41
3.3 if語句實現(xiàn)選擇結構 42
3.3.1 if語句實現(xiàn)選擇結構舉例 42
3.3.2 簡單的if語句結構 44
3.3.3 if-else語句結構 45
3.3.4 if-else-if語句結構 46
3.4 選擇結構的嵌套 48
3.4.1 if語句的3種應用與程序流程圖 48
3.4.2 嵌套if語句與程序流程圖 49
3.4.3 if語句的嵌套應用 50
3.5 switch語句實現(xiàn)多分支選擇結構 51
3.5.1 多分支結構的一般形式 52
3.5.2 多分支語句的實際應用 52
本章小結 55
習題三 55
第4章 循環(huán)結構程序設計 58
4.1 循環(huán)結構程序舉例 58
4.2 while語句實現(xiàn)循環(huán)結構 59
4.3 do-while語句實現(xiàn)循環(huán)結構 61
4.4 for語句實現(xiàn)循環(huán)結構 63
4.5 幾種循環(huán)結構的比較 65
4.6 循環(huán)結構的嵌套 65
4.7 改變循環(huán)執(zhí)行的狀態(tài) 66
4.7.1 break語句提前終止循環(huán) 66
4.7.2 continue語句提前結束本次循環(huán) 67
4.7.3 break語句和continue語句的區(qū)別 68
本章小結 69
習題四 69
第5章 數(shù)組 72
5.1 一維數(shù)組的定義和引用 72
5.1.1 一維數(shù)組的定義 72
5.1.2 一維數(shù)組的引用 73
5.1.3 一維數(shù)組的初始化 74
5.1.4 一維數(shù)組程序舉例 75
5.2 二維數(shù)組的定義和引用 78
5.2.1 二維數(shù)組的定義 78
5.2.2 二維數(shù)組的引用 79
5.2.3 二維數(shù)組的初始化 80
5.2.4 二維數(shù)組程序舉例 81
5.3 字符數(shù)組 83
5.3.1 字符數(shù)組的定義 83
5.3.2 字符數(shù)組的初始化 83
5.3.3 字符數(shù)組的引用 84
5.3.4 字符串處理函數(shù) 86
5.3.5 字符數(shù)組程序舉例 90
本章小結 91
習題五 92
第6章 函數(shù) 96
6.1 概述 96
6.2 函數(shù)的定義 97
6.2.1 無參函數(shù)的定義 97
6.2.2 有參函數(shù)的定義 97
6.2.3 空函數(shù)的定義 98
6.3 函數(shù)的參數(shù)和函數(shù)的返回值 98
6.3.1 形式參數(shù)和實際參數(shù) 98
6.3.2 函數(shù)的返回值 100
6.4 函數(shù)的調用 102
6.4.1 函數(shù)調用的一般形式 102
6.4.2 函數(shù)調用的方式 103
6.4.3 函數(shù)的聲明 104
6.5 函數(shù)的嵌套調用 106
6.6 函數(shù)的遞歸調用 108
6.7 數(shù)組作為函數(shù)的參數(shù) 112
6.8 函數(shù)中變量的作用域 115
6.8.1 局部變量 115
6.8.2 全局變量 116
本章小結 118
習題六 118
第7章 指針 121
7.1 變量的地址和指針 121
7.2 指針變量的定義和指針變量的基類型 122
7.3 為指針變量賦值 124
7.3.1 為指針變量賦地址值 124
7.3.2 為指針變量賦其他值 126
7.4 對指針變量的操作 127
7.4.1 指針的賦值運算 127
7.4.2 指針的算術運算 129
7.4.3 指針的關系運算 129
7.5 函數(shù)之間地址值的傳遞 131
7.5.1 指針作為函數(shù)參數(shù) 131
7.5.2 函數(shù)返回地址值 132
本章小結 134
習題七 134
第8章 結構體 138
8.1 結構體類型的定義 138
8.2 結構體變量 140
8.2.1 結構體變量的定義 140
8.2.2 結構體變量的引用 142
8.2.3 結構體變量的初始化 143
8.3 結構體數(shù)組 143
8.3.1 定義結構體數(shù)組 143
8.3.2 結構體數(shù)組初始化 144
8.3.2 結構體數(shù)組應用舉例 145
本章小結 146
習題八 146
第9章 文件 149
9.1 文件的相關概念 149
9.1.1 文件的分類 149
9.1.2 文件指針 149
9.2 文件的打開與關閉 150
9.2.1 文件打開函數(shù) 150
9.2.2 文件的關閉 150
9.3 文件的順序讀寫 151
9.3.1 fputc函數(shù)和fgetc函數(shù) 151
9.3.2 fputs函數(shù)和fgets函數(shù) 153
9.3.3 fprintf函數(shù)和fscanf函數(shù) 153
9.4 文件的隨機讀寫 155
9.5 文件操作的出錯檢測 156
本章小結 157
習題九 157
*第10章 位運算 159
10.1 位運算符和位運算 159
10.1.1 按位與運算符(&) 159
10.1.2 按位或運算符(|) 160
10.1.3 異或運算符(^) 161
10.1.4 取反運算符(~) 162
10.1.5 左移運算符(<<) 163
10.1.6 右移運算符(>>) 163
10.1.7 位運算符與賦值運算符組合 164
10.1.8 不同長度的數(shù)據(jù)進行位運算 164
10.2 位運算程序舉例 164
10.3 位段 165
本章小結 168
習題十 168
實訓一 順序結構程序設計 170
實訓二 選擇結構程序設計 171
實訓三 循環(huán)結構程序設計 172
實訓四 數(shù)組的應用 176
實訓五 函數(shù)的應用 181
實訓六 學生成績管理系統(tǒng) 184
附錄A ASCII碼表 199
附錄B 運算符與結合性 200
參考文獻 202