《C語言程序設計》是國家精品課程“計算機基礎”系列課程“C語言程序設計”的主教材,《C語言程序設計》內容包括兩大部分:第一部分為C語言基礎篇,主要包括C語言概述、基本數據類型與運算、語句與流程控制、數組、指針、函數、復雜數據類型、編譯預處理和文件的操作。第二部分為程序設計提高篇,主要包括程序設計方法和工程化程序設計。
《C語言程序設計》體系完整、結構嚴謹、注重應用、強調實踐,在編寫時兼顧了計算機等級考試的要求。為方便教學,《C語言程序設計》還配有電子課件,任課教師可登錄華信教育資源網免費注冊下載。
《C語言程序設計》可作為高等學校計算機程序設計基礎課程的教材,也可作為全國計算機等級考試二級C語言的培訓或自學教材。
C語言基礎篇
第1章 C語言概述
1.1 程序與程序設計
1.2 C語言的發展和特點
1.2.1 C語言的發展
1.2.2 C語言的特點
1.3 C語言的程序結構及特點
習題1
第2章 基本數據類型與運算
2.1 類型的重要性
2.2 C語言的基本數據類型
2.3 標志符
2.4 常量與變量
2.4.1 常量
2.4.2 符號常量
2.4.3 變量
2.4.4 變量的定義
2.5 整型數據
2.5.1 整數類型
2.5.2 整型常量
2.5.3 整型變量
2.6 實型數據
2.6.1 實型類型
2.6.2 實型常量
2.6.3 實型變量
2.7 字符型數據
2.7.1 字符型常量
2.7.2 字符型變量
2.7.3 字符串常量
2.8 變量賦值
2.8.1 變量初始化
2.8.2 變量賦值
2.9 運算符和表達式
2.9.1 算術運算符和算術表達式
2.9.2 簡單賦值運算符和賦值
表達式
2.9.3 關系運算符和關系表達式
2.9.4 邏輯運算符和邏輯表達式
2.9.5 自增、自減運算符
2.9.6 條件運算符和條件表達式
2.9.7 逗號運算符和逗號表達式
2.9.8 數據類型長度運算符
2.9.9 算術自反賦值運算符
2.10 位運算
2.10.1 邏輯位運算符
2.10.2 移位運算符
2.10.3 位自反賦值運算符
2.11 運算符的結合性和優先級
總結
習題2
第3章 語句與流程控制
3.1 三種基本的程序控制結構
3.2 數據的輸入與輸出
3.2.1 格式化輸出函數
3.2.2 格式化輸入函數
3.3 字符輸入與輸出函數
3.3.1 字符輸入函數
3.3.2 字符輸出函數
3.4 順序結構語句
3.4.1 語句概述
3.4.2 順序結構語句概述
3.4.3 程序舉例
3.5 選擇結構語句
3.5.1 選擇性問題
3.5.2 if條件語句
3.5.3 開關語句
3.6 循環結構語句
3.6.1 問題的引入
3.6.2 While語句
3.6.3 for語句
3.6.4 do…while語句
3.6.5 break和continue語句
3.6.6 多重循環
3.6.7 goto語句和標號
習題3
第4章 數組
4.1 數組的引入與定義
4.1.1 問題的引入
4.1.2 一維數組的定義
4.2 一維數組的使用
4.2.1 一維數組初始化
4.2.2 一維數組元素的引用
4.2.3 一維數組應用舉例
4.3 二維數組
4.3.1 二維數組的定義及使用
4.3.2 二維數組應用舉例
4.4 字符串與字符數組
4.4.1 引入字符串
4.4.2 字符串與字符數組的概念
4.4.3 字符數組初始化
4.4.4 字符串基本處理函數
4.4.5 字符數組應用舉例
習題4
第5章 指針
5.1 指針的概念
5.1.1 指針的引入
5.1.2 指針變量與指針常量
5.2 指針的使用
5.2.1 指針變量的定義與初始化
5.2.2 指針的運算
5.2.3 指針的安全
5.3 指針與一維數組
5.4 指針與二維數組
5.4.1 理解二維數組
5.4.2 通過指針訪問二維數組
5.4.3 指向一維數組的指針
變量
5.5 指針數組與指針的指針
5.5.1 指針數組
5.5.2 指向指針的指針
5.6 對指針的幾點說明
習題5
第6章 函數
6.1 引入函數
6.1.1 函數的概念
6.1.2 使用函數的目的
6.1.3 函數的分類
6.2 函數的定義與說明
6.2.1 自定義函數的定義
6.2.2 函數的返回值
6.2.3 自定義函數的說明
6.3 函數調用
6.3.1 函數調用的一般形式
6.3.2 參數傳遞
6.3.3 函數的遞歸調用
6.4 函數指針
6.4.1 函數指針變量定義
6.4.2 函數指針變量的使用
6.5 函數應用舉例
習題6
第7章 復雜數據類型
7.1 變量的存儲類別
7.1.1 存儲空間分類
7.1.2 變量的存儲類別
7.2 變量的生存期和作用域
7.2.1 變量的生存期
7.2.2 變量的作用域
7.2.3 變量的存儲類別與作用域
和生存期總結
7.3 結構體與共用體
7.3.1 結構體
7.3.2 共用體
7.4 枚舉類型
7.5 用typedef定義類型
習題7
第8章 編譯預處理與外部函數
8.1 編譯預處理
8.1.1 宏替換
8.1.2 文件包含
8.1.3 條件編譯
8.2 外部函數
8.3 多個源程序文件的編譯
連接
習題8
第9章 文件的操作
9.1 文件的基本概念
9.1.1 C語言支持的文件格式
9.1.2 文件操作的基本思路
9.2 文件的基本操作
9.2.1 文件指針
9.2.2 文件的打開與關閉
9.2.3 字節級的文件的讀/寫
9.2.4 文件結束判斷函數
9.3 字符串的文件讀/寫
9.3.1 fgets函數
9.3.2 fputs函數
9.4 數據的格式化讀/寫
9.4.1 fprintf函數
9.4.2 fscanf函數
9.5 記錄級的文件讀/寫
9.5.1 fread函數
9.5.2 fwrite函數
9.6 文件位置指針的移動
9.6.1 rewind函數
9.6.2 ftell函數
9.6.3 fseek函數
9.7 文件應用舉例
習題9
程序設計提高篇
第10章 程序設計方法
10.1 算法
10.1.1 算法的概念
10.1.2 算法描述
10.1.3 算法效率的衡量
10.2 查找
10.2.1 順序查找法
10.2.2 折半查找法
10.2.3 分塊查找法
10.3 排序
10.3.1 插入排序
10.3.2 交換排序
10.3.3 選擇排序
10.4 程序設計的基本思維原則
10.4.1 枚舉原則
10.4.2 歸納原則
10.4.3 抽象原則
10.5 鏈表
10.5.1 空間的申請
10.5.2 空間的釋放
10.5.3 鏈表的引入
10.5.4 鏈表的基本操作
10.6 應用舉例
習題10
第11章 工程化程序設計
11.1 程序設計概述
11.1.1 程序設計方法與風格
11.1.2 程序設計的基本步驟
11.1.3 程序設計方法的發展
11.2 結構化程序設計
11.2.1 結構化程序設計的基本
思想
11.2.2 結構化程序設計
的優缺點
11.3 面向對象程序設計簡述
11.3.1 面向對象程序設計思想
的產生
11.3.2 面向對象程序設計的
基本概念
11.3.3 面向對象程序設計
的優點
11.4 工程化程序設計
11.4.1 軟件工程的基本概念
11.4.2 可行性分析
11.4.3 需求分析
11.4.4 概要設計
11.4.5 詳細設計
11.4.6 編碼
11.4.7 軟件測試
11.4.8 軟件維護
習題11
附錄A Visual C++集成環境使用
指南
附錄B 常用運算符及其優先級
和結合性
附錄C 標準C語言頭文件
附錄D C語言系統關鍵字
附錄E ASCII碼表
參考文獻