●前言
二維碼索引
第1章初識C語言
1.1計算機和程序設計語言
1.2C語言的發展和特點
1.3C語言程序的初步探索
1.4算術表達式的計算
1.5如何學好程序設計:模仿、理解和運用
習題
第2章數據類型、運算和輸入輸出
2.1標識符和關鍵字
2.2常量和變量
2.3常用的基本數據類型的及其特點
2.4C程序基本結構:DICO和A+B問題
2.5程序設計在線評測繫統
2.6基本算術運算(取整和取餘)
2.7格式化輸入:三位數反轉
2.8浮點數:計算圓的周長和面積
2.9字符類型
2.10強大、經典的scanf和printf
2.11在命令行編譯和運行程序
2.12文件、I/O重定向和管道*
習題
第3章分支結構
3.1if-else語句的三種基本形式
3.2語法錯誤和邏輯錯誤
3.3運算符、表達式和優先級
3.4邏輯運算符的短路特性
3.5多路分支語句switch-case-break
3.6代碼格式化:讓代碼清晰易讀
3.7C語言的if~else匹配問題*
習題
第4章循環結構
4.1最簡單的循環:簡單重復
4.2循環表示序列:計算1~100的和
4.3從特定的數擴展到序列:水仙花數
4.4三種基本循環結構及運行流程
4.5流程圖和while循環:3n+1問題
4.6do-while循環:迭代法求平方根
4.7二重循環:九九乘法表
4.8多重循環:水仙花數
4.9改變循環執行流程:break和continue
4.10while典型結構:讀取比較二合一*
習題
第5章算法和程序設計
5.1程序=算法+數據結構
5.2算法的五大特點
5.3算法的表示
5.4程序設計方法
5.5C++中的標準模板庫(STL)*
習題
第6章批量數據的處理——數組
6.1初識數組:從一組數中找出優選值
6.2數組進階:選擇排序法
6.3動態申請數組*
6.4二維數組:計算方陣素之和
6.5模擬:奇數階魔方(從偽代碼到C語言)*
6.6數組應用舉例:統計各類字符的個數
習題
第7章函數
7.1函數的基本知識
7.2函數的調用過程
7.3編寫自定義函數——分段函數
7.4函數的四種類型
7.5數組作為函數參數:尋找數組中的優選值
7.6遞歸函數:計算階乘和斐波那契數列
7.7計算程序運行時間:遞歸和遞推的效率比較*
7.8經典遞歸問題:漢諾塔*
7.9編譯流程:預處理、編譯、彙編、鏈接
7.10全局變量、靜態變量:優化斐波那契數列的遞歸版本
習題
第8章特殊的字符數組——字符串
8.1字符串的聲明、輸入和輸出
8.2字符串的簡單應用:判斷回文
8.3字符數組的空間和字符串的長度
8.4常用字符串處理函數
8.5字符串不是一等公民
8.6使用memset函數初始化數組*
習題
第9章指針——地址的別名
9.1初識指針
9.2數組和指針
9.3函數的傳值調用和傳地址調用
9.4字符串指針和字符數組:隻讀和可寫
9.5指針數組和命令行參數*
9.6指向函數的指針:快速排序函數的應用*
習題
第10章結構體
10.1初識結構體:重寫兩點之間的距離
10.2結構體的初始化和三種訪問方式
10.3數據類型的空間分配
10.4初識鏈表(自引用結構)
習題
第11章文件處理
11.1文件與流
11.2文件的打開和關閉方法
11.3文件的讀寫
11.4文件的定位與隨機讀寫
習題
附錄A常用字符與ASCII值對照表
附錄B運算符的優先級和結合性
附錄C常用庫函數
附錄DC語言程序技能自我評估表
參考文獻