《C語言程序設計》介紹C語言的基礎知識,以Visual C ++ 6.0為編程環(huán)境,通過分析問題、設計算法、編寫和調試程序這些步驟,力求讓讀者掌握分析問題的方法,培養(yǎng)設計算法的能力。
全書共17章。第1章~第3章介紹程序設計與C語言的基礎知識;第4章~第7章介紹4種基本的算法與程序設計;第8章~第11章介紹函數、編譯預處理、指針、結構體和鏈表等;第12、第13章介紹位運算與文件;第14章~第16章介紹面向對象程序設計的類與對象、繼承與派生、多態(tài)性與虛函數;第17章介紹幾個綜合實例。
本書內容由淺入深,具?較強的可讀性,適合大學生作為程序設計課程教材,也可作為C語言愛好者編程的參考書。
第1章 程序設計基礎
1.1 程序設計語言
1.1.1 什么是程序
1.1.2 語言的分類
1.1.3 C語言簡介
1.1.4 C語言組成
1.2 計算機的組成與程序設計的本質
1.2.1 計算機系統(tǒng)結構
1.2.2 程序設計的本質
1.2.3 程序設計的過程
1.3 算法的概念和特性
1.3.1 什么是算法
1.3.2 算法舉例
1.3.3 算法的特性
1.4 算法的表示方法
1.4.1 自然語言
1.4.2 偽代碼
1.4.3 傳統(tǒng)流程圖
1.4.4 N-S流程圖
1.5 結構化的程序設計方法
1.5.1 結構化程序設計
1.5.2 結構化程序設計方法
習題
第2章 Visual C++ 6.0簡介
2.1 Visual C++ 6.0簡介
2.2 Visual C++ 6.0的安裝與啟動
2.2.1 安裝過程
2.2.2 Visual C++ 6.0的啟動
2.3 Visual C++ 6.0的集成開發(fā)環(huán)境
2.4 Visual C++ 6.0的幫助
2.5 Visual C++ 6.0中的C語言程序設計
習題
第3章 數據類型、運算符與表達式
3.1 C語言的數據類型
3.2 常量與變量
3.2.1 變量
3.2.2 常量
3.3 整型數據
3.3.1 整型常量與變量
3.3.2 整型數據的輸入和輸出
3.3.3 整型數據在內存中的存儲方式
3.4 實型數據
3.4.1 實型常量與變量
3.4.2 實型數據的輸入和輸出
3.4.3 實型數據在內存中的存儲方式
3.5 字符型數據
3.5.1 字符型常量、轉義字符與變量
3.5.2 字符型數據的輸入和輸出
3.6 字符串
3.7 算術運算符和算術表達式
3.7.1 C語言運算符簡介
3.7.2 算術運算符和表達式
3.7.3 自增自減運算符
3.7.4 賦值運算符和賦值表達式
3.7.5 逗號運算符和表達式
3.8 數據類型的轉換
3.8.1 隱式類型轉換
3.8.2 強制類型轉換運算符
習題
第4章 順序結構程序設計
4.1 C語句概述
4.2 C程序的注釋
4.3 順序結構程序設計
4.4 常見的編程錯誤及其調試
4.4.1 語法錯誤
4.4.2 運行時錯誤
4.4.3 未檢測到的錯誤
4.4.4 邏輯錯誤
4.4.5 程序調試方法
習題 8
第5章 選擇結構程序設計
5.1 選擇結構算法設計
5.2 關系運算與邏輯運算
5.2.1 關系運算符和關系表達式
5.2.2 邏輯運算符和邏輯表達式
5.3 if語句
5.4 switch語句
5.5 選擇結構的嵌套
5.6 條件運算符
習題
第6章 循環(huán)結構程序設計
6.1 循環(huán)結構概述
6.2 循環(huán)結構算法設計
6.2.1 當型循環(huán)和直到型循環(huán)
6.2.2 循環(huán)算法的設計
6.3 循環(huán)結構編程
6.3.1 while?句(當型循環(huán))
6.3.2 do while語句(直到型循環(huán))
6.3.3 for循環(huán)語句
6.3.4 break語句和continue語句
6.3.5 循環(huán)的嵌套
6.4 循環(huán)結構程序舉例
6.5 goto語句★
習題
第7章 數組
7.1 數組
7.1.1 數組的引出
7.1.2 多維數組
7.2 一維數組算法設計
7.3 一維數組程序設計
7.3.1 一維數組的定義
7.3.2 數組元素引用
7.3.3 一維數組初始化
7.3.4 一維數組程序設計
7.4 二維數?算法設計
7.5 二維數組程序設計
7.5.1 二維數組的定義
7.5.2 數組元素引用
7.5.3 二維數組初始化
7.5.4 二維數組程序設計
7.6 字符數組
7.6.1 字符數組的定義和使用
7.6.2 字符串數組
7.6.3 字符串處理函數
7.6.4 字符串處理算法和程序設計
習題
第8章 函數
8.1 函數的定義和調用
8.1.1 函數定義
8.1.2 函數調用
8.1.3 參數的傳遞
8.1.4 函數返回值
8.2 數組作為參數
8.3 函數的嵌套調用
8.4 函數的遞歸調用
8.5 局部變量和全局變量
8.6 變量的存儲類別和生存期
8.7 程序的模塊化設計
習題
第9章 編譯和編譯預處理
9.1 宏定義
9.1.1 不帶參數的宏定義
9.1.2 帶參數的宏定義
9.2 文件包含
9.3 條件編譯
習題
第10章 指針
10.1 地址和指針
10.2 變量的指針和指向變量的指針變量
10.2.1 定義指針變量
10.2.2 指針變量的引用
10.2.3 指針變量作為函數參數
10.3 數組的指針和指向數組的指針變量
10.3.1 指向數組元素的指針
10.3.2 通過指針引用數組元素
10.3.3 數組和指向數組的指針變量作函數參數
10.3.4 指向多維數組的指針和指針變量
10.4 字符串的指針和指向字符串的指針變量
10.4.1 字符串的表示形式
10.4.2 字符串指針作函數參數
10.4.3 字符指針變量和字符數組的討論
10.5 函數的指針和指向函數的指針變量★
10.5.1用函數指針變量調用函數
10.5.2 用指向函數的指針作函數參數
10.6 返回指針值的函數
10.7 指針數組和指向指針的指針
10.7.1 指針數組
10.7.2 指向指針的指針
10.7.3 指針數組作main函數的形參
習題
第11章 其他數據類型
11.1 結構體
11.1.1 結構體類型的聲明
11.1.2 定義結構體類型變量
11.1.3 結構體變量的引用
11.1.4 結構體變量的初始化
11.2 結構體數組
11.2.1 定義結構體數組
11.2.2 結構體數組的初始化
11.2.3 結構體數組應用舉例
11.3 指向結構體類型數據的指針
11.3.1 指向結構體變量的指針
11.3.2 指向結構體數組的指針
11.3.3 用結構體變量和指向結構體的指針作函數參數
11.4 鏈表
11.4.1 鏈表概述
11.4.2 處理動態(tài)鏈表所需的函數
11.4.3 建立動態(tài)鏈表
11.4.4 輸出鏈表
11.4.5 刪除鏈表的結點
11.4.6 插入鏈表結點
11.4.7 鏈表的綜合操作
11.5 共用體
11.5.1 共用體的概念
11.5.2 共用體變量的引
11.6 枚舉類型
11.7 用typedef定義類型
習題
第12章 位運算
12.1 位運算符和位運算
12.2 按位取反(~)運算符
12.3 按位與(&)運算符
12.4 按位或(|)運算符
12.5 按位異或(^)運算符
12.6 左移(<<)運算符
12.7 右移(>>)運算符
12.8 位運算賦值運算符
12.9 不同長度的運算數之間的運算規(guī)則
12.10 位運算程序實例
習題
第13章 文件
13.1 文件概述
13.2 文件指針
13.3 文件的打開與關閉
13.3.1 fopen函數
13.3.2 fclose函數
13.4 文件的讀寫
13.4.1 fputc函數
13.4.2 fgetc函數
13.4.3 fputs函數
13.4.4 fgets函數
13.4.5 fprintf函數
13.4.6 fscanf函數
13.4.7 fwrite函數
13.4.8 fread函數
13.4.9 rewind函數
13.4.10 fseek函數
13.4.11 ftell函數
13.4.12 feof函數
13.4.13 ferror函數
習題
第14章 C++及面向對象程序設計基礎
14.1 類與對象的定義
14.1.1 類的定義
14.1.2 對象的定義與使用
14.2 對象的初始化、構造函數和析構函數
14.2.1 構造函數
14.2.2 析構函數
14.3 對象的使用
14.3.1 類的包含和子對象的初始化
14.3.2 對象指針
14.3.3 對象數組
14.4 對象在函數間的傳遞
14.4.1 對象作為函數的返回值
14.4.2 對象作為函數參數
14.5 對象的作用域與生命周期
14.6 靜態(tài)數據成員和靜態(tài)成員函數
14.7 ?元
14.7.1 友元函數
14.7.2 友元成員
14.7.3 友元類
14.8 常對象
習題
第15章 繼承性與派生類
15.1 基類與派生類
15.2 單一繼承
15.2.1 單一繼承派生類的定義
15.2.2 公有繼承、私有繼承和保護繼承
15.2.3 單一繼承派生類的構造函數和析構函數
15.3 多重繼承
15.3.1 多重繼承派生類的定義
15.3.2 多重繼承派生類的構造函數和析構函數
15.3.3 多重繼承中的歧義
15.4 虛基類
15.4.1 虛基類的概念
15.4.2 虛基類及其派生類的構造函數和析構函數
習題
第16章 多態(tài)性與虛函數
16.1 多態(tài)性與虛函數
16.2 運算符重載
16.2.1 運算符重載為成員函數
16.2.2 運算符重載為友元函數
16.3 靜態(tài)聯編和動態(tài)聯編
16.3.1 靜態(tài)聯編
16.3.2 動態(tài)聯編
16.4 虛函數
16.5 純虛函數和抽象類
16.5.1 純虛函數
16.5.2 抽象類
習題
第17章 綜合程序設計
17.1 排序算法比較
17.2 個人通訊錄
17.3 萬年歷
習題
附錄Ⅰ Visual C++ 6.0常見錯誤提示
附錄Ⅱ ANSI C常用庫函數
參考文獻