本書是與教材《C語言程序設計(第三版)》相配套的學習指導與實驗用書,內容主要包括C語言程序設計學習指導和C語言程序設計實驗教程兩部分。在學習指導部分,介紹了C語言各章知識的要點和難點,選擇了一些典型例題進行分析,選編了許多練習題。這些習題題型豐富、覆蓋面廣,包括選擇題、填空題、閱讀程序寫結果題、編寫程序題,并且每道題基本上都給出了參考答案。通過這些練習題,可以訓練讀者理解和掌握C語言的基本概念與基本語句,編寫程序、學習編程的方法和技巧。在實驗教程部分,介紹了C語言開發工具C-Free的使用方法;介紹了11個實驗內容,為讀者在計算機上進行程序的編輯、調試和運行進行詳細的指導。對于每個實驗,列出了實驗目的、實驗知識內容提要、實驗的具體內容以及實驗完成后的思考問題。通過這些實驗,提高讀者的實際動手能力。
本書條理清楚、語言流暢、通俗易懂,實用性強,既可以作為高等院校應用型本科專業學生的教材,也可以供自學者以及參加C語言計算機等級考試者閱讀使用。
C語言是廣泛使用的一種計算機語言,由于它具有功能豐富、靈活性強、可移植性好、語言簡潔、應用面廣等特性,所以深受廣大用戶的喜愛。
初學C語言的人,可能感覺學起來比較吃力,具體表現為:不知該如何理解C語言的概念,如何正確使用C語言的語句和語法,如何設計編寫程序,如何綜合運用C語言知識處理實際問題。有鑒于此,為了幫助讀者學好C語言,順利通過各級各類相關考試,并能熟練將其運用于實際工作,我們組織長期從事C語言教學工作的教師,編寫了這本《C語言程序設計學習指導與實驗教程(第三版)》。
本書分為兩方面內容,一方面是為讀者提供C語言的學習指導,另一方面是C語言的實驗教程。在學習指導部分,對C語言各章知識的要點和難點進行了整理歸納和深入分析,以使讀者明確各章應該著重掌握的知識和深入理解的問題。在學習指導部分,選擇了一些典型例題進行分析,以使讀者理解各章知識,學會靈活運用各章知識。在學習指導部分,選編了相應練習題,每道題基本上都給出了參考答案。這些練習題既可以訓練讀者去理解和掌握C語言的基本概念與基本語句,又可以訓練讀者編寫程序、學習編程的方法和技巧。對于每一道編寫程序題,本書只給出了一種參考答案,因為每個問題一般都有多種編程方法,所以讀者不要受參考答案的限制。在實驗教程部分,介紹了C語言開發軟件系統C-Free的使用方法;根據C語言的教學內容,本書設計了11個上機練習實驗,為讀者在計算機上進行程序的編輯、運行和調試進行詳細的指導。在實驗教程部分,對于每個實驗,本書均列出了該實驗要達到的目的、該實驗所涉及的C語言知識要點、該實驗要做的具體內容以及實驗完成后的思考問題。認真完成這些實驗,能夠極大地提高讀者的編程能力。
除主編和副主編外,參加本書編寫工作的還有王廣偉、樂天、江有福、葉其宏、李鑫、朱本浩、畢振波、鄭蕓、宋廣軍、張威、吳遠紅、侯志凌、顧沈明、高禹、崔振東、黃海峰、管林挺等。
由于編者水平有限,書中難免存在錯誤與不足之處,誠懇歡迎讀者批評指正。
編者
2015年12月
第1篇 C語言程序設計學習指導
第1章 C語言概述 1
1.1 本章要點 1
1.1.1 C語言的特點 1
1.1.2 C語言程序的結構 1
1.1.3 C語言源程序的編輯、編譯、連接和運行 1
1.2 習題 2
1.3 習題參考答案 2
第2章 數據類型、運算符和表達式 3
2.1 本章要點 3
2.1.1 C語言的數據類型 3
2.1.2 標識符 3
2.1.3 常量 3
2.1.4 變量 4
2.1.5 數據類型的轉換 4
2.1.6 C語言運算符的優先級和結合性 5
2.1.7 算術運算符和算術表達式 6
2.1.8 自增運算符和自減運算符 6
2.1.9 賦值運算符和賦值表達式 6
2.1.10 復合賦值運算符 6
2.1.11 逗號運算符 6
2.2 本章難點 6
2.2.1 運算符的優先級 6
2.2.2 運算符的結合性 7
2.2.3 復合賦值運算 7
2.2.4 賦值類型轉換 7
2.3 例題分析 8
2.4 習題 9
2.4.1 單項選擇題 9
2.4.2 填空題 12
2.4.3 閱讀程序寫結果題 13
2.4.4 編寫程序題 15
2.5 習題參考答案 15
2.5.1 單項選擇題答案 15
2.5.2 填空題答案 15
2.5.3 閱讀程序寫結果題答案 16
2.5.4 編寫程序題參考答案 16
第3章 程序設計初步 17
3.1 本章要點 17
3.1.1 格式輸入函數scanf() 17
3.1.2 格式輸出函數printf() 18
3.1.3 單字符輸入函數getchar() 18
3.1.4 單字符輸出函數putchar() 18
3.1.5 賦值語句 19
3.1.6 復合語句和空語句 19
3.1.7 順序結構 19
3.2 本章難點 20
3.2.1 printf()函數中的格式字符、附加格式符和轉義符 20
3.2.2 scanf()函數中的格式字符和附加格式符 20
3.3 例題分析 21
3.4 習題 22
3.4.1 單項選擇題 22
3.4.2 填空題 24
3.4.3 閱讀程序寫結果題 26
3.4.4 編寫程序題 26
3.5 習題參考答案 27
3.5.1 單項選擇題答案 27
3.5.2 填空題答案 27
3.5.3 閱讀程序寫結果題答案 28
3.5.4 編寫程序題參考答案 28
第4章 選擇結構程序的設計 31
4.1 本章要點 31
4.1.1 關系運算符與關系表達式 31
4.1.2 邏輯運算符與邏輯表達式 31
4.1.3 二分支選擇結構——if語句 32
4.1.4 條件運算符和條件表達式 33
4.1.5 多分支選擇結構——switch語句 34
4.2 本章難點 34
4.2.1 if語句的嵌套 34
4.2.2 條件表達式的使用 35
4.2.3 switch語句和break語句的使用 35
4.3 例題分析 36
4.4 習題 38
4.4.1 單項選擇題 38
4.4.2 填空題 41
4.4.3 閱讀程序寫結果題 42
4.4.4 編寫程序題 44
4.5 習題參考答案 44
4.5.1 單項選擇題答案 44
4.5.2 填空題答案 45
4.5.3 閱讀程序寫結果題答案 45
4.5.4 編寫程序題參考答案 45
第5章 循環結構程序的設計 48
第6章 數組 72
第7章 函數 95
第8章 預處理命令 113
第9章 指針 124
第10章 結構體與其他數據類型 150
第11章 位運算 179
第12章 文件 188
第2篇 C語言程序設計實驗教程
實驗一 熟悉C-Free的運行環境和開發C程序的步驟 208
實驗二 數據類型、運算符、表達式 215
實驗三 簡單C程序設計 219
實驗四 選擇結構程序設計 222
實驗五 循環結構程序設計 226
實驗六 數組的應用(一) ——數值數據的數組 229
實驗七 數組的應用(二)——字符數據的數組 232
實驗八 函數 235
實驗九 指針 238
實驗十 結構體與共用體 241
實驗十一 文件 244