第一篇:C語(yǔ)言學(xué)習(xí)心得報(bào)告
C語(yǔ)言學(xué)習(xí)心得報(bào)告
看了一段時(shí)間的《C和指針》,這樣看的效果不是很好,看著書本當(dāng)時(shí)是懂了,有點(diǎn)恍然大悟的感覺(jué),但是發(fā)現(xiàn)并不能真正的把理解的內(nèi)容加入到自己程序當(dāng)中,不能很好的去運(yùn)用它,所以對(duì)于C語(yǔ)言我認(rèn)為理論加實(shí)踐,是學(xué)習(xí)C語(yǔ)言的最好方法,看書并不能完全理解書中的內(nèi)容,也較容易遺忘,學(xué)習(xí)效率比較低,所以現(xiàn)在學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》,在看書的同時(shí),會(huì)在Microsoft Visual C++ 6.0軟件上實(shí)踐,嚴(yán)蔚敏寫的《數(shù)據(jù)結(jié)構(gòu)》這本書,比較經(jīng)典但是這本書是偽算法,并不能直接在計(jì)算機(jī)上運(yùn)行,對(duì)于初學(xué)者上機(jī)實(shí)踐比較困難,另外說(shuō)一下,我認(rèn)為學(xué)習(xí)應(yīng)該是在模仿中理解,在模仿中創(chuàng)新,所以我選擇結(jié)合高一凡寫的書《數(shù)據(jù)結(jié)構(gòu)算法實(shí)現(xiàn)及解析》,這本書嚴(yán)蔚敏寫的偽算法全部用程序?qū)崿F(xiàn)了,給我上機(jī)實(shí)踐提供了很大的幫助,貌似說(shuō)到數(shù)據(jù)結(jié)構(gòu)了,呵呵,回到正題,下面繼續(xù)說(shuō)說(shuō)C語(yǔ)言。
指針是C語(yǔ)言的精華,也是C語(yǔ)言的難點(diǎn),它就像一把雙刃劍,鋒利無(wú)比但運(yùn)用的不好也會(huì)給自己帶來(lái)危害,后果比較嚴(yán)重,所以重點(diǎn)來(lái)說(shuō)說(shuō)指針。
很多初學(xué)者弄不清指針和數(shù)組到底有什么樣的關(guān)系,為避免混淆不清,下面總結(jié)一下指針和數(shù)組的特性。指針是保存數(shù)據(jù)的地址,任何存入指針變量的數(shù)據(jù)都會(huì)被當(dāng)作地址來(lái)處理,指針變量本身的地址由編譯器另外存儲(chǔ),存儲(chǔ)在哪里,我們并不知道,間接訪問(wèn)數(shù)據(jù),首先取得指針變量的內(nèi)容,把它作為地址,然后從這個(gè)地址讀或?qū)懭霐?shù)據(jù)。指針可以用間接訪問(wèn)操作符(*)訪問(wèn),也可以用以下標(biāo)的形式訪問(wèn),指針一般用于動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)。數(shù)組是用來(lái)保存數(shù)據(jù)的,數(shù)組名代表的是數(shù)組首元素的地址而不是數(shù)組的首地址,所以數(shù)組p與&p是有區(qū)別的,雖然內(nèi)容相同,但意義卻不同,&p才是整個(gè)數(shù)組的首地址,數(shù)組名是整個(gè)數(shù)組的名字,數(shù)組內(nèi)每個(gè)元素并沒(méi)有名字,不能把數(shù)組當(dāng)一個(gè)整體來(lái)進(jìn)行讀寫操作。當(dāng)然數(shù)組在初始化時(shí)也有例外,如int p[]=“12345”是合法的。數(shù)組可以以指針的形式訪問(wèn)如*(p+i);也可以以下標(biāo)的形式訪問(wèn)p[i],但其本質(zhì)都是p所代表的數(shù)組首元素的地址加上i*sizeof(類型)個(gè)字節(jié)作為數(shù)據(jù)的真正地址來(lái)進(jìn)行訪問(wèn)的。數(shù)組通常用于存儲(chǔ)固定數(shù)目且數(shù)據(jù)類型相同的元素。剛開(kāi)始的時(shí)候我有點(diǎn)分不清指針數(shù)組和數(shù)組指針,現(xiàn)在也總結(jié)一下,指針數(shù)組,首先它是一個(gè)數(shù)組,數(shù)組的每個(gè)元素都是指針,可以理解為“存儲(chǔ)指針的數(shù)組”的簡(jiǎn)稱,數(shù)組指針,首先它是一個(gè)指針,它指向一個(gè)數(shù)組,在32位系統(tǒng)下永遠(yuǎn)只占4個(gè)字節(jié),至于它指向的數(shù)組有多少個(gè)字節(jié),并不知道,可以理解為“指向數(shù)組的指針”。舉個(gè)例子,int *p1[10]與int(*p2)[10], 要理解這個(gè)問(wèn)題,首先要清楚操作符的優(yōu)先級(jí),“[]” 的優(yōu)先級(jí)比“*” 的優(yōu)先級(jí)高,所以首先p1與“[10]”結(jié)合構(gòu)成一個(gè)數(shù)組p1[10],int *為修飾數(shù)組的內(nèi)容,所以數(shù)組元素是指向int類型的指針,所以這個(gè)是指針數(shù)組,“()” 的優(yōu)先級(jí)比“[]” 的優(yōu)先級(jí)高,“*”與p2結(jié)合構(gòu)成一個(gè)指針變量,int修飾數(shù)組的內(nèi)容,即數(shù)組的每個(gè)元素,數(shù)組這里并沒(méi)有名字,是個(gè)匿名數(shù)組,現(xiàn)在清楚了p2是一個(gè)指針,它指向一個(gè)包含10個(gè)int類型數(shù)據(jù)的數(shù)組,即為數(shù)組指針。下面再說(shuō)說(shuō)內(nèi)存管理,內(nèi)存分為三個(gè)部分:靜態(tài)區(qū)、堆、棧。其實(shí)堆棧就是棧,而不是堆。靜態(tài)區(qū)是保存自動(dòng)全局變量和static變量。靜態(tài)區(qū)的內(nèi)容在整個(gè)程序的生命周期內(nèi)都存在,由編譯器在編譯的時(shí)候分配。堆是由malloc系統(tǒng)函數(shù)分配內(nèi)存的。其生命周期由free和delete決定。棧保存局部變量。棧上的內(nèi)容只在函數(shù)范圍內(nèi)存在,當(dāng)函數(shù)運(yùn)行結(jié)束,這些內(nèi)容也會(huì)自動(dòng)被銷毀。再說(shuō)說(shuō)有關(guān)內(nèi)存需要注意的地方,定義了指針變量,在使用之前一定要初始化使它指向一塊合法的內(nèi)存,不管什么時(shí)候,我們?cè)谑褂弥羔樦耙欢ㄒ_保指針是有效的。使用malloc系列函數(shù)分配內(nèi)存,使用完之后應(yīng)及時(shí)釋放內(nèi)存,以防止內(nèi)存泄露。
最后總結(jié)的說(shuō)一下學(xué)習(xí)C語(yǔ)言的方法就是編程編程再編程,理論學(xué)習(xí)與上機(jī)操作同時(shí)進(jìn)行,另外在編程序的過(guò)程中要養(yǎng)成良好的編程習(xí)慣。
第二篇:語(yǔ)言學(xué)習(xí)心得
匯編學(xué)習(xí)心得
08網(wǎng)工
(一)班 李銳 0804031002 在大三接觸匯編語(yǔ)言之前,我們?cè)谟?jì)算機(jī)組成原理課程中就已經(jīng)有所了解了,但也只是略微明白一些如jmp,mov這樣的指令,極度缺乏系統(tǒng)性的學(xué)習(xí)。
在接觸這門課程后,感到匯編語(yǔ)言并不是很容易就可以弄懂的。相比較以前學(xué)過(guò)的高級(jí)語(yǔ)言如C、C++等,電腦等于在遷就人的思維方式,但學(xué)匯編,人卻必須要去遷就電腦的思維方式,要設(shè)身處地地用電腦的角度去思考問(wèn)題,這就是我們學(xué)習(xí)匯編語(yǔ)言時(shí)遇到的最大的障礙。
另外,在C語(yǔ)言中不到10個(gè)語(yǔ)句構(gòu)成的程序,用匯編語(yǔ)言卻要好幾十行甚至上百行。這不得不讓我們對(duì)匯編產(chǎn)生一種恐懼感。事實(shí)上,這是完全不必要的。一旦對(duì)它的原理掌握后,編寫程序就容易多了。另外,學(xué)習(xí)匯編語(yǔ)言能讓我們更加了解計(jì)算機(jī)內(nèi)部的組織結(jié)構(gòu),對(duì)我們計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō),學(xué)習(xí)匯編也是提升綜合能力的關(guān)鍵環(huán)節(jié)。
匯編的學(xué)習(xí)不僅僅是學(xué)習(xí)其語(yǔ)法,而更多的是學(xué)習(xí)計(jì)算機(jī)基本的體系結(jié)構(gòu)。其中遇到很多新的概念,名字。如寄存器、中斷、尋址方式等。這些概念在剛接觸匯編這門課的時(shí)候難以理解,但在之后的學(xué)習(xí)中通過(guò)老師的講解,自己親手編程的方式也就漸漸清晰明了。
我們?cè)趯W(xué)習(xí)之前都需要明確什么是匯編語(yǔ)言。計(jì)算機(jī)能夠直接識(shí)別的數(shù)據(jù)是由二進(jìn)制數(shù)0和1組成的代碼。機(jī)器指令就是用二進(jìn)制代碼組成的指令,一條機(jī)器指令控制計(jì)算機(jī)完成一個(gè)基本操作。為了克服機(jī)器語(yǔ)言的缺點(diǎn),人們采用助記符表示機(jī)器指令的操作碼,用變量代替操作數(shù)的存放地址等,這樣就形成了匯編語(yǔ)言。
經(jīng)過(guò)一個(gè)學(xué)期的學(xué)習(xí),我也慢慢摸出了匯編學(xué)習(xí)的規(guī)律。
首先,學(xué)習(xí)這門語(yǔ)言時(shí)如果能聯(lián)系上以前學(xué)過(guò)的其他高級(jí)語(yǔ)言的知識(shí),則會(huì)起到良好的效果。例如C語(yǔ)言程序的運(yùn)行邏輯結(jié)構(gòu)有順序(按語(yǔ)句依次執(zhí)行)、分支結(jié)構(gòu)(IF...THEN...ELSE...),循環(huán)結(jié)構(gòu)(FOR...NEXT)三種結(jié)構(gòu),也通過(guò)C語(yǔ)言了解并掌握了什么是子程序,什么是調(diào)用。事實(shí)上,匯編語(yǔ)言中有關(guān)程序結(jié)構(gòu),子程序等等的知識(shí)都是跟C語(yǔ)言十分相似的,只是在編程時(shí)用到的語(yǔ)言不同:匯編語(yǔ)言完全面向機(jī)器,需要指明數(shù)據(jù)在寄存器、內(nèi)存中的流向。
第二,學(xué)習(xí)匯編語(yǔ)言,首要問(wèn)題是學(xué)習(xí)80X86指令系統(tǒng)。如果能將指令系統(tǒng)中的各個(gè)助記符、格式等都能完全掌握并靈活運(yùn)用,大部分工作就已經(jīng)完成了。指令系統(tǒng)確定了CPU所能完成的功能,是用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)的最基本部分。如果不熟悉匯編指令的功能及其有關(guān)規(guī)定,那肯定不能靈活使用匯編語(yǔ)言。
指令的種類十分繁雜,但其格式卻是統(tǒng)一的。
其中方括號(hào)中的內(nèi)容為可選項(xiàng)。指令助記符決定了指令的功能,對(duì)應(yīng)一條二進(jìn)制編碼的機(jī)器指令。指令的操作數(shù)個(gè)數(shù)由該指令確定,可以沒(méi)有操作數(shù),也可以有一個(gè)或多個(gè)操作數(shù),大多數(shù)指令要顯示寫出來(lái),還有些操作數(shù)是隱含的。當(dāng)指令包含操作數(shù)的時(shí)候,書寫時(shí)必須遵守:
1、指令助記符和操作數(shù)之間有分隔符,比如幾個(gè)空格;
2、如果含有多個(gè)操作數(shù),操作數(shù)之間用逗號(hào)分隔。
現(xiàn)在簡(jiǎn)單總結(jié)匯編語(yǔ)言指令的分類:
1、數(shù)據(jù)傳送指令;
2、標(biāo)志位操作指令;3、算術(shù)運(yùn)算指令;
4、邏輯運(yùn)算指令;
5、移位運(yùn)算指令;
6、位操作指令;
7、比較運(yùn)算指令;
8、循環(huán)指令;
9、轉(zhuǎn)移指令;
10、條件設(shè)置字節(jié)指令;
11、字符串操作指令;
12、BCD碼運(yùn)算調(diào)整指令;
13、處理器指令。
在編寫匯編程序時(shí),應(yīng)該注意特別容易出現(xiàn)的錯(cuò)誤,例如在編寫數(shù)據(jù)傳送指令時(shí),目的操作數(shù)和源操作數(shù)的類型一定要匹配,CS不能作為目的操作數(shù),offset后只能跟簡(jiǎn)單地址符號(hào),等等。
匯編語(yǔ)言的尋址方式有直接尋址,寄存器尋址,基址變址尋址,相對(duì)基址變址尋址等等,掌握這些都是編寫匯編程序很重要的環(huán)節(jié)。
匯編語(yǔ)言中的程序結(jié)構(gòu),子程序等知識(shí)也會(huì)幫助我們編寫出一個(gè)更加完善的匯編程序。另外,我們還應(yīng)該掌握DOS系統(tǒng)功能調(diào)用,宏匯編等知識(shí)。這里要對(duì)子程序和宏匯編加以區(qū)分,我的理解是:子程序是調(diào)用,而宏是替換,比如一個(gè)MAX宏,所有出現(xiàn)MAX的地方,都用宏代碼代替。
在學(xué)習(xí)匯編語(yǔ)言時(shí),指令的功能是學(xué)習(xí)和掌握的重點(diǎn),要準(zhǔn)確有效并合理的使用這些指令,必須了解一些使用的規(guī)則?,F(xiàn)對(duì)匯編語(yǔ)言編程時(shí)的規(guī)則進(jìn)行總結(jié),歸納起來(lái)有三點(diǎn):
1、要求指令操作數(shù)的尋址方式;
2、指令對(duì)標(biāo)志位的影響和標(biāo)志位對(duì)指令的影響;
3、指令的執(zhí)行時(shí)間,對(duì)可完成同樣功能的指令,要選用執(zhí)行時(shí)間短的指令。
還有一點(diǎn)十分重要。和所有的程序設(shè)計(jì)語(yǔ)言一樣,要學(xué)好匯編語(yǔ)言,實(shí)驗(yàn)是必不可少的環(huán)節(jié)。我們深有體會(huì):書上的程序都能看懂,基本原理也都明白,但是在自己親手編寫程序時(shí),卻無(wú)從下手,甚至連第一句該怎么寫都不知道。通過(guò)實(shí)驗(yàn),可以在很大程度上加深印象。在書上看程序,一切都是理所當(dāng)然,十分順利,而自己動(dòng)手,才會(huì)真正發(fā)現(xiàn)自己的不足之處。程序的編寫在記事本中進(jìn)行即可,掌握debug的使用對(duì)實(shí)驗(yàn)是有很大幫助的。
現(xiàn)在匯編語(yǔ)言的學(xué)課程已經(jīng)告一段落了,學(xué)習(xí)過(guò)程中遇到的所有困難以及遺留的難點(diǎn)都需要我們?cè)谄溆鄷r(shí)間里逐步攻克,在打好基礎(chǔ)的前提下,學(xué)習(xí)更加專業(yè)的匯編知識(shí)。
以上便是我在學(xué)習(xí)匯編語(yǔ)言過(guò)程中所有的心得體會(huì),我們會(huì)在不斷的學(xué)習(xí)與實(shí)踐中向著更深入的層面邁進(jìn)
第三篇:語(yǔ)言學(xué)習(xí)心得
匯編語(yǔ)言學(xué)習(xí)心得
在接觸這門課之前就已對(duì)匯編語(yǔ)言有所了解,一方面是在計(jì)算機(jī)組成原理中有所涉及,雖然那時(shí)只知道簡(jiǎn)單的mov、add、jmp指令,不清楚其具體用法,缺乏系統(tǒng)性的學(xué)習(xí);另一方面是在相關(guān)書籍中了解到匯編語(yǔ)言寫驅(qū)動(dòng)比較好但比較難,當(dāng)時(shí)就覺(jué)得匯編是門很牛的語(yǔ)言,很想學(xué)習(xí)。接觸這門課后,感到匯編語(yǔ)言的確不是很容易就可以弄懂的,相比較以前學(xué)過(guò)的高級(jí)語(yǔ)言如C、C++等,電腦等于在遷就人的思維方式,但學(xué)匯編,人卻必須要去遷就電腦的思維方式,要設(shè)身處地地用電腦的角度去思考問(wèn)題,這就是我們學(xué)習(xí)匯編語(yǔ)言時(shí)遇到的最大的障礙。通過(guò)這一學(xué)期的學(xué)習(xí),對(duì)匯編有了初步的掌握,可以說(shuō)是匯編的入門教程。
在接觸匯編語(yǔ)言的時(shí)候,對(duì)匯編的第一印象就是覺(jué)得這種語(yǔ)言非常繁瑣和松散,里面有很多細(xì)小的知識(shí)點(diǎn),而且有很多規(guī)定,必須要根據(jù)嚴(yán)格的規(guī)則來(lái)編寫才能夠?qū)懗稣_的程序,譬如一些指令的具體作用,如XLAT指令、CWB指令、LEA指令、OFFSET等的含義和功能,還有大于、小于、等于指令的寫法都要記住,不能像高級(jí)語(yǔ)言里面用符號(hào)“< > =”就能夠?qū)崿F(xiàn)了,正是匯編中的這些規(guī)則讓我覺(jué)得匯編真是特別繁瑣,所以在剛剛開(kāi)始學(xué)習(xí)匯編的時(shí)候經(jīng)常覺(jué)得有些不知所措,特別是對(duì)于幾種尋址方式,還有各個(gè)段的功能,以及各種寄存器的作用都覺(jué)得學(xué)的很混亂,雖然老師在上課時(shí)說(shuō)的都很詳細(xì)了,但是在當(dāng)時(shí)好像聽(tīng)懂了,但是很快又弄不清了,還有一些指令的用法會(huì)很快就忘記,或者是記混了,但是慢慢接觸多了,特別是在做實(shí)驗(yàn)的之后,學(xué)習(xí)得很快,因?yàn)橐前褜W(xué)過(guò)的知識(shí)具體應(yīng)用到現(xiàn)實(shí)中,對(duì)于知識(shí)的掌握要求就更深一步了,在實(shí)驗(yàn)過(guò)程中,發(fā)現(xiàn)了很多問(wèn)題,例如一些尋址方式的應(yīng)用,字符串的定義末尾要加上$符號(hào),在利用AX、BX、CX、DX這幾個(gè)寄存器的時(shí)候注意考慮PUSH進(jìn)棧對(duì)數(shù)據(jù)進(jìn)行保護(hù),通過(guò)在實(shí)驗(yàn)中不斷出現(xiàn)錯(cuò)誤并改正,對(duì)匯編語(yǔ)言的掌握和使用能力都有所提高了。
剛開(kāi)始對(duì)匯編的最大感覺(jué)就是覺(jué)得用起來(lái)很麻煩,不像高級(jí)語(yǔ)言那么隨意,寄存器就那么幾個(gè),用的時(shí)候要好好利用,而且還要考慮到計(jì)算機(jī)內(nèi)部的工作情況,特別是數(shù)據(jù)在內(nèi)存中的存儲(chǔ)情況,但是經(jīng)過(guò)學(xué)習(xí),發(fā)現(xiàn)匯編語(yǔ)言對(duì)我們學(xué)習(xí)好其他語(yǔ)言是非常有用的,原來(lái)在C語(yǔ)言中一直不是非常清楚的數(shù)據(jù)和地址的區(qū)別也通過(guò)學(xué)習(xí)匯編而了解得很清楚,通過(guò)匯編對(duì)CPU里面的工作情況也有了一定的認(rèn)識(shí),寫有些指令的時(shí)候要考慮到CPU里面的標(biāo)志位的改變和利用標(biāo)志位來(lái)實(shí)現(xiàn)一些功能,這些在高級(jí)語(yǔ)言中是沒(méi)有的。對(duì)于匯編中的指令我很多記不住,由于課件中的程序的注釋都是中文的,而課本上的注釋都是英文的,剛開(kāi)始覺(jué)得看課件比較好一些,但是后來(lái)我發(fā)現(xiàn)課本上的英文注釋更加容易理解和記憶,和用到的指令是匹配的,因?yàn)橹噶钜捕际怯⑽目s寫方式的,而且都是一些簡(jiǎn)單的單詞,閱讀起來(lái)并不復(fù)雜。
和所有的程序設(shè)計(jì)語(yǔ)言一樣,要學(xué)好匯編語(yǔ)言,實(shí)驗(yàn)是必不可少的環(huán)節(jié)。我深有體會(huì):書上的程序都能看懂,基本原理也都明白,但是在自己親手編寫程序時(shí),卻無(wú)從下手,甚至連第一句該怎么寫都不知道。后來(lái)隨著老師的講解和實(shí)驗(yàn)的進(jìn)行,知道了程序的編寫格式,包括數(shù)據(jù)段、堆棧段和代碼段,其中數(shù)據(jù)段和堆棧段可以不定義,但代碼段是必不可少的,也掌握了該怎么調(diào)試程序、運(yùn)行程序等。特別是debug命令的使用,可以配合與list文件的使用,讓我們可以調(diào)試排錯(cuò)、檢查結(jié)果是否正確等,掌握debug的使用對(duì)實(shí)驗(yàn)有很大的幫助。程序的編寫在記事本中進(jìn)行即可,再在mask中編譯,link中連接運(yùn)行,當(dāng)然也可以在專門的匯編工具中進(jìn)行。通過(guò)實(shí)驗(yàn),可以在很大程度上加深印象,在書上看程序,一切都是理所當(dāng)然,十分順利,而自己動(dòng)手,才會(huì)真正發(fā)現(xiàn)自己的不足之處
老師經(jīng)常說(shuō)其實(shí)很多知識(shí)都是相通的,在學(xué)習(xí)了匯編之后對(duì)這點(diǎn)可以說(shuō)是深有感觸,而且在匯編也和很多其他課程息息相關(guān),譬如本學(xué)期的微機(jī)接口課程里面所用得到的也是匯編語(yǔ)言,匯編雖然是比較低級(jí)的語(yǔ)言,但是許多工作還是需要通過(guò)匯編來(lái)完成,而且很好的掌握匯編后,能夠?qū)τ?jì)算機(jī)硬件很好的支配,匯編很接近計(jì)算機(jī)的底層,總的來(lái)說(shuō)匯編在今天的作用還是不容小覷的,學(xué)習(xí)好了匯編這門課程對(duì)于學(xué)習(xí)其他課程和進(jìn)一步學(xué)好計(jì)算機(jī)都有很大的幫助。
14GB軟件一班 01410271X07 肖雅麗
第四篇:語(yǔ)言學(xué)習(xí)心得
2010年6月英語(yǔ)四級(jí)、六級(jí)考試愈發(fā)臨近,大家都希望掌握一些應(yīng)試技巧,從而能夠在四六級(jí)考試中取得比較滿意的成績(jī)。下面滬江網(wǎng)校的方辰暉老師從幾個(gè)方面來(lái)談一下語(yǔ)言學(xué)習(xí)以及四級(jí)六級(jí)應(yīng)試技巧等問(wèn)題。
語(yǔ)言是人類經(jīng)過(guò)長(zhǎng)期實(shí)踐積累的,用于交流溝通的工具。歷經(jīng)無(wú)數(shù)代積累演變下來(lái)的語(yǔ)言,學(xué)好肯定不是一朝一夕之功,這就決定了,學(xué)習(xí)語(yǔ)言不可能一蹴而就,更不能閉門造車。但是,如果我們能提高對(duì)語(yǔ)言的敏感性,語(yǔ)言學(xué)習(xí)的進(jìn)程還是可以大大加快的。
語(yǔ)言學(xué)習(xí)包括哪些?
任何語(yǔ)言都分為語(yǔ)法和詞匯?;A(chǔ)是語(yǔ)法,但語(yǔ)法是有限的、固定的,可以在初級(jí)階段學(xué)完,這里,可以建議大家在接觸某種語(yǔ)言一年,對(duì)它有了初步的感性認(rèn)識(shí)之后,選一本權(quán)威的語(yǔ)法書進(jìn)行系統(tǒng)學(xué)習(xí),在此不再贅述。關(guān)鍵是詞匯,詞匯是無(wú)限的,變化發(fā)展的,不斷涌現(xiàn)的。無(wú)論對(duì)中小學(xué)生,還是專家學(xué)者,任何人在任何領(lǐng)域的學(xué)習(xí)工作中,都會(huì)遇到生詞、新詞。因此,學(xué)習(xí)語(yǔ)言,就是初級(jí)階段學(xué)語(yǔ)法,高級(jí)階段學(xué)詞匯。語(yǔ)法學(xué)習(xí)的階段是基礎(chǔ),萬(wàn)事開(kāi)頭難,但這個(gè)階段,一般只要二到三年即可完成,因?yàn)檎Z(yǔ)法是有限的。學(xué)習(xí)語(yǔ)言的大部分時(shí)間都耗在了后者上,而且詞匯量的多寡往往就可以決定語(yǔ)言的水平。因此,對(duì)于想進(jìn)一步提高語(yǔ)言水平的人來(lái)說(shuō),擴(kuò)大詞匯量就是學(xué)習(xí)語(yǔ)言的重中之重了。
關(guān)于詞匯的認(rèn)知
人類對(duì)于事物的認(rèn)知有四個(gè)過(guò)程,即:
1.不知道不知道,自己沒(méi)有接觸過(guò),根本沒(méi)有意識(shí)到自己的無(wú)知。
2.知道不知道,開(kāi)始意識(shí)到自己的無(wú)知,正設(shè)法去了解這一事物。
3.知道知道,經(jīng)過(guò)學(xué)習(xí),基本弄清了這一事物的來(lái)龍去脈。
4.不知道知道,對(duì)于這一事物早已了然于心,熟練的很,它已然成為自己不可或缺的一部分。
對(duì)于詞匯的認(rèn)知,也有一個(gè)類似的過(guò)程:
1.第一次聽(tīng)或第一次看到,不知其意,需要查閱詞典。
2.查閱詞典,了解意思后,再次聽(tīng)到或讀到時(shí),知其意,無(wú)需再查,但自己不會(huì)主動(dòng)使用這個(gè)詞到對(duì)話或?qū)懽髦?。我們稱其為閱讀詞匯或聽(tīng)力詞匯。
3.會(huì)拼寫,自己會(huì)主動(dòng)使用這個(gè)詞到對(duì)話或?qū)懽髦?,但每次說(shuō)或者寫,都會(huì)在大腦中再現(xiàn)第一次學(xué)習(xí)這個(gè)詞的情景,因?yàn)槟阈枰叵脒@個(gè)詞的用法。我們稱其為寫作詞匯或口語(yǔ)詞
匯。
4.徹底忘掉了第一次學(xué)習(xí)這個(gè)詞的情景。只有達(dá)到這一步,我們才敢說(shuō)你真正掌握了這個(gè)詞匯。
在這里,我要聲明一點(diǎn),詞匯的學(xué)習(xí)不是一次性完成的,因?yàn)檫@不符合人類認(rèn)知的特點(diǎn)。我不提倡通過(guò)背詞匯書學(xué)習(xí)語(yǔ)言,因?yàn)檫@種學(xué)習(xí)方法,記得快,忘得也快。在這種情況下,詞匯在大腦的駐留時(shí)間僅僅能維持幾天,就算應(yīng)付得了后天的四級(jí)考試,肯定也無(wú)法應(yīng)付后年的六級(jí)或八級(jí)考試。
詞匯只能在實(shí)際運(yùn)用中學(xué)習(xí),我們和任何一個(gè)詞的首次邂逅,都要在實(shí)際運(yùn)用中發(fā)生,應(yīng)該是第一次在電視電臺(tái)里聽(tīng)到,或是第一次在報(bào)刊雜志里看到,肯定不是第一次在詞匯書的背到。對(duì)于,第一次聽(tīng)到的單詞,我們可能無(wú)法正確拼出,所以查閱這個(gè)詞也就存在困難。我們要盡量把首次邂逅某個(gè)生詞的機(jī)會(huì)放在閱讀里。
如何通過(guò)閱讀快速提高詞匯量
大家知道,對(duì)于除專業(yè)領(lǐng)域的術(shù)語(yǔ)以外的詞匯,從概率論上來(lái)說(shuō),任何一個(gè)詞作為新詞首次出現(xiàn)在普通文章中的概率是大致相同的。這就意味著,兩個(gè)水平相當(dāng)?shù)膶W(xué)生,以學(xué)習(xí)相同數(shù)量的新詞作為閱讀目的的話,所需的閱讀量也大致相同,假定他們的閱讀速度相同的話,則耗時(shí)也大致相同。
任何一個(gè)單詞,首次邂逅千萬(wàn)不要對(duì)其視而不見(jiàn),我們必須認(rèn)真查閱詞典,可以使用電子詞典,或在線詞典,如新滬江小D。因?yàn)?,這樣可以節(jié)省很多時(shí)間。舉個(gè)例子:有兩個(gè)人,一個(gè)人見(jiàn)面兩次才查生詞,一個(gè)人首次見(jiàn)面即查生詞,要學(xué)習(xí)同等數(shù)量的生詞的話,前者所需時(shí)間是后者的兩倍。
首次見(jiàn)面之后,最好盡快安排機(jī)會(huì)第二次相遇。方法就是,大量閱讀同類文章,因?yàn)槿祟惖拇竽X是會(huì)遺忘的,在遺忘之前,再次刺激大腦,會(huì)產(chǎn)生更有效的記憶。一般情況下,一個(gè)生詞再短期內(nèi)的第二次相遇以后,就會(huì)轉(zhuǎn)化為閱讀詞匯。
成為閱讀詞匯的單詞,要?jiǎng)帕空覚C(jī)會(huì)賣弄出去,在不同的機(jī)會(huì)賣弄幾次以后,閱讀詞匯可以轉(zhuǎn)化為寫作詞匯或口語(yǔ)詞匯。當(dāng)你在潛意識(shí)下寫出或說(shuō)出這個(gè)詞的時(shí)候,恭喜你,這個(gè)詞已經(jīng)寫進(jìn)你的植物性神經(jīng)了。
總而言之,通過(guò)閱讀提高詞匯量的捷徑就是,見(jiàn)到生詞立即查,似曾相識(shí)先回憶,學(xué)到立即要賣弄,賣弄多了可掌握。
關(guān)于大學(xué)的英語(yǔ)學(xué)習(xí)
大學(xué)四年,是學(xué)習(xí)英語(yǔ)的黃金時(shí)期。這個(gè)階段,少了很多高中時(shí)的學(xué)習(xí)負(fù)擔(dān),英語(yǔ)學(xué)習(xí)不用以提高考試成績(jī)?yōu)槟康模荚囌嬲蔀榱藱z驗(yàn)學(xué)習(xí)效果的手段。
大學(xué)時(shí)期的英語(yǔ)學(xué)習(xí),目的各有不同,有人為了通過(guò)考試,如四六級(jí)、BEC、翻譯考試、考研;有人為了出國(guó),在國(guó)外深造、生存;有人為了日后在國(guó)內(nèi)與客戶交流。但無(wú)論如何,僅僅靠看書做題,是無(wú)法練就高水平英語(yǔ)的。英語(yǔ)學(xué)習(xí)在于厚積薄發(fā),大三以前,應(yīng)該注重積累,廣泛涉獵。歐美文化、報(bào)刊雜志、流行歌曲、名人演講、電臺(tái)聽(tīng)力等等都可以嘗試。有了這些,四六級(jí)的英語(yǔ)就不難準(zhǔn)備了,各位同學(xué)就不必狂做四六級(jí)模擬題折磨自己了。我個(gè)人認(rèn)為語(yǔ)言的學(xué)習(xí),要從所有方面全面著手,僅僅練閱讀,或僅僅練聽(tīng)力都是費(fèi)時(shí)傷神,事倍功半的。人的精力有這樣一個(gè)特點(diǎn),長(zhǎng)時(shí)間集中于某一種事物,就會(huì)容易疲勞,導(dǎo)致效率低下。對(duì)于英語(yǔ),雜志看累了,我們可以聽(tīng)一些歌曲,歌曲聽(tīng)膩了,我們?cè)倏袋c(diǎn)美劇,萬(wàn)變不離其宗,人不累,效果也好,何樂(lè)而不為呢?(小編推薦:更有趣的外語(yǔ)學(xué)習(xí),更人性化的學(xué)習(xí)體驗(yàn), 更多好學(xué)、好玩的應(yīng)用和功能,更完美的外語(yǔ)交流和互動(dòng),一切盡在滬江新部落哦!趕快戳我進(jìn)啊>>>)
關(guān)于四六級(jí)的應(yīng)試技巧
考試之前,我還是提倡做一套模擬試題的,不為提高英語(yǔ)技能,也不為發(fā)現(xiàn)錯(cuò)誤日后改正,只為熟悉題型,提升應(yīng)試技巧。快點(diǎn)我參加??及?>>
關(guān)于聽(tīng)力,一般考試都有一個(gè)試音時(shí)間,三到五分鐘,這段時(shí)間一定要好好利用,姓名準(zhǔn)考證號(hào)可以稍后再寫,聽(tīng)力的選項(xiàng)一定要在第一時(shí)間通覽一遍,時(shí)間還有富余的話,就再通覽一遍,千萬(wàn)不要為了趕時(shí)間,去做閱讀或干其他的事。聽(tīng)力考試過(guò)程中,要準(zhǔn)備好筆紙,以備不時(shí)之需,即使沒(méi)有內(nèi)容需要記的,轉(zhuǎn)轉(zhuǎn)筆也可以緩解一下壓力。
關(guān)于詞匯題,這類題都很煩人,選項(xiàng)常常是些長(zhǎng)得很像的詞,這就沒(méi)辦法投機(jī)取巧了。只能靠平時(shí)積累。但不會(huì)選的題先可以不用猜,先把它標(biāo)出來(lái),后面做閱讀的時(shí)候,說(shuō)不定就些詞,會(huì)給你靈感,這時(shí)再翻回去,選出來(lái),準(zhǔn)確性高點(diǎn)。
關(guān)于閱讀,這就大有文章可做了。閱讀里的文章可以給單選提供靈感,也可以給作文提供詞句。至于答題技巧,就更有很多值得一提的了。四六級(jí)的文章一般有一篇記敘文,一篇新聞稿,一篇說(shuō)明文,一篇議論文。后面的問(wèn)題,都需要對(duì)通篇有正確的理解。因此,作者的觀點(diǎn)非常重要,了解是褒是貶,還是中性,至少可以才對(duì)三分之一的問(wèn)題。如何判定作者的態(tài)度呢?找中心句,一般出現(xiàn)在文章的第一句或結(jié)尾。但要注意的是,議論文類的文章,常常在開(kāi)頭放個(gè)“耙子”,然后對(duì)此反駁,當(dāng)看到“Some people often hold the idea that….”時(shí),我們一定要注意,這句話反過(guò)來(lái)理解才更接近作者的觀點(diǎn)。
關(guān)于改錯(cuò),這類題通常針對(duì)中國(guó)人的漢語(yǔ)固有思維設(shè)題,平時(shí)多讀原汁原味的英語(yǔ)是很好的備考方法。在這里,我有另一種方法,可以供大家借鑒,就是看老師辦公室,觀摩老師如何批改學(xué)生作文的。仔細(xì)研讀,老師批改后的作文。效果很不錯(cuò)哦。
最后,關(guān)于作文,分好提綱結(jié)構(gòu),很重要。提出問(wèn)題,即擺事實(shí)。分析問(wèn)題,即說(shuō)原因。解決問(wèn)題,即提方案。每個(gè)段落給幾句模板試的句子,作文的一半不用臨時(shí)去寫了。另一半呢,需要臨時(shí)結(jié)合題目寫出來(lái),要注意,避免使用大家都會(huì)用的詞,如“I think”,“In my opinion”或普通句式,要是寫成“I reckon”“Put in their shoes, I would….”這樣閱卷老師必然會(huì)眼前一亮的。
第五篇:語(yǔ)言學(xué)習(xí)心得
匯編語(yǔ)言學(xué)習(xí)心得
在接觸這門課之前就已對(duì)匯編語(yǔ)言有所了解,一方面是在計(jì)算機(jī)組成原理中有所涉及,雖然那時(shí)只知道簡(jiǎn)單的mov、add、jmp指令,不清楚其具體用法,缺乏系統(tǒng)性的學(xué)習(xí);另一方面是在相關(guān)書籍中了解到匯編語(yǔ)言寫驅(qū)動(dòng)比較好但比較難,當(dāng)時(shí)就覺(jué)得匯編是門很牛的語(yǔ)言,很想學(xué)習(xí)。接觸這門課后,感到匯編語(yǔ)言的確不是很容易就可以弄懂的,相比較以前學(xué)過(guò)的高級(jí)語(yǔ)言如C、C++等,電腦等于在遷就人的思維方式,但學(xué)匯編,人卻必須要去遷就電腦的思維方式,要設(shè)身處地地用電腦的角度去思考問(wèn)題,這就是我們學(xué)習(xí)匯編語(yǔ)言時(shí)遇到的最大的障礙。通過(guò)這一學(xué)期的學(xué)習(xí),對(duì)匯編有了初步的掌握,可以說(shuō)是匯編的入門教程。首先主要學(xué)習(xí)了匯編語(yǔ)言的基本知識(shí),介紹了匯編的背景知識(shí)及由來(lái),讓我知道了匯編語(yǔ)言是處在機(jī)器語(yǔ)言和高級(jí)語(yǔ)言中間的一種低級(jí)語(yǔ)言。由于計(jì)算機(jī)能夠直接識(shí)別的數(shù)據(jù)是由二進(jìn)制數(shù)0和1組成的代碼。所以用機(jī)器語(yǔ)言編寫的程序是計(jì)算機(jī)惟一能夠直接識(shí)別并執(zhí)行的程序,而用其他語(yǔ)言編寫的程序必須經(jīng)過(guò)翻譯才能變換成機(jī)器語(yǔ)言程序,為了克服機(jī)器語(yǔ)言的缺點(diǎn),人們采用助記符表示機(jī)器指令的操作碼,用變量代替操作數(shù)的存放地址等,這樣就形成了匯編語(yǔ)言。然后介紹了8086計(jì)算機(jī)組織,匯編的學(xué)習(xí)不僅僅是學(xué)習(xí)其語(yǔ)法,而更多的是學(xué)習(xí)計(jì)算機(jī)基本的體系結(jié)構(gòu),學(xué)到這還沒(méi)見(jiàn)到很多的指令和語(yǔ)句,但這是學(xué)習(xí)匯編前必須要知道和掌握的,只有知道了匯編的實(shí)質(zhì)、如何工作及一些基本概念,才能進(jìn)行下一步的學(xué)習(xí)。直到后面終于學(xué)了80X86指令系統(tǒng)和尋址方式及后來(lái)的匯編語(yǔ)言格式,才真正進(jìn)入了匯編的指令學(xué)習(xí)階段,每一條指令的學(xué)習(xí)雖然簡(jiǎn)單但比較多,特別是有些指令的使用場(chǎng)合及錯(cuò)誤用法等易犯錯(cuò)、易混淆,例如在編寫數(shù)據(jù)傳送指令時(shí),目的操作數(shù)和源操作數(shù)的類型一定要匹配,CS不能作為目的操作數(shù),offset后只能跟簡(jiǎn)單地址符號(hào),等等。但總的歸納起來(lái)主要掌握三點(diǎn):
1、要求指令操作數(shù)的尋址方式;
2、指令對(duì)標(biāo)志位的影響和標(biāo)志位對(duì)指令的影響;
3、指令的執(zhí)行時(shí)間,對(duì)可完成同樣功能的指令,要選用執(zhí)行時(shí)間短的指令。這樣學(xué)習(xí)起來(lái)方便的多,也更容易理解記住,這為以后的學(xué)習(xí)做了鋪墊。
匯編的基本指令學(xué)完后,就開(kāi)始進(jìn)行應(yīng)用了,首先學(xué)習(xí)的是循環(huán)與分支程序設(shè)計(jì),第一個(gè)例子是簡(jiǎn)單的加法計(jì)算,雖然簡(jiǎn)單,卻讓我有點(diǎn)恐懼,一個(gè)在C語(yǔ)言中只要三四句就解決的問(wèn)題,用匯編卻寫了將近20句,且還沒(méi)有輸出,也就是不知道結(jié)果是否正確。后來(lái)學(xué)習(xí)了dos系統(tǒng)功能調(diào)用,知道02號(hào)功能可以輸出加法的結(jié)果,于是使用了,但輸出的卻是一個(gè)ASCII碼值,又需要進(jìn)行二進(jìn)制到十六進(jìn)制的轉(zhuǎn)換,當(dāng)時(shí)覺(jué)得很困惑,不知道為什么要轉(zhuǎn)換,我們輸入的不就是十六進(jìn)制嗎,算出來(lái)應(yīng)該還是十六進(jìn)制???隨著繼續(xù)深入的學(xué)習(xí),才徹底明白為什么要轉(zhuǎn)換,同時(shí)也了解了計(jì)算機(jī)中對(duì)于數(shù)字運(yùn)算是如何工作的。這時(shí)發(fā)現(xiàn)匯編有很多高級(jí)語(yǔ)言所沒(méi)有的優(yōu)點(diǎn),它能讓我們更加了解計(jì)算機(jī)內(nèi)部的組織結(jié)構(gòu),對(duì)我們計(jì)算機(jī)專業(yè)的學(xué)生來(lái)說(shuō),學(xué)習(xí)匯編也是提升綜合能力的關(guān)鍵環(huán)節(jié)。一旦對(duì)
它的原理掌握后,編寫程序就容易多了。后來(lái)學(xué)的越多,越復(fù)雜,程序也是越來(lái)越長(zhǎng),一堆的跳轉(zhuǎn)指令,覺(jué)得很麻煩,且感覺(jué)整個(gè)程序無(wú)秩序,有時(shí)對(duì)于一段程序?qū)崿F(xiàn)的功能還要研究半天。直到學(xué)習(xí)了子程序設(shè)計(jì),一個(gè)過(guò)程定義對(duì)應(yīng)一個(gè)功能,就像C語(yǔ)言中的函數(shù),很有條理性。子程序設(shè)計(jì)能讓一個(gè)大程序分成幾個(gè)模塊來(lái)做,提供了模塊化程序設(shè)計(jì)的條件,可以節(jié)省存儲(chǔ)空間及程序設(shè)計(jì)所花的時(shí)間,并且在主程序中進(jìn)行call調(diào)用,十分方便,便于以后的維護(hù)、調(diào)試和修改。
最后學(xué)習(xí)了部分宏匯編,只是簡(jiǎn)單的幾個(gè)用法并沒(méi)有深入,但已經(jīng)為我們做好了基礎(chǔ)工作,便于我們自學(xué)后面的部分。宏(或宏指令)是源程序中一段有獨(dú)立功能的程序代碼,只需定義一次,可以多次調(diào)用。這似乎和子程序結(jié)構(gòu)很像,但子程序有自己的優(yōu)缺點(diǎn),優(yōu)點(diǎn)很明顯,缺點(diǎn)是子程序?yàn)檗D(zhuǎn)子及返回、保存及恢復(fù)寄存器以及參數(shù)的傳送等都要增加程序的開(kāi)銷,這些操作所消耗的時(shí)間以及它們所占用的存儲(chǔ)空間,都是為取得子程序結(jié)構(gòu)使程序模塊化這一優(yōu)點(diǎn)而增加的額外開(kāi)銷。所以,有時(shí),特別在子程序本身較短或者是需要傳送的參數(shù)較多的情況下,使用宏匯編更加有利。當(dāng)然,在程序較復(fù)雜,實(shí)現(xiàn)的功能較多的情況下,子程序也必不可少。我的理解是:子程序是調(diào)用,而宏是替換,比如一個(gè)MAX宏,所有出現(xiàn)MAX的地方,都用宏代碼代替。兩者各有利弊,在掌握深入的基礎(chǔ)上結(jié)合使用更好。
還有一點(diǎn)十分重要,和所有的程序設(shè)計(jì)語(yǔ)言一樣,要學(xué)好匯編語(yǔ)言,實(shí)驗(yàn)是必不可少的環(huán)節(jié)。我深有體會(huì):書上的程序都能看懂,基本原理也都明白,但是在自己親手編寫程序時(shí),卻無(wú)從下手,甚至連第一句該怎么寫都不知道。后來(lái)隨著老師的講解和實(shí)驗(yàn)的進(jìn)行,知道了程序的編寫格式,包括數(shù)據(jù)段、堆棧段和代碼段,其中數(shù)據(jù)段和堆棧段可以不定義,但代碼段是必不可少的,也掌握了該怎么調(diào)試程序、運(yùn)行程序等。特別是debug命令的使用,可以配合與list文件的使用,讓我們可以調(diào)試排錯(cuò)、檢查結(jié)果是否正確等,掌握debug的使用對(duì)實(shí)驗(yàn)有很大的幫助。程序的編寫在記事本中進(jìn)行即可,再在mask中編譯,link中連接運(yùn)行,當(dāng)然也可以在專門的匯編工具中進(jìn)行。通過(guò)實(shí)驗(yàn),可以在很大程度上加深印象,在書上看程序,一切都是理所當(dāng)然,十分順利,而自己動(dòng)手,才會(huì)真正發(fā)現(xiàn)自己的不足之處。
現(xiàn)在匯編語(yǔ)言的課程已經(jīng)告一段落了,學(xué)習(xí)過(guò)程中遇到的所有困難以及遺留的難點(diǎn)都需要我們?cè)谄溆鄷r(shí)間里逐步攻克,在打好基礎(chǔ)的前提下,學(xué)習(xí)更加專業(yè)的匯編知識(shí)來(lái)為我們所用。