预购商品
书目分类
特别推荐
本書一共分為18章,談論C語言與資料結構的重點,為求達到『從做中學』的目標,本書設計了超過百題的程式範例,幫助讀者學習C語言與基本資料結構。每個程式範例大致分為『程式設計目標』、『參考程式碼』和『程式碼解說』等三個部分,相當適合老師教學與學生自修。
另外,本書蒐集了20題國內外資訊競賽題目,每題皆附有解題策略及程式碼,提供讀者了解實際的競賽題型,以進一步增加程式設計能力。 本書特色
從做中學,提升程式設計解題思考能力
.適量的教學分配
本書將C語言程式設計與資料結構的重要觀念,巧妙地分配在各個章節中,讓讀者可以循序漸進地輕鬆學習,尤其適合課堂教學與個人自學。
.免費的發展軟體
本書使用Dev-C++免費軟體,所有使用者都可以輕易地取得合法軟體,以開發功能強大的C語言程式。
.豐富的學習範例
本書秉持從做中學的創作觀念,提供超過百題實用的程式範例,將精彩的程式範例與程式設計知識,做一妥善的結合,提供最完整的學習方案。
第1章 C的簡介與認識Dev-C++ 本章介紹C程式語言的緣起,以及Dev-C++軟體的免費下載及安裝的程序。完成下載安裝後,進一步說明Dev-C++的程式設計環境,並練習撰寫第一個C語言程式。 第2章 資料型態與格式化輸出/入 變數(Variable)是程式語言最基本的元素之一,它可以存放各種不同型態的資料,我們可以依據程式設計的需求,宣告各種類型的變數,本章介紹C語言中的各種資料型態以及重要的輸出與輸入方法。 第3章 運算子、運算式與敘述 所謂的運算式(expression)就是由運算子(operator)和運算元(operand)來組成;而敘述(statement)就是一個完整的指令,由運算式加上必要的標點符號所組成,本章將會做詳細的介紹。 第4章 流程圖與選擇性敘述 本章將介紹C語言的判斷敘述,包括:「if敘述」、「if…else…敘述」、「if…else if…else…敘述」、「switch敘述」以及「巢狀If」…等。 第5章 迴圈 迴圈結構使得程式語言更具威力,且善用了電腦的好處,可以不厭其煩的重複執行特定程式敘述,以完成指定的動作。本章介紹了C語言所提供的for、while、do…while等迴圈結構。 第6章 函式 函式是結構化語言的一個重要元素,有了函式,一個複雜的程式難題,可以分解為數個較小、較簡單的問題,分別用函式表現出來。正確的使用函式,可以使程式的可讀性增加,也可以使程式在偵錯及修改上更為容易。 第7章 陣列 陣列是最基本的資料結構之一,宣告一個陣列,等同於宣告了多個同樣型態的變數。本章將會介紹如何使用陣列,以及使用陣列的好處。 第8章 指標 指標(pointer)是C語言中一項非常重要的資料型態,它的功能強大,可以用來模擬Call-by-Reference的函式引數傳遞方式,也可以用來製作堆疊、佇列、鏈結串列…等資料結構。 第9章 字串 C語言的字串是以字元陣列的方式呈現,但兩者仍然有些微的不同,字串必定會以『 』結束,而字元陣列則沒有這種限制,本章介紹C語言所提供的字串處理函式,例如:strcat( )、strncat( )、strchr( )、strrchr( )、strcmp( )、strncmp( )…等。 第10章 前置處理器 當一個程式的原始碼完成後,需要經過編譯(compile)程序,才能成為可執行檔。在編譯前,C語言的前置處理器會對程式原始碼做一些處理,包括加入一些程式碼、取代特定字串或是選擇性的略過某些程式碼。前置處理器也可用來製造巨集,取代一些簡單函式的功能,對於C語言的模組化非常有幫助。 第11章 結構、聯合與列舉 好的資料型態可以增進程式的效率,也可以增加程式的可讀性。C語言有幾種自訂資料結構的方法,使程式設計師可以依據程式的需要,自訂所需要的資料結構,不同的問題用不同的資料結構處理,可以增進程式的處理效率。 第12章 輸出/入函式與檔案 這一章我們將繼續介紹C語言基本函式庫內的輸出入函式。 第13章 動態記憶體配置 有了動態記憶體配置,程式可在執行期間向作業系統,動態的指定需要多少記憶體,而這些記憶體在程式釋放空間前,並不會被其他程式所使用,C語言提供了數個函式以達成此功能。 第14章 排序和搜尋 排序(Sort)與搜尋(Search)是資料處理中兩個很基本的問題。以排序為例,當程式有一群資料時,我們可以透過排序,將資料整理成一個有順序的情況。而搜尋則是指,在一群資料中,去找到我們要找的資料。在本章都將會做仔細的介紹。 第15章 堆疊和佇列 堆疊(Stack)為一串在操作上有順序性之資料。將資料儲存進入一個堆疊後,在取出時會產生後進先出LIFO(Last-In-First-Out)的情況。佇列也為一串在操作上有順序性的資料,但所允許操作這種資料結構的方式與堆疊不同。在這章都將會做詳細的解說。 第16章 串列 當程式需要儲存一串同類型資料時,陣列是一個簡單的方法,串列的出現是為了解決一些陣列的缺陷,串列的觀念是根據執行時所需要的記憶體大小,動態配置一塊記憶體,稱為節點(node),節點之間包含了連結的機制,將所有節點串接在一起,因此稱之為串列。 第17章 二元樹 樹(Tree)為一種特殊的資料結構,以一個個節點為單位,但不同於之前的串列,樹的元素藉由分支而成長,串列則是線性的一個個節點連結,樹可以在同一個節點成長兩個以上的節點,形成階層式的架構。 第18章 資訊競賽題解 本章第1~10題擷取自台北市資訊能力競賽,第11~15題擷取自全國資訊能力競賽,第16~20為ACM所舉辦的ICPC歷年試題,每題附有參考解題策略及程式碼,供大家了解實際的競賽題型。 附錄A ASCII 碼表 附錄B 邁向程式設計競賽之路:Online Judge簡介 附錄C C++物件導向程式設計入門
作者簡介 李啟龍
學歷:
國立台灣師範大學 資訊教育研究所碩士
國立交通大學 經營管理研究所碩士
國立台灣大學 資訊網路與多媒體研究所博士班研究
國立台灣科技大學 資訊管理研究所博士候選人
特殊榮譽:
擔任APEC亞太經合會 青年科學節 國家代表
獲得台灣學術網路 TANET 傑出貢獻人員
獲得旺宏科學獎 特殊貢獻指導老師獎
獲得微軟 全球最有價值專家 MVP
客服公告
热门活动
订阅电子报