標籤:
這是開始寫的第一篇學習部落格,記錄一下每個月的學習進度和掌握程度,因為這是第一次寫學習部落格而且已經看編程方面的書已經有幾個月了,所以這一篇學習部落格可能看似有些亂或者篇幅太長。從十二月的《程式員教程》到現在的《JAVA核心技術卷一基礎知識》,關於編程的書在看的目前是四本(《程式員編程》《C Primer Plus》《C++ Primer Plus》《JAVA核心技術》卷一),目前在辦公室看的是JAVA核心技術,在家看的目前是C++,學習進度目前只能保證三個小時的學習時間,掌握程度一般(呵呵),不過從年初的計劃來看算的上是很不錯的了,原本計劃是在七月開始看JAVA的,因為我本身是重點是學JAVA的,看C和C++是因為怕基礎太差看不懂JAVA,二是熟悉OOP的概念。
————————————————————————————————————————————————————————————————————
《程式員教程》
電腦的基礎知識,比如電腦的資料的表示及運算,和現實的四則運算有什麼區別,二進位八進位十六進位,二進位表示float以及十進位表示1/3,電腦當中的資料表現形式(機器語言),校正碼的方法,邏輯代數以及邏輯運算,機器數的運算,他們之間的運演算法則,從左至右以及從右往左,各自的優先順序,電腦的基本組成和工作原理,這本書主要是用來考電腦軟考的教程書,當時買這本書是希望能夠明白一些電腦的基礎知識,當然編程要比這些更加困難,而且需要的時間更加長久。
以及各個作業系統的基礎知識,資料庫SQL的一些概念,多媒體(音頻,圖形和映像,動畫和視頻,網路多媒體)的概念和當下最流行的各種開發軟體(軟體是一種工具,重要的是一種理念,編程也是),以及網路基礎知識(TCP/IP協議體繫結構),區域網路基礎。
程式設計語言的基礎知識,(彙編,編譯), 軟體工程的基礎知識,主要是介紹軟體工程的幾個實現步驟,它的周期,需求分析,軟體設計,OOP分析與設計方法,軟體的測試幾運行,軟體的專案管理。資料結構與演算法。
——————————————————————————————————————————————————————————————————————
《C primer Plus》
這本書是系統地介紹C語言,在開篇第一,二章介紹了電腦和C語言的概述。
資料和C,變數與常量,int類型和float類型,char類型和_Bool類型以及float,double和long double類型,複數和虛數類型,根據資料恰當的選擇類型。
字串和格式化I/O,char數群組類型和Null 字元,strlen()函數,const修飾符,系統定義的明顯常量,printf()和scanf(),以及 printf()和scanf()的*修飾符。
運算子,運算式和語句,迴圈的概念,=,+,-,-和+,*,/,他們之間的優先順序和求值順序,sizeof運算子和size_t類型,模數運算子%(這本書把模數運算當做基礎知識一帶而過,基本的運算原理在《程式員教程》裡面寫的很詳細,對於我這樣的小白很親幸在看基礎之前看了基礎的基礎),增量++和--(C++之所以為C++,是因為是在C的基礎之上,所以也是C的增量,然而++C更為貼切,可是不怎麼好聽),運算式和語句,代碼塊,表大叔,語句。類型之間的轉換(有些轉換會損失精確度,各個轉換之間有預設的規則,long,short,int,float,也可以進行強制轉換)
C控制語句:迴圈。 while迴圈(條件入口),那麼迴圈如何終止?while允入準則迴圈,文法要點。比較大小,什麼是真(只有0被認為是假),真值,新的_Bool類型,關係運算子的優先順序,不確定迴圈和計數迴圈,for迴圈,以及更多的賦值運算子:+=,-=,*=,/=和%=。逗號運算子,以及允出準則迴圈,do while,嵌套迴圈,使用函數傳回值的虛幻。
C控制語句:分支可跳轉。 if語句,以及在if語句中添加else關鍵字,(gether()和putchar()),ctype.h系列字元函數,多重選取else if,把else與if配對,多層嵌套if。
獲得邏輯性(標頭檔,優先順序,求值的順序,範圍),條件運算子?:。迴圈輔助手段;comtinue和break。多重選取:switch和break,(switch和if else),goto語句。
字元I/O和輸入確認。單字元I/O:getchar()和putchar(),緩衝區,終止鍵盤輸入,重新導向和檔案,以及如何?建立一個更友好的使用者介面,輸入確認(剖析器,輸入資料流和數值),菜單瀏覽。
函數。(當時看著一章頭真疼,現在依然似懂非懂)編寫使用簡單的函數,函數參數定義帶有參數的函數(形式參量),帶參函數的原型聲明,調用帶有參數的函數(實際函數),黑盒子觀點(是不是類似JAVA的封裝?不知道是不是的,以後不對回來再改),使用return從函數中返回一個值,函數類型。ANSI C的函數原型。遞迴(這個複雜一點就暈了,但是看著遞迴代碼感覺好爽)遞迴的使用,遞迴的基本原理(其實遞迴的每一級調用都有自己的變數,每一次函數調用都會有一次return,遞迴函式中,位於遞迴調用前的語句和各級被調函數具有相同的執行順序,遞迴函式中位於遞迴調用後的語句的執行順序和各個被調函數的順序相反,雖然每一級遞迴都有自己的變數,但是函數代碼並不會得到複製,遞迴函式中必須包含可以終止遞迴調用的語句<有始有終,要不然就成為了無限迴圈的病毒代碼了,還是比較喜歡遞迴的代碼方式>),多原始碼檔案程式的編譯,UNIX,Linux(將來要細學這個作業系統),DOS命令列編輯器,Windows和Macintosh編譯器。地址運算子:&,(開始有點頭疼的指標有點冒頭了),改變調用函數中的變數,指標(BOSS就這麼來了)指標的間接運算子:*,指標聲明,使用指標在函數間通訊。
數組和指標(這次來了兩個BOSS ~TUT~)數組的初始化(具體在代碼中實現),指定初始化項目(C99),為數組賦值,數組邊界,指定數組大小。多維陣列,初始化二維數組,更多維數的數組(~TUT~)(備忘一下,其實矩陣就是二維數組),然後就是數組和指標的應用,使用指標參數(這些到OOP JAVA中是完全沒有指標的,目前看JAVA技術核心的地方,用的是另外一種方法來代替指標,修改了這些繁瑣容易出現BUG的操作,但是底層操作才是真的NB),對形式參量使用const,然後是指向多維陣列的指標(可以理解為你家門牌號,代碼的代碼就是OOP的代碼,不對的話後來回來再改吧),指標的相容性,函數和多維陣列(BOSS間的KISS TOUCH),變長數組(VLA)(這個可以在無法確定數組大小的時候使用,複合文字。
字串和字串函數,字串表示和字串I/O,在程式中定義字串(也就是string,其實在各種裝置例如電視的控制中靠的就是字串的I/O,so手機也可以成為控制各種裝置的字串輸出裝置,<不要太相信,細節我也不大清楚>),指標和字串,字串輸入(首先要建立儲存空間,利用gets()函數fgets()函數和scanf()函數),字串輸出(利用puts()函數,fputs()函數printf()函數)以及自訂字串I/O函數,字串函數(strlen()函數strcat()函數strncat()函數strcamp函數strncmp()變種strcpy()和strncpy()函數sprintf()函數)(這些函數是什麼,其實是一系列的演算法,有各種已經實現好的函數,只需要調用就好了,就像遊戲裡面的人物每次放大招之前要喊技能名稱一樣,實現某個函數先聲明才能調用)(so演算法才是王道)。
這本書的後面的從十二章到十七章都比較難懂(對於我來說~TUT~),這幾章的內容在後期會補上的,雖然看過了,但是很多地方特別不懂,所以還需要時間再去看看(其實之前的也都要再看好幾遍~TUT~)
————————————————————————————————————————————————————————
《C++ Primer Plus》 C++和JAVA一樣同屬OOP。這兩個精通一樣就很不錯了,千萬不要所有的都平平,要在某一個地方很精通,程式在原理理念,語言只是一個工具。
C++是C的提升,所以在代碼上面有很多的是一樣的,相當於是C和JAVA中間一層,能做到JAVA不能做的,也拋棄了C許多不合理的地方,但是確實非常難懂的。
這本書目前只看到了第三章(一共十八章900多頁~TUT~)
目前看到的是在介紹區別與C的地方,和介紹OOP的理念。 等看到一定的程度後期補上。
————————————————————————————————————————————————————————————
《JAVA核心技術》
————————————————————————————————————————————————————————————
2015.4
JAVA學習部落格----2015.4