第 1章 揭開計算機的神秘面紗 001
1.1 計算機的發(fā)展歷程 002
1.2 計算機的組成原理 003
1.3 一臺完整的計算機是由硬件和軟件構成的 008
1.4 對計算機來說所有的東西都是數字 010
1.5 二進制 013
1.6 八進制和十六進制 015
1.7 數制轉換 016
1.8 計算機內部數據的基本單位——字節(jié) 023
練習題 025
第 2章 程序的“奧妙”:進入C語言的世界 029
2.1 機器語言 030
2.2 高級語言 032
2.3 完整的C語言程序長啥樣 034
2.4 main() 函數 036
2.5 C語言程序中的語句 037
2.6 流程:程序中語句的執(zhí)行次序 039
2.7 算法:程序解決問題的處理步驟 040
2.8 算法描述 043
練習題 048
第3章 變量和數組:C語言中數據的表示方法 050
3.1 C語言中的數據及數據類型 051
3.2 變量:保存數據(值)的空間 053
3.3 變量的類型 055
3.4 變量的命名規(guī)則 057
3.5 賦值語句:向變量代入數據(值) 059
3.6 交換兩個變量的值 061
3.7 數組 065
3.8 數組聲明和引用 067
3.9 二維數組 069
3.10 二維數組的引用 071
3.11 數組的初始化 073
3.12 字符串:字符數據組成的數組 075
練習題 079
第4章 輸出輸入:C程序與用戶的交互方式 080
4.1 數據輸出:printf()函數和puts()函數的使用 081
4.2 printf()中的轉化字符用法詳解 089
4.3 數據輸入:scanf()函數的使用 093
4.4 字符的輸出輸入 099
4.5 預處理指令:#include 和#define 101
4.6 內置函數:system() 104
4.7 C語言怎么做數學運算 107
4.8 數據類型轉換 109
4.9 自增與自減運算符 111
4.10 C語言中的標準數學庫函數 112
4.11 復合賦值運算符 113
練習題 114
第5章 順序結構:語句按順序依次執(zhí)行 119
5.1 順序結構的算法描述 120
5.2 編程實例1:桐桐分糖果 122
5.3 編程實例2:數字分離(splitnum) 124
5.4 編程實例3:農夫與石頭 128
5.5 編程實例4:計算旅行花費 130
5.6 編程實例5:時間戳(times) 132
練習題 136
第6章 選擇結構:根據條件判斷改變執(zhí)行流程 139
6.1 關系運算 140
6.2 邏輯運算 142
6.3 if-else條件語句 145
6.4 編程實例1:整除和排序 146
6.5 條件運算符“ : ” 150
6.6 多層條件語句:if-else語句的嵌套 152
6.7 編程實例2:構造三角形和優(yōu)惠促銷 154
6.8 switch開關語句 158
6.9 編程實例3:成績登記和計算某月天數 160
練習題 164
第7章 循環(huán)結構:讓某個操作重復執(zhí)行多次 167
7.1 循環(huán)結構的算法描述 168
7.2 while當型循環(huán)語句 170
7.3 編程實例1:統(tǒng)計字符數和求最大公約數 172
7.4 do-while 直到型循環(huán)語句 176
7.5 編程實例2:十進制數轉換為二進制數 177
7.6 編程實例3:分解質因子 180
7.7 do-while 語句與while 語句的互換 182
7.8 編程實例4:判斷質數和數列求和(1) 183
7.9 for 循環(huán)語句 188
7.10 編程實例5:數列求和(2) 189
7.11 編程實例6:棋盤上的麥?!?91
7.12 編程實例7:求最大值和最小值 194
7.13 for 循環(huán)語句的嵌套 196
7.14 編程實例8:嵌套循環(huán)應用 197
7.15 用for 循環(huán)語句給數組元素賦值 201
7.16 編程實例9:遍歷數組 202
7.17 冒泡排序:使用嵌套的for循環(huán) 205
7.18 編程實例10:排序 206
7.19 終止循環(huán):break和continue語句 208
7.20 編程實例11:順序查找 210
7.21 編程實例12:二分法查找 211
練習題 213
第8章 函數:可重復使用的功能性“零件” 218
8.1 函數是C 程序中最主要的“組合零件” 219
8.2 函數的定義 220
8.3 函數的調用 222
8.4 函數調用時參數的傳遞:值傳遞 225
8.5 函數調用時數組的傳遞 226
8.6 編程實例1:計算組合數和計數 229
8.7 變量的作用域:文件作用域和塊作用域 231
8.8 C程序執(zhí)行過程中變量的存儲期 233
8.9 編程實例2:矩陣轉置 236
8.10 編程實例3:數制轉換 238
練習題 242
第9章 結構體:多種類型數據的集合體 246
9.1 結構體:多種類型數據的集合體 247
9.2 結構體的聲明 248
9.3 結構體對象的定義及初始化 249
9.4 結構體對象成員的訪問 252
9.5 相同類型的結構體對象可以互相賦值 253
9.6 編程實例1:比較兩個日期的遲早 254
9.7 編程實例2:計算獎學金總額 256
9.8 編程實例3:按考試成績排名次 258
練習題 260
第 10章 指針:用內存地址指定對象 262
10.1 內存地址和指針的定義 263
10.2 指針和函數 268
10.3 指針和scanf() 函數 270
10.4 指針和數組 271
10.5 指針和結構體 274
10.6 鏈表結構 275
10.7 編程實例1:構造單向鏈表 278
10.8 單向鏈表的基本操作 280
10.9 編程實例2:鏈表結點的查找、插入和刪除 282
10.10 其他鏈表結構 285
10.11 編程實例3:構造雙向鏈表 286
10.12 編程實例4:約瑟夫問題(Joseph) 287
練習題 289
第 11章 文件處理:長期保存程序運行結果 295
11.1 流式文件 296
11.2 文件的打開與關閉 297
11.3 用函數對文件進行讀寫操作 299
11.4 編程實例1:按字符復制文件 302
11.5 編程實例2:存取格式數據 303
11.6 編程實例3:文件合并 304
11.7 編程實例4:按考試成績排名次 308
練習題 310
參考答案 312
參考文獻 320