《C語言程序設計》介紹C語言的基礎知識,以Visual C ++ 6.0為編程環(huán)境,通過分析問題、設計算法、編寫和調(diào)試程序這些步驟,力求讓讀者掌握分析問題的方法,培養(yǎng)設計算法的能力。
全書共17章。第1章~第3章介紹程序設計與C語言的基礎知識;第4章~第7章介紹4種基本的算法與程序設計;第8章~第11章介紹函數(shù)、編譯預處理、指針、結(jié)構(gòu)體和鏈表等;第12、第13章介紹位運算與文件;第14章~第16章介紹面向?qū)ο蟪绦蛟O計的類與對象、繼承與派生、多態(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 計算機的組成與程序設計的本質(zhì)
1.2.1 計算機系統(tǒng)結(jié)構(gòu)
1.2.2 程序設計的本質(zhì)
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 結(jié)構(gòu)化的程序設計方法
1.5.1 結(jié)構(gòu)化程序設計
1.5.2 結(jié)構(gòu)化程序設計方法
習題
第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 字符型常量、轉(zhuǎn)義字符與變量
3.5.2 字符型數(shù)據(jù)的輸入和輸出
3.6 字符串
3.7 算術(shù)運算符和算術(shù)表達式
3.7.1 C語言運算符簡介
3.7.2 算術(shù)運算符和表達式
3.7.3 自增自減運算符
3.7.4 賦值運算符和賦值表達式
3.7.5 逗號運算符和表達式
3.8 數(shù)據(jù)類型的轉(zhuǎn)換
3.8.1 隱式類型轉(zhuǎn)換
3.8.2 強制類型轉(zhuǎn)換運算符
習題
第4章 順序結(jié)構(gòu)程序設計
4.1 C語句概述
4.2 C程序的注釋
4.3 順序結(jié)構(gòu)程序設計
4.4 常見的編程錯誤及其調(diào)試
4.4.1 語法錯誤
4.4.2 運行時錯誤
4.4.3 未檢測到的錯誤
4.4.4 邏輯錯誤
4.4.5 程序調(diào)試方法
習題 8
第5章 選擇結(jié)構(gòu)程序設計
5.1 選擇結(jié)構(gòu)算法設計
5.2 關(guān)系運算與邏輯運算
5.2.1 關(guān)系運算符和關(guān)系表達式
5.2.2 邏輯運算符和邏輯表達式
5.3 if語句
5.4 switch語句
5.5 選擇結(jié)構(gòu)的嵌套
5.6 條件運算符
習題
第6章 循環(huán)結(jié)構(gòu)程序設計
6.1 循環(huán)結(jié)構(gòu)概述
6.2 循環(huán)結(jié)構(gòu)算法設計
6.2.1 當型循環(huán)和直到型循環(huán)
6.2.2 循環(huán)算法的設計
6.3 循環(huán)結(jié)構(gòu)編程
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)結(jié)構(gòu)程序舉例
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ù)的定義和調(diào)用
8.1.1 函數(shù)定義
8.1.2 函數(shù)調(diào)用
8.1.3 參數(shù)的傳遞
8.1.4 函數(shù)返回值
8.2 數(shù)組作為參數(shù)
8.3 函數(shù)的嵌套調(diào)用
8.4 函數(shù)的遞歸調(diào)用
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ù)指針變量調(diào)用函數(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 結(jié)構(gòu)體
11.1.1 結(jié)構(gòu)體類型的聲明
11.1.2 定義結(jié)構(gòu)體類型變量
11.1.3 結(jié)構(gòu)體變量的引用
11.1.4 結(jié)構(gòu)體變量的初始化
11.2 結(jié)構(gòu)體數(shù)組
11.2.1 定義結(jié)構(gòu)體數(shù)組
11.2.2 結(jié)構(gòu)體數(shù)組的初始化
11.2.3 結(jié)構(gòu)體數(shù)組應用舉例
11.3 指向結(jié)構(gòu)體類型數(shù)據(jù)的指針
11.3.1 指向結(jié)構(gòu)體變量的指針
11.3.2 指向結(jié)構(gòu)體數(shù)組的指針
11.3.3 用結(jié)構(gòu)體變量和指向結(jié)構(gòu)體的指針作函數(shù)參數(shù)
11.4 鏈表
11.4.1 鏈表概述
11.4.2 處理動態(tài)鏈表所需的函數(shù)
11.4.3 建立動態(tài)鏈表
11.4.4 輸出鏈表
11.4.5 刪除鏈表的結(jié)點
11.4.6 插入鏈表結(jié)點
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 位運算程序?qū)嵗?nbsp;
習題
第13章 文件
13.1 文件概述
13.2 文件指針
13.3 文件的打開與關(guān)閉
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++及面向?qū)ο蟪绦蛟O計基礎
14.1 類與對象的定義
14.1.1 類的定義
14.1.2 對象的定義與使用
14.2 對象的初始化、構(gòu)造函數(shù)和析構(gòu)函數(shù)
14.2.1 構(gòu)造函數(shù)
14.2.2 析構(gòu)函數(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 單一繼承派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)
15.3 多重繼承
15.3.1 多重繼承派生類的定義
15.3.2 多重繼承派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)
15.3.3 多重繼承中的歧義
15.4 虛基類
15.4.1 虛基類的概念
15.4.2 虛基類及其派生類的構(gòu)造函數(shù)和析構(gòu)函數(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ù)
參考文獻