程序員修煉之道——程序設計入門30講 程序员修炼之道——程序设计入门30讲
清華
- 出版商: 清華大學
- 出版日期: 2018-08-31
- 定價: $414
- 售價: 8.5 折 $352
- 語言: 簡體中文
- 裝訂: 平裝
- ISBN: 7302499284
- ISBN-13: 9787302499282
-
相關分類:
Engineer self-growth
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$480$379 -
$281程序員修煉之道 :從小工到專家 (The Pragmatic Programmer: From Journeyman to Master)
-
$177軟技能代碼之外的生存指南 (Soft Skills : The software developer's life manual)
-
$199挑戰編程技能 57道程序員功力測試題 (Exercises for Programmers:57 Challenges to Develop Your Coding Skills)
-
$790$616 -
$720$706 -
$281修改軟件的藝術 : 構建易維護代碼的 9條最佳實踐 (Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software)
-
$880$695 -
$1,280$1,088 -
$450$356 -
$680$578 -
$800$632 -
$720$562 -
$403程序員的三門課:技術精進、架構修煉、管理探秘
-
$680$537 -
$414$393 -
$800$624 -
$600$468 -
$580$458 -
$620$490 -
$780$608 -
$580$458 -
$69$60 -
$69$60 -
$1,000$900
相關主題
商品描述
本書收錄了與程序設計基礎知識相關的30個問題。它們是大部分初次接觸編程的讀者共有的問題。這些問題的答案並不復雜,但是消化吸收它們卻不是一個簡單的過程。這需要讀者培養計算思維,學習從程序的視角看問題。當你可以回答本書所有的問題時,相信你已經越過了程序設計的第一道門檻。
本書分為6部分,分別是:入門學堂、內存模型、初窺算法、面向對象、認識程序、編程之道。在入門學堂這部分中,主要介紹程序設計最基礎的知識,例如如何編寫第一個Java程序、第一個C++程序,學習調試程序等。在內存模型這部分中,我們將學習指針、引用、棧和堆、參數傳遞等內存相關的知識。初窺算法部分圍繞基礎的數據結構和算法展開,如鍊表、遞歸算法、搜索算法等。在面向對像這部分中,我們將圍繞面向對象程序設計的三大特性展開學習。認識程序部分則介紹更多程序設計方面的知識,如異常處理機制、輸入輸出流、多線程編程等。編程之道部分講述提升代碼質量的方法,編程不僅是一項工程性的工作,更是一項藝術工作,這一部分就圍繞程序設計的藝術性來展開。
本書面向所有計算機相關專業的學生,也面向所有對程序設計感興趣的入門學習者,只要對本書中的任何問題感到疑惑,並且想知道背後答案的讀者,都可以閱讀本書。
作者簡介
作者:呂雲翔
呂雲翔,1986-1992:北方交通大學講師; 1992-1994:比利時VUB大學應用信息技術碩士; 1994-1996:比利時VUB大學MBA; 1996-2003: IT公司項目經理2003-至今:北航軟件學院副教授。
目錄大綱
一、入門學堂1
1. #include, using namespace std, int main分別是什麼意思?我的第一個C程序1
2. import, public static void main, String[] args分別是什麼意思?我的第一個Java程序5
3.什麼是數據類型?9
4.如何閱讀項目源碼?14
5.如何調試程序?16
二、內存模型24
6.變量和對象存儲在哪裡?理解棧和堆24
7.什麼是stackoverflow異常?30
8.指針究竟是什麼?34
9. Java中的引用與C中的指針有什麼區別?39
10.為什麼C++中new之後要delete,Java中卻不需要?42
11.明明是值傳遞,可對象為什麼發生了變化?48
三、初窺算法51
12.如何編寫鍊錶?51
13.從斐波那契到漢諾塔,如何編寫遞歸算法?56
14.從深度優先到廣度優先,如何編寫搜索算法?61
15.什麼是位運算?位運算究竟有什麼用?67
四、面向對象74
16.為什麼要編寫類?這麼做是不是使問題更複雜了?74
17.組合還是繼承?如何選擇?81
18.為什麼靜態方法不能調用非靜態成員?90
19. Java為什麼不支持多繼承?94
20.為什麼要定義接口?接口有什麼用?97
五、認識程序105
21. Java中的異常處理機制有什麼優點?105
22. throws還是try…catch?異常處理原則109
23.什麼是輸入流和輸出流?裝飾器模式的應用113
24.為什麼需要多線程編程?121
25.修改同時發生該聽誰的?鎖126
26.編譯、鏈接、運行,程序是怎樣跑起來的?132
27.為什麼我寫的都是黑框程序?圖形界面是怎樣寫出來的?137
28.什麼是回調函數?142
六、編程之道149
29.如何正確地編寫註釋?149
30.應該培養哪些良好的編程習慣?155
參考文獻161