本書是著名作者John Lewis與William Loftus作為其一流的CS1教材“Java Software Solutions:Foundations of Program Design”的姊妹篇。盡管本書的英文名為“Java Software Structures: Designing and Using Data Structures”,但正如作者在前言中所說的那樣,本書其實是一本可作
本書是著名作者John Lewis與Joseph Chase作為其一流的CSI教材“Java Software Solutions:Foundations of Program Design”的姊妹篇。盡管《Java軟件結構與數據結構(第3版)》的英文名為“Java Software Structures:Designing and Using Data Structures”,但正如作者在前言中
此版本中,內爾‧戴爾(Nell Dale)不再是《數據結構(C++ Plus 實現)(第 6 版)》的唯一作者。 本書加入了兩位作者――奇普‧威姆斯(Chip Weems)和蒂姆‧理查茲(Tim Richards),並繼續保持以往版本的優良傳統。在其他論著方面,奇普與內爾合著了三十多年,如 Java Plus Data Structures,為本書及其早期版本奠定了基礎,並對教學方法的改進作出了重大貢獻。在 Programming and ProblemSolving in C++ 的最新版本中,蒂姆、奇普和內爾三人密切合作,共同致力於讓世界各地的學生能夠取得成功,同時他們對教學的熱愛也激勵著學生們每天走進教室學習。 在過去的二十年裡,傳統的數據結構課程已經發展到更廣泛的主題,包括抽象數據類型(AbstractData Type,ADT)、軟件工程和算法的基本分析。 數據結構(Data Structures)研究如何在組織關係中表示數據集合,以及如何編寫相應操作的算法。 抽象數據類型是指一個定義屬性的數據類型以及這個數據類型上的一組操作。計算機科學教育的重點向更加抽象的方向轉變。現在,在程序中除了研究如何表示對象之外,還研究數據對象類型的抽象屬性。 Johannes J.Martin 說得非常簡單:“從觀點來看,數據對象是由數據類型(對於使用者)或數據結構(對於實現者)來描述的。”a抽象的設計和實現都與軟件工程密切相關,軟件工程旨在將工程方法應用于開發可靠、健壯和高質量的軟件。一個糟糕的抽象會導致一組煩瑣的應用案例,迫使程序員要麼編寫不必要的複雜代碼,要麼忽略重要的有效性檢查。一個糟糕的實現可能導致效率低下或容易出錯。 高效實現的一個方面是能夠分析既定算法。因此,在本書中,我們將抽象和應用程序的實現分開介紹,並分析所介紹的算法。
本書通過趣味案例逐步引入語法知識,教讀者用C?和?C++編寫遊戲程序,激發讀者學習編程的興趣。全書共14章和3個附錄,依次介紹了C和C++編程語言的基本概念、數據類型、if語句、while循環、for循環、一維數組、函數、二維數組、字符串、文件讀寫、指針、遞歸、面向物件編程、鏈表和C++標準模板庫等知識,其中貫穿了眾多的小案例和遊戲,最後綜合應用這些知識編寫了一款冒險遊戲。附錄分別給出了練習題的參考答案、語法知識索引以及常用的調試方法和輔助開發工具。本書適合不同年齡、不同層次的 C 與 C++ 編程初學者閱讀和自學,也可以作為中學生、大學生學習程序設計的教材和少兒編程培訓機構的參考教材。
本書以“學完C語言之後知道能做什麼”為編寫目標,共包括7章:Linux C語言程序設計簡介、C語言基礎、鏈表、C標準庫與Linux系統調用、Socket編程、Pthreads編程、GTK圖形界面編程。其中,C語言基礎、C標準庫與Linux系統調用為本書最基礎最重要的兩章,全面介紹了標準C的基本語法和Linux系統調用編程。其他章節告訴讀者C語言具體能做什麼。本書堅守“Talk is cheap, show me the code.”信條,通過正確無誤的示例代碼向讀者展示C語言的具體用法。本書內容注重實用、結構清晰、圖文並茂,力求做到使讀者在興趣中學習Linux C語言編程。本書提供配套課件、教學大綱和習題參考答案等多種教學資源,還提供了82個教學視頻,讀者在學習的過程中,掃描教學視頻二維碼可以觀看視頻。