本書主要講C語言編程的基礎知識,是學習C語言的入門級圖書。本書以知識點為中心,循序漸進地引導初學者了解計算機的基礎知識,揭開計算機程序的神秘面紗,進而逐步講解C語言的基本概念和各種編程基礎知識,*終實現(xiàn)用C語言編寫簡單的程序來解決一些數(shù)學問題。 本書用通俗化的語言和形象的比喻來解釋各種專業(yè)術語,同時用大量的圖示和實例代碼來幫助理解,并輔以各類練習題供學習者自己動手進行編程實踐。本書適合小學高年級、中學生及編程愛好者作為學習編程的入門圖書使用,也可作為備考青少年信息學奧賽的初級教材使用。
C語言一直是經典的編程語言,應用范圍非常廣泛。本書全彩印刷,寓教于樂,易于學習;讀者可以輕松與快樂地掌握解決問題方法和程序設計思維。 當你完成這一編程之旅后,你將學到: ·C語言中數(shù)據(jù)的表示方法 ·使用C語言做數(shù)學運算 ·使用順序、選擇和循環(huán)語句等控制結構 ·動手掌握34個編程實例 不管是作為程序開發(fā)的入門教程還是作為課后娛樂,或者僅僅是為了家庭教育,本書都是完美的配套教程。在計算機前與你的孩子度過有趣而富有成效的親子時光,你們都將收獲頗多。 隨書附贈案例及習題代碼資源,讀者可以掃描前言中的二維碼獲取資源。
黨松年,畢業(yè)于蘭州大學,現(xiàn)就職于紹興文理學院。計算機編程愛好者,熟悉C、C 、Java等多種編程語言,深入理解面向對象的程序設計思想。從事DBA工作15年,具有豐富的計算機系統(tǒng)管理與教學經驗,F(xiàn)致力于少兒編程培訓。 方澤波,紹興文理學院數(shù)理信息學院院長,博士/教授,香港城市大學訪問學者,浙江省高校高水平創(chuàng)新團隊負責人,浙江省高校新興特色專業(yè)微電子科學與工程專業(yè)負責人。
第 1章 揭開計算機的神秘面紗 001
1.1 計算機的發(fā)展歷程 002
1.2 計算機的組成原理 003
1.3 一臺完整的計算機是由硬件和軟件構成的 008
1.4 對計算機來說所有的東西都是數(shù)字 010
1.5 二進制 013
1.6 八進制和十六進制 015
1.7 數(shù)制轉換 016
1.8 計算機內部數(shù)據(jù)的基本單位字節(jié) 023
練習題 025
第 2章 程序的奧妙:進入C語言的世界 029
2.1 機器語言 030
2.2 高級語言 032
2.3 完整的C語言程序長啥樣 034
2.4 main() 函數(shù) 036
2.5 C語言程序中的語句 037
2.6 流程:程序中語句的執(zhí)行次序 039
2.7 算法:程序解決問題的處理步驟 040
2.8 算法描述 043
練習題 048
第3章 變量和數(shù)組:C語言中數(shù)據(jù)的表示方法 050
3.1 C語言中的數(shù)據(jù)及數(shù)據(jù)類型 051
3.2 變量:保存數(shù)據(jù)(值)的空間 053
3.3 變量的類型 055
3.4 變量的命名規(guī)則 057
3.5 賦值語句:向變量代入數(shù)據(jù)(值) 059
3.6 交換兩個變量的值 061
3.7 數(shù)組 065
3.8 數(shù)組聲明和引用 067
3.9 二維數(shù)組 069
3.10 二維數(shù)組的引用 071
3.11 數(shù)組的初始化 073
3.12 字符串:字符數(shù)據(jù)組成的數(shù)組 075
練習題 079
第4章 輸出輸入:C程序與用戶的交互方式 080
4.1 數(shù)據(jù)輸出:printf()函數(shù)和puts()函數(shù)的使用 081
4.2 printf()中的轉化字符用法詳解 089
4.3 數(shù)據(jù)輸入:scanf()函數(shù)的使用 093
4.4 字符的輸出輸入 099
4.5 預處理指令:#include 和#define 101
4.6 內置函數(shù):system() 104
4.7 C語言怎么做數(shù)學運算 107
4.8 數(shù)據(jù)類型轉換 109
4.9 自增與自減運算符 111
4.10 C語言中的標準數(shù)學庫函數(shù) 112
4.11 復合賦值運算符 113
練習題 114
第5章 順序結構:語句按順序依次執(zhí)行 119
5.1 順序結構的算法描述 120
5.2 編程實例1:桐桐分糖果 122
5.3 編程實例2:數(shù)字分離(splitnum) 124
5.4 編程實例3:農夫與石頭 128
5.5 編程實例4:計算旅行花費 130
5.6 編程實例5:時間戳(times) 132
練習題 136
第6章 選擇結構:根據(jù)條件判斷改變執(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:成績登記和計算某月天數(shù) 160
練習題 164
第7章 循環(huán)結構:讓某個操作重復執(zhí)行多次 167
7.1 循環(huán)結構的算法描述 168
7.2 while當型循環(huán)語句 170
7.3 編程實例1:統(tǒng)計字符數(shù)和求最大公約數(shù) 172
7.4 do-while 直到型循環(huán)語句 176
7.5 編程實例2:十進制數(shù)轉換為二進制數(shù) 177
7.6 編程實例3:分解質因子 180
7.7 do-while 語句與while 語句的互換 182
7.8 編程實例4:判斷質數(shù)和數(shù)列求和(1) 183
7.9 for 循環(huán)語句 188
7.10 編程實例5:數(shù)列求和(2) 189
7.11 編程實例6:棋盤上的麥!191
7.12 編程實例7:求最大值和最小值 194
7.13 for 循環(huán)語句的嵌套 196
7.14 編程實例8:嵌套循環(huán)應用 197
7.15 用for 循環(huán)語句給數(shù)組元素賦值 201
7.16 編程實例9:遍歷數(shù)組 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章 函數(shù):可重復使用的功能性零件 218
8.1 函數(shù)是C 程序中最主要的組合零件 219
8.2 函數(shù)的定義 220
8.3 函數(shù)的調用 222
8.4 函數(shù)調用時參數(shù)的傳遞:值傳遞 225
8.5 函數(shù)調用時數(shù)組的傳遞 226
8.6 編程實例1:計算組合數(shù)和計數(shù) 229
8.7 變量的作用域:文件作用域和塊作用域 231
8.8 C程序執(zhí)行過程中變量的存儲期 233
8.9 編程實例2:矩陣轉置 236
8.10 編程實例3:數(shù)制轉換 238
練習題 242
第9章 結構體:多種類型數(shù)據(jù)的集合體 246
9.1 結構體:多種類型數(shù)據(jù)的集合體 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 指針和函數(shù) 268
10.3 指針和scanf() 函數(shù) 270
10.4 指針和數(shù)組 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 用函數(shù)對文件進行讀寫操作 299
11.4 編程實例1:按字符復制文件 302
11.5 編程實例2:存取格式數(shù)據(jù) 303
11.6 編程實例3:文件合并 304
11.7 編程實例4:按考試成績排名次 308
練習題 310
參考答案 312
參考文獻 320