本店POD版圖書均在書名下有明顯紅字標注,POD圖書屬於按需定製,您下單購買後我們纔開始印刷,故不可取消訂單。 我們一般會在您下單後的7-10個工作日內完成發貨,請謹慎下單!商品無質量問題不支持退貨,定價和裝幀可能會與原書不同,請以實物為準!詳情請谘詢客服 購買電子版圖書請與客服直接聯係,或者到科學齣版社電子商務平颱直接購買 CCF中學生計算機程序設計-入門篇 |
| 定價 | 38.00 |
齣版社 | 科學齣版社 |
版次 | 1 |
齣版時間 | 2016年10月 |
開本 | 16 |
作者 | 中國計算機學會 |
裝幀 | 平裝 |
頁數 | 272 |
字數 | 336 |
ISBN編碼 | 9787030500212 |
內容介紹
本叢書是基於《CCF青少年計算機程序設計評級標準》開發的一個係列培訓教材。該標準圍繞計算機程序設計的知識要求和能力要求,共分十級,其中1-3級為基礎級,4-5級為提高級,6-7級為高手級,8-10級為大師級。本叢書將評級內容進行歸納,計劃1-3級齣1本、4-5級齣1本,6-7級齣1本,8-10級齣1本,共4本教材。
目錄
目錄
第1章編程如此簡單
1.1程序設計概念1
1.2整數算術運算4
1.3實數算術運算8
附錄ADev-C++集成開發環境11
第2章數據的存儲和讀入
2.1變量和變量的類型17
2.2賦值語句和數學錶達式21
*2.3數據類型轉換32
2.4變量的讀入38
*2.5C語言中的scanf語句和printf語句43
2.6順序結構程序設計實例51
附錄B基本數據類型56
附錄C常用數學函數57
第3章程序的選擇執行
3.1if語句和關係錶達式59
3.2邏輯錶達式和條件錶達式68
3.3嵌套if語句75
3.4switch語句83
*3.5分支結構程序設計實例92
第4章程序段的反復執行
4.1for語句105
4.2while語句119
4.3do-while語句131
4.4多重循環142
*4.5在循環結構中應用位運算156
*4.6循環結構程序設計實例167
附錄Dbreak語句和continue語句178
第5章數據的批量存儲
5.1一維數組183
5.2活用數組下標192
5.3數值排序和查找204
5.4字符數組220
5.5二維數組233
*5.6數組的綜閤應用實例245
參考文獻261
索引263
在綫試讀
第1章編程如此簡單
為什麼計算機能管理龐大的係統?為什麼人能指揮計算機按自己的想法做事?計算機能超*人的思維嗎?麵對計算機,很多人都會帶著或多或少的疑問。其實,計算機是通過執行一個個程序來實現各種神奇的功能。人們要指揮計算機做事,需要編寫程序,把自己的思想融入程序中,再利用這些程序按照自己的思路去指揮計算機工作。
1.1程序設計概念
【例1.1】用記事本編寫一個程序,讓計算機告訴大傢我愛編程,即“Iloveprogramming.”
程序如下:
1//exam1.1
2#include
3usingnamespacestd;
4intmain()
5{
6cout<<"Iloveprogramming."<7return0;
8}
編寫完這個程序後,大傢還會有些疑問,程序為什麼要這樣寫?編程到底要遵循什麼樣的規則?這個程序編寫後怎樣讓計算機去執行呢?為瞭迴答這些問題,我們必須先弄清一些概念。
1.1.1編程概念
1.程序和計算機語言
程序就是為實現特定目標或解決特定問題而用計算機語言編寫的一係列指令序列。
計算機語言是人與計算機之間通信的語言。計算機語言有很多種,比如BASIC語言、PASCAL語言、C語言、C++語言、Java語言等,每種程序語言都有自身所定義的規則,即使是同一個語言也有不同的版本,內部規則也會有少許不同,比如C++語言就有VisualC++、Dev-C++等。
編程可以簡單理解為程序員為解決特定問題,按照自己的思路,在遵循特定的計算機語言規則下編寫程序的過程。因此,要學好編程,首先選擇一種計算機語言,然後按照該程序語言規則編寫程序。本書以C++語言規則為例來學習編程。
2.編輯和編譯
在某種計算機語言環境下編寫程序的過程,叫程序的編輯。程序編輯好後,計算機是不是就可以立即運行呢?其實不然。這個程序在沒有被計算機識彆之前,僅僅隻是一些符號所組成的文本。就像我們讀的書籍一樣,如果不經過大腦去領會書籍內容所包含的含義,文字永遠隻能是文字,課本也隻能是課本,但經過我們的大腦學習和領會瞭書籍文字中所包含的內涵和思想,那麼看起來死闆的文字就成為大腦所學到的知識。程序也一樣,也需要計算機去學習和領會程序所包含的含義,這個學習和領悟的過程當然不完全類似人腦對知識的學習,而僅僅是按照計算機語言所對應的規則,對所編寫的程序進行解析的過程,這個過程叫翻譯。翻譯分為兩種方式,一種叫解釋,是計算機對程序的指令翻譯一句執行一句的行為,BASIC語言和Java語言都屬於解釋語言;另一種叫編譯,是計算機對程序的全部指令一次性全部翻譯後,再讓計算機執行的行為,PASCAL語言和C++語言都屬於編譯型語言。
高級語言程序要通過編譯器纔能運行得到結果,不同的計算機語言使用的編譯器不同,如不能用C++編譯器編輯運行BASIC語言編寫的程序,同時,編譯後的程序,在不同操作係統環境下進行的解析也會略有區彆。
3.集成開發環境
知道瞭編輯和編譯後,自然就需要一個用來編輯程序的軟件和一個對程序進行編譯的軟件。編輯的軟件有很多,所有的文本編輯器都可以,比如記事本。編譯的軟件隻能是特指,比如C語言用的是GCC編譯器,C++語言用的是G++編譯器等。
一個程序編輯後,需要經過編譯,方可執行。可萬一編寫程序時齣錯瞭,或者程序思路有問題,那麼就要反復對程序進行編輯和編譯,顯得非常麻煩。為瞭方便程序的編輯和編譯,軟件公司開發瞭程序語言的集成環境,也就是將編輯和編譯調試集成在一塊,形成瞭集成開發環境(IntegratedDevelopmentEnvironment,IDE)。IDE對人們學習編程提供瞭極大的方便。
為瞭學習方便,本章將在附錄A中簡單介紹DEVC++的IDE使用方法。當然大傢選擇C++語言的其他IDE也可,使用方法也與Dev-C++的IDE類似。
1.1.2程序結構
為瞭弄清C++的編程規則,首先我們看C++程序的基本結構,如圖1.1所示。
圖1.1C++語言基本結構
由圖1.1可以看齣,C++程序由頭文件、名字空間和主函數組成。
1.頭文件
頭文件是C++程序對其他程序的引用。頭文件作為一種包含功能函數、數據接口聲明的載體文件,用於保存程序的聲明。include的英文含義是“包括”。格式為:#include<引用文件名>或#include“引用文件名”。
2.名字空間
指明程序采用的名字空間。采用名字空間是為瞭在C++新標準中,解決多人同時編寫大型程序時名字産生衝突問題。比如A、B兩個班都有叫張三的人,你要使用A班的張三,必然要先指明是A班這個名字空間(namespace),然後你對張三的所有命令纔能達到你的預想,不會叫錯人。“usingnamespacestd”錶示這個程序采用的全部都是std(標準)名字空間,std是英文單詞standard(標準)縮寫。若不加這句,則該程序中cout和endl都需指明其名字空間的齣處。cout語句必須寫成std::cout<<"Iloveprogramming."<3.主函數
日常生活中,我們要完成一件具有復雜功能的事,總是習慣把“大功能”分解為多個“小功能”來實現。在C++程序的世界裏,“功能”可稱為“函數”,因此“函數”其實就是一段實現瞭某種功能的代碼,並且可以供其他代碼調用。
一個程序,無論復雜或簡單,總體上都是一個“函數”,這個函數稱為“main函數”,也就是“主函數”。比如有個“做菜”程序,那麼“做菜”這個過程就是“主函數”。在主函數中,根據情況,你可能還需要調用“買菜、切菜、炒菜”等子函數。main函數在程序中大多數是必須存在的,程序運行時都是找main函數來執行。
每個函數內的所有指令都需用花括號“{}”括起來。一般每個函數都需要有一個返迴值,用return語句返迴。
練習
(1)閱讀附錄A中的Dev-C++集成開發環境,嘗試運行圖1.1的程序。
(2)熟悉C++程序的基本結構,嘗試改變程序,輸齣你想說的句子。
1.2整數算術運算
【例1.2】把20張畫平均分給7個同學,每人分得幾張,還剩幾張?
分析:每個人分得的張數是20除以7的商,剩餘的張數是20除以7的餘數。
程序如下:
1//exam1.2
2#include
3usingnamespacestd;
4intmain()
5{
6cout<<20/7<7cout<<20%7<8return0;
9}
5
運行結果:
對於這個解決問題的程序,大傢的疑問會是什麼呢?cout語句能做什麼事?如何錶達兩個整數相除的商和餘數?為瞭迴答這些問題,我們需要學習cout語句的格式和使用,學習算術錶達式的計算機錶示方式。
1.2.1cout語句
cout是C++的輸齣語句,C++的輸齣和輸入是用“流”(stream)的方式實現的。
圖1.2C++的輸齣流
在定義流對象時,係統會在內存中開闢一段緩衝區,用來暫存輸入輸齣流的數據。在執行cout語句時,先把數據存放在輸齣緩衝區中,直到輸齣緩衝區滿或遇到cout語句中的endl或'
'為止,此時將緩衝區中已有的數據一起輸齣,並清空緩衝區。輸齣流中的數據在係統默認的設備(一般為顯示器)輸齣。輸齣遇到endl或'
'換行。cout語句的一般格式為:cout<<項目1<<項目2<<…<<項目n;
功能:
(1)如果項目是錶達式,則輸齣錶達式的值。
(2)如果項目加引號,則輸齣引號內的內容。
1.2.2算術運算符
在例1.2中運用cout語句輸齣算術錶達式的值,C++語言為算術運算提供瞭5種基本算術運算符號:加(+)、減(-)、乘(×)、除(/)還有模(%)。如錶1.1所示。
錶1.1基本算術運算符
上述運算符的優先級與數學中相同,*、/、%高於+、-。
錶1.1中特彆值得注意的是“/”號和“%”,對於“/”號,當參與運算的數含有實數,運算結果是兩數相除的值,當參與運算的兩個數都是整數,運算結果是兩數相除的商,如:例1.2程序中第6行求20/7的商為2;對於“%”是求兩個整數相除的餘數,如:例1.2程序中第7行求20%7的餘數為6。
【例1.3】閱讀下列程序和運行結果,學習錶達式的書寫格式,瞭解程序中錶達式運算先後順序和數學習慣的數學錶達式運算先後順序的關係。
1//exam1.3
2#include
3usingnamespacestd;
4intmain()
5{
6cout<<9/8<<4*(6+3)%5<<(4*6+3)%5<7return0;
8}
運行結果:
說明:由於9和8是整數,因此,9/8結果為1;對於式子4*(6+3)%5,先計算4*(6+3)的值為36然後%5,結果為1;對於式子(4*6+3)%5,先計算(4*6+3)的值為27然後%5,結果為2。錶達式的運算先後順序與數學習慣相同。
【例1.4】在例1.3中3個錶達式的運行結果緊挨在一起,希望改變輸齣方式,要求:(1)每個錶達式值隔開一個空格;(2)在結果前提示錶達式。
CCF中學生計算機程序設計-入門篇 信息學奧賽官方指定用書 下載 mobi epub pdf txt 電子書 格式