『壹』 如果我想學C語言編程,回擴及到其他的內容嗎
學習任何知識,一步一步,總是最好的方法。不幸的是,很多人知道真相,卻一直想要去所謂的捷徑。如果你是剛開始中學生學習編程,或者你是一個剛進入大學計算機科學學院的本科生,或者你是一個對於初學者在計算機領域有所建樹的決心,你必須渴望知道,學習計算機技術,究竟應該從哪裡開始。
我的建議是:數學,英語,C語言。
數學和英語的重要性,我並不需要強調的是,我們從幼兒園開始學習他們,把他們在任何時候都在最重要的位置,無論你是否了解電腦。
為什麼C語言是如此的重要呢?我們談論的是從一開始的學習方法。描述在書的事情,如果他們不經過我們的手,它是很難被完全消化吸收。計算機組成原理來解釋浮點格式,如果我們可以看到和分析表示的浮點數在內存或注冊,它是一千倍比紙更結實;數據結構和演算法似乎很難,如果可以的話剛剛涉水通過一本書,書上的例子,然後完成練習,你可以掌握演算法,操作系統原理不僅是原則,只能做一些核心方面的實驗,才能真正有深刻的理解;許多時髦的技術,比如,PHP,AJAX,JavaEE的。 NET等等等等,很多專家學習技術,只需要很短的時間,不用說,他們肯定是在C語言的主人。 C語言幾乎是普遍的工具,所有的計算機技術,包括計算機的基本理論。不精通在C語言決心,不涉足計算機領域。
為什麼是C語言,而不是+ +而不是Java是不是其他?因為C語言是最簡單的。你需要掌握一門語言工具,但也許並不需要大量的「面向對象」的概念,「模板」,「函數重載」等。足夠低級別的C語言,非常,非常接近底層結構的計算機,不會讓你迷失在浩瀚海洋的概念。除了「指針」,C語言沒有一個真正意義上的困難,「指針」,它的關鍵是了解計算機基本結構的精髓。
初學者不必去想應該學到什麼,比如C語言的專家,你就會知道下一步該怎麼做去。如果你有興趣在操作系統內部,你可以嘗試看看在Unix的內核,除了C語言,匯編語言和保護模式,你還需要一些知識;,C語言是足夠的,如果你有興趣的演算法,那麼恭喜你,你使用;如果你有興趣在Windows編程中,Windows編程看,筆者清楚地告訴你只需要基礎的C語言「,如果你有興趣在任何其他語言,去了,但建議先學習C + +的,因為你需要一些知識的「面向對象」。
學習C語言不是一朝一夕的事情,但並不需要花十年以掌握,了解如何最大限度地減少成本和精通C語言是本文的主題。請注意,即使是「最低成本」,也不是任何快捷方式,但大部分收益在最短的時間內,也意味著你需要通過一個艱難的過程。
第一,學習閱讀,或者更確切地說,沒有讀一本好書
所有初學者面臨的第一個問題是:如何選擇材料。良好的開端是成功的一半,一個優秀的教材乘數是一個關鍵因素,不幸的是,學校通常會幫你指定一個非常糟糕的C語言教科書,幸運的是,你也可以選擇再次
BR />著名教授譚浩強的「C程序設計語言」,說的發行量超過400萬,據我所知,很多學校都會推薦這本書作為一個C語言的課本,我的名字與教授(嘆號宇)一個字,但我堅定的黑色,他的書,這本書不是寫計算機科學專業的學生,但看到誰需要測試計算機等級考試等專業的學生,這本書的主要缺點是:例如計劃是非常不專業,你不能教你的程序的設計應掌握的思維方式,節目風格相當不錯,您將開發一個亂寫代碼的惡習;太多的錯誤,有人指出,這本書數以百計的錯誤,他們中的許多關鍵概念上的錯誤,那麼,這本書中,我不想說太多,有興趣的你可以看看網路:)
Kernighan和Ritchie的「C程序設計語言」(中譯本「C + +程序設計語言「)被稱為經典中的經典,但許多舊的過時的,和C語言的標准相距甚遠,我們必須看看最新的版本,或者不願意看到,另外,即使是最經典和最權威的一本書,是沒有辦法詳盡,所以手站在一個「C語言參考手冊,是非常必要的。 C語言參考手冊「是」C參考手冊「,是C語言標準的詳細描述,包括大多數的C標准庫函數,視為C語言的標準是最好的工具的細節。順便說一下,最新的」按照C89標准C語言程序設計「修訂,」C語言參考手冊介紹了C99標准,這兩個可能會有所不同,建議按照C99標准學習。除了作為一個C指針,寫是相當不錯的,英文名稱為「C」的指針,強調重要性的指針可以看作是這本書的一個特點。但是這本書是不是很適合初學者,如果你曾經學過C語言,一些C語言基礎,但還不是很扎實,那麼你可以嘗試這本書。我相信,只要你理解了指針,C語言已經不再是一個謎。
如果涉水通過一個C語言教材,想要走的更遠,那麼你就看兩本書。首先是「C陷阱與缺陷」(中譯本「C陷阱與缺陷」),薄薄的小冊子,內容是非常,非常有趣。請注意,這本書是20年前寫的,他所提到的C語言的許多缺陷已得到改善,但並不是一件壞事,能夠了解一些歷史。然後你就可以挑戰「C專家編程」(中譯本「C專家編程」),這本書顧名思義,這本書相當困難的,一旦你已經仔細閱讀並透徹理解,你可以放心地寫簡歷精通C語言。
記住一個原則,不讀,但不能讀了這本書,它是對生命的浪費。如果你不明白,那麼你必須在缺少一些必要的基本知識。在這一點上,你必須要仔細分析他們需要添加什麼,然後去書店找這些書籍。補充基本完成學習回來,真正做到少花錢多辦事。
UNIX / Linux或Windows上,這是一個大問題
不同的編程環境會帶來不同的程序員的思維方式。 Windows程序員大多依賴集成開發環境,如Visual Studio,Unix程序員更心愛的Makefile與控制台上。顯然,集成開發環境更容易使用,學習C語言在Windows上,只需要一些基本的Visutal C + +工具欄按鈕就可以開始寫你好,世界! Unix下,你需要一些控制台操作的基本知識。有人可能會認為Unix的環境更簡潔,但習慣的力量是偉大的,每個人都熟悉的Windows,Unix系統專門的設備,以學習C語言的基本操作,似乎有點不值得。
對於Windows只知道如何基本操作,甚至DOS新手不知道任何事情,做一些有趣和有意義的事情是最重要的盡快。比學習ls命令,貓等。此外有趣的C語言編寫的一個小程序,我們必須把重點放在了C語言本身,不得不暫時忽略一些東西,比如編譯鏈接的Makefile措辭等等等等。
所以我建議初學者應該的Visual C + + 6.0(沒有的Visual C + +。NET)或開發C + +作為主要的學習環境,並且不使用的IDE技巧過多糾纏,因為在未來,你必須打開的Unix環境。的Visual C + + 6.0中使用調試非常方便也很直觀,但默認的編譯器不支持C標准而開發的C + +使用gcc編譯器支持C99標准。使用順便說一句,很多大學的C語言課程還在使用Turbo C 2.0的實驗環境,這是相當不可取的,原因之一是TC 2.0 C標准幾乎沒有支持,其二是TC 2.0編譯器程序16了解32位程序在未來將造成很大的困難(當然,與,DJGPP和可以使TC 2.0編譯32位程序,但它太復雜了)。
你完成一個C語言的教科書,你必須到Unix平台繼續學習,幾乎所有的C語言教程是基於Unix平台上(如「C專家編程)。轉換過程是痛苦的,你需要面對的各種復雜的命令,從Windows平台的思維方式是完全不同的,但痛苦是值得的。Unix和C是共生的,Unix的思維方式和習慣更符合方式的C語言的思維和習慣。在Unix下,你可以找到無數優秀的源代碼,讓您享受閱讀,您可以輕松地查看聯機手冊庫函數,你也可以看到最好的代碼風格(當談到代碼風格,我會專門寫一篇文章中詳細描述)。
可以概括起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備「大師」的努力,請轉向Unix平台。
一切都准備好了,你是東風
本書已選定,環境配置完成俗話說,一切都准備好了,只有你自己的努力。從前言的書,仔細閱讀材料在手,很多人的閱讀開始,從第一章的樣子,這是錯誤的做法。簡介整本書的大體介紹,筆者通常會告訴你需要什麼基礎,能夠成功地讀了這本書,它可以幫助您測試的基礎知識已經有了。看完序文,還可以瀏覽目錄看這本書的整體結構的方式來安排自己的學習計劃。
學習C語言,這是必須要注意每一個細節,這本書必須親自敲一次的情況下代碼,編譯和運行一致,才能被視為成品學校輸出的一個例子都涉及到這本書說,如果沒有,要仔細找原因出在書中的一些例子,他們還創造了一些例子,如學習操作優先順序,你可以寫幾個相同的表達式括弧中的不同位置,看看有哪些不同的行為,如* P +(P)+,例如,A = B = C,(= b)== C =(B == C),依此類推。書上的例子,自己的副本,改造後的例子,「創造」自己的例子,應該仔細地分類保存在源代碼中寫簡短的筆記,這個例子的意圖。
例如練習,我建議初學者,所有的練習都是獨立做一遍,然後控制的答案代碼,看看自己的代碼,如果這些缺陷,然後嘗試自己的代碼。很多人不重視習題,這是極大的錯誤,因為筆者介紹了一些重要的真理在練習,而不是簡單地測試前面的知識。
>也許你認為學習是太慢了,這是不正確的。細致的學習就不必回去,等你學到後面才發現自己前面沒搞清楚,真是得不償失。一般情況下,讀整本書後,你應該完成的幾千甚至幾十萬行代碼,無論是寫上,繼續學習豐富原封不動的照搬書,或你自己的突發奇想,在我自己的例子,閱讀「Windows核心編程」(我只看過3/4的內容)時,除了轉錄代碼,也寫了很多例子,一共有5574行(與WC UNIX下統計工具),後失效了好幾天,我已經記不清了Windows系統編程,但只要花幾分鍾翻出代碼看,將重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理
仔細閱讀,認真抄寫源代碼,獨立完成的練習,加上進一步的實驗,並將把所有的代碼,成為自己的經驗和財富,絕對硬,絕對是事半功倍的。當然,這種方法只適合學習需要精通技術,如果不學習C語言,你有特定的條件。
寫道:最後,有沒有提到的是非常,非常重要的一點 - 代碼風格,必須從一開始就強迫自己學習模仿最好的編碼風格。因為代碼風格太重要內容實在是太多了,我將使用一個特殊的文章,詳細討論了,我們所關心的「道路程序員 - 代碼風格。
引用:<a href="http://tb.blog.csdn.net/TrackBack.aspxPostId=1649345",http://tb.blog.csdn凈/ TrackBack.aspx的?信息ID = 1649345
『貳』 計算機科學與技術專業課程有哪些 主要學什麼
這是計算機類最傳統的專業,主要課程有數據結構、計算機組成原理、網路原理、編譯原理、操作系統及各種開發程序等。
計算機科學與技術是國家一級學科,下設信息安全、軟體工程、計算機軟體與理論、計算機系統結構、計算機應用技術、計算機技術等專業。
公共課程:數學(高等數學、線性代數、概率論與數理統計、離散數學、數值分析)、政治(馬克思主義思想概論、毛澤東思想概論與中國特色社會主義思想、思想道德修養與法律基礎、中國近現代史綱要)、大學英語、體育。
專業基礎課程:電路原理、模擬電子技術、數字邏輯、微機原理、匯編語言、操作系統原理、編譯原理、演算法與數據結構、面向對象方法、C語言/c++語言等。
專業方向課程:計算機資料庫原理、Java語言、圖形學、人工智慧、多媒體技術、網路安全、人機交互、無線互聯網技術、軟體開發方法、高性能技術、系統模擬和虛擬現實等。
離散數學、編譯原理、電子技術基礎、C語言程序設計、數據結構、計算機組成原理、操作系統、計算機網路、資料庫原理及應用、軟體工程、匯編語言與介面技術、面向對象程序設計、Java高級編程、Web前端技術、人工智慧、計算機圖形學等。
『叄』 匯編語言編寫一個簡單的程序(我學的是匯編語言與介面技術)
;請從鍵盤任意輸入一個0-59內的數,每隔一秒自加一,當加到59後跳到0從新開始自加
DATAS SEGMENT
;此處輸入數據段代碼
MESS0 DB 'Error char!','$' ;異常信息
MESS1 DB 'Input overflow!','$'
MESS2 DB 'Must be 0~59!','$'
SEPRA DB 0DH,0AH,'$' ;分隔符
TIME DB 0
MADDR DW OFFSET MESS0,OFFSET MESS1,OFFSET MESS2 ;異常信息地址
DATAS ENDS
STACKS SEGMENT
;此處輸入堆棧段代碼
DW 64 DUP (?)
TOP LABEL WORD
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
;異常處理
L0:
MOV AH,9
LEA DX,SEPRA
INT 21H
ADD SI,SI
MOV DX,MADDR[SI]
INT 21H
LEA DX,SEPRA
INT 21H
INT 21H
XOR BX,BX
JMP SHORT L1 ;重新輸入
START:
MOV AX,DATAS
MOV DS,AX
MOV AX,STACKS
MOV SS,AX
LEA SP,TOP
;此處輸入代碼段代碼
MOV BH,10 ;進制數
MOV DI,60 ;模數
XOR BL,BL
L1:
MOV AH,1
INT 21H
CMP AL,' '
JE EXIT ;輸入空格符,則程序結束
CMP AL,0DH
JE L2 ;輸入回車符,則數字輸入結束
MOV SI,0
CMP AL,'0'
JB L0
CMP AL,'9'
JA L0
MOV SI,1
AND AL,0FH
XCHG AL,BL
MUL BH
JC L0 ;乘法溢出,數字大於255
ADD BL,AL
JC L0 ;加法溢出,數字大於255
JMP SHORT L1
L2:
MOV SI,2
CMP BL,59
JA L0 ;輸入數字大於59
L3:
;取系統時間
MOV AH,2CH
L4: INT 21H
CMP TIME,DH
JE L4
MOV TIME,DH ;如果系統時間更改了,就進行輸出
;輸出數字
MOV AL,BL
CBW ;AL擴展為AX
CALL SHOWCHAR
;輸出分隔符
LEA DX,SEPRA
MOV AH,9
INT 21H
;數字自加1
INC BL
;數字對60取模
MOV AL,BL
CBW
CWD
DIV DI ;(DI)=60
MOV BL,DL
;延時1秒
;CALL DELAY
;判斷是否有鍵盤輸入,如果有,則程序結束
MOV AH,6
MOV DL,0FFH
INT 21H
JZ L3
EXIT:
MOV AH,4CH
INT 21H
MAIN ENDP
;傳入參數:AL,一個無符號整數;BH,作為全局變數始終為10
;返回參數:無
;功能:顯示AX對應的十進制數
SHOWCHAR PROC NEAR
PUSH DX
PUSH CX
XOR CX,CX ;記錄十進制位數
L6:
XOR AH,AH
DIV BH
MOV DL,AH
XOR DH,DH
ADD DX,30H
PUSH DX
INC CX
CMP AL,0
JNE L6
MOV AH,2
L7:
POP DX
INT 21H
LOOP L7
POP CX
POP DX
RET
SHOWCHAR ENDP
CODES ENDS
END START