本書系統地介紹了利用C語言進行程序設計的基本知識。全書共11章,主要內容包括算法與程序設計基礎、C語言的基本概念、數據類型與表達式、順序結構程序設計、選擇結構程序設計、循環結構程序設計、數組、函數、指針、結構體與共用體、文件。在掌握C語言基礎知識和基本技能的前提下,以綜合案例開發、拓展與探究題目、思維導圖形式的課后總結為手段,以Microsoft Visio 2010和RAPTOR為工具,培養學生科學思維的意識和能力,使其養成嚴謹的程序設計風格和習慣,初步具備運用C語言解決實際問題的能力。
第1章 程序設計基礎
1.1 引例
1.1.1 軟硬件基礎
1.1.2 編寫程序
1.2 算法
1.2.1 算法及其特性
1.2.2 算法的表示方法
1.2.3 算法設計的基本方法
1.3 程序與程序設計
1.3.1 程序與程序設計語言
1.3.2 程序設計語言處理過程
1.3.3 計算機解題過程
1.3.4 程序設計方法
1.4 案例—“學生成績管理系統”
需求分析與模塊圖的繪制
第1章 程序設計基礎
1.1 引例
1.1.1 軟硬件基礎
1.1.2 編寫程序
1.2 算法
1.2.1 算法及其特性
1.2.2 算法的表示方法
1.2.3 算法設計的基本方法
1.3 程序與程序設計
1.3.1 程序與程序設計語言
1.3.2 程序設計語言處理過程
1.3.3 計算機解題過程
1.3.4 程序設計方法
1.4 案例—“學生成績管理系統”
需求分析與模塊圖的繪制
本章小結
探究性題目:使用RAPTOR進行程序設計
第2章 C語言概述
2.1 引例
2.2 C語言出現的歷史背景
2.3 C語言的特點
2.4 C程序結構和代碼書寫規則
2.4.1 C程序結構
2.4.2 代碼書寫規則
2.5 C程序的實現
2.5.1 C程序的實現步驟和調試
2.5.2 VC++6.0的使用
本章小結
探究性題目:C語言應用領域及其應用前景的分析
第3章 數據類型與表達式
3.1 引例
3.2 C語言的數據類型
3.3 常量與變量
3.3.1 常量
3.3.2 變量
3.3.3 常變量
3.4.4 標識符
3.4 基本數據類型
3.4.1 整型數據
3.4.2 浮點型數據
3.4.3 字符型數據
3.4.4 如何確定常量的類型
3.5 運算符和表達式
3.5.1 運算符和表達式簡介
3.5.2 算術運算符和算術表達式
3.5.3 賦值運算符和賦值表達式
3.5.4 逗號運算符和逗號表達式
3.5.5 位運算符與位運算表達式
3.6 類型轉換
3.6.1 隱含類型轉換
3.6.2 強制類型轉換
3.6.3 賦值過程中的類型轉換
3.7 案例—“學生成績管理系統”
中學生屬性數據的描述
3.7.1 任務描述
3.7.2 數據描述
3.7.3 算法描述
3.7.4 程序實現
本章小結
探究性題目:VC++6.0中浮點型數據
存儲形式
第4章 順序結構程序設計
4.1 引例
4.2 C語句概述
4.3 數據輸入/輸出
4.3.1 字符數據的輸入和輸出
4.3.2 格式輸入與輸出函數
4.4 順序結構程序設計
4.5 使用scanf()函數常見的問題
4.6 案例—“學生成績管理系統”
中用戶菜單的設計與實現
本章小結
探究性題目:常用緩沖和非緩沖輸入
庫函數使用方法的剖析
第5章 選擇結構程序設計
5.1 引例
5.2 關系運算和邏輯運算
5.2.1 關系運算
5.2.2 邏輯運算
5.3 if語句
5.3.1 if語句的3種基本形式
5.3.2 if語句的嵌套
5.4 條件運算符
5.5 switch語句
5.6 選擇結構程序設計舉例
5.7 案例—“學生成績管理系統”中用戶菜單的選擇
5.7.1 任務描述
5.7.2 數據描述
5.7.3 算法描述
5.7.4 程序實現
本章小結
探究性題目:C編譯器對邏輯運算的優化
第6章 循環結構程序設計
6.1 引例
6.2 概述
6.2.1 C語言中實現循環的5種機制
6.2.2 goto語句以及用goto語句構成循環
6.3 循環語句
6.3.1 while語句
6.3.2 do-while語句
6.3.3 for語句
6.3.4 幾種循環的比較
6.4 循環的嵌套
6.5 break語句和continue語句
6.5.1 break語句
6.5.2 continue語句
6.6 循環結構程序舉例
6.7 案例—“學生成績管理系統”中用戶菜單的循環選擇
6.7.1 任務描述
6.7.2 數據描述
6.7.3 算法描述
6.7.4 程序實現
本章小結
探究性題目:算法中循環結構的時間
復雜度分析
第7章 數組
7.1 引例
7.2 一維數組的定義和引用
7.2.1 一維數組的定義
7.2.2 一維數組的引用
7.2.3 一維數組的初始化
7.2.4 一維數組應用舉例
7.3 二維數組的定義和引用
7.3.1 二維數組的定義
7.3.2 二維數組的引用
7.3.3 二維數組的初始化
7.3.4 二維數組應用舉例
7.4 字符數組
7.4.1 字符數組的定義與引用
7.4.2 字符數組與字符串
7.4.3 字符數組的初始化
7.4.4 字符數組的輸入/輸出
7.4.5 字符串處理函數
7.4.6 字符數組應用舉例
7.5 案例—以數組為數據結構實現“學生成績管理系統”
7.5.1 任務描述
7.5.2 數據描述
7.5.3 算法描述
7.5.4 程序實現
本章小結
探究性題目:高精度計算
第8章 函數
8.1 引例
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.5 函數的嵌套調用和遞歸調用
8.5.1 函數的嵌套調用
8.5.2 函數的遞歸調用
8.6 變量的作用域
8.6.1 局部變量
8.6.2 全局變量
8.6.3 同名變量的作用域重合問題
8.7 變量的存儲類別
8.7.1 動態存儲方式與靜態存儲方式
8.7.2 auto變量和register變量
8.7.3 用extern聲明外部變量
8.7.4 static變量
8.8 內部函數和外部函數
8.9 預處理命令
8.10 再論C程序組織結構
8.11 案例—以函數為模塊化設計手段改寫“學生成績管理系統”
8.11.1 任務描述
8.11.2 模塊劃分
8.11.2 接口設計
8.11.3 主模塊的實現
8.11.4 子模塊的實現
本章小結
探究性題目:C語言中函數調用機理的探討
第9章 指針
9.1 引例
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.5.4 使用字符指針變量和字數組的比較
9.6 指針與函數
9.6.1 用函數指針變量調用函數
9.6.2 返回指針值的函數
9.7 指針數組和指向指針的指針
9.7.1 指針數組的概念
9.7.2 指向指針的指針
9.7.3 指針數組作main函數的形參
9.8 動態內存分配
9.8.1 C程序存儲空間布局
9.8.2 動態內存分配函數
9.9 案例—以指針為編程手段改寫
“學生成績管理系統”
9.9.1 任務描述
9.9.2 數據描述
9.9.3 算法描述
9.9.4 程序實現
本章小結
探究性題目:使用C語言實現動態數組
第10章 結構體與共用體
10.1 引例
10.2 結構體類型與結構體變量
10.2.1 結構體類型的聲明
10.2.2 結構體變量的定義
10.2.3 結構體變量的引用和初始化
10.3 結構體數組
10.3.1 結構體數組的定義和初始化
10.3.2 結構體數組應用舉例
10.4 指向結構體類型數據的指針
10.4.1 指向結構體變量的指針
10.4.2 指向結構體數組的指針
10.4.3 結構體變量和指向結構體的指針作函數參數
10.5 線性表
10.5.1 線性表概述
10.5.2 線性表的順序表示和實現
10.5.3 線性表的鏈式表示和實現
10.6 共用體
10.6.1 共用體的概念
10.6.2 共用體變量的引用方式
10.6.3 共用體的數據類型的數據特征
10.7 枚舉類型
10.8 用typedef聲明新類型名
10.9 案例—以線性表為數據結構改寫“學生成績管理系統”
10.9.1 任務描述
10.9.2 數據描述
10.9.3 算法描述
10.9.4 程序實現
本章小結
探究性題目:用C語言實現Excel中多字段排序
第11章 文件
11.1 引例
11.2 C文件概述
11.2.1 文件
11.2.2 文件標識
11.2.3 文件的分類
11.2.4 文件緩沖區
11.2.5 文件類型指針
11.2.6 C語言中文件操作的基本步驟
11.3 文件的打開與關閉
11.3.1 文件的打開
11.3.2 文件的關閉
11.4 文件的順序讀寫
11.4.1 字符的讀寫
11.4.2 字符串的讀寫
11.4.3 格式化讀寫
11.4.4 數據塊的讀寫
11.5 文件的隨機讀寫
11.6 文件讀寫的出錯檢測
11.7 案例—“學生成績管理系統”中學生數據 文件的輸入與輸出
本章小結
探究性題目:漢字點陣字庫中漢字點陣的提取與顯示操作初探
附錄A C語言中的關鍵字
附錄B C運算符的優先級與結合性
附錄C 常用ASCII字符表
附錄D 常用庫函數
參考文獻