《C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)/高等學(xué)校應(yīng)用型特色規(guī)劃教材》作為C語言程序設(shè)計(jì)的入門實(shí)驗(yàn)教材,共分8組實(shí)驗(yàn),主要涵蓋順序結(jié)構(gòu)程序設(shè)計(jì)、選擇結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、利用數(shù)組處理批量數(shù)據(jù)、字符串處理、用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì)、善于利用指針和用戶建立數(shù)據(jù)類型等知識(shí)點(diǎn)內(nèi)容。每組實(shí)驗(yàn)包含實(shí)驗(yàn)?zāi)康摹⒒A(chǔ)知識(shí)、基礎(chǔ)實(shí)驗(yàn)內(nèi)容題目和實(shí)驗(yàn)拓展題目。基礎(chǔ)實(shí)驗(yàn)內(nèi)容題目只需讀者掌握實(shí)驗(yàn)的基礎(chǔ)知識(shí)即可完成,實(shí)驗(yàn)拓展題目需要綜合所學(xué)的內(nèi)容并加以拓展延伸才能完成。為了提高讀者的編程水平,本書還設(shè)有4個(gè)綜合性練習(xí),綜合練習(xí)題目由易至難,力求盡量用通俗易懂的程序示例和語言敘述C語言中的主要知識(shí)點(diǎn),幫助讀者建立程序設(shè)計(jì)的思維方式、編程和程序調(diào)試技巧。實(shí)驗(yàn)題目和綜合練習(xí)題目中都包含涉及的算法內(nèi)容、解題思路和部分代碼段,以便讀者理解及編寫程序。教材最后設(shè)有四套模擬考試題目,以便讀者檢驗(yàn)所學(xué)知識(shí)。
C語言是一種通用的、過程式的編程語言,已成為目前軟件開發(fā)者們使用最多的一種計(jì)算機(jī)語言。本書是針對(duì)C語言的學(xué)習(xí)而編寫的實(shí)驗(yàn)教材用書,是結(jié)合本科院校非計(jì)算機(jī)專業(yè)學(xué)生目前的實(shí)際情況而精心編寫的,與張麗萍、孟繁軍等編著的《C語言程序設(shè)計(jì)基礎(chǔ)教程》(清華大學(xué)出版社,2014年出版)配套的參考書。
本書在編寫過程中,從基礎(chǔ)知識(shí)著手,循序漸進(jìn),力求盡量用通俗易懂的程序示例和語言敘述C語言中的主要知識(shí)點(diǎn),幫助初學(xué)者們建立程序設(shè)計(jì)的思維方式、程序編寫和程序調(diào)試技巧。本指導(dǎo)手冊(cè)共包含8組實(shí)驗(yàn)和4個(gè)綜合練習(xí),對(duì)應(yīng)《C語言程序設(shè)計(jì)基礎(chǔ)教程》相應(yīng)章節(jié)的內(nèi)容。每組實(shí)驗(yàn)均明確實(shí)驗(yàn)?zāi)康摹⒒A(chǔ)知識(shí)、實(shí)驗(yàn)基本內(nèi)容及實(shí)驗(yàn)拓展,能幫助讀者有效地掌握C語言程序設(shè)計(jì)的核心內(nèi)容。并通過綜合練習(xí)模塊的內(nèi)容為學(xué)習(xí)者提供練習(xí)機(jī)會(huì),該部分不屬于實(shí)驗(yàn)課程中必做編程題目,其中含一些競賽題目,可為有意參加國際大學(xué)生程序設(shè)計(jì)競賽(ACM)或?qū)幊谈信d趣的讀者提供參考。書中所有實(shí)驗(yàn)題目和綜合練習(xí)題目均有詳細(xì)的解題思路的解釋及代碼。并提供了模擬考試在線測評(píng)系統(tǒng)(http://118.230.58.253/JudgeOnline)來考查讀者的掌握程度。本書附贈(zèng)的電子課件包含所有實(shí)驗(yàn)、綜合練習(xí)題目的完整代碼,望給大家?guī)硪恍┚幊躺系奶崾尽H缃處熜枰蓄}目的測試數(shù)據(jù),完整代碼,可以與我們聯(lián)系(cntclmg@imnu.edu.cn)。
本書由王海龍、蘇貴斌、澈力木格、孟繁軍編寫,所有編者均是多年專門從事C語言教學(xué)、具有豐富教學(xué)經(jīng)驗(yàn)的教師。參加編寫和審校工作的還有白喜文、李聯(lián)合、默原等。
由于編者水平有限,不足與疏漏之處在所難免,敬請(qǐng)讀者批評(píng)指正。
編 者
第1章 順序結(jié)構(gòu)程序設(shè)計(jì) 1
1.1 實(shí)驗(yàn)?zāi)康?1
1.2 基礎(chǔ)知識(shí) 1
1.2.1 最簡單的C程序 1
1.2.2 轉(zhuǎn)義字符及其作用 2
1.2.3 定義變量 2
1.2.4 輸入語句scanf 3
1.2.5 整型 4
1.2.6 浮點(diǎn)型 4
1.2.7 字符型 4
1.2.8 輸入輸出格式控制 5
1.3 基本實(shí)驗(yàn)內(nèi)容 6
問題A:原樣輸出 6
問題B:復(fù)數(shù)相加 7
問題C:浮點(diǎn)數(shù)相加 8
問題D:輸出ASCII碼值 9
問題E:十進(jìn)制轉(zhuǎn)換為十六進(jìn)制 10
問題F:八進(jìn)制轉(zhuǎn)換為十進(jìn)制 11
1.4 實(shí)驗(yàn)拓展 11
問題G:溫度轉(zhuǎn)換 11
問題H:求平均數(shù) 12
問題I:計(jì)算體積 13
問題J:小寫字母轉(zhuǎn)換為大寫字母 14
第2章 選擇結(jié)構(gòu)程序設(shè)計(jì) 16
2.1 實(shí)驗(yàn)?zāi)康?16
2.2 基礎(chǔ)知識(shí) 16
2.2.1 if語句 16
2.2.2 關(guān)系表達(dá)式和邏輯表達(dá)式 17
2.2.3 switch語句 18
2.3 基本實(shí)驗(yàn)內(nèi)容 19
問題A:判斷負(fù)數(shù) 19
問題B:求絕對(duì)值 20
問題C:比較兩個(gè)整數(shù)的大小 21
問題D:判斷閏年 22
問題E:成績轉(zhuǎn)換(一) 23
2.4 實(shí)驗(yàn)拓展 24
問題F:判斷能否組成三角形 24
問題G:求一元二次方程的根 25
問題H:ASCII碼排序 27
問題I:成績轉(zhuǎn)換(二) 29
問題J:簡單計(jì)算器 30
第3章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 32
3.1 實(shí)驗(yàn)?zāi)康?32
3.2 基礎(chǔ)知識(shí) 32
3.3.1 while語句 32
3.2.2 do…while語句 32
3.2.3 for語句 33
3.3 基本實(shí)驗(yàn)內(nèi)容 33
問題A:簡單數(shù)字打印 33
問題B:求和 34
問題C:計(jì)算n! 35
問題D:求立方和 36
3.4 實(shí)驗(yàn)拓展 37
問題E:整數(shù)的個(gè)數(shù) 37
問題F:水仙花數(shù) 38
問題G:判斷素?cái)?shù) 40
問題H:數(shù)據(jù)簡單處理 42
問題I:猴子吃桃 43
問題J:斐波那契數(shù)列 44
第4章 綜合練習(xí)題目(一) 46
問題A:平方和與立方和 46
問題B:最大公約數(shù) 47
問題C:最小公倍數(shù) 48
問題D:求素?cái)?shù) 50
問題E:倒序輸出 51
問題F:輸出菱形 52
問題G:制作數(shù)字三角形 54
問題H:計(jì)算器 56
問題I:收入統(tǒng)計(jì) 57
問題J:九九乘法表 58
第5章 利用數(shù)組處理批量數(shù)據(jù) 60
5.1 實(shí)驗(yàn)?zāi)康?60
5.2 基礎(chǔ)知識(shí) 60
5.2.1 數(shù)組定義 60
5.2.2 選擇排序 60
5.2.3 冒泡排序 61
5.2.4 二維數(shù)組 62
5.3 基本實(shí)驗(yàn)內(nèi)容 62
問題A:逆序輸出 62
問題B:數(shù)值排序 63
問題C:矩陣輸入輸出 65
5.4 實(shí)驗(yàn)拓展 66
問題D:陶陶摘蘋果 66
問題E:評(píng)委會(huì)打分 67
問題F:母牛的故事 68
問題G:又是斐波那契數(shù)列 70
問題H:十進(jìn)制轉(zhuǎn)換為六進(jìn)制 71
問題I:矩陣加法 72
問題J:矩陣乘法 73
第6章 字符串處理 76
6.1 實(shí)驗(yàn)?zāi)康?76
6.2 基礎(chǔ)知識(shí) 76
6.2.1 定義字符數(shù)組 76
6.2.2 字符串輸入輸出 77
6.2.3 字符串函數(shù) 77
6.3 基本實(shí)驗(yàn)內(nèi)容 78
問題A:打印數(shù)字字符串 78
問題B:求字符串長度 79
問題C:字符串連接 80
問題D:字符串復(fù)制 81
問題E:字符串比較 83
問題F:大寫換小寫 84
問題G:小寫換大寫 85
6.4 實(shí)驗(yàn)拓展 85
問題H:字符串統(tǒng)計(jì) 85
問題I:統(tǒng)計(jì)大寫字母 86
問題J:大小寫改寫 87
第7章 綜合練習(xí)題目(二) 89
問題A:至少要幾個(gè)數(shù),才超過100 89
問題B:絕對(duì)值排序 90
問題C:矩陣轉(zhuǎn)置 92
問題D:楊輝三角 93
問題E:圖片旋轉(zhuǎn) 95
問題F:字符串的價(jià)值 98
問題G:字符分類統(tǒng)計(jì) 99
問題H:特定字符出現(xiàn)次數(shù) 100
問題I:駕校考試 101
問題J:首字母大寫 102
第8章 用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì) 104
8.1 實(shí)驗(yàn)?zāi)康?104
8.2 基礎(chǔ)知識(shí) 104
8.2.1 函數(shù)的基本知識(shí) 104
8.2.2 函數(shù)的定義 105
8.2.3 函數(shù)的調(diào)用 106
8.2.4 函數(shù)之間的調(diào)用 106
8.3 基本實(shí)驗(yàn)內(nèi)容 107
問題A:原樣輸入輸出 107
問題B:求大值 108
問題C:四個(gè)數(shù)中求最大值 110
問題D:他的年齡是多少 111
8.4 實(shí)驗(yàn)拓展 112
問題E:兔子繁殖 112
問題F:求平均成績 114
第9章 善于利用指針 116
9.1 實(shí)驗(yàn)?zāi)康?116
9.2 基礎(chǔ)知識(shí) 116
9.2.1 指針定義 116
9.2.2 引用指針變量 117
9.2.3 運(yùn)算符&和* 117
9.2.4 指針指向數(shù)組時(shí)的運(yùn)算 118
9.3 基本實(shí)驗(yàn)內(nèi)容 119
問題A:三個(gè)數(shù)值排序 119
問題B:兩個(gè)數(shù)值排序 120
問題C:指定位置輸出 122
問題D:數(shù)值排序 123
9.4 實(shí)驗(yàn)拓展 124
問題E:輸出二維數(shù)組指定位置 124
問題F:字符串排序 125
第10章 用戶建立數(shù)據(jù)類型 128
10.1 實(shí)驗(yàn)?zāi)康?128
10.2 基礎(chǔ)知識(shí) 128
10.2.1 定義結(jié)構(gòu)體 128
10.2.2 定義結(jié)構(gòu)體類型變量 130
10.2.3 結(jié)構(gòu)體變量的初始化和引用 130
10.2.4 定義結(jié)構(gòu)體數(shù)組的一般形式 131
10.3 基本實(shí)驗(yàn)內(nèi)容 131
問題A:成績比較 131
問題B:成績排序 132
問題C:輸出信息 134
10.4 實(shí)驗(yàn)拓展 135
問題D:求排名 135
問題E:年齡為多大 136
問題F:小白鼠排隊(duì) 138
第11章 綜合練習(xí)題目(三) 140
問題A:Hanoi塔問題 140
問題B:判斷數(shù)獨(dú) 142
問題C:油田合并 147
問題D:獎(jiǎng)學(xué)金 149
問題E:復(fù)數(shù)計(jì)算 151
問題F:約瑟夫問題 154
問題G:移動(dòng)小球 156
問題H:線性表操作 159
問題I:消除星星 162
問題J:青蛙的約會(huì) 164
第12章 綜合練習(xí)題目(四) 169
問題A:汽水瓶 169
問題B:尋找X 170
問題C:等差數(shù)列求值 171
問題D:牛羊馬的問題 172
問題E:怪阿數(shù)S 174
問題F:整數(shù)數(shù)列求和 175
問題G:輸出字母圖形 176
問題H:LED顯示器 177
問題I:數(shù)根 181
問題J:福彩玩法 182
問題K:裝箱子 185
問題L:十進(jìn)制轉(zhuǎn)換為R進(jìn)制 187
問題M:R進(jìn)制轉(zhuǎn)換為十進(jìn)制 188
問題N:今天,你AC了嗎 189
問題O:回文單詞 191
問題P:消掉ACM 192
問題Q:最大整數(shù) 194
問題R:螺旋方陣 195
問題S:找鞍點(diǎn) 197
問題T:掃雷游戲 199
模擬考題(一) 203
題目A:求特定數(shù)值和(10分) 203
題目B:與7有關(guān)的數(shù)(10分) 203
題目C:三角形面積(10分) 204
題目D:英文輸出(10分) 204
題目E:第幾天(20分) 205
題目F:單詞統(tǒng)計(jì)(20分) 206
題目G:圓(20分) 206
模擬考題(二) 208
問題A:求奇數(shù)和(10分) 208
問題B:求出生年月日(10分) 208
題目C:簡單計(jì)算(10分) 209
題目D:判斷完數(shù)(10分) 209
題目E:矩陣最大值(20分) 210
題目F:走樓梯(20分) 211
題目G:計(jì)算兩點(diǎn)間的
距離(20分) 211
模擬考題(三) 213
問題A:小樹成長(10分) 213
問題B:成績計(jì)算(10分) 214
題目C:數(shù)羊(10分) 215
題目D:數(shù)字的個(gè)數(shù)(10分) 216
問題E:密碼問題(20分) 216
題目F:IP地址(20分) 217
題目G:加法運(yùn)算(10分) 218
題目H:有序數(shù)據(jù)(10分) 219
模擬考題(四) 220
題目A:還是A+B(10分) 220
題目B:平行四邊形(10分) 220
題目C:求子串(10分) 221
題目D:賣西瓜(10分) 222
題目E:條件輸出(10分) 223
題目F:通訊錄(20分) 223
題目G:斗地主(20分) 224
題目H:求和(10分) 225
附錄 在線測評(píng)系統(tǒng)使用指南 226
參考文獻(xiàn) 230