【精品】c 語言難點分析整理.doc

【精品】c 語言難點分析整理.doc

ID:51890864

大?。?04.00 KB

頁數(shù):14頁

時間:2020-03-18

【精品】c 語言難點分析整理.doc_第1頁
【精品】c 語言難點分析整理.doc_第2頁
【精品】c 語言難點分析整理.doc_第3頁
【精品】c 語言難點分析整理.doc_第4頁
【精品】c 語言難點分析整理.doc_第5頁
資源描述:

《【精品】c 語言難點分析整理.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、C語言難點分析整理這篇文章主要是介紹一些在復(fù)習(xí)C語言的過程中筆者個人認為比較重點的地方,較好的掌握這些重點會使對C的運用更加得心應(yīng)手。此外會包括一些細節(jié)、易錯的地方。涉及的主要內(nèi)容包括:變量的作用域和存儲類別、函數(shù)、數(shù)組、字符串、指針、文件、鏈表等。一些最基木的概念在此就不多作解釋了,僅希望能有只言片語給同是C語言初學(xué)者的學(xué)習(xí)和上機過程提供一點點的幫助。變量作用域和存儲類別:了解了基木的變量類型后,我們要進…步了解它的存儲類別和變量作用域問題。變量類別子類別局部變量靜態(tài)變量(離開函數(shù),變量值仍保留)自動變量寄存器變量全局變量靜態(tài)變量(只能在木文件中用)非靜態(tài)變量(允

2、許其他文件使用)換一個角度變量類別子類別靜態(tài)存儲變量靜態(tài)局部變量(函數(shù))靜態(tài)全局變量(本文件)非靜態(tài)全局/外部變量(其他文件引用)動態(tài)存儲變量自動變量寄存器變量形式參數(shù)extern型的存儲變量在處理多文件問題時常能用到,在一個文件中定義extern型的變量即說明這個變量用的是其他文件的。順便說一下,筆者在做課設(shè)時遇到outofmemory的錯誤,于是改成做多文件,再把它include進來(注意自己嗎的th耍用"不用v>),能起到一定的效用。static型的在讀程序?qū)懡Y(jié)果的試題中是個考點。多數(shù)時候整個程序會出現(xiàn)多個定義的變量在不同的函數(shù)中,考查在不同位置同一變量的值是

3、多少。主耍是遵循一個原則,只要本函數(shù)內(nèi)沒有定義的變量就用全局變量(而不是main里的),全局變量和局部變量重名時局部變量起作用,當然還耍注意靜態(tài)與自動變量的區(qū)別。函數(shù):對于函數(shù)最基本的理解是從那個叫main的單詞開始的,一開始總會覺得把語句一并寫在main里不是挺好的么,為什么偏擇出去。其實這是因為對函數(shù)還不夠熟練,否則函數(shù)的運用會給我們編程帶來極大的便利。我們要知道函數(shù)的返回值類型,參數(shù)的類型,以及調(diào)用函數(shù)時的形式。事先的函數(shù)說明也能起到一個提醒的好作用。所謂形參和實參,即在調(diào)用函數(shù)時寫在括號里的就是實參,函數(shù)本身用的就是形參,在畫流程圖時用平行四邊形表示傳參。函

4、數(shù)的另一個丿應(yīng)用例子就是遞歸了,筆者開始比較頭疼的問題,反應(yīng)總是比較遲鈍,按照老師的方法,把遞歸的過程耐心準確的逐級畫出來,學(xué)習(xí)的效果還是比較好的,會覺得這種遞歸的運用是挺巧的,事實上,著名的八皇后、漢諾塔等問題都用到了遞歸。例子:longfun(intn){longs;if(n==1

5、

6、n==2)s=n2H;elses=HnMun(n-1);returns;}main(){printf(%ld,fun⑷);}數(shù)組:分為一維數(shù)組和多維數(shù)組,其存儲方式畫為表格的話就會一冃了然,其實就是把相同類型的變量有序的放在一起。因此,在處理比較多的數(shù)據(jù)時(這也是大多數(shù)的情況)數(shù)組

7、的應(yīng)用范圍是非常廣的。具體的實際應(yīng)用不便舉例,而且絕大多數(shù)是與指針相結(jié)合的,筆者個人認為學(xué)習(xí)數(shù)組在更大程度上是為學(xué)習(xí)指針做一個鋪熱。作為基礎(chǔ)的基礎(chǔ)耍明白兒種基本操作:即數(shù)組賦值、打印、排序(冒泡排序法和選擇排序法)、查找。這些都不可避免的用到循環(huán),如果覺得反應(yīng)不過來,可以先一點點的把循環(huán)展開,就會越來越熟悉,以后自己編寫一個功能的時候就會先找出內(nèi)在規(guī)律,較好的運用了。另外數(shù)組做參數(shù)時,一維的[]里可以是空的,二維的第一個[I里可以是空的但是第二個[]屮必須規(guī)定大小。冒泡法排序函數(shù):voidbubble(inta[],intn){inti,j,k;for(i=1,iv

8、n;i++)for(j=0;jvn?i?1;j++)if(a[j]>aU+1]){k=,,aH[j];a[ji=aD+1];a0+1]=k;選擇法排序函數(shù):voidsort(inta[],intn){intij5k,t;for(i=03i

9、((flag==O)&&(left<=right))mid=(left+right)/2;if(x==a[mid]){pnntf(%d%d,x,mid);flag=1;}elseif(x