C語言程序設計
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
C語言是高等院校計算機專業及相關專業的重要基礎課,也是學習程序設計的首選語言。本書根據高職院校學生的需要,側重于C語言基本編程技能的訓練,語言表達清晰明了、難度適中、通俗易懂。
全書共12章。包括C語言概述,數據類型、運算符和表達式,順序結構程序設計,選擇結構程序設計,循環結構程序設計,數組,函數,指針,結構體、共用體和枚舉類型,編譯預處理與位運算,文件,建構法程序設計等內容。每章都有適量的習題,書后附有部分習題答案。
本書可作為高職高專院校計算機及相關專業學生的教材,也可供自學者學習使用。
本書配有電子教案和習題答案,讀者可以從中國水利水電出版社網站和萬水書苑免費下載,網址為:http://www.waterpub.com.cn/softdown/和http://www.dgboyong.cn。
根據高職院校學生的需要,側重于C語言基本編程技能的訓練,語言表達清晰明了、難度適中、通俗易懂。
每章都附有適量的例題,并精心把握了例題的難度,使學生通過書中例題的學習就可以獨立完成章后習題。
通過最后一章“建構法程序設計”的設置,將建構主義的思想和方法應用于程序設計,為學生將來進一步學習發展打下堅實的基礎。
C語言是現今最流行的計算機語言,同時也是了解和掌握計算機程序基本構成和運行特點的最簡潔語言。C語言具有表達能力強、功能豐富、可移植性好、使用靈活等優點,它既具備高級語言的特性,又具有直接操縱計算機硬件的能力,可用于系統軟件和應用軟件的開發,被國內外程序員廣泛使用,已經成為高等院校計算機專業及相關專業的重要基礎課,是學習程序設計的首選語言。
本書根據高職院校學生的需要,側重于C語言基本編程技能的訓練,語言表達清晰明了、難度適中、通俗易懂。每章都附有適量的習題,我們精心把握了習題的難度,使學生通過書中例題的學習就可以獨立完成每章后習題。
全書共分12章。主要內容包括:C語言概述,數據類型、運算符和表達式,順序結構程序設計,選擇結構程序設計,循環結構程序設計,數組,函數,指針,結構體、共用體和枚舉類型,編譯預處理與位運算,文件,建構法程序設計。最后一章“建構法程序設計”是全書學習的總結。建構法程序設計是把建構主義的思想和方法應用于程序設計,它遵循由簡到繁、不斷完善的思想。先設計一個簡單的程序,在此基礎上,根據實際需要,不斷分析其存在的問題,并不斷地改進和完善它,最終達到一個比較理想的程序。在現實程序設計過程中,許多程序都是這樣構建的。功能由少到多,代碼由短到長,程序越來越安全,越來越實用,越來越完善。這也是一個程序員經驗逐步積累的過程。通過這一過程的訓練,學生可以為將來的進一步發展打下堅實的基礎。
本書由河南牧業經濟學院信息與電子工程系教師編寫,由連衛民、何櫻主編,王桂芝、周溢輝、李丹、呂真任副主編。連衛民、何櫻制定了編寫大綱并負責統稿和定稿工作,呂真編寫了第1、2章,何櫻編寫了第3、5章,王桂芝編寫了第4、7章,周溢輝編寫了第8、11章,李丹編寫了第9、10章,連衛民編寫了第6、12章。河南牧業經濟學院圖書館的李素平、關艷紅老師幫助收集整理資料,電教中心的上官廷華和張增老師幫助進行了本書部分內容的錄入和校對工作,在此謹向各位表示衷心的感謝。
本書可作為高職院校計算機及相關專業學生的教材和參考書。本書的出版得到了中國水利水電出版社的大力支持,在此一并表示感謝。
編 者
2015年10月28日
1.1 C語言簡介 1
1.1.1 C語言的發展史 1
1.1.2 C語言的特點 2
1.2 C語言程序結構 2
1.3 C語言程序的執行 4
1.3.1 C語言程序調試的基本步驟 4
1.3.2 使用Visual C++調試C語言程序 4
1.4 VC++運行C程序說明 7
1.4.1 編輯程序 7
1.4.2 編譯、運行程序 8
1.4.3 調試程序 9
習題1 12
第2章 數據類型、運算符和表達式 13
2.1 數據類型 13
2.2 常量和變量 14
2.2.1 常量 14
2.2.2 變量 15
2.3 整型數據 16
2.3.1 整型常量 16
2.3.2 整型變量 16
2.4 實型數據 19
2.4.1 實型常量 19
2.4.2 實型變量 19
2.5 字符型數據 20
2.5.1 字符型常量 20
2.5.2 字符型變量 21
2.5.3 字符串常量 22
2.6 數據的基本運算 23
2.6.1 算術運算符和算術表達式 24
2.6.2 賦值運算符和賦值表達式 26
2.6.3 關系運算符和關系表達式 28
2.6.4 邏輯運算符和邏輯表達式 28
2.6.5 逗號運算符 30
2.7 混合運算 30
2.7.1 系統自動轉換 31
2.7.2 強制類型轉換 31
習題2 32
第3章 順序結構程序設計 36
3.1 格式化輸出—printf() 36
3.1.1 printf的一般格式 36
3.1.2 格式字符 37
3.2 格式化輸入—scanf() 42
3.2.1 scanf的一般格式 42
3.2.2 scanf的用法 42
3.3 字符的輸入輸出—getchar()和putchar() 45
3.3.1 getchar函數 46
3.3.2 putchar函數 46
3.4 順序結構程序設計舉例 47
習題3 49
第4章 選擇結構程序設計 52
4.1 if語句 52
4.1.1 復合語句 52
4.1.2 單分支if語句 53
4.1.3 雙分支if語句 55
4.1.4 多分支if語句 57
4.1.5 條件運算符 ?: 59
4.2 switch語句 59
4.2.1 switch語句 59
4.2.2 switch和if-else 62
4.3 選擇結構程序設計舉例 62
習題4 66
第5章 循環結構程序設計 69
5.1 for語句 69
5.1.1 for語句的格式 69
5.1.2 for語句的執行過程 69
5.1.3 for語句的用法 71
5.2 while語句 72
5.2.1 while語句的格式 72
5.2.2 while語句的執行過程 73
5.2.3 while語句的用法 74
5.3 do-while語句 76
5.3.1 do-while語句的格式 76
5.3.2 do-while語句的執行過程 77
5.3.3 do-while語句的用法 77
5.3.4 三種循環語句比較 78
5.4 break和continue語句 79
5.4.1 break語句 79
5.4.2 continue語句 80
5.5 多重循環 80
5.5.1 多重循環的格式 81
5.5.2 多重循環的執行過程 81
5.5.3 多重循環的使用 82
5.6 循環結構程序設計舉例 83
習題5 86
第6章 數組 89
6.1 數組的概念 89
6.1.1 數組解決的問題 89
6.1.2 數組的基本概念 90
6.2 一維數組 90
6.2.1 一維數組的定義 90
6.2.2 一維數組的使用 92
6.2.3 程序設計實例 94
6.3 二維數組 99
6.3.1 二維數組的定義 99
6.3.2 二維數組的使用 101
6.3.3 二維數組程序設計實例 103
6.4 字符數組 105
6.4.1 字符數組的定義 106
6.4.2 字符數組的使用 107
6.4.3 字符數組的程序設計 109
習題6 109
第7章 函數 114
7.1 函數概述 114
7.1.1 函數的概念 114
7.1.2 函數的分類 115
7.2 函數的定義與調用 116
7.2.1 函數的定義 116
7.2.2 函數調用 117
7.3 函數的嵌套和遞歸 121
7.3.1 函數的嵌套調用 121
7.3.2 函數的遞歸調用 122
7.4 局部變量和全局變量 125
7.4.1 局部變量 125
7.4.2 全局變量 127
7.5 變量的存儲類型 129
7.5.1 存儲空間的劃分 129
7.5.2 局部變量的存儲類型 129
7.5.3 全局變量的存儲類型 131
7.6 內部函數和外部函數 132
7.6.1 內部函數 133
7.6.2 外部函數 133
7.6.3 程序的分割編譯 134
7.7 函數程序設計舉例 136
習題7 139
第8章 指針 142
8.1 指針概述 142
8.1.1 指針的概念 142
8.1.2 指針變量 143
8.1.3 指針運算 145
8.2 指針作為函數的參數 147
8.2.1 指針變量作為函數參數傳遞數據 147
8.2.2 改變調用函數中變量的值 148
8.3 指針與數組 149
8.3.1 一維數組和指針 149
8.3.2 二維數組和指針 153
8.3.3 字符串和指針 156
8.4 指針數組與多級指針 159
8.4.1 指針數組 159
8.4.2 多級指針 161
習題8 162
第9章 結構體、共用體和枚舉類型 164
9.1 結構體 164
9.1.1 結構體類型的定義 164
9.1.2 結構體變量的定義與使用 165
9.1.3 結構體數組的定義與使用 168
9.1.4 結構體指針的定義與使用 171
9.2 鏈表 173
9.2.1 單鏈表的結構 173
9.2.2 鏈表的動態存儲 174
9.2.3 單鏈表的建立與輸出 174
9.2.4 單鏈表的插入與刪除 176
9.3 共用體 177
9.3.1 共用體類型和共用體變量的定義 177
9.3.2 共用體變量的引用 178
9.4 枚舉類型 181
9.4.1 枚舉類型的定義 181
9.4.2 枚舉變量的使用 182
9.5 類型定義符typedef 184
習題9 185
第10章 編譯預處理與位運算 188
10.1 編譯預處理 188
10.1.1 編譯預處理的作用及基本特點 188
10.1.2 文件包含 188
10.1.3 宏定義 190
10.1.4 條件編譯 193
10.2 位運算 195
10.2.1 位運算的概念 195
10.2.2 位運算符 196
10.2.3 位段 199
10.2.4 位運算程序設計實例 201
習題10 202
第11章 文件 204
11.1 文件概述 204
11.1.1 文件及其分類 204
11.1.2 文件程序解決的問題 205
11.2 文件處理 205
11.2.1 緩沖文件系統 206
11.2.2 文件的處理過程 207
11.2.3 文件處理采用的函數 208
11.3 文件程序設計舉例 210
11.3.1 文件的建立 210
11.3.2 文件的讀取 212
11.3.3 文件的修改 214
11.3.4 文件的復制 215
習題11 216
第12章 建構法程序設計 218
12.1 一個簡單的C語言程序 218
12.1.1 已知半徑求圓的面積 218
12.1.2 求5個圓的面積 219
12.1.3 求n個圓的面積 222
12.2 一個復雜的C語言程序 226
12.2.1 把接受n個半徑寫成函數 226
12.2.2 把接受的n個半徑保存成文件 228
習題12 232
附錄1 常用字符與ASCII碼對照表 234
附錄2 ANSI C關鍵字 235
附錄3 運算符的優先級與結合性 237
附錄4 C的庫函數 239
附錄5 部分習題參考答案 243
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發 [李智威 著]
- 網絡規劃設計師備考一本通 [夏杰 編著]