內容簡介
本書作為C語言程序設計的入門實驗教材,共分8組實驗,主要涵蓋順序結構程序設計、選擇結構程序設計、循環結構程序設計、利用數組處理批量數據、字符串處理、用函數實現模塊化程序設計、善于利用指針和用戶建立數據類型等知識點內容。每組實驗包含實驗目的、基礎知識、基礎實驗內容題目和實驗拓展題目。基礎實驗內容題目只需讀者掌握實驗的基礎知識即可完成,實驗拓展題目需要綜合所學的內容并加以拓展延伸才能完成。為了提高讀者的編程水平,本書還設有4個綜合性練習,綜合練習題目由易至難,力求盡量用通俗易懂的程序示例和語言敘述C語言中的主要知識點,幫助讀者建立程序設計的思維方式、編程和程序調試技巧。實驗題目和綜合練習題目中都包含涉及的算法內容、解題思路和部分代碼段,以便讀者理解及編寫程序。教材最后設有四套模擬考試題目,以便讀者檢驗所學知識。
本書易教易學,深入淺出地描述C語言的精髓,通過例題鞏固基本知識,通過拓展題目提高解題能力。本書適合作為普通高等院校應用型本科(含部分專科、高職類)各相關專業的C語言程序設計實驗用教材,也可作為參加大學生程序設計競賽及自學C語言輔導教材使用。前 言C語言是一種通用的、過程式的編程語言,已成為目前軟件開發者們使用最多的一種計算機語言。本書是針對C語言的學習而編寫的實驗教材用書,是結合本科院校非計算機專業學生目前的實際情況而精心編寫的,與張麗萍、孟繁軍等編著的《C語言程序設計基礎教程》(清華大學出版社,2014年出版)配套的參考書。本書在編寫過程中,從基礎知識著手,循序漸進,力求盡量用通俗易懂的程序示例和語言敘述C語言中的主要知識點,幫助初學者們建立程序設計的思維方式、程序編寫和程序調試技巧。本指導手冊共包含8組實驗和4個綜合練習,對應《C語言程序設計基礎教程》相應章節的內容。每組實驗均明確實驗目的、基礎知識、實驗基本內容及實驗拓展,能幫助讀者有效地掌握C語言程序設計的核心內容。并通過綜合練習模塊的內容為學習者提供練習機會,該部分不屬于實驗課程中必做編程題目,其中含一些競賽題目,可為有意參加國際大學生程序設計競賽(ACM)或對編程感興趣的讀者提供參考。書中所有實驗題目和綜合練習題目均有詳細的解題思路的解釋及代碼。并提供了模擬考試在線測評系統(http://118.230.58.253/JudgeOnline)來考查讀者的掌握程度。本書附贈的電子課件包含所有實驗、綜合練習題目的完整代碼,望給大家帶來一些編程上的提示。如教師需要所有題目的測試數據,完整代碼,可以與我們聯系(cntclmg@imnu.edu.cn)。本書由王海龍、蘇貴斌、澈力木格、孟繁軍編寫,所有編者均是多年專門從事C語言教學、具有豐富教學經驗的教師。參加編寫和審校工作的還有白喜文、李聯合、默原等。由于編者水平有限,不足與疏漏之處在所難免,敬請讀者批評指正。目 錄第1章 順序結構程序設計 11.1 實驗目的 11.2 基礎知識 11.2.1 最簡單的C程序 11.2.2 轉義字符及其作用 21.2.3 定義變量 21.2.4 輸入語句scanf 31.2.5 整型 41.2.6 浮點型 41.2.7 字符型 41.2.8 輸入輸出格式控制 51.3 基本實驗內容 6問題A:原樣輸出 6問題B:復數相加 7問題C:浮點數相加 8問題D:輸出ASCII碼值 9問題E:十進制轉換為十六進制 10問題F:八進制轉換為十進制 111.4 實驗拓展 11問題G:溫度轉換 11問題H:求平均數 12問題I:計算體積 13問題J:小寫字母轉換為大寫字母 14第2章 選擇結構程序設計 162.1 實驗目的 162.2 基礎知識 162.2.1 if語句 162.2.2 關系表達式和邏輯表達式 172.2.3 switch語句 182.3 基本實驗內容 19問題A:判斷負數 19問題B:求絕對值 20問題C:比較兩個整數的大小 21問題D:判斷閏年 22問題E:成績轉換(一) 232.4 實驗拓展 24問題F:判斷能否組成三角形 24問題G:求一元二次方程的根 25問題H:ASCII碼排序 27問題I:成績轉換(二) 29問題J:簡單計算器 30第3章 循環結構程序設計 323.1 實驗目的 323.2 基礎知識 323.3.1 while語句 323.2.2 do…while語句 323.2.3 for語句 333.3 基本實驗內容 33問題A:簡單數字打印 33問題B:求和 34問題C:計算n! 35問題D:求立方和 363.4 實驗拓展 37問題E:整數的個數 37問題F:水仙花數 38問題G:判斷素數 40問題H:數據簡單處理 42問題I:猴子吃桃 43問題J:斐波那契數列 44第4章 綜合練習題目(一) 46問題A:平方和與立方和 46問題B:最大公約數 47問題C:最小公倍數 48問題D:求素數 50問題E:倒序輸出 51問題F:輸出菱形 52問題G:制作數字三角形 54問題H:計算器 56問題I:收入統計 57問題J:九九乘法表 58第5章 利用數組處理批量數據 605.1 實驗目的 605.2 基礎知識 605.2.1 數組定義 605.2.2 選擇排序 605.2.3 冒泡排序 615.2.4 二維數組 625.3 基本實驗內容 62問題A:逆序輸出 62問題B:數值排序 63問題C:矩陣輸入輸出 655.4 實驗拓展 66問題D:陶陶摘蘋果 66問題E:評委會打分 67問題F:母牛的故事 68問題G:又是斐波那契數列 70問題H:十進制轉換為六進制 71問題I:矩陣加法 72問題J:矩陣乘法 73第6章 字符串處理 766.1 實驗目的 766.2 基礎知識 766.2.1 定義字符數組 766.2.2 字符串輸入輸出 776.2.3 字符串函數 776.3 基本實驗內容 78問題A:打印數字字符串 78問題B:求字符串長度 79問題C:字符串連接 80問題D:字符串復制 81問題E:字符串比較 83問題F:大寫換小寫 84問題G:小寫換大寫 856.4 實驗拓展 85問題H:字符串統計 85問題I:統計大寫字母 86問題J:大小寫改寫 87第7章 綜合練習題目(二) 89問題A:至少要幾個數,才超過100 89問題B:絕對值排序 90問題C:矩陣轉置 92問題D:楊輝三角 93問題E:圖片旋轉 95問題F:字符串的價值 98問題G:字符分類統計 99問題H:特定字符出現次數 100問題I:駕校考試 101問題J:首字母大寫 102第8章 用函數實現模塊化程序設計 1048.1 實驗目的 1048.2 基礎知識 1048.2.1 函數的基本知識 1048.2.2 函數的定義 1058.2.3 函數的調用 1068.2.4 函數之間的調用 1068.3 基本實驗內容 107問題A:原樣輸入輸出 107問題B:求大值 108問題C:四個數中求最大值 110問題D:他的年齡是多少 1118.4 實驗拓展 112問題E:兔子繁殖 112問題F:求平均成績 114第9章 善于利用指針 1169.1 實驗目的 1169.2 基礎知識 1169.2.1 指針定義 1169.2.2 引用指針變量 1179.2.3 運算符&和* 1179.2.4 指針指向數組時的運算 1189.3 基本實驗內容 119問題A:三個數值排序 119問題B:兩個數值排序 120問題C:指定位置輸出 122問題D:數值排序 1239.4 實驗拓展 124問題E:輸出二維數組指定位置 124問題F:字符串排序 125第10章 用戶建立數據類型 12810.1 實驗目的 12810.2 基礎知識 12810.2.1 定義結構體 12810.2.2 定義結構體類型變量 13010.2.3 結構體變量的初始化和引用 13010.2.4 定義結構體數組的一般形式 13110.3 基本實驗內容 131問題A:成績比較 131問題B:成績排序 132問題C:輸出信息 13410.4 實驗拓展 135問題D:求排名 135問題E:年齡為多大 136問題F:小白鼠排隊 138第11章 綜合練習題目(三) 140問題A:Hanoi塔問題 140問題B:判斷數獨 142問題C:油田合并 147問題D:獎學金 149問題E:復數計算 151問題F:約瑟夫問題 154問題G:移動小球 156問題H:線性表操作 159問題I:消除星星 162問題J:青蛙的約會 164第12章 綜合練習題目(四) 169問題A:汽水瓶 169問題B:尋找X 170問題C:等差數列求值 171問題D:牛羊馬的問題 172問題E:怪阿數S 174問題F:整數數列求和 175問題G:輸出字母圖形 176問題H:LED顯示器 177問題I:數根 181問題J:福彩玩法 182問題K:裝箱子 185問題L:十進制轉換為R進制 187問題M:R進制轉換為十進制 188問題N:今天,你AC了嗎 189問題O:回文單詞 191問題P:消掉ACM 192問題Q:最大整數 194問題R:螺旋方陣 195問題S:找鞍點 197問題T:掃雷游戲 199模擬考題(一) 203題目A:求特定數值和(10分) 203題目B:與7有關的數(10分) 203題目C:三角形面積(10分) 204題目D:英文輸出(10分) 204題目E:第幾天(20分) 205題目F:單詞統計(20分) 206題目G:圓(20分) 206模擬考題(二) 208問題A:求奇數和(10分) 208問題B:求出生年月日(10分) 208題目C:簡單計算(10分) 209題目D:判斷完數(10分) 209題目E:矩陣最大值(20分) 210題目F:走樓梯(20分) 211題目G:計算兩點間的距離(20分) 211模擬考題(三) 213問題A:小樹成長(10分) 213問題B:成績計算(10分) 214題目C:數羊(10分) 215題目D:數字的個數(10分) 216問題E:密碼問題(20分) 216題目F:IP地址(20分) 217題目G:加法運算(10分) 218題目H:有序數據(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附錄 在線測評系統使用指南 226參考文獻 230