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