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

    曙海教育集團論壇開發語言培訓專區C語言開發 → C語言難點分析


      共有8005人關注過本帖樹形打印

    主題:C語言難點分析

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


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    C語言難點分析  發帖心情 Post By:2010-12-10 11:10:48

    變量作用域和存儲類別:

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

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

    換一個角度

    變量類別 子類別
    靜態存儲變量 靜態局部變量(函數)
    靜態全局變量(本文件)
    非靜態全局/外部變量(其他文件引用)
    動態存儲變量 自動變量
    寄存器變量
    形式參數

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

    函數:

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

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

    例子:
     



    數組:

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

    具體的實際應用不便舉例,而且絕大多數是與指針相結合的,筆者個人認為學習數組在更大程度上是為學習指針做一個鋪墊。作為基礎的基礎要明白幾種基本操作:即數組賦值、打印、排序(冒泡排序法和選擇排序法)、查找。這些都不可避免的用到循環,如果覺得反應不過來,可以先一點點的把循環展開,就會越來越熟悉,以后自己編寫一個功能的時候就會先找出內在規律,較好的運用了。另外數組做參數時,一維的[]里可以是空的,二維的第一個[]里可以是空的但是第二個[]中必須規定大小。
    冒泡法排序函數: 
    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; 
        } 

    選擇法排序函數:
    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反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    C語言難點分析








    簽名
    主站蜘蛛池模板: 亚洲第一黄色网址| 国产精品99久久精品爆乳| 亚洲AV无码成人精品区在线观看 | 奇米四色在线视频| 久久精品国产亚洲夜色AV网站| 欧美日韩在线播放| 午夜福利无码不卡在线观看| 韩国精品欧美一区二区三区| 国内精品福利视频| 中文字幕亚洲一区二区va在线| 日韩一级在线播放| 亚洲欧洲成人精品香蕉网| 男人女人真曰批视频大全免费观看| 国产呦系列呦交| 91嫩草私人成人亚洲影院| 女人与公拘交酡过程高清视频| 久久国产小视频| 最新国产精品自在线观看| 亚洲精品自产拍在线观看| 精品久久久久久久久久中文字幕| 国产女人91精品嗷嗷嗷嗷| 91精品欧美综合在线观看| 奇米影视888欧美在线观看| 久久亚洲精品无码gv| 日韩色视频在线观看| 亚洲爆乳无码专区www| 狠狠躁夜夜躁无码中文字幕| 国产乡下三级全黄三级| 麻豆国产精品va在线观看不卡 | 亚洲av无一区二区三区| 欧美日韩国产高清| 免费理论片51人人看电影| 精品视频一区二区三区在线播放| 国产成人精品999在线观看| 97人人模人人爽人人少妇| 大片免费观看在线视频| 中文字幕亚洲第一| 日b视频免费看| 亚洲av中文无码乱人伦在线观看| 欧美乱子伦一区二区三区| 亚洲色图欧美激情|