《C語言程序設計》介紹C語言的基礎知識,以Visual C ++ 6.0為編程環(huán)境,通過分析問題、設計算法、編寫和調試程序這些步驟,力求讓讀者掌握分析問題的方法,培養(yǎng)設計算法的能力。
全書共17章。第1章~第3章介紹程序設計與C語言的基礎知識;第4章~第7章介紹4種基本的算法與程序設計;第8章~第11章介紹函數(shù)、編譯預處理、指針、結構體和鏈表等;第12、第13章介紹位運算與文件;第14章~第16章介紹面向對象程序設計的類與對象、繼承與派生、多態(tài)性與虛函數(shù);第17章介紹幾個綜合實例。
本書內(nèi)容由淺入深,具?較強的可讀性,適合大學生作為程序設計課程教材,也可作為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章 數(shù)據(jù)類型、運算符與表達式
3.1 C語言的數(shù)據(jù)類型
3.2 常量與變量
3.2.1 變量
3.2.2 常量
3.3 整型數(shù)據(jù)
3.3.1 整型常量與變量
3.3.2 整型數(shù)據(jù)的輸入和輸出
3.3.3 整型數(shù)據(jù)在內(nèi)存中的存儲方式
3.4 實型數(shù)據(jù)
3.4.1 實型常量與變量
3.4.2 實型數(shù)據(jù)的輸入和輸出
3.4.3 實型數(shù)據(jù)在內(nèi)存中的存儲方式
3.5 字符型數(shù)據(jù)
3.5.1 字符型常量、轉義字符與變量
3.5.2 字符型數(shù)據(jù)的輸入和輸出
3.6 字符串
3.7 算術運算符和算術表達式
3.7.1 C語言運算符簡介
3.7.2 算術運算符和表達式
3.7.3 自增自減運算符
3.7.4 賦值運算符和賦值表達式
3.7.5 逗號運算符和表達式
3.8 數(shù)據(jù)類型的轉換
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章 數(shù)組
7.1 數(shù)組
7.1.1 數(shù)組的引出
7.1.2 多維數(shù)組
7.2 一維數(shù)組算法設計
7.3 一維數(shù)組程序設計
7.3.1 一維數(shù)組的定義
7.3.2 數(shù)組元素引用
7.3.3 一維數(shù)組初始化
7.3.4 一維數(shù)組程序設計
7.4 二維數(shù)?算法設計
7.5 二維數(shù)組程序設計
7.5.1 二維數(shù)組的定義
7.5.2 數(shù)組元素引用
7.5.3 二維數(shù)組初始化
7.5.4 二維數(shù)組程序設計
7.6 字符數(shù)組
7.6.1 字符數(shù)組的定義和使用
7.6.2 字符串數(shù)組
7.6.3 字符串處理函數(shù)
7.6.4 字符串處理算法和程序設計
習題
第8章 函數(shù)
8.1 函數(shù)的定義和調用
8.1.1 函數(shù)定義
8.1.2 函數(shù)調用
8.1.3 參數(shù)的傳遞
8.1.4 函數(shù)返回值
8.2 數(shù)組作為參數(shù)
8.3 函數(shù)的嵌套調用
8.4 函數(shù)的遞歸調用
8.5 局部變量和全局變量
8.6 變量的存儲類別和生存期
8.7 程序的模塊化設計
習題
第9章 編譯和編譯預處理
9.1 宏定義
9.1.1 不帶參數(shù)的宏定義
9.1.2 帶參數(shù)的宏定義
9.2 文件包含
9.3 條件編譯
習題
第10章 指針
10.1 地址和指針
10.2 變量的指針和指向變量的指針變量
10.2.1 定義指針變量
10.2.2 指針變量的引用
10.2.3 指針變量作為函數(shù)參數(shù)
10.3 數(shù)組的指針和指向數(shù)組的指針變量
10.3.1 指向數(shù)組元素的指針
10.3.2 通過指針引用數(shù)組元素
10.3.3 數(shù)組和指向數(shù)組的指針變量作函數(shù)參數(shù)
10.3.4 指向多維數(shù)組的指針和指針變量
10.4 字符串的指針和指向字符串的指針變量
10.4.1 字符串的表示形式
10.4.2 字符串指針作函數(shù)參數(shù)
10.4.3 字符指針變量和字符數(shù)組的討論
10.5 函數(shù)的指針和指向函數(shù)的指針變量★
10.5.1用函數(shù)指針變量調用函數(shù)
10.5.2 用指向函數(shù)的指針作函數(shù)參數(shù)
10.6 返回指針值的函數(shù)
10.7 指針數(shù)組和指向指針的指針
10.7.1 指針數(shù)組
10.7.2 指向指針的指針
10.7.3 指針數(shù)組作main函數(shù)的形參
習題
第11章 其他數(shù)據(jù)類型
11.1 結構體
11.1.1 結構體類型的聲明
11.1.2 定義結構體類型變量
11.1.3 結構體變量的引用
11.1.4 結構體變量的初始化
11.2 結構體數(shù)組
11.2.1 定義結構體數(shù)組
11.2.2 結構體數(shù)組的初始化
11.2.3 結構體數(shù)組應用舉例
11.3 指向結構體類型數(shù)據(jù)的指針
11.3.1 指向結構體變量的指針
11.3.2 指向結構體數(shù)組的指針
11.3.3 用結構體變量和指向結構體的指針作函數(shù)參數(shù)
11.4 鏈表
11.4.1 鏈表概述
11.4.2 處理動態(tài)鏈表所需的函數(shù)
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 不同長度的運算數(shù)之間的運算規(guī)則
12.10 位運算程序實例
習題
第13章 文件
13.1 文件概述
13.2 文件指針
13.3 文件的打開與關閉
13.3.1 fopen函數(shù)
13.3.2 fclose函數(shù)
13.4 文件的讀寫
13.4.1 fputc函數(shù)
13.4.2 fgetc函數(shù)
13.4.3 fputs函數(shù)
13.4.4 fgets函數(shù)
13.4.5 fprintf函數(shù)
13.4.6 fscanf函數(shù)
13.4.7 fwrite函數(shù)
13.4.8 fread函數(shù)
13.4.9 rewind函數(shù)
13.4.10 fseek函數(shù)
13.4.11 ftell函數(shù)
13.4.12 feof函數(shù)
13.4.13 ferror函數(shù)
習題
第14章 C++及面向對象程序設計基礎
14.1 類與對象的定義
14.1.1 類的定義
14.1.2 對象的定義與使用
14.2 對象的初始化、構造函數(shù)和析構函數(shù)
14.2.1 構造函數(shù)
14.2.2 析構函數(shù)
14.3 對象的使用
14.3.1 類的包含和子對象的初始化
14.3.2 對象指針
14.3.3 對象數(shù)組
14.4 對象在函數(shù)間的傳遞
14.4.1 對象作為函數(shù)的返回值
14.4.2 對象作為函數(shù)參數(shù)
14.5 對象的作用域與生命周期
14.6 靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)
14.7 ?元
14.7.1 友元函數(shù)
14.7.2 友元成員
14.7.3 友元類
14.8 常對象
習題
第15章 繼承性與派生類
15.1 基類與派生類
15.2 單一繼承
15.2.1 單一繼承派生類的定義
15.2.2 公有繼承、私有繼承和保護繼承
15.2.3 單一繼承派生類的構造函數(shù)和析構函數(shù)
15.3 多重繼承
15.3.1 多重繼承派生類的定義
15.3.2 多重繼承派生類的構造函數(shù)和析構函數(shù)
15.3.3 多重繼承中的歧義
15.4 虛基類
15.4.1 虛基類的概念
15.4.2 虛基類及其派生類的構造函數(shù)和析構函數(shù)
習題
第16章 多態(tài)性與虛函數(shù)
16.1 多態(tài)性與虛函數(shù)
16.2 運算符重載
16.2.1 運算符重載為成員函數(shù)
16.2.2 運算符重載為友元函數(shù)
16.3 靜態(tài)聯(lián)編和動態(tài)聯(lián)編
16.3.1 靜態(tài)聯(lián)編
16.3.2 動態(tài)聯(lián)編
16.4 虛函數(shù)
16.5 純虛函數(shù)和抽象類
16.5.1 純虛函數(shù)
16.5.2 抽象類
習題
第17章 綜合程序設計
17.1 排序算法比較
17.2 個人通訊錄
17.3 萬年歷
習題
附錄Ⅰ Visual C++ 6.0常見錯誤提示
附錄Ⅱ ANSI C常用庫函數(shù)
參考文獻