C語言之精華總結(jié)_第1頁
C語言之精華總結(jié)_第2頁
C語言之精華總結(jié)_第3頁
C語言之精華總結(jié)_第4頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

從研究生二年紀(jì)開始學(xué)習(xí)計(jì)算機(jī)也差不多兩年了,一路走來,有很多的收獲,也有不少的遺憾,現(xiàn)在正好有一段閑暇,就想對(duì)走過的路留下一些足跡,回憶。每個(gè)人都有自己不同的人生,說到這里,就是程序人生了,歌德在《浮士德》中說過:“如果不曾在悲哀中咀嚼過面包,不曾在哭泣中等待過明天,這樣的人就不知道你一天的力量?!彼晕蚁胗浵漏`些帶給我悲哀,帶給我哭泣的程序人生。其實(shí)學(xué)習(xí)計(jì)算機(jī)的基礎(chǔ)課程是非常重要的,離散數(shù)學(xué),編譯原理,操作系統(tǒng),形式語言……,如果你認(rèn)真走過了這些路,在以后的日子你會(huì)發(fā)現(xiàn)你的路會(huì)越走越寬,以前的努力和汗水會(huì)不斷的給你靈感,給你支持,給你前進(jìn)的武器和勇氣。你會(huì)發(fā)現(xiàn)以后取得的很多成就,不過是朝花タ拾而已!對(duì)于程序語言我喜歡的是C++,它能帶給你別的語言無法給予你的無上的智力快感,當(dāng)然也會(huì)給你ー門語言所能給你的魔鬼般的折磨。其實(shí)Java,C#,Python語言也非常的不錯(cuò),我也極為喜歡。它們都是非常成功的語言,我從來就不愿意做某ー種語言的盲目信仰者,每種語言都有它成功的地方,失敗的地方,都有它適合的地方,不如意的地方。所以每一次看到評(píng)價(jià)語言的文章,我看看,但從來不會(huì)發(fā)言。

C++的前世是C,而且C所留下的神秘以及精簡在C++中是青出于藍(lán)而勝于藍(lán)!c所帶給人的困惑以及靈活太多,即使一個(gè)有幾年經(jīng)驗(yàn)的高段C程序員仍然有可能在C語言的小水溝里翻船。不過其實(shí)C語言真的不難,下面我想指出C語言中最神秘而又詭諂多變的四個(gè)地方,它們也繼續(xù)在C++語言中變幻莫測(cè)。指針,數(shù)組,類型的識(shí)別,參數(shù)可變的函數(shù)。一,指針。它的本質(zhì)是地址的類型。在許多語言中根本就沒有這個(gè)概念。但是它卻正是C靈活,高效,在面向過程的時(shí)代所向披靡的原因所在。因?yàn)镃的內(nèi)存模型基本上對(duì)應(yīng)了現(xiàn)在vonNeumann(馮?諾伊曼)計(jì)算機(jī)的機(jī)器模型,很好的達(dá)到了對(duì)機(jī)器的映射。不過有些人似乎永遠(yuǎn)也不能理解指針【注1】。注1:JoelSpolsky就是這樣認(rèn)為的,他認(rèn)為對(duì)指針的理解是一種aptitude,不是通過訓(xùn)練就可以達(dá)到的.joelonsoftware./pr.../fog0000000073.html指針可以指向值、數(shù)組、函數(shù),當(dāng)然它也可以作為值使用??聪旅娴膸讉€(gè)例子:

int*p;//p是ー個(gè)指針,指向ー個(gè)整數(shù)

int**p;〃p是ー個(gè)指針,它指向第二個(gè)指針,然后

指向一個(gè)整數(shù)int(*pa)[3];〃pa是ー個(gè)指針,指向ー個(gè)擁有3個(gè)

整數(shù)的數(shù)組int(*pf)();〃pf是ー個(gè)指向函數(shù)的指針,這個(gè)函數(shù)

返回一個(gè)整數(shù)后面第四節(jié)我會(huì)詳細(xì)講解標(biāo)識(shí)符(identifier)類型

的識(shí)別。.指針本身的類型是什么?先看下面的例子:inta;〃a的類型是什么?對(duì),把a(bǔ)去掉就可以了。因此上面的4個(gè)聲明語句中

的指針本身的類型為:int*int**int(*)[3]int(*)()它們都是復(fù)合類型,也就是類型與類型結(jié)合而成的類型。意義分別如下:pointtoint(指向ー個(gè)整數(shù)的指針)pointertopointertoint(指向ー個(gè)指向整數(shù)的指針的指針)pointertoarrayof3ints(指向ー個(gè)擁有三個(gè)整數(shù)的數(shù)組的指針)pointertofunctionofparameterisvoidandreturnvalueisint(指向ー個(gè)函數(shù)的指針,這個(gè)函數(shù)參數(shù)為空,返回值為整數(shù)).指針?biāo)肝锏念愋褪鞘裁?很簡單,指針本身的類型去掉“*”號(hào)就可以了,分別如下:intint*int0[3]int()03和4有點(diǎn)怪,不是嗎?請(qǐng)擦亮你的眼睛,在那個(gè)用來把“*”號(hào)包住的“()”是多余的,所以:int()[3]就是int[3](ー個(gè)擁有三個(gè)整數(shù)的數(shù)組)int()0就是int()(ー個(gè)函數(shù),參數(shù)為空,返回值為整數(shù))【注2】注2:一個(gè)小小的提醒,第二個(gè)“()”是ー個(gè)運(yùn)算符,名字叫函數(shù)調(diào)用運(yùn)算符(functioncalloperator)o.指針的算術(shù)運(yùn)算。請(qǐng)?jiān)俅斡涀?指針不是一個(gè)簡單的類型,它是ー個(gè)和指針?biāo)肝锏念愋蛷?fù)合的類型。因此,它的算術(shù)運(yùn)算與之(指針?biāo)肝锏念愋停┟芮邢嚓P(guān)。inta[8];int*p=a;int*q=p+3;P++;指針的加減并不是指針本身的二進(jìn)制表示加減,要記住,指針是ー個(gè)元素的地址,它每加一次,就指向下ー個(gè)元素。所以:int*q=p+3;〃q指向從p開始的第三個(gè)整數(shù)。P++;〃P指向下ー個(gè)整數(shù)。double*pd;……〃某些計(jì)算之后double*pother=pd-2;"pother指向從pd倒數(shù)第二個(gè)double數(shù)。.指針本身的大小。在ー個(gè)現(xiàn)代典型的32位機(jī)器上【注3】,機(jī)器的內(nèi)存模型大概是這樣的,想象一下,內(nèi)存空間就像ー個(gè)連續(xù)的房間群。每ー個(gè)房間的大小是ー個(gè)字節(jié)(一般是二進(jìn)制8位)。有些東西大小是ー個(gè)字節(jié)(比如char),ー個(gè)房間就把它給安置了;但有些東西大小是幾個(gè)字節(jié)(比如double就是8個(gè)字節(jié),int就是4個(gè)字節(jié),我說的是典型的32位),所以它就需要幾個(gè)房間才能安置。注3:什么叫32位?就是機(jī)器CPU一次處理的數(shù)據(jù)寬度是32位,機(jī)器的寄存器容量是32位,機(jī)器的數(shù)據(jù),內(nèi)存地址總線是32位。當(dāng)然還有一些細(xì)節(jié),但大致就是這樣。16位,64位,128位可以以此類推。這些房間都應(yīng)該有編號(hào)(也就是地址),32位的機(jī)器內(nèi)存地址空間當(dāng)然也是32位,所以房間的每ー個(gè)編號(hào)都用32位的二進(jìn)制數(shù)來編碼【注4】。請(qǐng)記住指針也可以作為值使用,作為值的時(shí)候,它也必須被安置在房間中(存儲(chǔ)在內(nèi)存中),那么指向ー個(gè)值的指針需要一個(gè)地址大小來存儲(chǔ),即32位,4個(gè)字節(jié),4個(gè)房間來存儲(chǔ)。注4:在我們平常用到的32位機(jī)器上,絕少有將32位真實(shí)內(nèi)存地址空間全用完的(232=4G),即使是服務(wù)器也不例外?,F(xiàn)代的操作系統(tǒng)一般會(huì)實(shí)現(xiàn)32位的虛擬地址空間,這樣可以方便運(yùn)用程序的編制。關(guān)于虛擬地址(線性地址)和真實(shí)地址的區(qū)別以及實(shí)現(xiàn),可以參考《Linux源代碼情景分析》的第二章存儲(chǔ)管理,在互聯(lián)網(wǎng)上關(guān)于這個(gè)主題的文章汗牛充棟,你也可以google一下。但請(qǐng)注意,在C++中指向?qū)ο蟪蓡T的指針(pointertomemberdataormemberfunction)的大小不一定是4個(gè)字節(jié)。為此我專門編制了一些程序,發(fā)現(xiàn)在我的兩個(gè)編譯器(VC7.1.3088和Dev-C++)上,指向?qū)ο蟪蓡T的指針的大小沒有定值,但都是4的倍數(shù)。不同的編譯器還有不同的值。對(duì)于一般的普通類(class),指向?qū)ο蟪蓡T的指針大小一般為4,但在引入多重虛擬繼承以及虛擬函數(shù)的時(shí)候,指向?qū)ο蟪蓡T的指針會(huì)增大,不論是指向成員數(shù)據(jù),還是成員函數(shù)?!咀?】。注5:在AndreiAlexandrescu的《ModernC++Design))的5.13節(jié)Pagel24中提到,成員函數(shù)指針實(shí)際上是帶標(biāo)記的(tagged)unions,它們可以對(duì)付多重虛擬繼承以及虛擬函數(shù),書上說成員函數(shù)指針大小是16,但我的實(shí)踐告訴我這個(gè)結(jié)果不對(duì),而且具體編譯器實(shí)現(xiàn)也不同。一直很想看看GCC的源代碼,但由于旁鷲太多,而且心不靜,本身難度也比較高(這個(gè)倒是不害怕A.A),只有留待以后了。還有一點(diǎn),對(duì)ー個(gè)類的staticmember來說,指向它的指針只是普通的函數(shù)指針,不是pointertoclassmember,所以它的大小是4。.指針運(yùn)算符&和?它們是ー對(duì)相反的操作,&取得一個(gè)東西的地址(也就是指針),?得到ー個(gè)地址里放的東西。這個(gè)東西可以是值(對(duì)象)、函數(shù)、數(shù)組、類成員(classmember)o其實(shí)很簡單,房間里面居住著一個(gè)人,&操作只能針對(duì)人,取得房間號(hào)碼;?操作只能針對(duì)房間,取得房間里的人。參照指針本身的類型以及指針?biāo)肝锏念愋秃芎美斫?。小結(jié):其實(shí)你只要真正理解了!,2,就相當(dāng)于掌握了指針的牛鼻子。后面的就不難了,指針的各種變化和C語言中其它普通類型的變化都差不多(比如各種轉(zhuǎn)型)。二.數(shù)組。在C語言中,對(duì)于數(shù)組你只需要理解三件事。.C語言中有且只有一維數(shù)組。所謂的n維數(shù)組只是ー個(gè)稱呼,ー種方便的記法,都是使用ー維數(shù)組來仿真的。C語言中數(shù)組的元素可以是任何類型的東西,特別的是數(shù)組作為元素也可以。所以inta[3][4]⑸就應(yīng)該這樣理解:a是ー個(gè)擁有3個(gè)元素的數(shù)組,其中每個(gè)元素是ー個(gè)擁有4個(gè)元素的數(shù)組,進(jìn)ー步其中每個(gè)元素是擁有5個(gè)整數(shù)元素的數(shù)組。是不是很簡單!數(shù)組a的內(nèi)存模型你應(yīng)該很容易就想出來了,不是嗎?:).數(shù)組的元素個(gè)數(shù),必須作為整數(shù)常量在編譯階段就求出來。inti;inta;〃不合法,編譯不會(huì)通過。也許有人會(huì)奇怪charstr[]="test”;沒有指定元素個(gè)數(shù)為什么也能通過,因?yàn)榫幾g器可以根據(jù)后面的初始化字符串在編譯階段求出來,不信你試試這個(gè):inta[];編譯器無法推斷,所以會(huì)判錯(cuò)說“arraysizemissingina”之類的信息。不過在最新的C99標(biāo)準(zhǔn)中實(shí)現(xiàn)了變長數(shù)組【注6】注6:如果你是ー個(gè)好奇心很強(qiáng)烈的人,就像我ー樣,那么可以查看C99標(biāo)準(zhǔn)。.對(duì)于數(shù)組,可以獲得數(shù)組第一個(gè)(即下標(biāo)為0)元素的地址(也就是指針),從數(shù)組名獲得。比如inta[5];int*p=a;這里p就得到了數(shù)組元素a[0]的地址。其余對(duì)于數(shù)組的各種操作,其實(shí)都是對(duì)于指針的相應(yīng)操作。比如a[3]其實(shí)就是?(a+3)的簡單寫法,由于*(a+3)==*(3+a),所以在某些程序的代碼中你會(huì)看到類似3[a]的這種奇怪表達(dá)式,現(xiàn)在你知道了,它就是a[3]的別名。還有一種奇怪的表達(dá)式類似a[T],現(xiàn)在你也明白了,它就是?(a-l)【注7】。注フ:你肯定是ー個(gè)很負(fù)責(zé)任的人,而且也知道自己到底在干什么。你難道不是嗎?:)所以你一?定也知道,做一件事是要付出成本的,當(dāng)然也應(yīng)該獲得多于成本的回報(bào)。我很喜歡經(jīng)濟(jì)學(xué),經(jīng)濟(jì)學(xué)的一個(gè)基礎(chǔ)就是做什么事情都是要花成本的,即使你什么事情也不做。時(shí)間成本,金錢成本,機(jī)會(huì)成本,健康成本 可以這樣說,經(jīng)濟(jì)學(xué)的根本目的就是用最小的成本獲得最大的回報(bào)。所以我們?cè)谧约旱某绦蛑凶詈帽苊膺@種邪惡的寫法,不要讓自己一時(shí)的智力過剩帶來以后自己和他人長時(shí)間的痛苦。用韋小寶的一句話來說:“賠本的生意老子是不干的!”但是對(duì)邪惡的了解是非常必要的,這樣當(dāng)我們真正遇到邪惡的時(shí)候,可以免受它對(duì)心靈的困擾!對(duì)于指向同一個(gè)數(shù)組不同元素的指針,它們可以做減法,比如int*p=q+i;p-q的結(jié)果就是這兩個(gè)指針之間的元素個(gè)數(shù)。i可以是負(fù)數(shù)。但是請(qǐng)記住:對(duì)指向不同的數(shù)組元素的指針,這樣的做法是無用而且邪惡的!對(duì)于所謂的n維數(shù)組,比如inta[2][3];你可以得到數(shù)組第一個(gè)元素的地址a和它的大小。*(a+0)(也即a[〇]或者?a)就是第一個(gè)元素,它又是ー個(gè)數(shù)組int[3],繼續(xù)取得它的第一個(gè)元素,*(*(a+O)+O)(也即a[〇][〇]或者?(*a)),也即第一個(gè)整數(shù)(第一行第一列的第一個(gè)整數(shù))〇如果采用這種表達(dá)式,就非常的笨拙,所以a[0][0]記法上的簡便就非常的有用了!簡單明了!對(duì)于數(shù)組,你只能取用在數(shù)組有效范圍內(nèi)的元素和元素地址,不過最后ー個(gè)元素的下ー個(gè)元素的地址是個(gè)例外。它可以被用來方便數(shù)組的各種計(jì)算,特別是比較運(yùn)算。但顯然,它所指向的內(nèi)容是不能拿來使用和改變的!關(guān)于數(shù)組本身大概就這么多,下面簡要說ー下數(shù)組和指針的關(guān)系。它們的關(guān)系非常曖昧,有時(shí)候可以交替使用。比如intmain(intargs,char*argvロ)中,其實(shí)參數(shù)列表中的char*argvU就是char**argv的另ー種寫法。因?yàn)樵贑語言中,ー個(gè)數(shù)組是不能作為函數(shù)引數(shù)(argument)【注8】直接傳遞的。因?yàn)槟菢臃浅5膿p失效率,而這點(diǎn)違背了C語言設(shè)計(jì)時(shí)的基本理念——作為ー門高效的系統(tǒng)設(shè)計(jì)語言。注8:這里我沒有使用函數(shù)實(shí)參這個(gè)大陸術(shù)語,而是運(yùn)用了臺(tái)灣術(shù)語,它們都是argument這個(gè)英文術(shù)語的翻譯,但在很多地方中文的實(shí)參用的并不恰當(dāng),非常的勉強(qiáng),而引數(shù)表示被引用的數(shù),很形象,也很好理解。很快你就可以像我ー樣適應(yīng)引數(shù)而不是實(shí)參。dereferance?也就是?運(yùn)算符操作。我也用的是提領(lǐng),而不是解引用。我認(rèn)為你一定智勇雙全:既有寬容的智慧,也有面對(duì)新事物的勇氣!你不愿意承認(rèn)嗎?:)所以在函數(shù)參數(shù)列表(parameter1ist)中的數(shù)組形式的參數(shù)聲明,只是為了方便程序員的閱讀!比如上面的char*argvロ就可以很容易的想到是對(duì)ー個(gè)char?字符串?dāng)?shù)組進(jìn)行操作,其實(shí)質(zhì)是傳遞的char?字符串?dāng)?shù)組的首元素的地址(指針)。其它的元素當(dāng)然可以由這個(gè)指針的加法間接提領(lǐng)(dereferance)【參考注8]得到!從而也就間接得到了整個(gè)數(shù)組。但是數(shù)組和指針還是有區(qū)別的,比如在一個(gè)文件中有下面的定義:charmyname[]="wuaihua”;而在另ー個(gè)文件中有下列聲明:externchar*myname;它們互相是并不認(rèn)識(shí)的,盡管你的本義是這樣希望的。它們對(duì)內(nèi)存空間的使用方式不同【注9】。對(duì)于charmyname[]="wuaihua”如下mynamewuahua\o對(duì)于char*myname;如下表myname\l/wuaihua\0注9:可以參考AndrewKonig的《C陷阱與缺陷》4.5節(jié)。改變的方法就是使它們一致就可以了。charmyname[]="wuaihua”;externcharmyname[];或者char*myname="wuaihua”;//C++中最好換成constchar*myname="wuaihua”。externchar*myname;C之詭満(下)三.類型的識(shí)別?;绢愋偷淖R(shí)別非常簡單:inta;〃a的類型是achar*p;//p的類型是char*那么請(qǐng)你看看下面幾個(gè):int*(*a[5])(int,char*);//#1void(*b[10])(void(*)());//#2doube(*)()(*pa)[9];//#3如果你是第一次看到這種類型聲明的時(shí)候,我想肯定跟我的感覺ー樣,就如晴天霹靂,五雷轟頂,頭昏目眩,ー頭張牙舞爪的猙獰怪獸撲面而來。不要緊(Takeiteasy)!我們慢慢來收拾這幾個(gè)面目可憎的紙老虎!.C語言中函數(shù)聲明和數(shù)組聲明。函數(shù)聲明一般是這樣intfun(int,double);對(duì)應(yīng)函數(shù)指針(pointertofunction)的聲明是這樣:int(*pf)(int,double)5你必須習(xí)慣??梢赃@樣使用:pf=&fun;〃賦值(assignment)操作(*pf)(5,8.9);〃函數(shù)調(diào)用操作也請(qǐng)注意,C語言本身提供了一種簡寫方式如下:pf=fun;//賦值(assignment)操作pf(5,8.9);/Z函數(shù)調(diào)用操作不過我本人不是很喜歡這種簡寫,它對(duì)初學(xué)者帶來了比較多的迷惑。數(shù)組聲明一般是這樣inta⑸;對(duì)于數(shù)組指針(pointertoarray)的聲明是這樣:int(*pa)[5];你也必須習(xí)慣??梢赃@樣使用:pa=&a;/Z賦值(assignment)操作inti=(*pa)[2]//將a[2]賦值給i;.有了上面的基礎(chǔ),我們就可以對(duì)付開頭的三只紙老虎了!:)這個(gè)時(shí)候你需要復(fù)習(xí)一下各種運(yùn)算符的優(yōu)先順序和結(jié)合順序了,順便找本書看看就夠了。1:int*(*a[5])(int,char*);首先看到標(biāo)識(shí)符名a,“□”優(yōu)先級(jí)大于“*”,a與“[5]”先結(jié)合。所以a是ー個(gè)數(shù)組,這個(gè)數(shù)組有5個(gè)元素,每ー個(gè)元素都是一個(gè)指針,指針指向“(int,char*)”,對(duì),指向ー個(gè)函數(shù),函數(shù)參數(shù)是“int,char*”,返回值是“int*”。完畢,我們干掉了第一個(gè)紙老虎。:)2:void(*b[10])(void(*)0);b是ー個(gè)數(shù)組,這個(gè)數(shù)組有10個(gè)元素,每ー個(gè)元素都是一個(gè)指針,指針指向ー個(gè)函數(shù),函數(shù)參數(shù)是“void(*)0”【注10],返回值是“void”。完畢!注10:這個(gè)參數(shù)又是ー個(gè)指針,指向一個(gè)函數(shù),函數(shù)參數(shù)為空,返回值是“void”。3.doube(?)0(*pa)[9];pa是ー個(gè)指針,指針指向一個(gè)數(shù)組,這個(gè)數(shù)組有9個(gè)元素,每ー個(gè)元素都是“doube(*)()”[也即ー個(gè)指針,指向ー個(gè)函數(shù),函數(shù)參數(shù)為空,返回值是"double”】?,F(xiàn)在是不是覺得要認(rèn)識(shí)它們是易如反掌,工欲善其事,必先利其器!我們對(duì)這種表達(dá)方式熟悉之后,就可以用“typedef”來簡化這種類型聲明。1:int*(*a[5])(int,char*);typedefint*(*PF)(int,char*);〃PF是ー個(gè)類型別名【注11LPFa[5];〃跟int*(*a[5])(int,char*);的效果ー樣!注11:很多初學(xué)者只知道typedefchar*pchar;但是對(duì)于typedef的其它用法不太了解。StephenBlaha對(duì)typedef用法做過ー個(gè)總結(jié):“建立一個(gè)類型別名的方法很簡單,在傳統(tǒng)的變量聲明表達(dá)式里用類型名替代變量名,然后把關(guān)鍵字typedef加在該語句的開頭”??梢詤⒖础冻绦騿T》雜志2001.3期《C++高手技巧20招》。2:void(*b[10])(void(*)());typedefvoid(*pfv)();typedefvoid(*pf_taking_pfv)(pfv);pf-taking-pfvb[10];〃跟void(*b[10])(void(*)0);的效果ー樣!3.doube(?)0(*pa)[9];typedefdouble(*PF)();typedefPF(*PA)[9];PApa;〃跟doube(*)()Ppa)[9];的效果ー樣!3.const和volatile在類型聲明中的位置在這里我只說const,volatile是ー樣的【注12]!注12:顧名思義,volatile修飾的量就是很容易變化,不穩(wěn)定的量,它可能被其它線程,操作系統(tǒng),硬件等等在未知的時(shí)間改變,所以它被存儲(chǔ)在內(nèi)存中,每次取用它的時(shí)候都只能在內(nèi)存中去讀取,它不能被編譯器優(yōu)化放在內(nèi)部寄存器中。類型聲明中const用來修飾ー個(gè)常量,我們一般這樣使用:const在前面constint;//intAconstconstchar*;//charconstchar*const;//*(指針)是constconstchar*const;〃char和?都是const對(duì)初學(xué)者,constchar*;和char*const;是容易混淆的。這需要時(shí)間的歷練讓你習(xí)慣它。上面的聲明有一個(gè)對(duì)等的寫法:const在后面intconst;〃int是constcharconst*;//char是constchar*const;//*(指針)是constcharconst*const;〃char和?都是const第一次你可能不會(huì)習(xí)慣,但新事物如果是好的,我們?yōu)槭裁匆芙^它呢?:)const在后面有兩個(gè)好處:A.const所修飾的類型是正好在它前面的那一個(gè)。如果這個(gè)好處還不能讓你動(dòng)心的話,那請(qǐng)看下ー個(gè)!B,我們很多時(shí)候會(huì)用到typedef的類型別名定義。比如typedefchar*pchar,如果用const來修飾的話,當(dāng)const在前面的時(shí)候,就是constpchar,你會(huì)以為它就是constchar*,但是你錯(cuò)了,它的真實(shí)含義是char*const。是不是讓你大吃ー驚!但如果你采用const在后面的寫法,意義就怎么也不會(huì)變,不信你試試!不過,在真實(shí)項(xiàng)目中的命名一致性更重要。你應(yīng)該在兩種情況下都能適應(yīng),并能自如的轉(zhuǎn)換,公司習(xí)慣,商業(yè)利潤不論在什么時(shí)候都應(yīng)該優(yōu)先考慮!不過在開始ー個(gè)新項(xiàng)目的時(shí)候,你可以考慮優(yōu)先使用const在后面的習(xí)慣用法。四.參數(shù)可變的函數(shù)C語言中有一種很奇怪的參數(shù)“…”,它主要用在引數(shù)(argument)個(gè)數(shù)不定的函數(shù)中,最常見的就是printf函數(shù)。printf(aEnjoyyourselfeveryday!Xn");printf(uThevalueis%d!\n”,value);你想過它是怎么實(shí)現(xiàn)的嗎?printf為什么叫printf?不管是看什么,我總是ー個(gè)喜歡刨根問底的人,對(duì)事物的源有一種特殊的癖好,一段典故,ー個(gè)成語,一句行話,我最喜歡的就是找到它的來歷,和當(dāng)時(shí)的意境,一個(gè)外文翻譯過來的術(shù)語,最低要求我會(huì)盡力去找到它原本的外文術(shù)語。特別是ー個(gè)字的命名來歷,我一向是非常在意的,中國有句古話:“名不正,則言不順。"printf中的f就是format的意思,即按格式打印【注13】。注13:其實(shí)還有很多函數(shù),很多變量,很多命名在各種語言中都是非常講究的,你如果細(xì)心觀察追溯,一定有很多樂趣和滿足,比如哈希表為什么叫hashtable而不叫hashlist?在C++的SGISTL實(shí)現(xiàn)中有一個(gè)專門用于遞增的函數(shù)iota(不是itoa),為什么叫這個(gè)奇怪的名字,你想過嗎?看文章我不喜歡意猶未盡,己所不欲,勿施于人,所以我把這兩個(gè)答案告訴你:table與list做為表講的區(qū)別:table:itemlIkadkglasgaldfglIjkdsfhitem2|kjdszhahlka|xcvzlist:************That'sthedifference!如果你還是不明白,可以去看一下hash是如何實(shí)現(xiàn)的!ThenameiotaistakenfromtheprogramminglanguageAPL.而APL語言主要是做數(shù)學(xué)計(jì)算的,在數(shù)學(xué)中有很多公式會(huì)借用希臘字母,希臘字母表中有這樣ー個(gè)字母,大寫為I,小寫為I,它的英文拼寫正好是iota,這個(gè)字母在e(theta)和k(kappa)之間!你可以./wiki/APL_programming_language下面有一段是這樣的:APLisrenownedforusingasetofnon-ASCIIsymbolsthatareanextensionoftraditionalarithmeticandalgebraicnotation.Thesecrypticsymbols,somehavejoked,makeitpossibletoconstructanentireairtrafficcontrolsystemintwo1inesofcode.Becauseofitscondensednatureandnon-standardcharacters,APLhassometimesbeentermeda"write-onlylanguage",andreadinganAPLprogramcanfeel1ikedecodinganalientongue.Becauseoftheunusualcharacter-set,manyprogrammersusedspecialAPLkeyboardsintheproductionofAPLcode.NowadaystherearevariouswaystowriteAPLcodeusingonlyASCIIcharacters.在C++中有函數(shù)重載(overload)可以用來區(qū)別不同函數(shù)參數(shù)的調(diào)用,但它還是不能表示任意數(shù)量的函數(shù)參數(shù)。在標(biāo)準(zhǔn)C語言中定義了一個(gè)頭文件專門用來對(duì)付可變參數(shù)列表,它包含了一組宏,和一個(gè)va_list的typedef聲明。ー個(gè)典型實(shí)現(xiàn)如下【注14]:typedefchar*va_list;#defineva.start(list)list=(char*)&va_alist#defineva.end(list)#defineva.arg(list,mode)((mode*)(list+=sizeof(mode)))[-1]注14:你可以查看C99標(biāo)準(zhǔn)7.15節(jié)獲得詳細(xì)而權(quán)威的說明。也可以參考AndrewKonig的《C陷阱與缺陷》的附錄A。ANSIC還提供了vprintf函數(shù),它和對(duì)應(yīng)的printf函數(shù)行為方式上完全相同,只不過用va_list替換了格式字符串后的參數(shù)序列。至于它是如何實(shí)現(xiàn)的,你在認(rèn)真讀完《TheCProgrammingLanguage^后,我相信你一定可以doityourself!使用這些工具,我們就可以實(shí)現(xiàn)自己的可變參數(shù)函數(shù),比如實(shí)現(xiàn)ー個(gè)系統(tǒng)化的錯(cuò)誤處理函數(shù)error,它和printf函數(shù)的使用差不多。只不過將stream重新定向到stderr,在這里我借鑒了<(C陷阱與缺陷》的附錄A的例子.實(shí)現(xiàn)如下:#include#includevoiderror(char*format,...)va_listap;va-start(ap,format);fprintf(stderr,“error:");vfprintf(stderr,format,ap);va-end(ap);fprintf(stderr,“\n”);exit(1);}你還可以自己實(shí)現(xiàn)printf:#includeintprintf(char*format,...)(va_listap;va-start(ap,format);intn=vprintf(format,ap);va-end(ap);returnn;)我還專門找到了VC7.1的頭文件看了一下,發(fā)現(xiàn)各個(gè)宏的具體實(shí)現(xiàn)還是有區(qū)別的,跟很多預(yù)處理(preprocessor)相關(guān)。其中va_list就不一定是char?的別名。typedefstruct{char*aO;/*pointertofirsthomedintegerargument*/intoffset;/*byteoffsetofnextparameter*/}va-list;其它的定義類似。經(jīng)常在Windows進(jìn)行系統(tǒng)編程的人一定知道函數(shù)調(diào)用有好幾種不同的形式,比如ー一stdcall,--pascal,__cdeclo在Windows下-stdcal1,--pascal是ー樣的,所以我只說ー下--stdcall和--cdecl的區(qū)別。-stdcall表示被調(diào)用端自身負(fù)責(zé)函數(shù)引數(shù)的壓棧和出棧。函數(shù)參數(shù)個(gè)數(shù)一定的函數(shù)都是這種調(diào)用形式。例如:intfun(charc,doubled),我們?cè)趍ain函數(shù)中使用它,這個(gè)函數(shù)就只管本身函數(shù)體的運(yùn)行,參數(shù)怎么來的,怎么去的,它一概不管。自然有main負(fù)責(zé)。不過,不同的編譯器的實(shí)現(xiàn)可能將參數(shù)從右向左壓棧,也可能從左向右壓棧,這個(gè)順序我們是不能加于利用的【注15】。注15:你可以在HerbSutter的《MoreExceptionalC++?中的條款20:AnUnmanagedPointerProblem,Part1:ParameterEvaluation找到相關(guān)的細(xì)節(jié)論述。_cdecl表示調(diào)用端負(fù)責(zé)被調(diào)用端引數(shù)的壓棧和出棧。參數(shù)可變的函數(shù)采用的是這種調(diào)用形式。為什么這種函數(shù)要采用不同于前面的調(diào)用形式呢?那是因?yàn)椹`stdcall調(diào)用形式對(duì)它沒有作用,被調(diào)用端根本就無法知道調(diào)用端的引數(shù)個(gè)數(shù),它怎么可能正確工作?所以這種調(diào)用方式是必須的,不過由于參數(shù)參數(shù)可變的函數(shù)本身不多,所以用的地方比較少。對(duì)于這兩種方式,你可以編制ー些簡單的程序,然后反匯編,在匯編代碼下面你就可以看到實(shí)際的區(qū)別,很好理解的!重載函數(shù)有很多匹配(match)規(guī)則調(diào)用。參數(shù)為“…”的函數(shù)是匹配最低的,這ー點(diǎn)在AndreiAlexandrescu的驚才絕艷之作《ModernC++Design))中就有用到,參看35,2.7“編譯期間偵測(cè)可轉(zhuǎn)換性和繼承性”。后記:C語言的細(xì)節(jié)肯定不會(huì)只有這么多,但是這幾個(gè)出現(xiàn)的比較頻繁,而且在C語言中也是很重要的幾個(gè)語言特征。如果把這幾個(gè)細(xì)節(jié)徹底弄清楚了,C語言本身的神秘就不會(huì)太多了。C語言本身就像一把異常鋒利的剪刀,你可以用它做出非常精致優(yōu)雅的藝術(shù)品,也可以剪出ー些亂七八糟的廢紙片。能夠?qū)⒁患淦饔玫匠錾袢牖鞘切枰獣r(shí)間的,需要多長時(shí)間?不多,請(qǐng)你拿出ー萬個(gè)小時(shí)來,英國Exter大學(xué)心理學(xué)教授麥克?侯威專門研究神童和天才,他的結(jié)論很有意思:“一般人以為天才是自然而生、流暢而不受阻的閃亮オ華,其實(shí),天才也必須耗費(fèi)至少十年光陰來學(xué)習(xí)他們的特殊技能,絕無例外。要成為專家,需要擁有頑固的個(gè)性和堅(jiān)持的能力……每一行的專業(yè)人士,都投注大量心血,培養(yǎng)自己的專業(yè)才能?!?注16]注16:臺(tái)灣女作家、電視節(jié)目主持人吳淡如《拿出ー萬個(gè)小時(shí)來》?!蹲x者》2003.1期?!安挥锰?只要持續(xù)下去。想擁有一輩子的專長或興趣,就像ー個(gè)人跑馬拉松賽ー樣,最重要的是跑完,而不是前頭跑得有多快。”推薦兩本書:K&R的《TheCProgramminglanguage》,Second

Edition.AndrewKonig的《C陷阱與缺陷》。本文從中引用了好幾個(gè)例子,一本高段程序員的經(jīng)驗(yàn)之談。但是對(duì)純粹的初學(xué)者不太合適,如果你有一點(diǎn)程序設(shè)計(jì)的基礎(chǔ)知識(shí),花ー個(gè)月的時(shí)間好好看看這兩本書,C語言本身就不用再花更多的精力了素材?!锩?電影明星,體育明星,歌F,成功的人,dult&Chi1.兩類重點(diǎn)話題:“熟人”&“名人”★熟悉的人一可以用來準(zhǔn)備描述家庭成員,朋友,鄰居,幫助過你的人,老人,孩子等;片你羨慕的人,可以和電影,書,音樂結(jié)合。2.描述順序:(1)身份(2)外貌,年齡(い枇蚊真題回顧,Describeoneofyourbestfriends.(2009.3.7,2009.3.14),Describeafamilymemberyouadmire.(2009.3.7,2009.4.18),Describeapersonwhoisgoodatcooking.(2009.3.14,2009.4.18,2009.6.20),Describeoneofyourfavoriteteachers.,Describeasuccessful/happyperson.,Describeaneighborofyours.,Describeanadventurouspersonyouknow.Describeacelebrity/famouspersonyou1ike.=sports/moviestar=apersonwhohasgreatinfluenceonyou=successful/happyperson=apersonyouadmire=apersonyouwanttovisit=yourfavoritebook=yourfavoritemovie=characterfromabook/TVSample1ThoughI'mnotverykeenonsports,IdohaveasportsstarwhoIadmirealot.ThenameofthemaniscalledYaoMing.YaoMingisprobablythemostrecognizablesportssuperstarsintheworld.HeplaysbasketballfortheChinanationalteamandfortheHoustonRocketsinAmerica.HeiscurrentlythetallestplayerintheNBA,measuring2.29meters.Yaostartedplayingbasketballwhenhewasnine.In2002,hebecamethefirstinternationalplayerevertobeselectedasthenumberonepickofrookiesbyNBA.HeisahugesuccessinAmerica.HehasplayedintheNBAAl1-StarGameinallofhisseasonswithHouston.YaoMingisloyaltohisfamilyaswellashiscountry.Asweallknow,YaomarriedtoYeLiin2008,aformerplayerforChina'snationalteam.Althoughheisoneofthemostpopularsportsstarintheworld,youcouldhardlyheartherumorsaboutYao.Besides,hecouldbeetheAmericancitizenquiteeasily,butherejectedthatandhetoldmediaatapressconferencethathe'sgoingtobebackChinaverysoon,andifit'spossible,he'dliketobethecoachoftheCBA.Wecanstillrememberthatin2008,hecarriedtheChineseflagduringtheopeningceremonyoftheOlympics,whichhesaidwasa“l(fā)ongdreametrue".Inaddition,Yaoisagenerousyoungman.Ashealsodoesagreatdealforcharity.Afterthe2008Chinaearthquake,hedonated$2mi11iondollarsandcreatedafoundationtoraisesfundstohelprebuildschoolsindisasterareaswhichmovedmi11ionsifChinesepeople.AnothersuccessofYaoishisYaorestaurant&barinHouston.Fromthat,youcouldseehowintelligentheis.Onethingworthmentioningisthatheisverypatientwithhisfansandjournalistswhoingintotherestaurantandaskingforhissignatureortakingphotoswithhim.YaohasbeenagreatprideofChinese.Beingsuchacapableyoungmanful1ofdrive,YaoMingdefinitelyismyhero.Sample2Who?-JaneAustenID-novelistWhat?-book“P&P^-love-adaptedfilm&dramaWhen?-littlePersonality-ironic,humorousInfluence-me&others,like/admire/first,Britain,worldWell,therearemanyfamouspeoplearound,invariousfields.ButthefirstonepoppingintomymindisJaneAusten,anotableEnglishnovelist.Itis"PrideandPrejudice”,herbestknownworkthatbroughthernametome.IhappenedtowatchthefilmwhenIwasquitealittlegirlandwasinstantlyattachedtoit.Forme,itwaslikeamagicworldofadifferentlanguageandculture.GreatlytouchedbytheromanticlovestoryofMissElizabethandMr.Darcy,Itriedtoreadthebook,startingwiththeChineseversionandthentheEnglishone.EverytimeIamreadinghercleverwords,Iamalwaysstruckbyherironic,humorouswritingstyleandcanneverbetiredofthem.SurelyIamnottheonlyonethatlikeher.Therearecountlessadmirersofheraroundtheworld.Thoughshe1ivescenturiesago,hergreatinfluenceremainstillnowandwi11beyond.Wecantellthatfromtheconstantadaptedfilmsanddramas.Forme,JaneAustenistheveryfirstonewhointroducesmetothebeautyofEnglish.AndsheisnotjustafamousfigureinBritainbutalsobelongstotheworld.Sample3TalkingaboutcelebritiesIadore,alotofnameswouldimmediatelyetomymind.However,ifIdohavetomakeachoice,IguessIwouldhavetogoforWuZun,whoisaBrunei-bornactorenjoyingskyrocketingpopularityalloverAsia.ThemainreasonwhyIamahugefanofWu1iesinthatthe28-year-oldnotonlypossessesdelicatefaceandmasculinebuildbutalsoisversatileindifferentareas.Youknow,Wu,whousedtobeabasketballplayer,isasharp-mindedentrepreneuraswellasafamousactor.WubecameahouseholdnameafterlandingaspotintheTaiwanesepopgroupFahrenheitthreeyearsago.Hehasmadeheadwaysincethen,appearinginnumerousTVsits(=situationedy)inTaiwan.Ontopofthat,hehasdisplayedanaptitudeforbusinessaswell.Heopenedathree-storeygymnamedFitnessZoneinBruneianditturnedouttobeagreatsuccess.Asaresult,heevenwonanawardforthemostpromisingyoungentrepreneurinBrunei.Frombasketballplayer,togymowner,toactorandmodelinTaiwan,Wuhasalwayschasedhisdreams.AndIguessthatisamajorreasonwhyIadmirehimsomuch.Referencewords:更淡定更深沉了膽更大了獨(dú)立面對(duì)事情的應(yīng)變能力無欲無求了...現(xiàn)在絕對(duì)的無欲無求,沒有喜歡的吃的,沒有喜歡的人,沒有喜歡的各種,感覺原來不能接受的也無所謂了,考試掛了好幾科都不帶著急的胖了會(huì)做飯了寂寞的要抑郁了孤獨(dú)從此滲入我骨髓悶騷改明騷了獨(dú)立地宅了。郁郁寡歡??吹煤荛_。無欲無求覺得比以前神叨叨了心變涼了覺得所有的感情都可有可無自己能把自己顧好就夠了對(duì)自己的國家和住了二十年的城市有了新的認(rèn)識(shí)發(fā)現(xiàn)自己其實(shí)好戀家也有賢妻良的潛質(zhì)。。。III發(fā)現(xiàn)很多事情其實(shí)自己一個(gè)人也可以的開始覺得很多事情并不是那么理所當(dāng)然的更加用心的去體會(huì)別人的心了更加寬容和忍耐了變簡單了變耐心了變努力了。。。也變宅了啦。。。學(xué)會(huì)看人臉色。學(xué)會(huì)低聲下氣。媽的說出來怎么這么心酸淡定的面對(duì)淫亂的世界看淡了,堅(jiān)強(qiáng)了,不斤斤計(jì)較了,會(huì)做飯了,臉皮變厚了。除了自己,神馬都是可有可無的東西。。知道對(duì)自己最重要的是什么了理解爸爸媽媽了,會(huì)想到關(guān)心他們了胖了==實(shí)在了開眼了中文英文一塊兒下降了某刻終于明白了我的中國心里那句“我的祖先早已把我的一切打上中國印”越發(fā)關(guān)注中國明白真朋友的可貴獨(dú)立了自我了更加敢于追求自己想要的東西認(rèn)清真實(shí)的自己。變得豁達(dá)、勇敢并更討人喜歡。更篤定,也更現(xiàn)實(shí)。原來我是這么的愛國。。。變成生活上的好姑娘?,外形上的柔情少女,思想上的女流氓,心理上的變形金剛。感覺:國外就這么ー個(gè)村子,這么ー個(gè)破地方嘛。直接的形容就是,當(dāng)別人說:**?出國啦!?。?!你說:哦。什么都無所謂了,都是浮云,只有自己才真正值得信賴和依靠。對(duì)于家的需要越來越淡,連愛也可有可無,腦子分兩半:過考試和工作。還有就是,朋友變得很重要不斷的刷新自己做的各種事情的記錄,結(jié)果就是淡定+淡然.一言以蔽之,就是孤獨(dú)蒸億出來配上歲月蹉院后的成長/成熟的代價(jià)獨(dú)立處理事情和團(tuán)隊(duì)合作的能力強(qiáng)了孤獨(dú)膨脹到一定程度之后反而變成了一種真實(shí)的存在感淡然了,感恩獲得沒脾氣了。淡定了。會(huì)照顧自己了。更希望能學(xué)著好好照顧別人。不愛說話了看淡了,愛情,什么的堅(jiān)強(qiáng)了因?yàn)樗械氖聝憾家约阂粋€(gè)人忍說了也白搭想家想朋友想家鄉(xiāng)的吃的學(xué)會(huì)了用微波爐烤箱弄出頓不錯(cuò)的飯然后孤零零的ー個(gè)人對(duì)著電腦吃ー點(diǎn)滿足感都沒有的飯……學(xué)會(huì)了擔(dān)當(dāng)和遠(yuǎn)見,學(xué)會(huì)了小心謹(jǐn)慎同時(shí)也寂寞的神經(jīng)了,在路上能忽然和自己說起話來,還是用英語。。.嗯,對(duì)有些事情不發(fā)言了。再不跟別人談?wù)瘟?。無所畏懼了。勇往直前。。。更能一個(gè)人待了、、。驚異與自己對(duì)無聊和寂寞的承受カ。。。原來沒有什么是無法忍受的更加深刻滴堅(jiān)信一靠天靠地,最可靠的只有自己??…零食只有甜食和各種高熱量…讓我不吃也不是,吃又充滿罪惡感滴歧視體重ニュ…家具什么的自己會(huì)組裝了沒事喜歡上網(wǎng)學(xué)學(xué)燒菜了減肥變成我一生的事業(yè)了純純的姑娘變成老爺們了廚藝零基礎(chǔ)到廚藝不能見人是否算進(jìn)步?沒有assignment的時(shí)候總喜歡和國內(nèi)的人聊天算不算寂寞?女朋友不斷到找不到女朋友算不算孤獨(dú)?花家人錢無限制到自己找臨時(shí)エ開始感覺到家人的辛苦并開始計(jì)劃生活費(fèi)算不算孝順?錨銖必較到學(xué)會(huì)容忍和謙讓算不算成長?無限變胖了發(fā)現(xiàn)父母那么偉大從不會(huì)做飯變成什么都會(huì)做最后變成沒時(shí)間做天天微波食品學(xué)會(huì)獨(dú)立學(xué)會(huì)不同的思維方式但看的多了懂的多了,卻對(duì)未來更迷茫了1懂得一個(gè)人去面對(duì)2理解和接受變的不是一回事3更敏感更孤獨(dú)4家5堅(jiān)持夢(mèng)想廚藝見長會(huì)自己規(guī)劃口袋里的錢了報(bào)喜不報(bào)憂吧很多事情不會(huì)試著去爭論了對(duì)自己國家的態(tài)度有時(shí)候真還挺矛盾不過愛國是必須的!視野開闊了很多思維也變了心態(tài)更好沉穩(wěn)了許多。懂得感恩。還有就是總念家。胖!?。。。。?了!?。。。。。。。。。?huì)做菜了(以前那不叫做菜)會(huì)走出自己的fortzone了孤獨(dú)...更會(huì)省錢了不會(huì)跟誰爭論臺(tái)灣什么的了...很隨大流地胖了廚藝大漲失戀了,異地的孩子太折翼孤單變堅(jiān)強(qiáng),神馬都要靠自己。成熟了,很多事情都看淡看開鳥很大的漂泊感,不知未來會(huì)在哪里,會(huì)怎樣。更喜歡ー個(gè)人的生活體諒家人知道賺錢不容易性格開朗了朋友多了研究好吃的做給自己和朋友吃有時(shí)間就自己一個(gè)人去電影院看ー場電影走了很久回頭オ發(fā)現(xiàn)已經(jīng)離起點(diǎn)很遠(yuǎn)了《童趣》說課稿ー、說教材くー)、教材地位及作用《童趣》是人教社義教教材七年級(jí)上冊(cè)第ー單元的ー篇教讀課文,也是七年級(jí)學(xué)生接觸到的第一篇文言文。這個(gè)單元的五篇課文都是抒寫作者對(duì)于人生的體驗(yàn)和思考。本文生動(dòng)地描述了作者童年的幾件趣事,表達(dá)作者童年生活的無限樂趣。文章充滿奇思妙想,意趣盎然,對(duì)剛步入中學(xué)的稚氣未脫的孩子來說,閱讀此文能較好地引起他們的共鳴,獲得對(duì)人生有益的體驗(yàn)和啟示。く二)、三維教學(xué)目標(biāo)新課標(biāo)提出“各個(gè)學(xué)段的閱讀教學(xué)都要重視朗讀”,“語文教學(xué)注重語言的積累”;“閱讀淺易的文言文,能借助工具書和注釋理解基本內(nèi)容”;“欣賞文學(xué)作品,能有自己的情感體驗(yàn),初步領(lǐng)悟作品的內(nèi)涵,從中獲取對(duì)自然、社會(huì)、人生有益的啟示;要培養(yǎng)學(xué)生健康的審美情趣”。新課標(biāo)主張關(guān)注學(xué)生的學(xué)習(xí)過程,倡導(dǎo)自主、合作、探究的學(xué)習(xí)方式,加強(qiáng)學(xué)法指導(dǎo),注重提高學(xué)生的語文素養(yǎng),培養(yǎng)學(xué)生的主動(dòng)意識(shí)。依照新課標(biāo)要求和教材特點(diǎn),結(jié)合具體學(xué)情,確定本課教學(xué)目標(biāo)如下:1、知識(shí)和能力目標(biāo)(1)正確、流暢地朗讀課文,達(dá)到熟讀成(2)學(xué)習(xí)積累文言詞匯,疏通文意,培養(yǎng)閱讀文言文的能力;(3)領(lǐng)悟作者用心觀察事物、發(fā)揮聯(lián)想和想象的能力。2、過程和方法目標(biāo)(1)聯(lián)系生活,激發(fā)學(xué)生學(xué)習(xí)文言文的興趣;(2)培養(yǎng)學(xué)生形成自主、合作、探究的學(xué)習(xí)方式,激發(fā)學(xué)生的主動(dòng)意識(shí)。3、情感、態(tài)度和價(jià)值觀目標(biāo)體驗(yàn)生活,愛惜生命,感悟生活樂趣。く三)、教學(xué)重難點(diǎn):重點(diǎn):掌握誦讀方法,理解并積累文言字詞。難點(diǎn):感悟物外之趣。二、說教法學(xué)法教法1:創(chuàng)設(shè)情景法。新課程重視把語文與生活聯(lián)系起來,強(qiáng)調(diào)創(chuàng)設(shè)情境、貼近學(xué)生生活實(shí)際去調(diào)動(dòng)學(xué)生的生活體驗(yàn)。從學(xué)生熟悉的游戲自然地導(dǎo)入課題,拉近學(xué)習(xí)與生活的距離,使學(xué)生在良好的氛圍中激發(fā)出學(xué)習(xí)的興趣和思維的火花,也使課堂變得生動(dòng)活潑。教法2:導(dǎo)讀法。教師是學(xué)生學(xué)習(xí)的組織者、主導(dǎo)者。引導(dǎo)學(xué)生感知、理解、品味文章內(nèi)容,體味作者的情趣,體現(xiàn)教師在教學(xué)的主導(dǎo)作用。學(xué)法1:誦讀法?!白x書百遍,其義自見”,教學(xué)本文時(shí)引導(dǎo)學(xué)生在反復(fù)默讀,朗讀的基礎(chǔ)上,疏通文意,感悟語文內(nèi)容。根據(jù)對(duì)課文內(nèi)容的理解,進(jìn)ー步矯正自己在朗讀上如語氣,節(jié)奏,速度和情感等方面存在的問題,然后進(jìn)一步朗讀,最后達(dá)到熟讀成誦的目的。學(xué)法2:合作探究法。新課程標(biāo)準(zhǔn)倡導(dǎo)自主、合作、探究的學(xué)習(xí)方式,強(qiáng)調(diào)學(xué)生是學(xué)習(xí)的主體,注重培養(yǎng)學(xué)生自主學(xué)習(xí)的意識(shí)和習(xí)慣。采用小組討論、合作探究不我待的方式,有助于激發(fā)學(xué)生的興趣和創(chuàng)新精神。[教具準(zhǔn)備]:多媒體課件。[課時(shí)安排]:兩課時(shí)。三、說教學(xué)過程(一)、導(dǎo)入新課,了解常識(shí)1、導(dǎo)入新課同學(xué)們,兒童是天真爛漫的。對(duì)世界,他們充滿了好奇和幻想。小時(shí)候,我們都玩過“過家家”游戲,幾個(gè)小朋友在一起,有的當(dāng)爸爸,有的當(dāng)媽媽,有的當(dāng)孩子。有句兒歌唱道(教師唱):“小板発啊擺ー排,小朋友們坐上來啊坐上來。我當(dāng)司機(jī)把車開啊,我當(dāng)司機(jī)把車開。轟隆隆隆,轟隆隆隆,轟隆隆隆,嗚——?!笨?小板発排起來就成了火車了。多有趣!今天我們來學(xué)習(xí)清代文學(xué)家沈復(fù)的短文《童趣》。文中的趣事,可能會(huì)勾起我們?cè)S多兒時(shí)的回憶,或許還能給我們帶來意想不到的啟發(fā)。2、幻燈片顯示課題。3、簡介作品、作者:(學(xué)生交流收集到有關(guān)作者的信息。由此培養(yǎng)學(xué)生收集整理信息的能力)4、文體導(dǎo)學(xué)文言文是古代的書面語,特點(diǎn)是簡潔、典雅。學(xué)習(xí)文言文是為了繼承民族的文化遺產(chǎn),幫助我們了解歷史,可以豐富我們的語言。學(xué)好文言文關(guān)鍵在于培養(yǎng)語感。ー是要熟讀、背誦,體驗(yàn)文言文的表達(dá)方式和語言習(xí)慣:二是要用心領(lǐng)悟,把“言”和“意”融為一體,見“言”而知“意”;三是不斷積累文言詞匯,掌握文言文的表達(dá)工具。(二)、誦讀感知,疏通文意1、朗讀指導(dǎo),初步感知①、教師范讀課文。并指導(dǎo)和點(diǎn)撥朗讀方法:A、讀準(zhǔn)字音;B、讀清句子和停頓;C、讀出語氣和感情。②、學(xué)生反復(fù)朗讀課文。給加點(diǎn)字的注音(幻燈片顯示)。③、在了解課文內(nèi)容的基礎(chǔ)上,劃分句子的朗讀節(jié)奏(幻燈片顯示)。例:見/藐小之物/必/細(xì)察其紋理,故/時(shí)有/物外之趣。2、討論合作,解釋詞義(幻燈片顯示)。例:⑴又留蚊于素帳中,徐噴以煙。(慢慢(2)捉蝦蟆,冊(cè)數(shù)十,驅(qū)之別院。(用鞭子抽打)⑶見藐小M物必細(xì)察丼紋理。(之,的。其,它的,指“藐小之物”。)3、討論合作,翻譯語句(幻燈片顯示)。例:作青云白鶴觀,果如鶴唳云端,為之怡然稱快。譯:比作“青云白鶴”的景觀,果然它們就像白鶴在云端飛鳴,[我]為此高興得[不斷地]叫好。)(以上為第一課時(shí)內(nèi)容。)4、依據(jù)提綱,創(chuàng)新復(fù)述教師對(duì)學(xué)生的復(fù)述給予賞識(shí)和激勵(lì)性評(píng)價(jià)。5、點(diǎn)面結(jié)合,背誦課文(三)、賞讀感悟,合作探究此環(huán)節(jié)意在引導(dǎo)學(xué)生深入閱讀文本,探究文章內(nèi)容和感悟作者思想感情。1、同學(xué)們,這篇課文的主旨是什么?明確:本文的主旨是寫作者兒時(shí)的“物外之趣”。2、請(qǐng)概括地說出作者記敘了哪幾件“物外之趣”?明確:(1)把“夏蚊成雷”比作“群鶴舞于空中”。(2)把草叢、蟲蟻、土礫比作森林、野獸、丘壑。(3)觀“二蟲斗草間”,懲治癩蛤蝶。3、這篇課文的結(jié)構(gòu)特點(diǎn)是什么?明確:由總到分。4、你認(rèn)為這種“物外之趣”是怎樣產(chǎn)生的?明確:是借助于豐富的聯(lián)想和想像創(chuàng)造出來的。(四)、體驗(yàn)反思,拓展延伸你有沒有過類似的經(jīng)歷?試展示一下自己的創(chuàng)造カ。(鼓勵(lì)同學(xué)們敞開述說,教師應(yīng)注意引導(dǎo)學(xué)生圍繞中心暢談體會(huì),做好評(píng)價(jià)。)2、討論:這篇課文對(duì)你有怎樣的啟發(fā)?提示:聯(lián)想和想像是創(chuàng)新的基礎(chǔ)。我們要培養(yǎng)創(chuàng)新能力,首先要培養(yǎng)自己的聯(lián)想和想像的能カ。我們要保持青少年特有的好奇心和富于幻想的特點(diǎn),勇于實(shí)踐,做ー個(gè)敢想敢做,勇于開拓的人。3、你認(rèn)為怎樣做才算是ー個(gè)有情趣的人?提示:熱愛自然,熱愛生活;富于聯(lián)想和想像,有一定的審美能力,能發(fā)現(xiàn)美,認(rèn)識(shí)美。4、“我”為小蟲打抱不平,為什么只是“驅(qū)之別院”,而不是將癩蛤蟆處死?參考答案:A,珍惜生命。B.處置有度。C,不忍心。(以上4題答案不求統(tǒng)ー,只要言之成理即可。要尊重學(xué)生的獨(dú)特感受,對(duì)有創(chuàng)意的回答,教師要給予鼓勵(lì)。)(五)結(jié)語通過這ー課的學(xué)習(xí),我們了解了作者童年時(shí)豐富奇特的想象和天真爛漫的情趣,以及身處塵世時(shí)那種超然物外的閑情,認(rèn)識(shí)到了童心的純真,童趣的美妙。同學(xué)們,讓我們?cè)谝院蟮娜松缆飞?永遠(yuǎn)保持ー顆童心,用心去觀察生活、感受生活的樂趣,用豐富的聯(lián)想和想象去創(chuàng)造美好的生活!(六)、布置作業(yè)(幻燈片顯示)。第一課時(shí)1、背誦課文。2、完成“研討和練習(xí)”第二題。3、寫ー個(gè)復(fù)述課文內(nèi)容的提綱。第二課時(shí)以“童年記趣”為內(nèi)容,寫ー篇不少于300字的短文。四、說板書設(shè)計(jì)本文作者通過聯(lián)想和想象的思維方式給蚊子等自然景物賦予新的形象,從而獲得物外之趣。主板書按這個(gè)思路設(shè)計(jì),更直觀指導(dǎo)學(xué)生整體感悟課文。觀蚊(聯(lián)想)觀蚊(聯(lián)想)鶴舞物外之趣 (分)草蟲土礫 (想象) 山林野獸(總)九年級(jí)(上)英語單詞拼寫專項(xiàng)訓(xùn)練1/1.Hemadealotof(錯(cuò)誤)in(語法).Theteacherlistenedtothechildrenreading(大聲地).(口語)English.Thereareno(區(qū)另リ)betweenEnglishnamesandAmericannames.TheyhopetojoinanEnglishclubtopractice(MEnglish.Doyouknowthe(發(fā)音)oftheword?IcaMt(發(fā)音)someofthewords.Thebabyissoyoungthathecan_(幾乎不)dresshimself.IthinkEnglishgrammarisboring,butWeiMingfeels(不同地).6己ケ乙)thewordsisveryimportantllWearesoethatwejumpandsing(咼興地).Hethinksmwordsisagreatwaytolearnalanguage.Ifsimpoliteto1atthepeopleintrouble.JtheEnglishclubcanimproveyourEnglish.DoyouoftenmakeminEnglish?Many(士兵)diedin"Xsnq〇〇;111,1-sXppsssq;s;jqouoo.I0J。叫[。ム叫 qI'U,sigq;oqi!兇guijuo〇。イ!Is;ugpn;s'\z,Xppjg;sgXujooj9qiutuinSojgqmpsjgqopg;gqx"03,sg?|Busgqijo1oqoipssnjitSoqj,*614gqs,叩!p,s]sg]gjeq〇, ngq§'^\/l3SJ!JS!(聯(lián)學(xué)) gAg^gqi?ハ,Jpmgqi.ItsthatYuMinghaschangedalot..Iamafraidofbalone..Theaccidentcausedhisfather%_(死亡)..Intheendtheymadea(決定)togothere.Tomy(驚奇),hegotgoodgradesthistime.Pleasegupsmoking.Ifsbadforyourhealth.Ifyoudon'tstudy,you'llwyourtimeinschool.Hewantedhismothertopaymoreatohim.Martinhasreally(變化).2.Tshouldbeallowedtochoosetheirownclothes.Sixteen-year-oldsshouldn'tbeatodrive.Theytalkedinsteadofdtheirhomework.I,mafraidofmyheadteacher.He'sverys.Studentsshouldn'tbeallowedtos_upuntil11pm.Ifyoucmoreonyourclothes,you'lllesscareaboutyourstudies.Dourownclothesisinteresting.It'sagoodwaytoallowstudentstostudying.Ican'tc whichpairofjeanstobuy.Everyoneneedstohaveat1eighth(小時(shí))sleep.HeshouldstopwearingthesesillyTheboyalwaysfeel(困倦)inChineseclass.Atlastthey(成功)lastyear.Studentsshouldn'tbe(允許)tosmokeatschool.Englishis(說)allovertheworld.IntheirschoolFrenchis(教)?ItwouldbeagoodeformebecauseIwanttobeadoctorwhenIamolder.4/49. Whatwouldyoudoifyouhadamilliond?—Iwouldgivethemoneytoc .IfIwyou,I'dtakeasmallpresent.WifIdon'tknowanyone?Iaskedhis(允許)tousehisbike.Thelittlegirlgavehermothera(自信的)smile.ShelearnedEnglishbyh .MissLiianewstudenttoherclassyesterday.Theylistencarefully,theyaregood1.ChengLongisafamousactor.HerChinesekungfuHeknowslotsofthings.HeisHedidn'tagreewithme,sohertodothings.Youmadelotsofmistakes.YoumustcthemTherearemanybooksontheses .I'mtooshytogivesinfrontoftheclass.Heishardlyevertired.HeisTheterriblenoisedidn'tbotheryouinthes.Ican'tthinkofanygood(建設(shè))togiveher,butyoualwayscupwithgoodstopeople's(困難).5/66.MarkTwainisaveryfamous(作家).Thebookdoesn'tbtoyou,it'shers.Hurryup,oryoucan'tctheearlybus.Theoofthebeautifulhouseisasinger.Ihaven'tseenmydogfortwodays,Iamverywaboutit.ThedofGradeNineisMrSun.Our(鄰居)areveryfriendly.Wegetonverywell.Thefoodintherestaurantsnice.Therearesomebig(石頭)inthestreet.Let'smovethemaway.Heisa(不誠實(shí)的)student.Weallworryabouthim.There'sa(奇怪的)smellintheroom.Don'tforgettheimportant(約會(huì))thisafternoon.Shedidn'tgotoschoolbofhisillness.Thenicebikemightbeapforhim.Becausehisbirthdayising.0.Hesaidhedthemusicbecauseitwastooloudly.MrQiaoisamanwithakindh.Heisalwaysreadytohelpothers.He1ikesmusicthathasgreat1They'replayingquietandgsongs.Someofthesingersdon'tsingthesongscMrGaoisafamouspHehastakenalotofbeautifulphotographs.LinLinisanhboy,andhenevertell1iestoothers.WillThursdaysyou?Wyoudo,youmustbecareful.89.I'dliketogosomewhere (放松的).Foryournextvacation,whynot(consider)(visit)Paris?Themusic(聽起來)1ikebirdssinging.Wouldyou1ikesomething(別的)?Iピsaboutfive(天)work.Bobisno(不再)ayoungman.Youmuststop(抽煙).Hangzhouisoneofthemostbeautiful (城中丿intheworld.Thatoldman(死)fiveweeksago.Fatherlooksvery(擔(dān)憂的)today.Ididn/thavebreadforbreakfast,Ihadabowlofnoodles(代替).Hisfather'singback(使得)himfeelveryhappy.TodayIcametoschool(沒有)breakfast.Iwastoobusyand(錯(cuò)過)thefilm"Titanic".Iwilltellyouwhenhe _ 倒達(dá))myhome.Therearesomany(參觀者)intheWestLake.Youmustkeep(安靜)inclass.He(改變)hisnamewhenhewasintheUSA.It'snotgoodtolaughatothers'(錯(cuò)誤).There's

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論