本書圍繞中國計算機學會(CCF)發(fā)布的《CCF編程能力等級認證C & Python認證標準》中的 C 部分而設(shè)計,主要介紹C 編程和算法學習的相關(guān)內(nèi)容。 本書對標CCF編程能力等級認證(GESP)C 一級,詳細介紹了初識C 編程、變量、輸入語句、算術(shù)運算、浮點型數(shù)據(jù)和字符型數(shù)據(jù)、程序控制結(jié)構(gòu)及順序結(jié)構(gòu)、分支結(jié)構(gòu)、關(guān)系表達式和邏輯表達式、多分支和switch 語句、循環(huán)結(jié)構(gòu)及for 循環(huán)、while 循環(huán)和do-while循環(huán)、程序控制結(jié)構(gòu)的嵌套、break 和 continue語句、程序控制結(jié)構(gòu)綜合應用、程序測試及調(diào)試等內(nèi)容。 為幫助讀者夯實編程基礎(chǔ),本書特設(shè)置案例、基礎(chǔ)知識練習一大部分選自GESP歷年真題。另外,本書還配有課件、視頻等資源,讀者購書后,可關(guān)注傲夢少年微信公眾號進行領(lǐng)取。 本書可以作為中小學編程社團的教材,也可以作為少兒編程培訓機構(gòu)的培訓教材,還可以作為少兒編程等級考試和編程競賽的入門教材。
1.對標GESP編程認證新規(guī)的備賽用書
2.備考科技特長生的啟蒙讀物
3.一線教研團隊 教練傾力打造
4.OJ在線評測平臺 視頻課程 配套代碼
王桂平,計算機科學與技術(shù)專業(yè)博士、副教授、碩導。從 2003 年開始從事大學生程 序設(shè)計競賽指導工作,帶隊參加過浙江省、重慶市、四川省、廣東省大學生程序設(shè)計大賽,以及中國大學生程序設(shè)計大賽、國際大學生程序設(shè)計大賽、中國高校計算機大賽團體程序設(shè)計天梯賽、藍橋杯大賽等各類程序與算法設(shè)計類賽事,指導的學生獲得國家級獎項 100 余項、省級獎項 1000 余項;主持省部級教學研究項目 5 項(含重大項目 1 項),主持重慶市一流課程 1 門;以第一作者發(fā)表教學研究論文近 20 篇;以第一作者發(fā)表科學研究論文 30 余篇,其中 SCI 論文 9 篇、EI論文 10 篇,主持省部級科研項目 3 項,主研國家級科研項目 3 項。著有《圖論算法理論、實現(xiàn)及應用》《程序設(shè)計方法及算法導引》《C 趣味編程及算法入門》《C 編程與信息學競賽數(shù)學基礎(chǔ)》《信息學競賽教程》等多部圖書;多所中小學兼職信奧教練。 張兵,中國計算機學會 GESP&PTA 自由度服務(wù)中心負責人、重慶大學繼續(xù)教育學院 家校社中心主任、傲夢少年聯(lián)盟負責人。 在編程教育與信奧教育、青少年人工智能、青少年多元化成長路徑、醫(yī)工融合等領(lǐng)域均有深入研究。此外,還主導并參與了 1 項重慶市技術(shù)創(chuàng)新與應用示范項目、1 項重慶市科技型企業(yè)技術(shù)創(chuàng)新與應用發(fā)展專項項目。 王延平,中國計算機學會 GESP 編程能力等級認證組委會主席以及中國計算機學會 PTA 編程師資認證組委會創(chuàng)始主席。具備十余年編程與信息學教學經(jīng)驗,并擁有多 年 GESP、CSP-J/S 培訓經(jīng)歷。多次參與中國電子學會、中國軟件行業(yè)協(xié)會等機構(gòu)組 織的等級考試、競賽的命題及閱卷工作,對GESP 有著深刻的理解和獨特的見解。
第 1章 初識C 編程 001
1.1 程序及編程語言 001
1.2 認識鍵盤 002
1.3 鍵盤上的字母為什么不按順序排列 002
1.4 如何練習打字 003
1.5 程序的編寫、編譯和運行 004
1.6 案例1:Hello World! 005
1.7 案例2:輸出大小寫字母、計算數(shù)學式子 006
1.8 案例3:輸出由加號組成的菱形 007
1.9 練習1:求兩門課程成績總分(1) 008
1.10 練習2:還剩多少錢(1) 008
1.11 練習3:輸出星號長方形 009
1.12 C和C 語言的發(fā)展及版本變遷 009
1.13 基礎(chǔ)知識練習(GESP真題) 010
第 2章 數(shù)據(jù)的存儲變量 012
2.1 計算機里的重要部件CPU、硬盤和內(nèi)存 012
2.2 變量的由來變量就是用來存儲數(shù)據(jù)的 012
2.3 常量和變量 014
2.4 數(shù)據(jù)類型 014
2.5 案例1:求兩門課程成績總分(2) 014
2.6 案例2:求數(shù)學成績(1) 016
2.7 案例3:求兩年后的年齡 016
2.8 練習1:凈勝球(1) 017
2.9 練習2:求女生人數(shù) 018
2.10 練習3:求身高 018
2.11 計算機小知識:度量存儲空間大小的單位 019
2.12 基礎(chǔ)知識練習(GESP真題) 020
第3章 數(shù)據(jù)的輸入輸入語句 022
3.1 有輸入也有輸出才更有意義 022
3.2 編程解題的步驟 022
3.3 案例1:求兩門課程成績總分(3) 023
3.4 案例2:求數(shù)學成績(2) 024
3.5 案例3:交換兩個變量的值 025
3.6 練習1:凈勝球(2) 027
3.7 練習2:有多少同學不上延時課 028
3.8 練習3:還剩多少錢(2) 029
3.9 基礎(chǔ)知識練習(GESP真題) 030
第4章 數(shù)據(jù)的運算算術(shù)運算 033
4.1 加、減、乘、除之外還有取余 033
4.2 算術(shù)運算符和算術(shù)表達式 034
4.3 案例1:小楊買書(GESP真題) 034
4.4 案例2:休息時間(GESP真題) 035
4.5 案例3:小楊的考試(GESP真題) 037
4.6 練習1:小楊購物(GESP真題) 038
4.7 練習2:時間規(guī)劃(GESP真題) 039
4.8 練習3:1~n有多少個3的倍數(shù)(除法) 040
4.9 基礎(chǔ)知識練習(GESP真題) 041
第5章 浮點型數(shù)據(jù)和字符型數(shù)據(jù) 045
5.1 浮點型數(shù)據(jù) 045
5.2 字符型數(shù)據(jù) 045
5.3 圓的周長及圓周率 046
5.4 案例1:求圓的周長和面積 047
5.5 案例2: 3件八五折 048
5.6 案例3:輸出字符菱形 049
5.7 練習1:求陰影部分的面積 050
5.8 練習2:小寫字母變大寫字母 051
5.9 練習3:輸出后面第4個字母 051
5.10 拓展閱讀:基本的數(shù)據(jù)類型 052
5.11 自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換 053
5.12 基礎(chǔ)知識練習(GESP真題) 053
第6章 程序控制結(jié)構(gòu)及順序結(jié)構(gòu) 056
6.1 吃午餐的流程 056
6.2 算法就是求解問題的步驟 057
6.3 3種基本的程序控制結(jié)構(gòu) 057
6.4 流程圖的規(guī)范表示 057
6.5 案例1:體質(zhì)指數(shù)計算 058
6.6 案例2:攝氏溫度轉(zhuǎn)華氏溫度 059
6.7 案例3:分蘋果 060
6.8 練習1:順流而下和逆流而上 061
6.9 練習2:角度和弧度的轉(zhuǎn)換 062
6.10 練習3:預測孩子身高 063
6.11 計算機小知識: 3種基本的程序控制結(jié)構(gòu) 064
6.12 基礎(chǔ)知識練習(GESP真題) 064
第7章 分支結(jié)構(gòu)if語句 065
7.1 學會比較和判斷 065
7.2 實現(xiàn)判斷的if語句 065
7.3 案例1:求4個分數(shù)的最高分 066
7.4 向上取整和向下取整 067
7.5 案例2:計算郵資(GESP真題) 068
7.6 案例3:買文具(GESP真題) 069
7.7 語句塊、逗號表達式 071
7.8 條件運算符與條件表達式 071
7.9 練習1:當天的第幾秒(GESP真題) 072
7.10 練習2:水仙花數(shù)(GESP真題) 073
7.11 練習3:溫度轉(zhuǎn)換(GESP真題) 074
7.12 C 語言中的關(guān)鍵字 075
7.13 基礎(chǔ)知識練習(GESP真題) 076
第8章 關(guān)系表達式和邏輯表達式 078
8.1 條件是怎么形成的 078
8.2 關(guān)系運算符和關(guān)系表達式 078
8.3 邏輯運算符和邏輯表達式 079
8.4 邏輯與和邏輯或的例子 079
8.5 布爾(bool)型數(shù)據(jù) 080
8.6 案例1:大月還是小月 081
8.7 案例2:閏年的判斷 082
8.8 案例3:大小寫字母轉(zhuǎn)換 083
8.9 練習1:工作日還是周末 084
8.10 練習2:平年的判斷 085
8.11 練習3:圖書館里的老鼠(GESP真題) 086
8.12 基礎(chǔ)知識練習(GESP真題) 087
第9章 多分支和switch語句 090
9.1 分支結(jié)構(gòu)的嵌套多分支結(jié)構(gòu) 090
9.2 案例1:VIP顧客等級(1) 091
9.3 案例2:每月天數(shù)(GESP真題) 093
9.4 switch語句 094
9.5 案例3:VIP顧客等級(2) 095
9.6 練習1:閏年的判斷(多分支實現(xiàn)) 096
9.7 練習2:判斷是幾位數(shù) 098
9.8 練習3:簡單的計算器 099
9.9 基礎(chǔ)知識練習(GESP真題) 100
第 10章 循環(huán)結(jié)構(gòu)及for循環(huán) 102
10.1 生活中的循環(huán) 102
10.2 循環(huán)結(jié)構(gòu)及for循環(huán) 103
10.3 案例1:求a的n次方(for循環(huán)) 103
10.4 案例2:求1 3 5 … (2n 1)(for循環(huán)) 105
10.5 案例3:累計相加(GESP真題) 107
10.6 取整與四舍五入 108
10.7 練習1:四舍五入到整十數(shù)(GESP真題) 108
10.8 數(shù)列及相關(guān)問題 109
10.9 在程序中實現(xiàn)數(shù)學上的遞推 110
10.10 練習2:輸出等差數(shù)列 110
10.11 練習3:輸出等比數(shù)列 112
10.12 基礎(chǔ)知識練習(GESP真題) 113
第 11章 while循環(huán)和do-while循環(huán) 118
11.1 while循環(huán)和do-while循環(huán) 118
11.2 永真循環(huán)、死循環(huán) 119
11.3 案例1:求a的n次方(while循環(huán)) 120
11.4 案例2:求1 3 5 … (2n 1)(while循環(huán)) 121
11.5 案例3:求一個整數(shù)的位數(shù) 122
11.6 練習1:折紙 123
11.7 練習2:折半 124
11.8 練習3:求一個整數(shù)的各位和 125
11.9 基礎(chǔ)知識練習(GESP真題) 126
第 12章 程序控制結(jié)構(gòu)的嵌套 128
12.1 生活中的嵌套 128
12.2 程序控制結(jié)構(gòu)的嵌套 128
12.3 計數(shù)器和累加器 129
12.4 案例1:閏年統(tǒng)計(GESP真題) 129
12.5 案例2:奇數(shù)和偶數(shù)(GESP真題) 130
12.6 案例3:小明的幸運數(shù)(GESP真題) 131
12.7 練習1:閏年求和(GESP真題) 133
12.8 練習2:求奇數(shù)的和 134
12.9 練習3:求各位數(shù)字的最大值 134
12.10 基礎(chǔ)知識練習(GESP真題) 135
第 13章 break和continue語句 138
13.1 提前結(jié)束循環(huán)和跳過當前這一輪循環(huán) 138
13.2 提前結(jié)束循環(huán)break語句 139
13.3 跳過當前這一輪循環(huán)continue語句 140
13.4 案例1:質(zhì)數(shù)的判定(break語句) 140
13.5 狀態(tài)變量及應用 142
13.6 案例2:小楊報數(shù)(continue語句)(GESP真題) 143
13.7 用break語句退出永真循環(huán) 144
13.8 案例3:求一組正整數(shù)的和 144
13.9 練習1:第 一個100分 145
13.10 練習2:最小質(zhì)因數(shù) 146
13.11 練習3:求偶數(shù)的和 147
13.12 基礎(chǔ)知識練習(GESP真題) 148
第 14章 程序控制結(jié)構(gòu)綜合應用 153
14.1 初識枚舉方法 153
14.2 案例1:找因數(shù)(GESP真題) 154
14.3 案例2:長方形面積(GESP真題) 155
14.4 案例3:美麗數(shù)字(GESP真題) 156
14.5 練習1:立方數(shù)(GESP真題) 157
14.6 練習2:角谷猜想 158
14.7 練習3:回文數(shù)的判定 160
14.8 基礎(chǔ)知識練習(GESP真題) 161
第 15章 程序編譯、測試及調(diào)試 163
15.1 編譯錯誤和邏輯錯誤 163
15.2 常見的編譯錯誤 163
15.3 常見的邏輯錯誤 165
15.4 程序測試 166
15.5 評測系統(tǒng)反饋的評測結(jié)果 167
15.6 程序運行結(jié)果不正確該怎么辦 167
15.7 程序調(diào)試 168
15.8 調(diào)試步驟和方法 168
15.9 案例:質(zhì)數(shù)的判定(測試和調(diào)試) 168
15.10 計算機小知識:bug和debug 171
15.11 基礎(chǔ)知識練習(GESP真題) 171
附錄A Dev-C 使用指南 174
附錄B C語言的輸入輸出函數(shù) 178
附錄C 運算符的優(yōu)先級和結(jié)合性 184
附錄D 本書配套資源使用指南 186
附錄E 基礎(chǔ)知識練習答案 189
參考文獻 194