程序員修煉之道——程序設計入門30講 程序员修炼之道——程序设计入门30讲

清華

立即出貨

買這商品的人也買了...

商品描述

本書收錄了與程序設計基礎知識相關的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