《C語言程序設計》從分析C語言程序的基本結構開始,介紹了常量、變量、表達式和常用輸入輸出庫函數、流程控制、數組和字符串處理、函數、指針、編譯預處理命令、結構體和共用體、文件以及C語言高級程序設計等知識點。考慮到兼容性,《普通高等教育“十二五”規劃教材計算機系列:C語言程序設計》以介紹ansi C為主線。每一章的示例程序都可在visual C++6.0環境下編譯運行,每一章后面均附有習題,讀者通過完成習題可檢驗和鞏固學過的內容。
《C語言程序設計》可作為高等院校本科和專科相關專業的C語言課程教學用書,也可作為計算機應用開發人員的參考書或培訓教材。
由劉國成主編的《C語言程序設計》是普通高等教育十二五規劃教材之一。本書是編者根據多年來的教學心得編寫而成,將C語言的知識體系做了精心編排,知識點涵蓋了數據類型與表達式、流程控制、數組、函數、指針、預處理、結構體和文件等,授課教師可根據學生專業情況對知識點進行取舍。每一章精心挑選具有代表性的例題,例題全部在ⅥsualC 6.0環境下調試通過。根據每章知識點和全國計算機等級考試二級C語言考試大綱精選了課后習題。
第1章 C語言概述
1.1 程序設計語言及其發展
1.1.1 機器語言
1.1.2 匯編語言
1.1.3 高級語言
1.2 C語言的歷史
1.3 C語言的標準
1.4 C語言的程序結構
1.4.1 簡單的C程序剖析
1.4.2 C程序的基本結構
1.5 C程序的運行
1.5.1 運行C程序的步驟
1.5.2 集成開發環境(IDE)
本章小結
習題
第2章 C語言程序設計基礎
2.1 常量
2.1.1 整型常量
2.1.2 實型常量
2.1.3 單字符常量
2.1.4 字符串常量
2.1.5 符號常量
2.2 變量
2.2.1 變量名
2.2.2 變量的類型
2.2.3 變量的定義及操作
2.3 運算符與表達式
2.3.1 算術運算符和算術表達式
2.3.2 關系運算符和關系表達式
2.3.3 邏輯運算符和邏輯表達式
2.3.4 賦值運算符和賦值表達式
2.3.5 自增、自減運算符
2.3.6 條件運算符
2.3.7 逗號運算符和逗號表達式
2.4 運算符的優先級與結合性
2.4.1 優先級
2.4.2 結合性
2.5 類型轉換
2.5.1 隱式類型轉換
2.5.2 顯式類型轉換
本章小結
習題
第3章 輸入與輸出
3.1 讀入一個字符
3.2 輸出一個字符
3.3 格式化輸入
3.3.1 整數輸入
3.3.2 實數輸入
3.3.3 單個字符輸入
3.3.4 字符串輸入
3.4 格式化輸出
3.5 程序舉例
本章小結
習題
第4章 選擇結構程序設計
4.1 if語句
4.1.1 簡單if語句
4.1.2 ifelse語句
4.1.3 嵌套汀else語句
4.1.4 階梯式ifelse語句
4.2 swltch語句
本章小結
習題
第5章 循環結構程序設計
5.1 goto語句
5.2 while語句
5.3 dowhile語句
5.4 for語句
5.5 break語句與continue語句
5.5.1 break語句
5.5.2 continue語句
5.6 循環的嵌套
本章小結
習題
第6章 數組
6.1 一維數組
6.1.1 一維數組的定義
6.1.2 一維數組的引用
6.1.3 一維數組的初始化與賦值
6.1.4 一維數組的應用舉例
6.2 二維數組
6.2.1 二維數組的定義
6.2.2 二維數組的引用
6.2.3 二維數組的初始化與賦值
6.3 字符數組與字符串
6.3.1 字符數組的定義
6.3.2 字符數組的初始化與賦值
6.3.3 字符串和字符數組
6.3.4 字符數組的輸入輸出
6.3.5 字符串處理函數
本章小結
習題
第7章 函數
7.1 函數概述
7.2 函數聲明
7.3 函數定義和函數調用
7.3.1 函數定義
7.3.2 函數調用
7.3.3 參數傳遞
7.4 程序舉例
7.5 函數的嵌套調用和遞歸調用
7.5.1 函數的嵌套調用
7.5.2 函數的遞歸調用
7.6 變量的作用域
7.6.1 局部變量
7.6.2 全局變量
7.7 變量的存儲類別
本章小結
習題
第8章 指針
8.1 指針概述
8.2 訪問變量的地址
8.3 指針變量的定義與運算
8.3.1 指針變量的定義
8.3.2 指針變量的初始化與賦值
8.3.3 通過指針訪問變量
8.3.4 指針的運算
8.4 指針與一維數組
8.5 指向指針的指針與指針數組
8.5.1 指向指針的指針
8.5.2 指針數組
8.6 指針與二維數組
8.6.1 指向二維數組元素的指針
8.6.2 維數組名與指針
8.6.3 維數組與指向一維數組的指針變量
8.7 指針與字符串
8.8 指針兼容性
8.8.1 指針大小兼容
8.8.2 void指針
8.8.3 指針轉換
8.9 指針與函數
8.9.1 指針作為實際參數
8.9.2 指針型函數
8.9.3 函數指針變量
8.10 main函數的參數
本章小結
習題
第9章 編譯預處理
9.1 概述
9.1.1 預處理器的工作方式
9.1.2 預處理命令
9.2 宏定義
9.2.1 不帶參數的宏定義
9.2.2 帶參數的宏定義
9.3 文件包含
9.4 條件編譯
本章小結
習題
第10章 結構體、共用體與枚舉類型
10.1 結構體
10.1.1 定義結構體類型
10.1.2 定義結構體變量
10.1.3 訪問結構體成員
10.1.4 結構體變量的初始化
10.1.5 結構體嵌套
10.1.6 結構體數組
10.1.7 結構體指針變量
10.1.8 結構體與函數
10.2 共用體
10.2.1 定義共用體類型
10.2.2 定義共用體變量
10.2.3 訪問共用體成員
10.2.4 共用體變量的賦值
10.2.5 共用體變量的初始化
10.2.6 共用體的應用
10.3 枚舉類型
10.3.t定義枚舉類型
10.3.2 定義枚舉類型變量
10.4 用typedef定義類型
本章小結
習題
第11章 文件管理
11.1 概述
11.2 文件的打開與關閉
11.2.1 文件指針
11.2.2 文本文件與二進制文件
11.2.3 文件的打開
11.2.4 文件的關閉
11.3 文件的讀/寫
11.3.1 fputc函數和fgetc函數
11.3.2 fread函數和fwrite函數
11.3.3 fscanf函數和fprinf函數
11.3.4 fgets函數和fputs函數
11.4 文件的定位
本章小結
習題
第12章 C語言高級程序設計
12.1 位運算
12.1.1 位運算符
12.1.2 按位與運算
12.1.3 按位或運算
12.1.4 按位異或運算
12.1.5 按位取反運算
12.1.6 左移運算符([[)
12.1.7 右移運算符(]])
12.1.8 程序舉例
12.2 動態存儲分配
12.2.1 malloc函數
12.2.2 calloc函數
12.2.3 realloc函數
12.2.4 free函數
12.3 鏈表
12.3.1 鏈表概述
12.3.2 增加新節點
12.3.3 單向鏈表的遍歷
12.3.4 查找數據項
12.3.5 插入節點
12.3.6 刪除節點
12.3.7 清空鏈表
本章小結
習題
附錄1 部分ascii碼表
附錄2 C語言的部分關鍵字
附錄3 運算符的優先級和結合性
參考文獻