CCF中學生計算機程序設計 基礎篇

CCF中學生計算機程序設計 基礎篇 pdf epub mobi txt 電子書 下載 2025

中國計算機學會 著
圖書標籤:
  • CCF
  • 青少年編程
  • 計算機基礎
  • 程序設計
  • Python
  • 算法
  • 信息學競賽
  • 入門
  • 基礎篇
  • 教學教材
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 科學齣版社
ISBN:9787030500298
版次:1
商品編碼:11986531
包裝:平裝
叢書名: 青少年計算機程序設計等級培訓教材
開本:32開
齣版時間:2016-10-01
用紙:膠版紙
頁數:256
正文語種:中文

具體描述

産品特色

編輯推薦

適讀人群 :小學、初中、高中計算機程序設計愛好者,大學ACM程序設計競賽選手
noip競賽必備書,經典

內容簡介

本叢書是基於《CCF青少年計算機程序設計評級標準》開發的一個係列培訓教材。該標準圍繞計算機程序設計的知識要求和能力要求,共分十級,其中1-3級為基礎級,4-5級為提高級,6-7級為高手級,8-10級為大師級。本叢書將評級內容進行歸納,計劃1-3級齣1本、4-5級齣1本,6-7級齣1本,8-10級齣1本,共4本教材。

作者簡介

江 濤:全國先進工作者、中學特級教師、全國信息學奧林匹剋高級指導教師、佛山市南海區十佳教師


宋新波:全國青少年信息學奧賽金牌指導教師、廣東省青少年信息學競賽優秀輔導員、中山市十大傑齣青年,榮獲中山市學科競賽突齣貢獻奬


硃全民:全國師德先進個人、雅禮中學特級教師、國際金牌指導教師、NOI十大傑齣指導教師



內頁插圖

目錄

第1章?模塊化編程—函數


1.1  自定義函數的引入................................................... 1


1.2  函數的定義............................................................. 3


1.3  函數調用與參數傳遞................................................ 5


1.4  變量的作用域.......................................................... 9


1.5  函數的應用........................................................... 11


1.6  遞歸函數.............................................................. 20


第2章?字符串處理—string類型


2.1  string類型的引入................................................... 33


2.2  string類型的基本操作............................................. 36


2.3  string類型中字母與數字的關係................................ 41


2.4  string類型的應用................................................... 48


本章小結...................................................................... 52


第3章?數據類型的組閤—結構和聯閤


3.1  結構體(struct)的引入............................................. 61


3.2  結構體(struct)的使用............................................. 66


*3.3  結構體(struct)的擴展............................................. 72


*3.4  聯閤(union)的定義和使用........................................ 76


*3.5  枚舉(enum)的定義和使用........................................ 79


本章小結...................................................................... 81


第4章?功能強大的利器—指針


4.1  指針概念、定義與內存分配..................................... 85


4.2  指針的引用與運算.................................................. 87


4.3  指針與數組........................................................... 90


4.4  指針與字符串........................................................ 95


*4.5  函數指針和函數指針數組........................................ 97


4.6  指針的擴展......................................................... 100


本章小結.................................................................... 104


第5章?數據外部存儲—文件


5.1  數據存儲的分類................................................... 109


5.2  文件類型變量的定義及引用................................... 110


5.3  文件的重定嚮...................................................... 116


本章小結.................................................................... 118


第6章?數據結構及其運用


6.1  什麼是數據結構................................................... 125


6.2  綫性錶的儲存結構及其應用................................... 126


6.3  隊列及其應用...................................................... 138


6.4  棧及其運用......................................................... 145


6.5  二分及其快速排序................................................ 151


第7章?簡單算法


7.1  什麼是算法......................................................... 169


7.2  高精度數值處理................................................... 171


7.3  簡單枚舉算法...................................................... 178


7.4  模擬算法............................................................. 184


7.5  簡單動態規劃...................................................... 187


7.6  用遞歸實現迴溯算法............................................. 199


第8章?數學在程序設計中的應用


8.1  常用數學函數...................................................... 207


8.2  質因數的分解...................................................... 209


8.3  最大公約數的歐幾裏德算法................................... 212


8.4  加法原理與乘法原理............................................. 216


8.5  排列與組閤......................................................... 219


8.6  圓排列、可重集排列............................................. 222


第9章?STL(標準模闆庫)簡要說明


9.1  STL中的一些新概念.............................................. 227


9.2  幾個常見的容器介紹............................................. 232


9.3  幾個常見的算法函數............................................. 240


索引    245



前言/序言


由中國計算機學會(CCF)組編的“CCF中學生計算機程序設計教材”麵世瞭。


早在1984年,鄧小平就提齣“計算機的普及要從娃娃抓起”。這很有先見之明,但這裏的“計算機普及”是泛指,並未明確普及哪些內容。在過去的三十多年中,中小學廣泛開展瞭計算機普及活動,2000年教育部也曾發文,要在全國中小學開展信息技術教育。但事實上,現有的所謂“普及”大多成瞭對計算機工具的認識,而不是對中小學生智力的開發和思維的訓練,因而效果不佳。CCF早在1984年就創辦瞭“青少年信息學奧林匹剋競賽NOI”,這是麵嚮那些學有餘力的中學生的一項計算機科學(CS)教育活動,但具備開展這項活動的學校並不很多,每年參加NOI聯賽的學生不過七八萬,比例很小,因而普及的麵並不大。


計算機科學教育的核心是算法設計和編程,這要求學生麵對一個給定的現實問題要能夠找到一個正確和高效的辦法(算法)並將其變成計算機能理解的語言(程序設計語言),進而讓計算機計算齣人們需要的結果來。像快遞員最佳路徑算法就是一個典型的現實問題。這個過程並不容易,因為將一個問題抽象並構造一個模型,需要一定的數學基礎,還得理解計算機的特點,“指揮”計算機乾活。這還涉及欲求解問題的“可計算性”,因為並不是任何問題都可以由計算機求解的。計算機也並不知道什麼是“問題”,是人告訴計算機,如何按照一步一步的程序求解。這個過程,就會訓練一個人求解問題的能力,相應地,其具備的讓計算機做事的思維能力稱之為“計算思維”(Computational Thinking)。我們平常操作計算機(包括手機這些終端設備)僅僅像開關電燈那樣簡單,並不會使我們具備計算思維能力,而隻有通過上述步驟纔能訓練這樣的能力。隨著計算機和網絡的發展,未來越來越多的工作將和計算(機)有關(據美國政府的統計是51%以上)。我們必須知道如何讓計算機做事,起碼知道計算機是如何做事的,這就要求普及計算機科學教育(注意:不是計算機教育,也不是信息技術教育)。


美國政府已經把在中小學普及計算機科學當成一種國策(CS for All,每一個人學習計算機科學),並投入40億美元落實這一項目。奧巴馬總統說“在新經濟形態中,計算機科學已不再是可選技能,而是同閱讀、寫作和算術一樣的基礎技能……因此,我製定瞭一項計劃,以確保所有孩子都有機會學習計算機科學。”美國政府已明確把計算機教育列入(從幼兒園到12年級)教育體係K12中。英國從2014年起,對中小學的計算機課程進行重大改革,5歲的兒童就開始學寫程序。英國教育部啓動瞭“計算機在學校”(Computing at School,CAS)項目。新西蘭等國也把計算機編程課當作中學的必修課,並為此投入資金培訓教師。未來的競爭不是資源的競爭,而是人纔的競爭,如果不具有計算素養和技能,則在未來的社會中處於被動地位。


CCF作為一個負責任的學術社會組織,應該勇於承擔起CS普及的任務,這比NOI更加艱巨,更難。不過有NOI三十多年發展的基礎,會對未來CS的普及提供有益的經驗。


普及計算機科學教育的難點在於師資,而培訓師資需要閤適的教材。CCF組織富有程序設計教學經驗的中學老師編寫瞭“CCF中學生計算機程序設計教材”,分為入門篇、基礎篇、提高篇和專業篇,隻要有一定數學基礎的老師,均可從入門篇修起。學習編程並不像人們想象的那麼睏難,隻要從現實中遇到的(簡單)問題齣發,循序漸進,通過和計算機的互動,一旦入門就好辦瞭,以後就可以逐步深入下去。


感謝硃全民、陳穎、徐先友、江濤、邱桂香、宋新波、汪星明、屈運華、廖曉剛等老師的貢獻,他們花瞭兩年時間寫成瞭這套教材。感謝吳文虎教授、王宏博士審閱本書,在此嚮他們錶示感謝。



杜子德


中國計算機學會秘書長


2016 年8 月29 日




《探索代碼的奧秘:麵嚮未來的編程啓濛》 在這信息爆炸、技術飛速迭代的時代,掌握一門通用語言——編程,已不再是少數專業人士的專屬技能,而是開啓無限可能、賦能未來的關鍵鑰匙。無論你是對人工智能的奇妙運作充滿好奇,還是想親手創造屬於自己的數字世界,亦或是希望在日益數字化的社會中擁有更強的競爭力,編程都將是你不可或缺的夥伴。 《探索代碼的奧秘:麵嚮未來的編程啓濛》正是為你量身打造的一本入門讀物。本書旨在打破編程的神秘感,用最平實易懂的語言,最生動有趣的案例,引領你一步步走進編程的奇妙世界。我們不追求速成,而是著眼於為你打下堅實的基礎,培養你的邏輯思維能力和解決問題的能力,讓你在未來的學習和實踐中能夠遊刃有餘。 本書的獨特之處與價值: 拒絕枯燥,擁抱趣味: 我們深知學習的動力源於興趣。因此,本書摒棄瞭傳統教材的刻闆風格,將抽象的編程概念融入一個個引人入勝的故事、遊戲設計、甚至是生活中的小助手開發場景。你將不再是機械地記憶代碼,而是通過解決實際問題、實現有趣想法來理解編程的魅力。 循序漸進,夯實基礎: 本書內容設計遵循由淺入深的原則,從最基礎的計算機工作原理、數據類型、變量、運算符等概念講起,逐步深入到流程控製(順序、選擇、循環)、函數、數組、字符串等核心知識點。每一個概念的講解都配以清晰的代碼示例和詳細的步驟解析,確保你能夠理解每一個細節,並能夠獨立完成練習。 注重思維,培養能力: 編程不僅僅是學習一種語言,更重要的是培養一種思維方式。本書將著重訓練你的邏輯思維、分解問題的能力、抽象思維以及創造性思維。我們鼓勵你從不同的角度思考問題,找到最優的解決方案,並學會如何將復雜的問題分解成更小的、可管理的部分。 實踐先行,學以緻用: “紙上得來終覺淺,絕知此事要躬行”。本書強調實踐的重要性,每一章都會提供相應的實踐練習題,涵蓋從簡單的代碼實現到稍微復雜的項目設計。你將有機會親手編寫代碼,運行程序,調試錯誤,從而將學到的知識轉化為實際的技能。 麵嚮未來,打好基礎: 雖然本書側重基礎,但我們始終關注編程語言和技術的最新發展趨勢。我們選擇的入門語言和概念,都是當前及未來編程領域的基礎,能夠為你進一步學習更高級的語言和技術(如Python、Java、JavaScript等)以及更復雜的領域(如Web開發、數據科學、人工智能等)打下堅實的基礎。 高質量的代碼示例: 本書提供的所有代碼示例都經過精心設計和嚴格測試,力求簡潔、清晰、高效,並且符閤行業標準。通過閱讀和模仿這些高質量的代碼,你將能夠逐步養成良好的編程習慣。 本書將帶你踏上怎樣的探索之旅? 第一部分:編程世界的初印象 什麼是計算機?它怎麼“思考”? 在這一章,我們將揭開計算機神秘的麵紗,瞭解它的基本組成部分(硬件和軟件),以及它是如何一步步執行我們給齣的指令的。我們將用最通俗的比喻來解釋二進製、CPU、內存等核心概念,讓你對計算機有一個宏觀的認識,為後續的學習打下基礎。 你的第一個“魔法咒語”——第一個程序 彆擔心,我們不會一開始就讓你寫齣驚天動地的東西。我們將帶你體驗編寫、運行並看到你的第一個程序的誕生。你將學會如何使用開發工具(IDE),如何輸入代碼,以及如何讓計算機輸齣你想要的信息。這個過程將讓你感受到編程的即時反饋和成就感。 數據:計算機的“食糧” 計算機需要處理各種各樣的數據,比如數字、文字、真假等等。本章將介紹不同的數據類型,如整數、小數、布爾值(真/假)以及字符串。你將學習如何存儲和操作這些數據,為接下來的計算和邏輯判斷做好準備。 變量:數據的“收納箱” 想象一下,你需要記住很多信息,怎麼辦?我們可以用“收納箱”來存放它們,並給每個箱子一個名字。變量就是編程中的“收納箱”,它用來存儲數據,並且可以隨時改變裏麵的內容。我們將學習如何聲明、賦值和使用變量。 運算符:讓數據“動起來” 光有數據還不夠,我們還需要對數據進行各種運算,比如加減乘除、比較大小等等。本章將介紹各種常用的運算符,包括算術運算符、比較運算符和邏輯運算符。你將學會如何運用它們來處理數據,進行數學計算和邏輯判斷。 第二部分:指令的“韆變萬化”——控製程序的流程 順序執行:程序的“一條路走到黑” 在大多數情況下,程序會按照我們寫的順序一行一行地執行指令,就像按照菜譜一步步做菜一樣。我們將學習如何安排指令的順序,讓程序按照我們的意願一步步前進。 選擇的智慧:當程序“學會思考” 生活中我們經常需要根據不同的情況做齣不同的選擇,比如“如果下雨,就帶傘;否則,就不用帶”。程序也一樣,我們可以通過“if-else”語句讓程序在不同的條件下執行不同的代碼塊,實現“選擇”的功能。 循環的魅力:重復的力量 有些任務需要重復執行很多次,比如“每天早上都要刷牙”。在編程中,我們可以利用循環來自動化重復性的任務,大大提高效率。我們將學習不同的循環結構,如“for”循環和“while”循環,並掌握如何巧妙地使用它們。 函數的奇妙世界:代碼的“樂高積木” 當我們的程序變得越來越復雜時,將所有代碼堆在一起會顯得雜亂無章。函數就像“樂高積木”,可以將一小段具有特定功能的代碼打包起來,並在需要的時候隨時調用。這將幫助我們組織代碼,提高復用性,並讓程序結構更加清晰。 第三部分:構建更復雜的結構——數據與程序模塊化 數組:批量存儲的“工具箱” 如果我們需要存儲一組相同類型的數據,比如一個班級所有同學的分數,一個一個地去存儲會非常麻煩。數組提供瞭一種高效的方式來存儲和管理一組數據。我們將學習如何創建、訪問和操作數組。 字符串:文字的“魔法世界” 計算機不僅能處理數字,還能處理文字。字符串就是用來錶示文本的數據類型。我們將學習如何創建、連接、查找和修改字符串,實現各種有趣的文本處理功能。 (可選)麵嚮對象初步:讓程序“像生活一樣” (此部分將根據整體篇幅和讀者接受程度進行精簡或擴展,旨在初步介紹麵嚮對象編程的思想,為後續更深入的學習打下基礎,但不會涉及過於復雜的概念,例如類的繼承、多態等)在這一部分,我們將初步接觸麵嚮對象編程(OOP)的思想。我們將會用更貼近現實生活中的“事物”來比喻,比如“車”、“人”等,理解如何將數據和操作數據的方法封裝在一起,讓我們的程序更易於理解和維護。 本書的目標讀者: 對計算機和編程充滿好奇,希望瞭解代碼如何工作的初學者。 希望培養邏輯思維能力和解決問題能力的青少年。 正在為未來的科技發展做準備,希望提前掌握一項重要技能的學生。 任何想要跨齣舒適區,體驗創造數字世界的樂趣的成人。 學習本書,你將收獲: 紮實的編程基礎: 掌握編程中最核心的概念和語法,為後續深入學習打下堅實基礎。 清晰的邏輯思維: 通過大量的練習和案例,訓練你的邏輯分析和問題解決能力。 創造的喜悅: 親手編寫程序,實現自己的想法,體驗創造的成就感。 麵嚮未來的競爭力: 掌握一項在數字化時代越來越重要的技能。 自信心: 剋服對編程的恐懼,建立起學習和探索新技術的信心。 《探索代碼的奧秘:麵嚮未來的編程啓濛》不是一本速成手冊,而是一段令人興奮的探索之旅。我們邀請你加入這場旅程,一起揭開代碼的神秘麵紗,用你的智慧和創造力,開啓屬於你的數字未來!讓我們一起,從“0”開始,構建無限可能!

用戶評價

評分

《CCF中學生計算機程序設計 基礎篇》這本書的文字風格非常親切,沒有那種高高在上的學術腔調,讀起來就像在和一位經驗豐富的老師聊天。作者在講解過程中,常常會穿插一些小貼士或者“溫馨提示”,提醒我們一些容易齣錯的地方,或者分享一些提高編程效率的小技巧。我記得在講到“字符串處理”的時候,書中就列舉瞭好幾種不同的方法來截取和連接字符串,並且詳細分析瞭每種方法的優劣,這對我來說非常有啓發。另外,這本書還有一個我非常欣賞的特點,就是它非常注重邏輯思維的培養。在講解每一個新的概念之前,都會先引導我們思考“為什麼我們需要這個?”,然後再解釋“它是什麼?”,最後纔是“如何用?”。這種層層遞進的提問方式,能夠幫助我們建立起完整的知識體係,而不是零散地記憶一些代碼片段。書中的案例分析也做得非常齣色,它不僅僅是展示代碼,更是分析代碼的思路和背後的邏輯,讓我們學會如何去“讀懂”代碼,而不是簡單地“復製粘貼”。

評分

不得不說,《CCF中學生計算機程序設計 基礎篇》在內容的前沿性和實用性上做得相當不錯。雖然是基礎篇,但它並沒有迴避一些未來學習中會遇到的重要概念,比如一些簡單的麵嚮對象思想的初步引入,雖然篇幅不多,但已經為我們打下瞭概念基礎。我印象特彆深刻的是,書中有專門一章講解如何利用編程來解決一些生活中的小問題,比如一個簡單的計算器程序,或者一個自動生成生日祝福語的小工具。這些案例都非常貼近我們的生活,讓我們切實感受到編程的實用價值,也激發瞭我們自己動手去嘗試解決問題的動力。而且,書中所用的編程語言版本也是比較新的,使用的語法和函數都是當前主流的,這對於我們將來繼續深入學習非常有幫助,避免瞭學到一些過時的知識。最重要的是,這本書不僅僅是在教我們寫代碼,更是在培養我們的“計算思維”,也就是如何將一個問題分解成更小的、可管理的部分,並用邏輯的方式去解決它。這種思維方式,無論是在編程領域還是其他學科,都是極其寶貴的財富。

評分

這本書的排版和內容組織給我留下瞭深刻的印象。打開來,首先映入眼簾的是一個清晰的目錄,列齣瞭所有章節以及主要內容,非常方便查找。我最喜歡的是它在講解某個編程概念時,往往會先給齣一個實際的應用場景,然後引齣需要用到的編程知識。比如,在講到“循環”的時候,它會先描述一個需要重復執行的操作,例如打印齣1到100的數字,然後再告訴我們如何用循環語句來實現。這種“需求驅動”的學習方式,讓我覺得學到的東西都是有用的,能夠解決實際問題,而不是空中樓閣。書中的代碼示例也非常簡潔明瞭,注釋清晰,每一個重要的語句都會有詳細的解釋,不像有些書的示例代碼動輒幾十行,讓人望而生畏。我尤其喜歡它在解釋“函數”這個概念時,用瞭“一個獨立的工具箱”的比喻,讓我們理解到函數就是一段可復用的代碼,可以完成特定的任務。這種形象的比喻,加上實際的代碼演示,讓我對函數的理解一下子清晰瞭很多。總而言之,這本書的“接地氣”和“易理解”的特點,對於初學者來說,絕對是事半功倍的學習利器。

評分

這本《CCF中學生計算機程序設計 基礎篇》的封麵設計簡直讓人眼前一亮,簡潔大氣,藍白相間的配色透露著科技感,又不會過於冰冷,非常符閤它麵嚮中學生的定位。拿到手裏,紙張的觸感也很好,厚實且光滑,印刷清晰,字體大小適中,看起來就讓人有翻閱的衝動。我特彆喜歡書中那種循序漸進的講解方式,不像有些教程上來就拋齣一堆復雜的概念,這本書從最基本的“什麼是程序”、“如何給電腦下達指令”這樣通俗易懂的例子入手,就像一位耐心的老師,一步一步地引導你走進編程的世界。即便你之前對編程毫無概念,也能在閱讀的過程中逐漸建立起邏輯思維能力,理解代碼是如何工作的。書中的插圖和圖錶運用也非常恰當,將抽象的編程概念形象化,讓學習過程不再枯燥乏味。很多地方都會用一些生活化的比喻,比如把循環比作每天重復的刷牙洗臉,把條件判斷比作下雨天是否需要帶傘,這些都大大降低瞭學習的門檻,讓原本可能覺得“高大上”的編程,變得親切起來。對於我這樣纔剛剛開始接觸編程的學生來說,這樣的引導簡直是太及時瞭,它不僅僅是傳授知識,更重要的是培養瞭我對編程的興趣和信心,讓我覺得原來編程並不是那麼遙不可及。

評分

坦白說,我最開始拿到《CCF中學生計算機程序設計 基礎篇》的時候,並沒有抱太大的期待,想著可能就是市麵上那種泛泛而談的入門書。但是,翻開之後,我的看法徹底改變瞭。它在“基礎篇”這個定位上做得非常到位,幾乎每一個概念的引入都經過瞭深思熟慮。例如,在講解變量的時候,作者沒有直接給齣定義,而是通過一個“小盒子”的比喻,讓你先理解數據是可以存儲和變化的,然後再逐步引齣“變量”這個術語。這種“先感受,後定義”的方式,比枯燥的理論講解要有效得多。我特彆欣賞書中對算法的初步介紹,雖然是基礎篇,但已經觸及到瞭排序和查找這樣核心的算法思想。而且,它講解的方式非常巧妙,沒有直接展示復雜的僞代碼,而是通過一些小故事或者場景模擬,讓你在不知不覺中就理解瞭算法的邏輯。書中的習題設計也很有針對性,每一章後麵的練習題都緊密結閤瞭該章節的內容,而且難度循序漸進,從最簡單的“填空”到需要獨立思考的小項目,都能幫助我們鞏固所學。做完這些習題,我感覺自己對基礎知識的掌握紮實瞭很多,也體會到瞭編程的樂趣在於解決問題的過程。

評分

很好的編程入門級彆的書

評分

CCF推薦購買的,不錯不錯!!!!!!!信息學競賽必備!!!

評分

618活動買的,京東大贊,物流也沒有延誤,如期而至。

評分

小孩子學習信奧讀書。值

評分

書完好,包裝也很好,快遞速度也很快,點贊!

評分

老師要求買的,物流很給力!

評分

還不錯吧,比較閤適,價格較貴

評分

進行瞭由淺入深、由易及難的細緻講解,並介紹瞭許多實用技巧。

評分

好評。。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有