由重構學習C++程式設計 pdf epub mobi txt 電子書 下載 2024
圖書介紹
☆☆☆☆☆
簡體網頁||
繁體網頁
作者 劉邦鋒
出版者 國立臺灣大學齣版中心
翻譯者
出版日期 齣版日期:2023/06/26
語言 語言:繁體中文
下載鏈接在頁面底部
點擊這裡下載
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
發表於2024-10-31
類似圖書 點擊查看全場最低價
圖書描述
本書主要針對高中與大學開始接觸程式設計的初學者,及想學好C++11程式設計的讀者所設計。書中文字敘述力求淺顯簡潔,並以大量範例、片語、學習要點、風格要點等方式,逐步引導初學者進入程式設計的領域。
這本書以「重構」為中心,也就是以一再改寫來引導初學者,強調機製的原理與應用,並用於程式之中。期待藉此正確的程式設計技術傳遞給廣大讀者群,以提升讀者對程式設計的興趣。
本書特色
1. 以「重構」為中心,也就是以一再改寫來引導初學者。
2. 透過「學習要點」、「風格要點」、「特殊字元」等設計,隨時提醒讀者各項學習重點,以提升學習效率。
3. 本書搭配專屬網站(sites.google.com/view/cplusplusrefactor),提供各章練習題、作業,並隨時更新相關補充資料、程式碼等資訊。
4. 以更多完整範例、相關圖示說明複雜的觀念與方法,同時強化各範例間的關聯性,讓讀者能從中反覆練習、更瞭解所學之實際應用。
著者信息
作者簡介
劉邦鋒
現任
國立臺灣大學資訊工程係暨資訊網路與多媒體研究所教授
學歷
美國耶魯大學計算機科學博士
研究專長
平行分散式係統、演算法設計與分析
講授課程
計算機程式設計、高等程式設計、物件導嚮程式設計、平行程式設計等。
由重構學習C++程式設計 pdf epub mobi txt 電子書 下載
圖書目錄
前言
關於「批改娘」
1 程式設計
1.1 程式
1.2 設計
2 基本程式架構
2.1 程式骨架
2.2 變數
2.3 輸齣
2.4 輸入
3 運算
3.1 指定
3.2 運算
4 判斷
4.1 if 判斷
4.2 判斷式值
4.3 switch 判斷
5 迴圈
5.1 while 迴圈
5.2 for 迴圈
5.3 do while 迴圈
5.4 break
5.5 continue
5.6 巢狀迴圈
6 標準輸入輸齣
6.1 輸入資料
6.2 輸齣訊息
6.3 多變數輸齣入
6.4 格式輸齣入操控子
7 陣列
7.1 屬性
7.2 一維陣列
7.3 assert
7.4 一維陣列應用
7.5 多維陣列
7.6 多維陣列應用
8 浮點數
8.1 宣告
8.2 位元組數
8.3 輸齣與輸入
8.4 類別轉換
8.5 泰勒展開式
8.6 開平方根
9 函式
9.1 呼叫函式
9.2 定義有迴傳值的函式
9.3 定義無迴傳值的函式
9.4 多個參數的函式
9.5 參數傳遞
9.6 生命遊戲
9.7 鏡子房間
9.8 井字遊戲
9.9 結語
10 指標
10.1 指標變數
10.2 指標參數傳遞
10.3 指標與陣列
10.4 指標迴傳值
10.5 用途與限製
11 參考類別
11.1 宣告及初始
11.2 參數傳遞
11.3 參考迴傳值
11.4 參考應用
12 字元
12.1 宣告
12.2 輸齣
12.3 字元常數
12.4 輸入
12.5 常用函式
13 宣告修飾
13.1 修飾大小
13.2 有號及無號
13.3 C++11 標準類別
13.4 常數
13.5 靜態宣告
13.6 auto
14 字串
14.1 宣告及輸齣入
14.2 串接
14.3 字串常數
14.4 操作函式
14.5 C-style字串
14.6 簡易BASIC解譯器
15 位元運算
15.1 宣告
15.2 檢查位元
15.3 位元且
15.4 位元或
15.5 位元互斥或
15.6 位元互補
15.7 位元數目排序
16 結構
16.1 結構宣告
16.2 結構欄位
16.3 錶列初始
16.4 結構指標
16.5 記憶體位址
16.6 參數傳遞
16.7 標頭檔
16.8 生命遊戲
16.9 鏡子房間
16.10 繞圈
16.11 位元數目排序
16.12 井字遊戲
16.13 簡易BASIC解譯器
16.14 結語
17 模組化
17.1 vector
17.2 生命遊戲
17.3 井字遊戲
17.4 鏡子房間
17.5 繞圈
17.6 BASIC
18 類別
18.1 井字遊戲
18.2 權限
18.3 類別與結構
18.4 建構子
18.5 常數成員函式
18.6 類別與實體
18.7 類別成員
18.8 鏡子房間
18.9 繞圈
18.10 生命遊戲
18.11 BASIC
18.12 有理數
19 遞迴
19.1 定義
19.2 費伯納西數
19.3 計算時間
19.4 constexpr
19.5 最大公因數
19.6 遞迴實作
19.7 三位撇節法
19.8 河內塔
19.9 八後問題
19.10 老鼠走迷宮
19.11 數獨
19.12 疊紙片
19.13 效能考量
20 繼承
20.1 基礎類別
20.2 多載
20.3 繞圈
20.4 老鼠走迷宮
20.5 數獨
20.6 井字遊戲
20.7 生命遊戲
20.8 鏡子房間
21 運算子
21.1 運算子函式
21.2 位元數目排序
21.3 有理數
21.4 比較1位元個數
21.5 lambda function
21.6 位元數目排序重構
21.7 頂層運算子函式
21.8 錯誤處理
21.9 隱藏類別轉換
21.10 explicit
22 鏈結序列
22.1 資料結構
22.2 記憶體配置
22.3 名稱空間
22.4 鏈結序列
22.5 鏈結序列遞迴實作
22.6 排序鏈結序列
22.7 鏈結序列範例
22.8 堆疊
23 移動與深度複製
23.1 指標物件問題
23.2 移動
23.3 深度複製
23.4 建構子
24 智慧指標
24.1 共享指標
24.2 唯一指標
25 二元樹
25.1 節點類別
25.2 二元樹
25.3 二元搜尋樹
25.4 重建二元樹
25.5 二元樹交集及聯集
26 多型與虛擬函式
26.1 函式綁定
26.2 多型
26.3 BASIC
27 檔案處理
27.1 開啟與關閉檔案
27.2 標準檔案指標
27.3 文字檔案處理
27.4 二進製檔案處理
27.5 移動讀寫位置
27.6 EOF
28 運算子及多載
28.1 運算子
28.2 二元樹交集聯集
28.3 函數
28.4 檔案輸入
29 模闆
29.1 類別模闆
29.2 函式模闆
29.3 別名模闆
30 前置處理
30.1 引入
30.2 定義
30.3 條件編譯
30.4 巨集函數
30.5 #、LINE、FILE
30.6 ##
30.7 應用
31 不想教的東西
31.1 goto
31.2 全域變數
31.3 多重繼承
31.4 保護及私有繼承
31.5 朋友類別及函式
31.6 輸齣格式
31.7 指標技巧
31.8 修改記憶體
31.9 徵服銀河係
徵引書目
Index
圖書序言
前言(摘錄)
編寫這本書緣起於我對現代C++的興趣。我最早接觸C++是在唸博士班的時候。那時在寫天文物理模擬的程式,常需要建立大量類似的資料結構進行相似的處理。我本來自大學開始就是習慣用C開發,所以博士班也是如此。但是程式越來越複雜,維護就越來越睏難。那時閤作計畫的Marina Chen教授就問說,你要不要試著用C++整理你的程式?我開始用C++後,整個計畫的程式維護就比較簡單瞭。後來為瞭在平行計算機上實作複雜資料結構及計算,還發錶瞭一些論文。這些論文的程式都是用C++開發的,使用的C++也都是偏應用。迴颱灣後又在中正大學教過五年的物件導嚮程式設計。這時纔開始對C++有比較學理上的探討,瞭解也比較全麵。
以上說的都是傳統C++。現代C++從C++11開始就引入大量的改變,使得程式的錶達能力更強大,機製也更加有彈性,但是也更加複雜,對初學者有相當的難度。這本書針對的讀者是高中及大學剛開始學C++的初學者,以及所有想學好程式設計的朋友。希望讀者讀完這本書後,對C++11能有初步的認識。我特地用中文寫,這樣可以避免語言障礙,希望高中生也能看得懂。正因為是給初學者看的書,所以簡化瞭很多地方,這些都是針對初學者做調整,對C++熟練的讀者可能需要瞭解這點。
這本書的寫法是以重構(refactor)為中心,也就是以一再改寫來引導初學者。這本書分為兩個部分,第一個部分到第7章為止講述C++基本觀念,為重構做準備。第二個部分是這本書的主要核心,藉由重構逐一介紹C++的進階觀念。在我教程式語言的經驗中,學生往往知道一個機製,但是卻不會實際運用,這在C++這種複雜的程式語言尤其明顯。我覺得原因在於教學的時候往往著重機製的規則,而不瞭解機製的原理及應用。那麼要如何改進?這本書是以重構為中心。程式本來是這樣寫,今天我增加瞭一個機製,我就可以這樣寫,而這樣寫有什麼好處?我希望用不斷的重構,讓學生能瞭解機製的應用,纔能將機製應用在自己的程式。就好像修改文章一樣,一修再修,越修越好,而且要知道為什麼這樣修比較好。
這本書裡除瞭大量的重構程式外,還有以下三個要項:
•學習要點
是把我認為重要的觀念強調一次。請務必理解所有的學習要點。
•風格要點
是關於如何寫齣易於閱讀、理解及維護的程式。請在寫程式時確實遵守,養成良好的寫程式習慣。
•特殊字元
C++中大量使用瞭特殊字元,這些特殊字元遠比我們習慣的標點符號複雜。在遇到特別的字元時,我會整理成特殊字元項目,提醒讀者注意。
這本書在字體編排上有以下原則:
•直接與電腦程式有關的英文名詞使用打字機字型,例如程式列錶、變數名稱、檔案名稱、指令名稱等。例如變數名稱使用counter。
•與電腦程式無直接關係的英文名詞使用Times Roman 字型。例如編譯器(compiler)。
•方程式按照一般慣例使用斜體。例如a2 + b2 = c2。
•數字除非齣現在方程式內均使用Times Roman字型。例如1234。
由於程式語言的係統相關部分會隨著時間而改變,所以我另外成立瞭一個網站。https://sites.google.com/view/cplusplusrefactor/home。任何有關這本書的資訊都會放在這裡,歡迎參觀指教。
關於第31章最後的部分我個人考慮再三最後還是放進去瞭。當然作為一本嚴謹的教科書這可能會讓一些老師覺得有待斟酌,但個人以為,教書是一件有趣的事,在無傷大雅的情況下結束一本書和我堅持做有趣的事的信念不謀而閤。如果有老師覺得不妥,可以跳過最後一頁。
本書經過仔細校對,但一定還是有一些錯誤。如果您找到任何錯誤,歡迎寄信給我,無比感謝。我的電子郵件信箱是pangfeng.liu@gmail.com。
圖書試讀
由重構學習C++程式設計 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
由重構學習C++程式設計 epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
由重構學習C++程式設計 pdf epub mobi txt 電子書 下載 2024
用戶評價
類似圖書 點擊查看全場最低價
由重構學習C++程式設計 pdf epub mobi txt 電子書 下載