目錄
Contents
第1章初識C語言
1.1計算機語言概述
1.1.1機器語言
1.1.2匯編語言
1.1.3高級語言
1.2C語言的歷史與特征
1.2.1C語言的起源
1.2.2C語言的發展
1.2.3C語言標準
1.2.4C語言的特征
1.3主流開發環境
1.3.1Code∷Blocks
1.3.2Microsoft Visual
Studio
1.3.3Eclipse
1.3.4Vim
1.3.5Microsoft Visual
C 6.0
1.4**個C程序
1.5C程序運行流程
1.6本章小結
1.7習題
第2章表達式與運算符
2.1注釋
2.2語句
2.3塊
2.4表達式
2.5表達式語句
2.6運算符
2.6.1常用運算符
2.6.2數學運算符
2.6.3賦值運算符
2.6.4復合賦值運算符
2.6.5自加/自減運算符
2.6.6關系運算符
2.6.7逗號運算符
2.6.8運算符的優先級
2.7本章小結
2.8習題
第3章函數
3.1函數的定義與聲明
3.1.1函數的定義
3.1.2函數的聲明
3.2有參函數
3.3形式參數與實際參數
3.4函數的返回值
3.5printf函數與scanf函數
3.5.1printf函數
3.5.2scanf函數
3.6putchar函數與getchar函數
3.6.1putchar函數
3.6.2getchar函數
3.7變量的作用域
3.7.1局部變量
3.7.2全局變量
3.7.3局部變量與全局變量
3.8本章小結
3.9習題
第4章基本數據類型
4.1變量
4.1.1變量的定義
4.1.2標識符
4.1.3關鍵字
4.1.4變量的賦值與初始化
4.1.5初始化的用途
4.2整型變量
4.2.1整型變量的取值范圍
4.2.2超出*大取值范圍
4.2.3整型變量的輸出格式
4.2.4進制轉換
4.2.5輸出八進制和十六進制數
4.3實型變量
4.3.1單精度型變量
4.3.2雙精度型變量
4.3.3長雙精度型變量
4.3.4實型變量的精度
4.4字符型變量
4.4.1ASCII碼表
4.4.2字符型變量的賦值
4.4.3輸出ASCII碼中可見字符
4.4.4數字與數字字符
4.4.5類型轉換
4.4.6類型提升
4.4.7類型下降
4.4.8轉義字符
4.5_Bool型變量
4.6常量
4.6.1宏
4.6.2const常量
4.6.3枚舉型常量
4.7本章小結
4.8習題
第5章分支結構程序
5.1if分支語句
5.1.1else語句
5.1.2else if語句
5.1.3嵌套的if語句
5.1.4if與else的配對
5.1.5多重嵌套的if語句
5.2邏輯運算符
5.2.1邏輯與
5.2.2邏輯或
5.2.3邏輯非
5.2.4改變優先級
5.2.5真與假
5.3條件運算符
5.4switch分支語句
5.5本章小結
5.6習題
第6章循環結構語句
6.1goto語句
6.2while循環
6.2.1限定while循環的次數
6.2.2continue語句跳過循環
6.2.3break語句終止循環
6.2.4exit函數終止程序
6.2.5應用實例——猜數字
6.2.6無限循環
6.3do…while循環
6.4for循環
6.4.1靈活的for循環
6.4.2表達式為空的for循環
6.4.3嵌套的for循環
6.4.4多重for循環
6.5本章小結
6.6習題
第7章數組
7.1數組的用法
7.1.1數組的定義
7.1.2數組的元素
7.1.3倒序存放數據
7.1.4將數組的長度定義為常量
7.1.5數組的初始化
7.1.6數組的存儲方式
7.2數組的實例
7.2.1求平均值
7.2.2查找*大數與*小數
7.2.3斐波那契數列
7.3排序算法
7.3.1冒泡排序
7.3.2選擇排序
7.3.3插入排序
7.4二維數組
7.4.1二維數組的定義及初始化
7.4.2打印楊輝三角形
7.5高維數組
7.6本章小結
7.7習題
第8章指針
8.1內存和地址
8.2指針變量的定義
8.3通過指針進行讀寫
8.4空指針
8.5變更指針保存的地址
8.6指針自身的地址
8.7指針運算
8.7.1指針的加減運算
8.7.2指針的賦值運算
8.7.3指針的相減運算
8.7.4指針的比較運算
8.8指針與數組
8.8.1利用指針輸出數組元素
8.8.2查找*大數與*小數
8.9指針的類型
8.10const與指針
8.10.1常量指針
8.10.2指向常量的指針
8.10.3指向常量的常指針
8.11void指針
8.12本章小結
8.13習題
第9章函數與指針
9.1函數的運行機理
9.2函數的調用
9.3函數的求參順序
9.4函數的嵌套調用
9.5函數的遞歸調用
9.5.1直接調用自身
9.5.2間接調用自身
9.5.3終止遞歸調用
9.5.4遞歸調用的用途
9.6指針作為函數參數
9.6.1按值傳遞
9.6.2按址傳遞
9.6.3實現系統庫函數strupr
9.7數組作為函數參數
9.8指針數組作為函數參數
9.9內部函數
9.10外部函數
9.11可變參數
9.12全局變量
9.13外部變量
9.14靜態變量
9.14.1靜態局部變量
9.14.2靜態全局變量
9.15本章小結
9.16習題
第10章字符串
10.1字符串表示
10.1.1字符數組
10.1.2字符串
10.1.3字符串與指針
10.2字符串輸入
10.2.1gets函數
10.2.2scanf函數讀入字符串
10.3字符串輸出
10.4操作字符串
10.4.1獲取字符串的長度
10.4.2字符串比較
10.4.3字符串查找
10.4.4字符串連接
10.4.5字符串復制
10.4.6字符與字符串的轉換
10.4.7數字與字符串的轉換
10.5通過命令行傳遞參數
10.6字符串函數的實現
10.6.1strlen函數的實現
10.6.2strcat函數的實現
10.6.3strcmp函數的實現
10.7本章小結
10.8習題
第11章基本數據結構
11.1棧
11.1.1定義棧
11.1.2向棧中加入新元素
11.1.3彈出棧中元素
11.1.4查看棧頂元素
11.1.5清空棧
11.1.6打印棧中的元素
11.2隊列
11.2.1定義隊列
11.2.2進入隊列
11.2.3離開隊列
11.2.4清空隊列
11.2.5打印隊列中元素
11.3結構體
11.3.1定義結構體類型
11.3.2定義結構體變量
11.3.3結構體與指針
11.3.4訪問成員變量
11.4鏈表
11.4.1定義鏈表
11.4.2訪問元素
11.4.3插入元素
11.4.4刪除元素
11.4.5釋放鏈表
11.4.6打印鏈表
11.5union共同體
11.5.1定義共同體類型
11.5.2使用不同長度的成員
11.6數據結構應用實例
11.6.1逆波蘭表達式求值
11.6.2為像素點染色
11.7本章小結
11.8習題
第12章文件操作
12.1文件概述
12.1.1文件
12.1.2文本文件與二進制文件
12.1.3流
12.1.4重定向
12.2文件的常用操作
12.2.1使用文件指針
12.2.2文件的基本操作步驟
12.2.3打開文件
12.2.4關閉文件
12.2.5讀寫文件
12.2.6按行讀寫文件
12.2.7格式化文件輸入輸出
12.3文件的高級操作
12.3.1隨機讀寫文件
12.3.2統計文件內容
12.3.3錯誤處理
12.3.4文件的加密與解密
12.4本章小結
12.5習題
第13章預處理
13.1宏定義
13.1.1#define與#undef
13.1.2不帶參數的宏定義
13.1.3帶參數的宏定義
13.1.4帶參宏的注意事項
13.1.5帶參宏與函數的區別
13.1.6宏的嵌套定義
13.2文件包含
13.2.1源文件與頭文件
13.2.2引入頭文件
13.3條件編譯
13.3.1#if/#else/#endif
13.3.2#elif
13.3.3#ifdef
13.3.4#ifndef
13.4本章小結
13.5習題
第14章綜合案例
14.1小應用: 圖書管理系統
14.1.1需求分析
14.1.2數據結構設計
14.1.3系統功能模塊
14.2代碼實現
14.2.1登錄界面與主界面
14.2.2錄入圖書信息
14.2.3圖書信息查詢
14.2.4圖書信息列表
14.2.5刪除圖書信息
14.2.6修改圖書信息
14.2.7圖書信息排序
14.2.8主函數
14.2.9程序運行效果
14.3本章小結
14.4習題