C語言程序設計教程
-
【作 者】張永 胡敏 主編
【I S B N 】978-7-5084-7593-6
【責任編輯】李炎
【適用讀者群】本科
【出版時間】2010-08-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】264
【千字數】304
【印 張】12.5
【定 價】¥24
【叢 書】21世紀高等院校創新精品規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書按照學習C語言的一般順序以及考綱的要求為脈絡來編寫,共11章,分為三個部分:第一部分介紹C語言的入門知識;第二部分介紹C語言的算法和三種程序結構;第三部分介紹C語言中的各種數據類型、函數和指針等的使用,使讀者能夠逐漸解決復雜的問題。
本書內容詳實、邏輯清晰、講解透徹、涉及面廣,具有極強的可操作性和針對性。
本書適合作為高等院校C語言課程教材和C語言編程愛好者的自學教材,也可作為全國計算機等級考試二級C語言的培訓和自學教材。
按照學習C語言的一般順序以及考綱的要求為脈絡來編寫,分為C語言的入門知識,C語言的算法和三種程序結構,C語言中的各種數據類型、函數和指針等的使用三部分,使讀者能夠逐漸解決復雜的問題。
本書內容詳實、邏輯清晰、講解透徹、涉及面廣,具有極強的可操作性和針對性。通過本書的學習,可以使讀者逐步掌握C語言的編程方法。
C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。在C語言誕生以前,系統軟件主要是用匯編語言編寫的。由于匯編語言程序依賴于計算機硬件,其可讀性和可移植性都很差;一般的高級語言又難以實現對計算機硬件的直接操作,于是人們盼望有一種兼有匯編語言和高級語言特性的新語言。C語言在20世紀70年代初應運而生,1978年美國電話電報公司(AT&T)貝爾實驗室正式發布了C語言。隨后由于C語言的強大功能和各方面的優點逐漸為人們所知,到了20世紀80年代,C語言開始進入各類操作系統,并很快在各類大、中、小和微型計算機上得到廣泛的使用,成為當代最優秀的程序設計語言之一。
C語言是一種結構化語言,它層次清晰,便于按模塊化方式組織程序,易于調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便于實現各類復雜的數據結構;還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由于C語言實現了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既適用于系統軟件的開發,又適合于應用軟件的開發。此外,C語言還具有效率高、可移植性強等特點。
全書共包括11章,大致可分為三大部分:第一部分為第1章和第2章,介紹C語言的入門知識,包括C語言的組成與結構、基本數據類型等;第二部分為第3章和第4章,介紹C語言的算法以及三種程序結構,包括順序結構、選擇結構和循環結構;第三部分為第5章至第11章,對數組、函數、編譯預處理、指針、結構體與共用體、位運算以及文件作了詳細的說明,以使讀者逐步掌握C語言的編程方法。全書內容詳實、邏輯清晰、講解透徹,便于讀者快速掌握和深入學習。
本書由張永、胡敏任主編,蔡虹、黃華、張英任副主編,參加編寫工作的還有張文華、丁小峰、金雙平、杜波、王小青、李鑫、李強、王克杰、黃浩等。
由于編者水平有限,時間倉促,錯誤之處在所難免。敬請讀者不吝指正,以期日后修訂時改進。
編 者
2010年6月
第1章 C語言概述 1
1.1 C語言的發展和特點 1
1.2 C程序的組成 2
1.2.1 C程序由函數組成 2
1.2.2 函數的組成 2
1.2.3 關鍵詞、標識符和C語句 2
1.2.4 庫函數和頭文件 3
1.3 C程序的結構 4
1.4 C程序的書寫風格 4
1.5 小結 5
習題一 5
第2章 數據類型及運算 7
2.1 基本數據類型 7
2.1.1 數據類型 7
2.1.2 基本數據類型 8
2.2 常量與變量 9
2.2.1 常量 9
2.2.2 變量 12
2.3 運算符 13
2.3.1 運算符的種類、優先級和結合性 13
2.3.2 算術運算符 15
2.3.3 關系運算符和邏輯運算符 16
2.3.4 位運算符 17
2.3.5 賦值運算符 18
2.3.6 條件、逗號和長度運算符 19
2.4 表達式 19
2.4.1 算術表達式 20
2.4.2 賦值表達式 20
2.4.3 關系表達式和邏輯表達式 20
2.5 不同類型數據間的轉換 22
2.6 小結 24
習題二 24
第3章 基本語句 27
3.1 算法及結構化程序設計 27
3.1.1 算法 27
3.1.2 算法的描述 28
3.1.3 程序的三種基本結構 28
3.2 數據的輸入輸出 29
3.2.1 數據的輸入 29
3.2.2 數據的輸出 31
3.3 順序結構程序設計 33
3.3.1 表達式語句 33
3.3.2 復合語句和空語句 33
3.3.3 順序結構程序實例 34
3.4 小結 35
習題三 36
第4章 流程控制 38
4.1 選擇結構程序設計 38
4.1.1 單分支選擇語句if 38
4.1.2 雙分支選擇語句if-else 39
4.1.3 多分支選擇語句switch 40
4.1.4 條件分支的嵌套 43
4.1.5 選擇結構設計實例 45
4.2 循環結構程序設計 46
4.2.1 當型循環語句while 46
4.2.2 直到型循環語句do-while 47
4.2.3 次數循環型語句for 48
4.2.4 break和continue語句 49
4.2.5 語句標號和goto語句 51
4.2.6 循環的嵌套 51
4.2.7 循環程序設計實例 52
4.3 小結 54
習題四 55
第5章 數組 58
5.1 一維數組 58
5.1.1 一維數組的定義 58
5.1.2 一維數組的存儲形式 59
5.1.3 一維數組的初始化 59
5.1.4 一維數組元素的引用 59
5.1.5 一維數組應用舉例 60
5.2 多維數組 61
5.2.1 多維數組的定義 61
5.2.2 多維數組的存儲形式 62
5.2.3 二維數組的定義 62
5.2.4 二維數組的初始化 63
5.2.5 二維數組元素的引用 63
5.2.6 二維數組應用舉例 64
5.3 字符數組與字符串 65
5.3.1 字符數組的定義 65
5.3.2 字符數組的初始化 66
5.3.3 字符數組的引用 66
5.3.4 字符串和字符串結束的標志 66
5.3.5 字符數組的輸入輸出 67
5.3.6 字符串處理函數 68
5.3.7 字符數組應用舉例 71
5.4 小結 72
習題五 73
第6章 函數 76
6.1 函數的定義和返回值 76
6.1.1 函數的定義 76
6.1.2 函數的返回值 78
6.1.3 函數的分類 79
6.2 函數的調用 79
6.2.1 函數的調用 79
6.2.2 庫函數的調用 81
6.2.3 函數的聲明以及位置對函數調用
的影響 82
6.2.4 內部函數與外部函數 82
6.3 變量的作用域與生存期 83
6.3.1 變量的作用域 83
6.3.2 局部變量與全局變量 83
6.3.3 變量的生存期 86
6.3.4 動態存儲變量與靜態存儲變量 86
6.3.5 變量的存儲類型 87
6.4 函數間的數據傳遞 90
6.4.1 參數的值傳遞方式 90
6.4.2 參數的地址傳遞方式 91
6.4.3 函數返回值方式 92
6.4.4 外部變量傳遞方式 92
6.4.5 數組名作為函數參數的調用 93
6.5 嵌套調用與遞歸調用 94
6.5.1 嵌套調用 94
6.5.2 遞歸調用 95
6.6 小結 97
習題六 97
第7章 編譯預處理 102
7.1 宏定義 102
7.1.1 無參數的宏定義 102
7.1.2 帶參數的宏定義 104
7.2 文件包含 105
7.3 小結 106
習題七 107
第8章 指針 109
8.1 指針的基本概念 109
8.1.1 指針與地址 109
8.1.2 指針的目標 109
8.1.3 地址與指針運算符 110
8.2 指針變量 110
8.2.1 指針變量的定義 111
8.2.2 指針變量的類型 111
8.2.3 指針變量的初始化 113
8.2.4 指針變量的引用 114
8.2.5 指針變量的運算 114
8.3 指針與數組 117
8.3.1 指向一維數組的指針變量 117
8.3.2 指向二維數組的指針變量 118
8.3.3 字符串指針 121
8.3.4 指針數組 123
8.4 指針與函數 126
8.4.1 指針作為函數參數 127
8.4.2 指向函數的指針 128
8.4.3 指針型函數 130
8.4.4 main函數的參數 131
8.4.5 指針與函數應用實例 132
8.5 小結 134
習題八 134
第9章 結構體與共用體 139
9.1 結構體 139
9.1.1 結構體類型概述 139
9.1.2 結構體變量的定義和引用 139
9.1.3 結構體數組 144
9.1.4 結構體指針 146
9.1.5 結構體與函數 148
9.2 鏈表 149
9.2.1 動態存儲分配的函數 149
9.2.2 鏈表的概念 151
9.2.3 單向鏈表的建立、輸出、刪除
與插入 152
9.3 共用體 155
9.3.1 共用體類型概述 155
9.3.2 共用體的定義和引用 155
9.3.3 共用體應用舉例 156
9.4 枚舉 157
9.4.1 枚舉類型 157
9.4.2 枚舉類型說明 157
9.4.3 枚舉變量的定義 157
9.4.4 枚舉變量的引用 157
9.5 類型定義 158
9.6 小結 159
習題九 159
第10章 位運算 164
10.1 位運算的概念 164
10.1.1 與位相關的概念 164
10.1.2 位運算的概念與種類 165
10.2 位運算的使用 166
10.2.1 按位與運算符 166
10.2.2 按位或運算符 167
10.2.3 按位異或運算符 167
10.2.4 取反運算符 168
10.2.5 左移運算符 168
10.2.6 右移運算符 169
10.3 小結 170
習題十 170
第11章 文件 172
11.1 文件概述 172
11.1.1 文件 172
11.1.2 文件型指針 173
11.2 文件的打開與關閉 173
11.2.1 文件的打開 173
11.2.2 文件的關閉 175
11.3 文件的讀寫 175
11.3.1 字符的讀寫 175
11.3.2 字符串的讀寫 177
11.3.3 數據塊的讀寫 179
11.3.4 格式化數據的讀寫 181
11.4 文件的隨機讀寫 183
11.4.1 文件的定位函數 183
11.4.2 文件的隨機讀寫 183
11.4.3 文件檢測函數 184
11.5 小結 184
11.6 經驗技巧:C語言中的常見錯誤 185
習題十一 189
參考文獻 192
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- C語言程序設計 [姜雪]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- C語言同步案例習題精解 [主編 肖朝暉]
- C語言程序設計(微課版) [主編 夏啟壽]
- C語言程序設計實踐教程 [夏啟壽]
- 單片機應用技術項目教程(C語言版)(第三版) [主編 郭志勇]
- 數據結構——C語言(微課版) [主編 梁海英]
- C程序設計簡明教程 [黃能耿 黃致遠 編著]
- C語言程序設計實驗指導與實訓 [主編 倪燃]
- 單片機原理及應用技術(C語言版) [周國運 魯慶賓 趙天翔 編著]
- C#程序設計教程 [主編 李祥琴]
- C#數據庫編程技術 [主編 顧家銘]
- 基于C#的可視化編程基礎 [主編 張蕾蕾 黃健]
- C語言程序設計 [主編 楊娟 萬青]
- 物聯網編程與應用(C#) [主編 王浩 王偉旗]
- C語言程序設計 [主編 王婧 劉政宇]
- Visual Basic程序設計教程 [主編 郭秀娟 于全通]
- C語言程序設計項目化教程 [主編 彭琦偉 周威]
- C語言程序設計案例教程 [主 編 劉素芬 張建軍 王宏斌]
- Visual Basic.NET程序設計上機實踐教程 [主編 何振林 羅奕]
- Visual Basic.NET程序設計 [主編 何振林 羅奕]
- C語言程序設計(第二版) [主編 丁紅 王輝]
- 數據結構(C語言版)習題解答及實訓指導 [李根強 謝月娥]
- 數據結構(C語言版) [主編 李根強 劉浩 謝月娥]
- C語言程序設計習題與實驗指導 [主編 甄增榮 張賓]
- C語言程序設計 [主編 甄增榮 呂曉華]
- C語言程序設計 [主編 吳國鳳]