<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇開發(fā)語言培訓(xùn)專區(qū)C語言開發(fā) → C語言難點(diǎn)分析


      共有9743人關(guān)注過本帖樹形打印

    主題:C語言難點(diǎn)分析

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
    C語言難點(diǎn)分析  發(fā)帖心情 Post By:2010-12-10 11:10:48

    變量作用域和存儲(chǔ)類別:

    了解了基本的變量類型后,我們要進(jìn)一步了解它的存儲(chǔ)類別和變量作用域問題。

    變量類別 子類別
    局部變量 靜態(tài)變量(離開函數(shù),變量值仍保留)
    自動(dòng)變量
    寄存器變量
    全局變量 靜態(tài)變量(只能在本文件中用)
    非靜態(tài)變量(允許其他文件使用)

    換一個(gè)角度

    變量類別 子類別
    靜態(tài)存儲(chǔ)變量 靜態(tài)局部變量(函數(shù))
    靜態(tài)全局變量(本文件)
    非靜態(tài)全局/外部變量(其他文件引用)
    動(dòng)態(tài)存儲(chǔ)變量 自動(dòng)變量
    寄存器變量
    形式參數(shù)

    extern型的存儲(chǔ)變量在處理多文件問題時(shí)常能用到,在一個(gè)文件中定義 extern型的變量即說明這個(gè)變量用的是其他文件的。順便說一下,筆者在做課設(shè)時(shí)遇到out of memory的錯(cuò)誤,于是改成做多文件,再把它include進(jìn)來(注意自己寫的*.h要用“”不用<>),能起到一定的效用。static 型的在讀程序?qū)懡Y(jié)果的試題中是個(gè)考點(diǎn)。多數(shù)時(shí)候整個(gè)程序會(huì)出現(xiàn)多個(gè)定義的變量在不同的函數(shù)中,考查在不同位置同一變量的值是多少。主要是遵循一個(gè)原則,只要本函數(shù)內(nèi)沒有定義的變量就用全局變量(而不是main里的),全局變量和局部變量重名時(shí)局部變量起作用,當(dāng)然還要注意靜態(tài)與自動(dòng)變量的區(qū)別。

    函數(shù):

    對(duì)于函數(shù)最基本的理解是從那個(gè)叫main的單詞開始的,一開始總會(huì)覺得把語句一并寫在main里不是挺好的么,為什么偏擇出去。其實(shí)這是因?yàn)閷?duì)函數(shù)還不夠熟練,否則函數(shù)的運(yùn)用會(huì)給我們編程帶來極大的便利。我們要知道函數(shù)的返回值類型,參數(shù)的類型,以及調(diào)用函數(shù)時(shí)的形式。事先的函數(shù)說明也能起到一個(gè)提醒的好作用。所謂形參和實(shí)參,即在調(diào)用函數(shù)時(shí)寫在括號(hào)里的就是實(shí)參,函數(shù)本身用的就是形參,在畫流程圖時(shí)用平行四邊形表示傳參。

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

    例子:
     



    數(shù)組:

    分為一維數(shù)組和多維數(shù)組,其存儲(chǔ)方式畫為表格的話就會(huì)一目了然,其實(shí)就是把相同類型的變量有序的放在一起。因此,在處理比較多的數(shù)據(jù)時(shí)(這也是大多數(shù)的情況)數(shù)組的應(yīng)用范圍是非常廣的。

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

        
    int i,j,k; 
        
    for (i=1,i<n;i++
        
    for (j=0;j< n-i-1; j++
        
    if (a[j]>a[j+1]) 
        { 
            k
    =a[j]; 
            a[j]
    =a[j+1]; 
            a[j
    +1]=k; 
        } 

    選擇法排序函數(shù):
    void sort( int a[] , int n) 
    ...
        
    int i,j,k,t; 
        
    for (i=0,i< n-1 ;i++
        
    ...
            k
    =i ; 
            
    for ( j=i+1 ;j<n;j++
                
    if (a[k]<a[j]) k=j ; 
            
    if ( k!=i ) 
            
    ...
                t
    =a[i]; 
                a[i]
    =a[k]; 
                a[k]
    =t; 
            }
     
        }
     
    }
     


    支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    C語言難點(diǎn)分析








    簽名