C語言程序設計——理論與實踐

-
【作 者】孫浩 閆會峰 向碧群
【I S B N 】978-7-5084-8277-4
【責任編輯】張玉玲
【適用讀者群】本科
【出版時間】2011-01-26
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】
【千字數】404
【印 張】16.25
【定 價】¥29.8
【叢 書】21世紀高等院校創新精品規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書較全面地介紹了C語言程序設計的基礎知識和基本編程技能,分為理論教學篇和實踐教學篇兩部分,理論教學篇的主要內容包括:C數據類型、流程控制、指針、數組、函數、文件以及結構體和共用體等內容。在內容的編排上對相關知識點設計了一定的課堂練習題,注重講練結合,注重知識點的融會貫通和實際運用,同時對一些重要的知識點進行提示和歸納總結,方便讀者的自學。實踐教學篇根據理論教學篇的布局,安排了相應的10個實驗和一個課程設計。
本書內容新穎,體系合理,內容翔實,通俗易懂。每章配備了一定的練習題目,方便讀者檢測自己的學習水平,并設計了相應的實驗指導和課程設計等內容。本書可以作為高等學校相關課程的教材,也可以作為計算機等級考試的輔導用書,還可以作為相關研究人員的參考書。
◆ 緊扣教學大綱和計算機等級考試大綱,精心設計教學內容,適合教學;
◆ 采用“案例驅動”編寫方式,以程序設計為中心,精心提煉C語言基本語法知識;
◆ 結合主要知識點,每章精選多個經典程序實例,并有程序運行結果;
◆ 對重要的知識點和編程技巧進行歸納總結,同時配備課堂練習,講練結合;
◆ 每章配有多道課后習題,供讀者練習與自測;
◆ 配備相應的實驗和課程設計內容,供實驗教學使用;
◆ 提供相關教學資源(電子教案、案例程序源代碼)。
C語言是廣泛使用的程序設計語言之一,它功能豐富,表達能力強,使用靈活方便,應用面廣,目標程序效率高,既具有高級語言的特性,又具有直接操縱計算機硬件的能力。因此特別適合編寫系統軟件。目前,C語言被許多高校列為程序設計課程的首選語言。
C語言程序設計是一門實踐性很強的課程,該課程的學習有其自身的特點。學生在學習的時候只通過理論學習是學不好的,必須通過大量的編程訓練,在實踐中掌握語言的基礎知識,培養程序設計的基本能力,并逐步理解和掌握程序設計的思想和方法。因此,C語言程序設計課程的重點應該是在學生掌握基本理論知識的基礎上,重點培養學生的實踐編程能力。
目前,介紹C語言的教材很多,但在多年的教學實踐中,我們發現很多教材只注重C語言本身的語法知識的闡述,而忽略了培養學生的實踐編程能力,導致學生記住了一大堆語法知識,卻寫不出來一個像樣的程序,不利于培養學生的程序設計能力和語言應用能力。
我們編寫本書的目的是讓學生在加強基礎理論知識學習的基礎上,注重培養實際的編寫程序的能力。為實現這個目標,我們采用了如下策略:
本書在介紹基礎語法知識的同時,還闡述了基本的編程技巧和注意事項,注重基礎語法知識的實際應用。
只用文字語言難以闡述的內容,采用圖表來闡述,使得相應的知識點更加清晰和直觀,便于學生加強印象。
突出顯示的板塊結構總結了C語言的一些重要的特征,同時對一些編程技能和注意事項進行了歸納,便于學生參考學習。
每部分知識點后都有相應的課堂練習,每章結束都設置了相應的習題,便于學生加深對基礎理論知識的理解。
全書以程序設計為主線,以編程應用為驅動,重點介紹程序設計的基本思想和基本方法。全書分為理論教學部分和實踐教學部分,其中理論教學部分分為9章,其中1~4章側重于C語言的基礎知識和基本編程技能的闡述,主要包括C語言的基本特點、基本數據類型和指針,數據處理中的各種表達式以及順序、分支、循環三種基本的流程控制語句。5~8章側重于指針和數組、函數、文件以及結構體和共用體等構造類型的綜合運用,采用結構化程序設計的思想來實現復雜問題的編程和基本的算法。第9章側重于闡述指針的高級應用,對存儲空間的分配和釋放問題以及基本的鏈表應用都做了詳細的介紹。本書的第二部分為實踐教學部分,根據訓練學生的實際編寫程序能力的需要,設置了10個實驗和一個課程設計,并在附錄中對常見的算法進行匯總。
本書的作者全部來自重慶郵電大學在第一線進行C語言教學的老師,有著豐富的教學經驗。其中第1章由汪婷編寫,第2~3章由孫浩編寫,第4~5章由閆會峰編寫,第6~7章由向碧群編寫,第8~9章由宋華編寫,實驗部分的實驗一至實驗七和附錄部分由王寧編寫,實驗八至實驗十由汪婷編寫,課程設計由閆會峰編寫。參與本書編寫的還有王偉峰、劉亮、呂剛、張麗萍。全書由孫浩統稿,鄒永貴、孫浩和閆會峰審閱。
由于作者的水平有限,書中難免存在謬誤之處,敬請讀者指正。作者的聯系方式:sunhao2001@163.com。
作 者
2010年12月
第一部分 理論教學篇
第1章 C語言概覽 1
1.1 C語言的生命力 1
1.1.1 C語言的發展歷程和趨勢 1
1.1.2 C語言的特點 2
1.2 開發第一個C程序 2
1.2.1 編寫第一個C程序 2
1.2.2 運行C程序的方法 6
1.3 小結 9
1.4 習題 10
第2章 C數據揭秘 11
2.1 計算機中數據的表示 11
2.1.1 位、字節和字 11
2.1.2 數據的機內表示 11
2.2 恒定不變——C常量數據 12
2.3 再探C常用數據類型 14
2.3.1 整型數據 14
2.3.2 浮點型數據 16
2.3.3 字符型數據 19
2.3.4 各種類型數據之間的轉換和混合
運算 23
2.3.5 數據類型的大小——sizeof運算符 26
2.4 小結 26
2.5 習題 27
第3章 C語言流程控制 28
3.1 格式化輸入/輸出函數 28
3.1.1 printf()函數 28
3.1.2 scanf()函數 30
3.2 程序流程圖 33
3.3 順序結構程序設計 35
3.3.1 算術運算符 36
3.3.2 算術表達式 36
3.3.3 賦值表達式 37
3.4 選擇結構程序設計 38
3.4.1 關系運算符和關系表達式 39
3.4.2 邏輯運算符和邏輯表達式 40
3.4.3 if語句與switch語句 41
3.4.4 選擇結構程序舉例 46
3.5 循環結構程序設計 50
3.5.1 從while語句學自增和自減運算符 50
3.5.2 do…while語句 53
3.5.3 靈活強大的循環語句——for語句 55
3.5.4 逗號運算符和逗號表達式 56
3.5.5 循環結構程序舉例 57
3.6 小結 62
3.7 習題 62
第4章 初識指針類型 64
4.1 地址與指針變量 64
4.2 取地址運算符與間接運算符 65
4.2.1 取地址運算符 65
4.2.2 間接運算符 65
4.3 指針變量的聲明與賦值 66
4.4 變量與指針變量 70
4.5 小結 72
4.6 習題 72
第5章 數組與指針 74
5.1 一維數組 74
5.1.1 前導實例 74
5.1.2 一維數組與指針 78
5.2 字符數組與字符串 80
5.2.1 字符數組與指針 80
5.2.2 運用字符串處理函數編程 84
5.3 指針的運算與比較 86
5.3.1 指針的運算 86
5.3.2 指針比較 88
5.3.3 數組名與指針 88
5.4 多維數組 89
5.4.1 二維數組 89
5.4.2 指針數組 92
5.5 小結 94
5.6 習題 95
第6章 函數與模塊化程序設計 97
6.1 函數概述 97
6.1.1 前導實例——定義函數 97
6.1.2 形式參數和實際參數 98
6.2 變量的作用域和存儲方式 102
6.2.1 局部變量和全局變量 102
6.2.2 變量的存儲類別 104
6.3 函數嵌套調用與遞歸 108
6.3.1 函數的嵌套調用 108
6.3.2 函數的遞歸 112
6.4 函數、數組與指針 114
6.4.1 使用數組名作為函數參數 114
6.4.2 使用指針作為函數參數 118
6.5 C預處理器和庫函數 121
6.5.1 宏定義#define 121
6.5.2 文件包含#include 125
6.5.3 C庫函數 126
6.6 模塊化程序設計概述 127
6.6.1 模塊化程序設計思想 127
6.6.2 模塊化程序設計原則 128
6.6.3 模塊化編程步驟 128
6.7 小結 130
6.8 習題 131
第7章 文件操作 135
7.1 文件概述 135
7.1.1 文件 135
7.1.2 文件指針 136
7.2 文件常用操作 136
7.2.1 開始第一個文件操作程序 136
7.2.2 文件格式化讀寫 139
7.2.3 文件的隨機讀寫 147
7.2.4 常用文件檢測函數 149
7.3 小結 150
7.4 習題 151
第8章 結構體與共用體 153
8.1 結構體——復合數據類型 153
8.1.1 前導實例 154
8.1.2 使用結構體存儲復雜數據形式 156
8.1.3 結構體數組 158
8.1.4 利器登場——結構體指針 160
8.1.5 結構體應用——鏈表操作 164
8.1.6 用typedef進行類型定義 166
8.2 共用體介紹 167
8.2.1 共用體的概念 167
8.2.2 共用體變量的引用 169
8.3 枚舉類型介紹 170
8.4 小結 172
8.5 習題 172
第9章 指針的高級應用 175
9.1 動態存儲空間的分配與釋放 175
9.1.1 內存分配函數 175
9.1.2 空指針 177
9.1.3 釋放空間函數 177
9.1.4 “懸空”指針問題 178
9.2 鏈表 179
9.2.1 聲明結點類型 180
9.2.2 建立單鏈表 180
9.2.3 鏈表結點的插入與刪除 181
9.3 小結 185
9.4 習題 185
第二部分 實踐教學篇
實驗一 Visual C++ 6.0集成開發環境的使用 187
實驗二 數據類型 192
實驗三 選擇結構程序設計 195
實驗四 循環結構程序設計 199
實驗五 指針的基礎應用 203
實驗六 數組 205
實驗七 函數與模塊化程序設計 207
實驗八 數組、函數與指針的綜合運用 208
實驗九 讀寫文件 212
實驗十 鏈表的創建與維護 215
綜合實驗 C語言課程設計 218
附錄一 ASCII碼表 239
附錄二 C關鍵字 240
附錄三 C運算符 241
附錄四 常用庫函數 242
附錄五 C語言程序設計常見算法 247
參考文獻 251
- 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語言程序設計 [主編 吳國鳳]