內容簡介
張磊主編的《C語言程式設計(第2版)》是普通高等教育“十一五”國家級規劃教材,是面向高等學校理工科學生的程式設計基礎教材,本書的教學目標是培養學生的邏輯思維能力和程式設計能力。 《C語言程式設計(第2版)》是廣泛聽取了全國數十所高校幾十位任課教師的意見和建議,在第1版的基礎上,對教材內容進行了全面最佳化,靈活運用任務驅動、案例教學、啟發式教學等多種教學方法,對C語言程式設計的語言知識和程式設計的方法過程進行了系統介紹。 全書組織結構清晰,突出程式設計方法,重視方法教學,理論聯繫實際,深入淺出,循序漸進,邏輯嚴密,語言流暢,通俗易懂。 本書配有電子教案、試題庫以及《C語言程式設計實驗與實訓指導及題解》教材。 本書適合作為高等學校C語言程式設計課程教材,也可作為工程技術人員的參考書。
編輯推薦
張磊主編的《C語言程式設計(第2版)》解決初學者學習程式設計的難題,通過套用實例加強算法設計的教學;注重程式執行過程的分析和說明,提高學習者的程式閱讀能力。 全書按照不同學習功能設定演示性和設計性兩類實例,演示性實例簡單明了,實現基本概念和基本語法的即時套用;設計性實例共有38個,通過問題分析與算法設計、程式實現、程式討論和說明等環節重點介紹程式設計方法。
圖書目錄
第1章 程式設計概述
1.1 程式設計的基本概念
1.1.1 程式設計語言和程式
1.1.2 算法
1.1.3 程式設計的基本過程
1.2 C語言概述
1.2.1 C語言的產生和發展
1.2.2 C語言程式的基本結構
1.2.3 C語言的基本語句
1.2.4 標識符與保留字
1.3 使用Visual C++6.0實現C語言程式
1.3.1 使用Visual C++6.O實現C語言程式的基本步驟
1.3.2 程式設計舉例
本章小結
習題一
第2章 數據及其運算
2.1 數據及數據類型
2.2 常量
2.2.1 整型常量
2.2.2 實型常量
2.2.3 字元常量
2.2.4 字元串常量
2.2.5 符號常量
2.3 變數
2.3.1 簡單變數的分類
2.3.2 簡單變數的定義
2.3.3 簡單變數的賦值
2.4 常用運算
2.4.1 算術運算
2.4.2 關係運算
2.4.3 邏輯運算
2.4.4 自增、自減運算
2.4.5 賦值運算
2.4.6 條件運算
2.4.7 逗號運算
*2.5 表達式中數據類型的自動轉換
*2.6 用typedef命名數據類型
本章小結
習題二
第3章 簡單程式設計
3.1 基本的輸入/輸出函式
3.1.1 格式化輸出函式printf()
3.1.2 格式化輸入函式scanf()
3.1.3 字元輸入/輸出函式getchar()和putchar()
3.2 編譯預處理命令define和include簡介
3.2.1 define命令
3.2.2 include命令
3.3 程式設計舉例
3.3.1 分段函式求值
3.3.2 計算三角形面積
3.3.3 字母轉換
3.3.4 雞兔同籠問題
本章小結
習題三
第4章 分支結構程式設計
4.1 程式的邏輯結構
4.1.1 邏輯結構概述
4.1.2 三種結構的框圖表示
4.2 if語句
4.2.1 if語句的一般形式
4.2.2 if語句的簡單形式
4.2.3 if語句的嵌套結構
4.2.4 if-else if結構
4.3 switch語句
4.4 goto語句
4.5 分支結構套用舉例
4.5.1 閏年問題
4.5.2 判斷等邊三角形
4.5.3 求解一元二次方程
4.5.4 學生成績分等顯示
本章小結
習題四
第5章 循環結構程式設計
5.1 循環控制語句
5.1.1 while語句
5.1.2 do-while語句
5.1.3 for語句
5.2 循環體中的控制命令
5.2.1 break命令
5.2.2 continue命令
5.3 多重循環
5.3.1 多重循環的概念
5.3.2 多重循環的結構
5.4 循環結構程式設計舉例
5.4.1 字元統計
5.4.2 比賽評分
5.4.3 學生成績分等統計
5.4.4 最大公約數
5.4.5 Fibonacci數列
5.4.6 乘法表
5.4.7 搬磚問題
5.4.8 找素數
5.4.9 哥德巴赫猜想
本章小結
習題五
第6章 數組
6.1 一維數組
6.1.1 一維數組的定義
6.1.2 數值型一維數組的輸入和輸出
6.1.3 數值型一維數組的初始化
6.1.4 字元型一維數組的初始化
6.1.5 一維數組的存儲
6.2 字元串操作
6.2.1 字元串的輸入/輸出
6.2.2 多字元串操作函式
6.2.3 其他字元串操作函式
6.3 二維數組
6.3.1 二維數組的定義
6.3.2 二維數組的輸入和輸出
6.3.3 二維數組的初始化
6.3.4 二維數組的存儲
6.4 數組套用
6.4.1 排序
6.4.2 查找
6.4.3 單詞統計
6.4.4 矩陣運算
6.4.5 成績處理
6.4.6 楊輝三角形
本章小結
習題六
第7章 函式
7.1 函式概述
7.2 函式的定義及調用
7.2.1 函式的定義
7.2.2 函式值和return命令
7.2.3 函式調用
7.3 函式的嵌套和遞歸函式
7.3.1 函式的嵌套
7.3.2 遞歸函式
7.4 變數的屬性
7.4.1 局部變數和全局變數
7.4.2 變數的存儲類型
7.5 數組作為函式的參數
7.5.1 數組元素作為函式參數
7.5.2 一維數組名作為函式參數
7.5.3 用一維數組求解二維數組問題
7.6 函式套用舉例
7.6.1 計算長方體的面積
7.6.2 利用遞歸函式計算Fibonacci數列
7.6.3 排序函式的設計與套用
本章小結
習題七
第8章 指針
8.1 概述
8.1.1 指針和指針變數
8.1.2 變數的直接訪問和間接訪問
8.2 指針變數的定義和使用
8.2.1 指針變數的定義
8.2.2 指針變數的使用
8.3 指針與數組
8.3.1 指針與一維數組
8.3.2 指針與二維數組
8.3.3 指針與字元串
8.3.4 指針數組
8.4 指針作為函式的參數
8.4.1 簡單指針變數作函式參數
8.4.2 指向數組的指針作函式的參數
8.4.3 字元串指針作函式的參數
8.4.4 指針數組作函式的參數
*8.4.5 使用帶參數的main()函式
8.5 指針函式和指向函式的指針變數
8.5.1 指針函式
*8.5.2 指向函式的指針變數
8.6 指針套用舉例
8.6.1 三色球問題
8.6.2 用指針法排序
8.6.3 用指針法統計字元串中的單詞
8.6.4 字元串查找
8.7 動態記憶體管理
8.7.1 動態記憶體分配
8.7.2 動態記憶體管理函式
本章小結
習題八
第9章 結構體
9.1 結構體類型
9.1.1 結構體類型概述
9.1.2 結構體類型定義
9.2 結構體變數
9.2.1 定義結構體變數
9.2.2 引用結構體成員
9.2.3 結構體變數初始化
9.3 結構體數組
9.3.1 結構體數組概述
9.3.2 結構體數組的初始化
9.3.3 結構體數組的套用
9.4 結構體指針變數
9.4.1 結構體指針變數的定義及使用
9.4.2 結構體指針作函式的參數
9.5 鍊表概述
9.5.1 鍊表的概念
9.5.2 鍊表的特點
9.5.3 定義鍊表結構
*9.6 鍊表的基本操作
9.6.1 鍊表結點的插入
9.6.2 鍊表結點的刪除
9.6.3 鍊表結點的查找
9.7 結構體套用舉例
9.7.1 字元串加密
9.7.2 學生成績排序
9.7.3 Josephus問題
本章小結
習題九
第10章 檔案
10.1 檔案概述
10.1.1 檔案的概念
10.1.2 檔案的分類
10.1.3 檔案的一般操作過程
10.1.4 檔案的指針
10.2 檔案的基本操作
10.2.1 打開和關閉檔案
10.2.2 最基本的檔案讀/寫函式
10.3 檔案的數據塊讀/寫操作
10.3.1 fwrite()函式
10.3.2 fread()函式
10.4 檔案的其他操作
10.4.1 檔案的格式化讀/寫
10.4.2 檔案的隨機讀/寫操作
10.4.3 ftell()函式
10.4.4 檔案的字元串操作
10.5 檔案套用舉例
10.5.1 檔案複製
10.5.2 存儲在檔案中的學生成績排序
本章小結
習題十
第11章 共用體、枚舉和位運算
11.1 共用體
11.1.1 共用體概述
11.1.2 共用體類型定義
11.1.3 共用體變數的定義
11.1.4 共用體變數的引用
11.1.5 共用體數據特點
11.2 枚舉
11.2.1 枚舉概述
11.2.2 枚舉類型及枚舉變數
11.2.3 枚舉套用
11.3 位運算
11.3.1 位運算概述
11.3.2 基本的位運算
11.3.3 位運算套用
本章小結
習題十一
第12章 C++程式設計基礎
12.1 從C到C++
12.2 C++的非面向對象知識
12.2.1 簡單的C++程式
12.2.2 C++的輸入和輸出
12.2.3 內聯函式
12.2.4 函式重載
12.2.5 函式參數的默認值
12.2.6 變數的引用
本章小結
習題十二
附錄1 C語言的保留字
附錄2 C語言的運算符
參考文獻