新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 初學C語言程序設計的基本方法和技巧

        初學C語言程序設計的基本方法和技巧

        作者: 時間:2014-01-17 來源:網絡 收藏

        是對于初學者來說最難的一部分,也就是把我們剛才分析過程轉換成語句。

        這需要學好的三種程序結構。(1)順序結構;順序結構的是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。順序結構可以獨立使用構成一個簡單的完整程序,不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。(2)選擇結構;對于要先做判斷再選擇的問題就要使用分支結構。選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。選擇結構的方法的關鍵在于構造合適的分支條件和分析程序流程,根據條件的結果選擇對應的分支語句。選擇結構適合于帶有邏輯或關系比較等條件判斷的

        計算,設計這類程序時往往都要先繪制其程序流程圖,然后根據程序流程寫出源程序,這樣做把分析與語言分開,使得問題簡單化,易于理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。

        例如上例中,把我們頭腦中很快閃過的這些判斷過程畫成流程圖,根據流程圖再寫出對應的語句就比較容易了。如下所示:

        min=a;

        if(min>b)min=b;

        if(min>c)min=c;

        學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的部分,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。

        ①if(條件)

        {分支體

        }

        這種分支結構中的分支體可以是一條語句,此時“{}”可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x0時其絕對值是為x的反號,因此程序段為:if(x0)x=-x;

        ②if(條件)

        {分支1}

        else

        {分支2}

        這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求某年的年號是否是閏年。分析:因為當某年號能被4整除 但不能被100整除,則這一年是閏年;或者這一年號能被4 0 0整除也是閏年。即year%4==0year%100!=0||year%400==0其程序段如下:

        i f(y e a r%4==0y e a r%1 0 0!=0||year%400==0)

        printf“(%d is leap year!”,year);

        else

        printf“(%d is not leap year!”,year);}

        ③嵌套分支語句:其語句格式為:

        if(條件1){分支1};

        else if(條件2){分支2}

        else if(條件3){分支3}

        ……

        else if(條件n){分支n}

        else{分支n+1}

        嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套后,語句結構變得非常復雜,對于程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用switch語句。

        ④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決于開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else語句,它的所有分支都是并列的,程序執行時,由第一分支開始查找,如果相匹配,執行其后的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。

        (3)循環結構

        循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構,中提供三種循環,即while循環、dowhile循環和for循環。三種循環可以用來處理同一問題,一般情況下它們可以互相代替換,另外還有一種goto循環語句,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,所以不提倡使用。

        常用的三種循環結構學習的重點在于弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹后就會明白如何替換使用,就能更好地理解它們的作用。在分析循環結構的語句時要開清楚,什么時候開始循環(即循環的初始值);什么時候結束循環(即循環的終止條件);循環的時候都做哪些操作(即循環體的執行部分);特別要注意在循環體內應包含趨于結束的語句(即循環變量值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。

        在學完這三個循環后,應明確它們的異同點:用while和do…while循環時,循環變量的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while循環和for循環都是先判斷表達式,后執行循環體,而d o…while循環是先執行循環體后判斷表達式,也就是說do…while的循環體最少被執行一次,而while循環和for就可能一次都不執行。

        c語言相關文章:c語言教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 增城市| 鸡泽县| 天门市| 天长市| 新乡市| 恭城| 阜城县| 黑山县| 平潭县| 汶川县| 大理市| 遂宁市| 资阳市| 麻栗坡县| 道孚县| 宝兴县| 洪湖市| 茌平县| 紫云| 庆城县| 韶关市| 松阳县| 广河县| 赣州市| 晋州市| 蕉岭县| 海伦市| 达州市| 读书| 徐闻县| 墨玉县| 辽宁省| 横山县| 靖宇县| 周口市| 滨州市| 江北区| 林芝县| 新密市| 宜章县| 普宁市|