第5章 循環(huán)結構程序設計

上傳人:dao****ing 文檔編號:124257827 上傳時間:2022-07-24 格式:PPT 頁數(shù):64 大小:521KB
收藏 版權申訴 舉報 下載
第5章 循環(huán)結構程序設計_第1頁
第1頁 / 共64頁
第5章 循環(huán)結構程序設計_第2頁
第2頁 / 共64頁
第5章 循環(huán)結構程序設計_第3頁
第3頁 / 共64頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《第5章 循環(huán)結構程序設計》由會員分享,可在線閱讀,更多相關《第5章 循環(huán)結構程序設計(64頁珍藏版)》請在裝配圖網上搜索。

1、第第5章章 循環(huán)結構程序設計循環(huán)結構程序設計 預習要點及目標預習要點及目標了解循環(huán)結構程序設計的使用情境;了解循環(huán)結構程序設計的使用情境;了解了解goto語句和語句和if語句構成循環(huán)語句的應用;語句構成循環(huán)語句的應用;掌握掌握for循環(huán)語句的應用;循環(huán)語句的應用;掌握掌握while循環(huán)語句和循環(huán)語句和dowhile循環(huán)語句的應用;循環(huán)語句的應用;掌握多重循環(huán)的程序設計方法;掌握多重循環(huán)的程序設計方法;掌握相關循環(huán)問題的程序設計方法及技巧。掌握相關循環(huán)問題的程序設計方法及技巧。第第5章章 循環(huán)結構程序設計循環(huán)結構程序設計5.1 5.1 循環(huán)問題解決步驟和方法循環(huán)問題解決步驟和方法5.2 whil

2、e5.2 while語句語句5.3 do5.3 dowhile while 語句語句5.4 for5.4 for語句語句5.5 5.5 轉轉 移移 語語 句句5.6 for5.6 for、whilewhile和和dodowhilewhile三種循環(huán)語句的比較三種循環(huán)語句的比較5.7 5.7 循環(huán)的嵌套循環(huán)的嵌套5.8 5.8 綜綜 合合 實實 訓訓5.9 5.9 情境案例分析情境案例分析5.1 循環(huán)問題解決步驟和方法循環(huán)問題解決步驟和方法 循環(huán)結構是結構化程序設計中最復雜的結構之一。對于一些按照一定循環(huán)結構是結構化程序設計中最復雜的結構之一。對于一些按照一定條件進行不斷重復的操作必須用循環(huán)結構

3、程序設計來解決,一般來說解決條件進行不斷重復的操作必須用循環(huán)結構程序設計來解決,一般來說解決循環(huán)問題用以下的方法和步驟。循環(huán)問題用以下的方法和步驟。(1)判斷解決的問題是否是循環(huán)問題。也就是判斷問題中有沒有重復的操作。判斷解決的問題是否是循環(huán)問題。也就是判斷問題中有沒有重復的操作。(2)判斷是哪種循環(huán)結構類型,是計數(shù)循環(huán)還是非計數(shù)循環(huán)。判斷是哪種循環(huán)結構類型,是計數(shù)循環(huán)還是非計數(shù)循環(huán)。計數(shù)循環(huán)的執(zhí)行流程如圖計數(shù)循環(huán)的執(zhí)行流程如圖5.1所示,這種循環(huán)在循環(huán)之前就能夠確定循所示,這種循環(huán)在循環(huán)之前就能夠確定循環(huán)的次數(shù)。非計數(shù)循環(huán)是指循環(huán)之前無法確定循環(huán)次數(shù)的循環(huán)。非計數(shù)循環(huán)的次數(shù)。非計數(shù)循環(huán)是指循

4、環(huán)之前無法確定循環(huán)次數(shù)的循環(huán)。非計數(shù)循環(huán)又可分為當型循環(huán)和直到型循環(huán)。當型循環(huán)先檢驗循環(huán)條件,若為環(huán)又可分為當型循環(huán)和直到型循環(huán)。當型循環(huán)先檢驗循環(huán)條件,若為“真真”執(zhí)行循環(huán)體,若為執(zhí)行循環(huán)體,若為“假假”,循環(huán)體一次也不執(zhí)行,直接退出循環(huán),當型循,循環(huán)體一次也不執(zhí)行,直接退出循環(huán),當型循環(huán)的執(zhí)行流程如圖環(huán)的執(zhí)行流程如圖5.2所示,圖所示,圖5.1也屬于當型循環(huán)。直到型循環(huán)先執(zhí)行一也屬于當型循環(huán)。直到型循環(huán)先執(zhí)行一次循環(huán)體,之后再檢驗循環(huán)條件,若為次循環(huán)體,之后再檢驗循環(huán)條件,若為“真真”再次進入循環(huán),若為再次進入循環(huán),若為“假假”,退出循環(huán),直到型循環(huán)的執(zhí)行流程如圖退出循環(huán),直到型循環(huán)的執(zhí)行

5、流程如圖5.3所示。所示。圖圖5.1 計數(shù)循環(huán)計數(shù)循環(huán) 圖圖5.2 當型循環(huán)當型循環(huán) 圖圖5.3 直到型循環(huán)直到型循環(huán) (3)確定循環(huán)過程,并用自然語言描述問題。確定循環(huán)過程,并用自然語言描述問題。(4)確定循環(huán)要素,并畫出程序流程圖或確定循環(huán)要素,并畫出程序流程圖或N-S流圖。從循環(huán)過程流圖。從循環(huán)過程來看,循環(huán)結構通常需要具備以下來看,循環(huán)結構通常需要具備以下4個要素:一是循環(huán)發(fā)生個要素:一是循環(huán)發(fā)生的起始條件;二是循環(huán)執(zhí)行的條件;三是循環(huán)體;四是改變的起始條件;二是循環(huán)執(zhí)行的條件;三是循環(huán)體;四是改變循環(huán)條件的語句。在計數(shù)循環(huán)中如果沒有改變循環(huán)次數(shù)并使循環(huán)條件的語句。在計數(shù)循環(huán)中如果沒有

6、改變循環(huán)次數(shù)并使循環(huán)逐漸趨于結束的語句,那么這個循環(huán)將是循環(huán)逐漸趨于結束的語句,那么這個循環(huán)將是“死循環(huán)死循環(huán)”;在非計數(shù)循環(huán)中如果沒有使循環(huán)持續(xù)的語句,那么這個循環(huán)在非計數(shù)循環(huán)中如果沒有使循環(huán)持續(xù)的語句,那么這個循環(huán)將不能進行下一次的執(zhí)行。將不能進行下一次的執(zhí)行。(5)用用C語言實現(xiàn)循環(huán)。語言實現(xiàn)循環(huán)。例例5-1 輸入若干件商品的購買價格,計算應付價格總額,當輸入輸入若干件商品的購買價格,計算應付價格總額,當輸入0時結束。時結束。(1)判斷解決的問題是否是循環(huán)問題。從題意可以看出,求購買商品應付價判斷解決的問題是否是循環(huán)問題。從題意可以看出,求購買商品應付價格總額的過程是:輸入一件商品的價格

7、累加求和,再輸入一件商品的價格總額的過程是:輸入一件商品的價格累加求和,再輸入一件商品的價格再累加求和格再累加求和不斷重復這樣的累加求和的操作,直到輸入不斷重復這樣的累加求和的操作,直到輸入回車回車時才時才能結束,所以這是一個循環(huán)問題。能結束,所以這是一個循環(huán)問題。(2)判斷是哪種循環(huán)結構類型。由于購買商品的件數(shù)是不確定的,無法確定判斷是哪種循環(huán)結構類型。由于購買商品的件數(shù)是不確定的,無法確定循環(huán)次數(shù),所以是非計數(shù)循環(huán)。循環(huán)次數(shù),所以是非計數(shù)循環(huán)。(3)描述循環(huán)過程,算法如下。描述循環(huán)過程,算法如下。S1:輸入商品購買價格:輸入商品購買價格(用變量用變量price表示表示)。S2:判斷商品價格

8、:判斷商品價格price是否等于是否等于0,如果,如果price不等于不等于0,那么轉向,那么轉向S3,否,否則轉向則轉向S5。S3:求價格總和。:求價格總和。S4:再次輸入商品價格,轉向:再次輸入商品價格,轉向S2。S5:循環(huán)結束。:循環(huán)結束。S6:輸出價格總額。:輸出價格總額。(4)確定循環(huán)要素,并畫出程序流程圖或確定循環(huán)要素,并畫出程序流程圖或N-S流圖。流圖。循環(huán)初始化條件為:輸入一件商品的價格,用循環(huán)初始化條件為:輸入一件商品的價格,用C語句語句scanf(%d,&price)表示;表示;循環(huán)條件為:輸入價格不等于回車,用循環(huán)條件為:輸入價格不等于回車,用C語句語句price!=n表

9、示;表示;循環(huán)體:求和,用循環(huán)體:求和,用C語句語句sum=sum+price表示;表示;持續(xù)循環(huán)的條件為:再次輸入學生成績,用持續(xù)循環(huán)的條件為:再次輸入學生成績,用scanf(%d,&price)表示;表示;流程圖如圖流程圖如圖5.4所示。所示。圖圖5.4 程序流程圖程序流程圖(5)用用C語言語句實現(xiàn)。語言語句實現(xiàn)。while語句是實現(xiàn)循環(huán)結構最重要的語句之一,一般適合解語句是實現(xiàn)循環(huán)結構最重要的語句之一,一般適合解決非計數(shù)循環(huán),也是解決當型循環(huán)的最好選擇。決非計數(shù)循環(huán),也是解決當型循環(huán)的最好選擇。(1)while語句的一般形式為:語句的一般形式為:while(表達式表達式)語句語句;其中表

10、達式是循環(huán)條件,語句為循環(huán)體,它可以為單個語句,也可其中表達式是循環(huán)條件,語句為循環(huán)體,它可以為單個語句,也可以為復合語句。以為復合語句。(2)while語句的執(zhí)行過程為:先計算表達式的值,當值為真語句的執(zhí)行過程為:先計算表達式的值,當值為真(非非0)時則執(zhí)行時則執(zhí)行循環(huán)體語句;當表達式為假循環(huán)體語句;當表達式為假(值為值為0)時,跳出循環(huán),執(zhí)行循環(huán)以外的下一時,跳出循環(huán),執(zhí)行循環(huán)以外的下一個語句。其執(zhí)行過程如圖個語句。其執(zhí)行過程如圖5.5所示。所示。圖圖5.5 while語句執(zhí)行過程語句執(zhí)行過程5.2 while語句語句 根據(jù)根據(jù)while語句的執(zhí)行過程,可以看出它的執(zhí)行特點是:先判斷表語句

11、的執(zhí)行過程,可以看出它的執(zhí)行特點是:先判斷表達式,后執(zhí)行循環(huán)體語句,如果表達式第一次判斷就為假,那么循環(huán)達式,后執(zhí)行循環(huán)體語句,如果表達式第一次判斷就為假,那么循環(huán)體一次也不執(zhí)行。體一次也不執(zhí)行。例例5-2 用用while語句實現(xiàn)例語句實現(xiàn)例5-1的程序源代碼。的程序源代碼。#include main()float price,sum=0.0;printf(please input price:n);scanf(%f,&price);while(price!=0)sum=sum+price;scanf(%f,&price);printf(應付價格:應付價格:%.2fn,sum);本例程序中的循

12、環(huán)條件為本例程序中的循環(huán)條件為price!=0,其意義是,其意義是,只要從鍵盤輸入的字只要從鍵盤輸入的字符不是符不是0就繼續(xù)循環(huán)。循環(huán)體就繼續(xù)循環(huán)。循環(huán)體sum=sum+price完成對輸入價格的累計求和,完成對輸入價格的累計求和,從而程序解決了對輸入若干件商品價格的累計求和的問題。從而程序解決了對輸入若干件商品價格的累計求和的問題。使用使用while語句應注意以下幾點。語句應注意以下幾點。while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真真(非非0)即可繼續(xù)循環(huán)。即可繼續(xù)循環(huán)。循環(huán)體如包括一個以上的語句,則必須用循

13、環(huán)體如包括一個以上的語句,則必須用“”括起來,組成復合語句。括起來,組成復合語句。應注意循環(huán)條件的選擇以避免死循環(huán)。應注意循環(huán)條件的選擇以避免死循環(huán)。main()int a,n=0;while(a=3)printf(%d,n+);本例中本例中while語句的循環(huán)條件為賦值表達式語句的循環(huán)條件為賦值表達式a=3,因此該表達,因此該表達式的值永遠為真,而循環(huán)體中又沒有其他中止循環(huán)的手段,因此式的值永遠為真,而循環(huán)體中又沒有其他中止循環(huán)的手段,因此該循環(huán)將無休止地進行下去,形成死循環(huán)。該循環(huán)將無休止地進行下去,形成死循環(huán)。5.3 dowhile 語句語句 while語句在循環(huán)結構頭部檢查循環(huán)條件,而

14、語句在循環(huán)結構頭部檢查循環(huán)條件,而dowhile語句則是在循環(huán)結構尾部檢查循環(huán)條件,一般也用于解決非語句則是在循環(huán)結構尾部檢查循環(huán)條件,一般也用于解決非計數(shù)循環(huán),它是解決直到型循環(huán)的最好選擇。計數(shù)循環(huán),它是解決直到型循環(huán)的最好選擇。(1)dowhile語句的一般形式為:語句的一般形式為:do語句語句;while(表達式表達式);其中語句是循環(huán)體,表達式是循環(huán)條件。其中語句是循環(huán)體,表達式是循環(huán)條件。(2)dowhile語句的執(zhí)行過程為先執(zhí)行循環(huán)體語句一次,再判語句的執(zhí)行過程為先執(zhí)行循環(huán)體語句一次,再判別表達式的值,若為真別表達式的值,若為真(非非0)則繼續(xù)循環(huán),否則終止循環(huán)。其則繼續(xù)循環(huán),否則

15、終止循環(huán)。其執(zhí)行過程如圖執(zhí)行過程如圖5.6所示。所示。圖圖5.6 dowhile語句執(zhí)行過程語句執(zhí)行過程例例5-3 用用dowhile語句編寫程序,輸出從語句編寫程序,輸出從0開始的連續(xù)的開始的連續(xù)的n個偶數(shù)。個偶數(shù)。(1)解題思路:輸出連續(xù)的解題思路:輸出連續(xù)的n個數(shù),是重復輸出,所以是循環(huán)問題。需要讓個數(shù),是重復輸出,所以是循環(huán)問題。需要讓循環(huán)體執(zhí)行循環(huán)體執(zhí)行n次,所以循環(huán)的初始條件可設為輸入次,所以循環(huán)的初始條件可設為輸入n值;循環(huán)條件可設為值;循環(huán)條件可設為n0;循環(huán)體為輸出從;循環(huán)體為輸出從0開始的偶數(shù),可用語句開始的偶數(shù),可用語句printf(%d,a*2)和語句和語句a+實現(xiàn);改

16、變循環(huán)條件的語句用實現(xiàn);改變循環(huán)條件的語句用n-實現(xiàn)。實現(xiàn)。(2)程序源代碼:程序源代碼:#include main()int a=0,n;printf(input n:n);scanf(%d,&n);do printf(%d,a*2);a+;n-;while(n0);提示:提示:dowhile先執(zhí)行后判斷先執(zhí)行后判斷,循環(huán)至少執(zhí)行一次;循環(huán)至少執(zhí)行一次;while是先判斷后執(zhí)行,如是先判斷后執(zhí)行,如果初始條件不為真,則循環(huán)體語句一次也不執(zhí)行。果初始條件不為真,則循環(huán)體語句一次也不執(zhí)行。while語句和語句和dowhile語句一般可以相互改寫。本例用語句一般可以相互改寫。本例用while循環(huán)實

17、現(xiàn)如下:循環(huán)實現(xiàn)如下:#include main()int a=0,n;printf(n input n:);scanf(%d,&n);while(n0)printf(%d,a*2);a+;n-;使用使用dowhile語句應注意以下幾點。語句應注意以下幾點。(1)在在if語句、語句、while語句中,表達式后面都不能加分號,而在語句中,表達式后面都不能加分號,而在dowhile語句的表達式后面則必須加分號。語句的表達式后面則必須加分號。(2)在在do和和while之間的循環(huán)體由多個語句組成時,必須用之間的循環(huán)體由多個語句組成時,必須用“”括起來組成一個復合語句。括起來組成一個復合語句。(3)d

18、owhile和和while語句相互替換時,要注意循環(huán)控制條件的語句相互替換時,要注意循環(huán)控制條件的修改。修改。5.4 for語句語句for語句是語句是C語言所提供的功能更強,使用更廣泛的一種循環(huán)語句。語言所提供的功能更強,使用更廣泛的一種循環(huán)語句。(1)for語句的一般形式為:語句的一般形式為:for(表達式表達式1;表達式表達式2;表達表達3)語句語句;表達式表達式1通常用來給循環(huán)變量賦初值,一般是賦值表達式。也允通常用來給循環(huán)變量賦初值,一般是賦值表達式。也允許在許在for語句外給循環(huán)變量賦初值,此時可以省略該表達式。語句外給循環(huán)變量賦初值,此時可以省略該表達式。表達式表達式2通常是循環(huán)條

19、件,一般為關系表達式或邏輯表達式。通常是循環(huán)條件,一般為關系表達式或邏輯表達式。表達式表達式3通??捎脕硇薷难h(huán)變量的值,一般是賦值語句。通??捎脕硇薷难h(huán)變量的值,一般是賦值語句。這這3個表達式都可以是逗號表達式,個表達式都可以是逗號表達式,即每個表達式都可由多個表達式組即每個表達式都可由多個表達式組成。另外,成。另外,3個表達式都是任選項,在不同的情況下都可以省略,但個表達式都是任選項,在不同的情況下都可以省略,但各個表達式之間的分號不能省略。各個表達式之間的分號不能省略。一般形式中的一般形式中的“語句語句”即為循環(huán)體,若循環(huán)體由多個語句組成,則需即為循環(huán)體,若循環(huán)體由多個語句組成,則需用

20、用“”括起來,形成復合語句。括起來,形成復合語句。(2)for語句的執(zhí)行過程為:語句的執(zhí)行過程為:首先計算表達式首先計算表達式1的值。的值。再計算表達式再計算表達式2的值,若值為真的值,若值為真(非非0)則執(zhí)行循環(huán)體一次,否則跳出循則執(zhí)行循環(huán)體一次,否則跳出循環(huán)。環(huán)。然后再計算表達式然后再計算表達式3的值,轉回第的值,轉回第步重復執(zhí)行。在整個步重復執(zhí)行。在整個for循環(huán)過循環(huán)過程中,表達式程中,表達式1只計算一次,表達式只計算一次,表達式2和表達式和表達式3則可能計算多次。循則可能計算多次。循環(huán)體可能多次執(zhí)行,也可能一次都不執(zhí)行。環(huán)體可能多次執(zhí)行,也可能一次都不執(zhí)行。for 語句的執(zhí)行過程如圖

21、語句的執(zhí)行過程如圖5.7所示。所示。圖圖5.7 for循環(huán)執(zhí)行過程循環(huán)執(zhí)行過程例例5-4 輸入若干個學生的成績,判斷輸入學生的成績是否合格。輸入若干個學生的成績,判斷輸入學生的成績是否合格。解題思路:從題意可知循環(huán)次數(shù)解題思路:從題意可知循環(huán)次數(shù)i與學生人數(shù)與學生人數(shù)count相同;循環(huán)次數(shù)是由相同;循環(huán)次數(shù)是由for語句語句3個表達式決定的,所以若表達式個表達式決定的,所以若表達式1為:為:i=0,則表達式,則表達式2為:為:icount,表達式表達式3為:為:i+;循環(huán)體實現(xiàn)對輸入的每個學生的分數(shù)進行判斷;循環(huán)體實現(xiàn)對輸入的每個學生的分數(shù)進行判斷并確定等級。并確定等級。程序源代碼:程序源代

22、碼:#include main()int count,score,i;printf(請輸入班級的人數(shù)請輸入班級的人數(shù):);scanf(%d,&count);printf(n);for(i=0;i60)printf(及格及格n);else printf(不及格不及格n);(3)for語句的經典形式為:語句的經典形式為:for(循環(huán)變量賦初值循環(huán)變量賦初值;循環(huán)條件循環(huán)條件;循環(huán)趨于結束的語句循環(huán)趨于結束的語句)循環(huán)體循環(huán)體;例例5-5 用用for循環(huán)語句計算循環(huán)語句計算s=1+2+3+9+10。(1)解題思路:這是一個循環(huán)次數(shù)為解題思路:這是一個循環(huán)次數(shù)為10的累加和的問題,因為需要累加的累加和

23、的問題,因為需要累加的是連續(xù)的的是連續(xù)的10個數(shù),所以代表循環(huán)次數(shù)的循環(huán)變量和需要累加的數(shù)個數(shù),所以代表循環(huán)次數(shù)的循環(huán)變量和需要累加的數(shù)據(jù)項可同用一個變量據(jù)項可同用一個變量n,for語句中的三個表達式可分別進行如下表示:語句中的三個表達式可分別進行如下表示:循環(huán)變量賦初值用語句循環(huán)變量賦初值用語句“n=1;”循環(huán)條件用語句循環(huán)條件用語句“n=10;”循環(huán)趨于循環(huán)趨于結束的語句用結束的語句用n+。(2)程序源代碼:程序源代碼:#include stdio.hmain()int n,s=0;for(n=1;n0;a+,n-)printf(%d,a*2);本例的本例的for語句中語句中,表達式表達式

24、1已省去已省去,循環(huán)變量的初值在循環(huán)變量的初值在for語句語句之前由之前由scanf語句取得語句取得。表達式表達式3是一個逗號表達式是一個逗號表達式,由由a+,n-兩兩個表達式組成。每循環(huán)一次個表達式組成。每循環(huán)一次a自增自增1,n自減自減1。a的變化使輸出的偶數(shù)的變化使輸出的偶數(shù)遞增,遞增,n的變化控制循環(huán)次數(shù)。的變化控制循環(huán)次數(shù)。(2)表達式表達式2可以省略,這時循環(huán)體中必須加入條件判斷語句來判斷是否可以省略,這時循環(huán)體中必須加入條件判斷語句來判斷是否結束循環(huán),否則循環(huán)會無終止地進行下去形成死循環(huán),例如:結束循環(huán),否則循環(huán)會無終止地進行下去形成死循環(huán),例如:for(i=1;i+)sum=s

25、um+i;if(i100)break;其中,其中,break語句的意義是結束循環(huán)。如果循環(huán)體中去掉語句的意義是結束循環(huán)。如果循環(huán)體中去掉if語句,語句,則上面的循環(huán)為死循環(huán)。則上面的循環(huán)為死循環(huán)。(3)表達式表達式3可以省略可以省略,這時循環(huán)體內應加入使循環(huán)變量變化的語句,否這時循環(huán)體內應加入使循環(huán)變量變化的語句,否則也會造成死循環(huán),例如:則也會造成死循環(huán),例如:for(i=1;i=100;)sum=sum+i;i+;(4)循環(huán)體可以是空語句??梢园蜒h(huán)體要處理的內容放到表達式循環(huán)體可以是空語句??梢园蜒h(huán)體要處理的內容放到表達式3中,效中,效果是一樣的,例如:果是一樣的,例如:for(i=1

26、;i=100;sum=sum+I,i+);循環(huán)體為空語句時,應注意循環(huán)體為空語句時,應注意for語句括號后面分號的作用。又如:語句括號后面分號的作用。又如:#include stdio.hmain()int n=0;printf(input a string:n);for(;getchar()!=n;n+);printf(%dn,n);本例中,省去了本例中,省去了for語句的表達式語句的表達式1,表達式,表達式3也不是用來修改循環(huán)變也不是用來修改循環(huán)變量,而是用來統(tǒng)計輸入字符的個數(shù)。這樣,就把本應在循環(huán)體中完成量,而是用來統(tǒng)計輸入字符的個數(shù)。這樣,就把本應在循環(huán)體中完成的計數(shù)放在表達式中完成了

27、,因此循環(huán)體是空語句。應注意的是,的計數(shù)放在表達式中完成了,因此循環(huán)體是空語句。應注意的是,for語句括號后的分號不可少,如缺少此分號,則把后面的語句括號后的分號不可少,如缺少此分號,則把后面的printf 語句當成語句當成循環(huán)體來執(zhí)行。反過來說,如循環(huán)體不為空語句時,絕不能在表達式循環(huán)體來執(zhí)行。反過來說,如循環(huán)體不為空語句時,絕不能在表達式的括號后加分號,否則又會認為循環(huán)體是空語句而不能反復執(zhí)行。這的括號后加分號,否則又會認為循環(huán)體是空語句而不能反復執(zhí)行。這些都是編程中常見的錯誤,要十分注意。些都是編程中常見的錯誤,要十分注意。5.5 轉轉 移移 語語 句句 程序中的語句通常總是按順序方向,

28、或按語句功能所定義的方向執(zhí)行程序中的語句通??偸前错樞蚍较?,或按語句功能所定義的方向執(zhí)行的。如果需要改變程序的正常流向,可以使用本小節(jié)介紹的轉移語句。的。如果需要改變程序的正常流向,可以使用本小節(jié)介紹的轉移語句。在在C語言中提供了語言中提供了4種轉移語句,分別為種轉移語句,分別為goto、break、continue和和return。其中的其中的return語句只能出現(xiàn)在被調函數(shù)中,語句只能出現(xiàn)在被調函數(shù)中,用于返回主調函數(shù),我們將用于返回主調函數(shù),我們將在函數(shù)一章中具體介紹。本小節(jié)介紹前在函數(shù)一章中具體介紹。本小節(jié)介紹前3種轉移語句。種轉移語句。5.5.1 goto語句語句goto語句也稱為

29、無條件轉移語句,其一般格式如下:語句也稱為無條件轉移語句,其一般格式如下:goto 語句標號語句標號;其中語句標號是按標識符規(guī)定書寫的符號,放在某一語句行的前面,標號后其中語句標號是按標識符規(guī)定書寫的符號,放在某一語句行的前面,標號后加冒號加冒號(:)。語句標號起標識語句的作用,與。語句標號起標識語句的作用,與goto 語句配合使用。語句配合使用。例如:例如:label:i+;loop:while(x7);其中其中l(wèi)abel和和loop即為語句標號。即為語句標號。C語言不限制程序中使語言不限制程序中使用標號的次數(shù),但各標號不得重名。用標號的次數(shù),但各標號不得重名。goto語句的語義是改變程序流

30、向,轉去執(zhí)行語句標號所語句的語義是改變程序流向,轉去執(zhí)行語句標號所標識的語句。標識的語句。goto語句通常與條件語句配合使用,可用來實語句通常與條件語句配合使用,可用來實現(xiàn)條件轉移,構成循環(huán),跳出循環(huán)體等功能。但是,在結構現(xiàn)條件轉移,構成循環(huán),跳出循環(huán)體等功能。但是,在結構化程序設計中一般不主張使用化程序設計中一般不主張使用goto語句,以免造成程序流程語句,以免造成程序流程的混亂,使理解和調試程序都產生困難。的混亂,使理解和調試程序都產生困難。例例5-6 統(tǒng)計從鍵盤輸入一行字符的個數(shù)。統(tǒng)計從鍵盤輸入一行字符的個數(shù)。#include stdio.hmain()int n=0;printf(in

31、put a stringn);loop:if(getchar()!=n)n+;goto loop;printf(%d,n);本例用本例用if語句和語句和goto語句構成循環(huán)結構。當輸入字符不為語句構成循環(huán)結構。當輸入字符不為“n”時即執(zhí)時即執(zhí)行行n+進行計數(shù),然后轉移至進行計數(shù),然后轉移至if語句循環(huán)執(zhí)行,直至輸入字符為語句循環(huán)執(zhí)行,直至輸入字符為“n”才才停止循環(huán)。停止循環(huán)。5.5.2 break語句語句 break語句只能用在語句只能用在switch語句或循環(huán)語句中,其作用是跳出語句或循環(huán)語句中,其作用是跳出switch語句或跳出本層循環(huán),轉去執(zhí)行后面的程序。由于語句或跳出本層循環(huán),轉去執(zhí)

32、行后面的程序。由于break語句的轉移方語句的轉移方向是明確的,所以不需要語句標號與之配合。向是明確的,所以不需要語句標號與之配合。break語句的一般形式為:語句的一般形式為:break;使用使用break語句可以使循環(huán)語句有多個出口,在一些場合下使編程更語句可以使循環(huán)語句有多個出口,在一些場合下使編程更加靈活、方便。加靈活、方便。break語句在語句在switch語句中的使用上一章已經介紹了,下語句中的使用上一章已經介紹了,下面介紹面介紹break語句在循環(huán)結構程序設計中的應用。語句在循環(huán)結構程序設計中的應用。break語句在循環(huán)結構語句在循環(huán)結構中的一般用法為:中的一般用法為:語句序列語

33、句序列1;if(表達式表達式)break;語句序列語句序列2;例例5-7 檢查輸入的一串字符中有無相鄰兩字符相同。檢查輸入的一串字符中有無相鄰兩字符相同。#include stdio.hmain()char a,b;printf(input a string:n);b=getchar();while(a=getchar()!=n)if(a=b)printf(same charactern);break;b=a;本例程序中,把第一個讀入的字符送入本例程序中,把第一個讀入的字符送入b。然后進入循環(huán),。然后進入循環(huán),把下一字符讀入把下一字符讀入a,比較,比較a、b是否相等,若相等則輸出提示是否相等,

34、若相等則輸出提示串并中止循環(huán),若不相等則把串并中止循環(huán),若不相等則把a中的字符賦予中的字符賦予b,輸入,輸入a,進,進入下一次循環(huán)。入下一次循環(huán)。5.5.3 continue語句語句 continue語句只能用在循環(huán)體中,其一般格式是:語句只能用在循環(huán)體中,其一般格式是:continue;其語義是:結束本次循環(huán),即不再執(zhí)行循環(huán)體中其語義是:結束本次循環(huán),即不再執(zhí)行循環(huán)體中continue 語句之后的語語句之后的語句,轉入下一次循環(huán)條件的判斷與執(zhí)行。應注意的是,本語句只結句,轉入下一次循環(huán)條件的判斷與執(zhí)行。應注意的是,本語句只結束本層本次的循環(huán),并不跳出循環(huán)。束本層本次的循環(huán),并不跳出循環(huán)。co

35、ntinue語句的一般用法為:語句的一般用法為:語句序列語句序列1;if(表達式表達式)continue;語句序列語句序列2;例例5-8 輸出輸出100以內能被以內能被7整除的數(shù)。整除的數(shù)。#include stdio.hmain()int n;for(n=7;n=100;n+)if(n%7!=0)continue;printf(%d,n);本例中,對本例中,對7100的每一個數(shù)進行測試,如該數(shù)不能被的每一個數(shù)進行測試,如該數(shù)不能被7整整除,即模運算不為除,即模運算不為0,則由,則由continus語句轉去下一次循環(huán)。語句轉去下一次循環(huán)。只有模運算為只有模運算為0時,才能執(zhí)行后面的時,才能執(zhí)行

36、后面的printf語句,輸出能語句,輸出能被被7整除的數(shù)。整除的數(shù)。5.6 for、while和和dowhile三種循環(huán)語句的比較三種循環(huán)語句的比較 C語言提供了語言提供了3種主要循環(huán)語句:種主要循環(huán)語句:for、while和和dowhile。不管哪種語句實現(xiàn)的循環(huán)結構的程序一般都由如下不管哪種語句實現(xiàn)的循環(huán)結構的程序一般都由如下4部分組部分組成。成。(1)循環(huán)變量或循環(huán)條件的初始化。循環(huán)變量或循環(huán)條件的初始化。(2)循環(huán)變量或循環(huán)條件的判斷,若條件為循環(huán)變量或循環(huán)條件的判斷,若條件為“真真”則繼續(xù)循環(huán),則繼續(xù)循環(huán),若條件為若條件為“假假”則退出循環(huán)。則退出循環(huán)。(3)循環(huán)變量或循環(huán)條件的修改

37、,使循環(huán)趨于結束。循環(huán)變量或循環(huán)條件的修改,使循環(huán)趨于結束。(4)循環(huán)的功能模塊,即循環(huán)體循環(huán)的功能模塊,即循環(huán)體。C語言中,語言中,3種循環(huán)結構通??梢韵嗷ヌ鎿Q,只是循環(huán)結構的種循環(huán)結構通??梢韵嗷ヌ鎿Q,只是循環(huán)結構的4個組個組成部分以不同的方式和順序出現(xiàn),但在具體使用時會存在一些細微的差成部分以不同的方式和順序出現(xiàn),但在具體使用時會存在一些細微的差別,考慮到程序的可讀性、使用習慣及程序設計的難易程度,進行程序別,考慮到程序的可讀性、使用習慣及程序設計的難易程度,進行程序設計時一般應注意以下幾點,并合理選擇合適的循環(huán)語句進行程序設計。設計時一般應注意以下幾點,并合理選擇合適的循環(huán)語句進行程序

38、設計。(1)while和和dowhile循環(huán)變量初始化在循環(huán)語句之前完成,而循環(huán)變量初始化在循環(huán)語句之前完成,而for語句通常語句通常在表達式在表達式1中完成。中完成。(2)while和和dowhile語句在語句在while后面指定循環(huán)條件,而后面指定循環(huán)條件,而for語句通常在表語句通常在表達式達式2中指定循環(huán)條件。中指定循環(huán)條件。(3)while和和dowhile語句在循環(huán)體中必須包含使循環(huán)趨于結束的語句,而語句在循環(huán)體中必須包含使循環(huán)趨于結束的語句,而for語句通常在表達式語句通常在表達式3中完成。中完成。(4)while和和dowhile語句循環(huán)的語句循環(huán)的4個組成部分順序較固定,而個

39、組成部分順序較固定,而for語句形式語句形式更加自由和靈活。更加自由和靈活。(5)while和和for語句是當型循環(huán)結構。而語句是當型循環(huán)結構。而dowhile是直到型循環(huán)結構。是直到型循環(huán)結構。5.7 循環(huán)的嵌套循環(huán)的嵌套 日常生活中往往會遇到一層循環(huán)無法解決的問題,如求日常生活中往往會遇到一層循環(huán)無法解決的問題,如求某班級某班級30位同學位同學5門課程每門課的平均分。這里要將門課程每門課的平均分。這里要將5門課程門課程中的每門課的中的每門課的30個同學的分數(shù)累加并求平均分,個同學的分數(shù)累加并求平均分,5門課是重門課是重復操作,復操作,30位同學的成績累加也是重復操作。很顯然,一層位同學的成

40、績累加也是重復操作。很顯然,一層循環(huán)是解決不了這個問題的,所以必須用多重循環(huán)來實現(xiàn),循環(huán)是解決不了這個問題的,所以必須用多重循環(huán)來實現(xiàn),這種一個循環(huán)體內又包含另一個完整的循環(huán)結構的循環(huán),稱這種一個循環(huán)體內又包含另一個完整的循環(huán)結構的循環(huán),稱為循環(huán)的嵌套。為循環(huán)的嵌套。3種循環(huán)語句可以任意的相互嵌套,種循環(huán)語句可以任意的相互嵌套,以下都是合法的嵌以下都是合法的嵌套形式。套形式。(1)for(;)while()(2)dofor(;)while();(3)while()for(;)(4)for(;)for(;)還有其他的一些嵌套形式,這里不再一一列舉。還有其他的一些嵌套形式,這里不再一一列舉。提示:

41、循環(huán)嵌套時應注意內層循環(huán)結構必須完整地被嵌套在外層循提示:循環(huán)嵌套時應注意內層循環(huán)結構必須完整地被嵌套在外層循環(huán)結構的循環(huán)體內,不得出現(xiàn)交叉的現(xiàn)象;另外,一般情況下,嵌環(huán)結構的循環(huán)體內,不得出現(xiàn)交叉的現(xiàn)象;另外,一般情況下,嵌套結構中的外層循環(huán)和內層循環(huán)的循環(huán)控制變量不得同名。套結構中的外層循環(huán)和內層循環(huán)的循環(huán)控制變量不得同名。例例5-9 用循環(huán)的嵌套,輸出如下圖形:用循環(huán)的嵌套,輸出如下圖形:*(1)解題思路:該圖形由解題思路:該圖形由5行組成,每行又由行組成,每行又由7個個*號組成,所以用雙重循號組成,所以用雙重循環(huán)來解決這個問題。外循環(huán)控制行數(shù),用變量環(huán)來解決這個問題。外循環(huán)控制行數(shù),用

42、變量row表示,行數(shù)為表示,行數(shù)為5,用語句用語句for(row=1;row=5;row+)實現(xiàn)實現(xiàn)5次循環(huán);內循環(huán)控制列數(shù),次循環(huán);內循環(huán)控制列數(shù),即每行即每行*號的個數(shù),用變量號的個數(shù),用變量col表示,列數(shù)為表示,列數(shù)為7,用語句,用語句for(col=1;col=7;col+)實現(xiàn)實現(xiàn)7次循環(huán),這里外循環(huán)每循環(huán)一次,內循環(huán)作為外次循環(huán),這里外循環(huán)每循環(huán)一次,內循環(huán)作為外循環(huán)循環(huán)體語句的一部分,則循環(huán)循環(huán)循環(huán)體語句的一部分,則循環(huán)7次。次。(2)程序源代碼:程序源代碼:#include stdio.hmain()int row,col;for(row=1;row=5;row+)for(c

43、ol=1;col=7;col+)printf(*);printf(n);例例5-10 某學習小組有某學習小組有5位同學,每位同學參加位同學,每位同學參加3門課程的考試,現(xiàn)門課程的考試,現(xiàn)求每位同學的總分和平均分。求每位同學的總分和平均分。(1)解題思路:求每位同學總分和平均分的過程是從解題思路:求每位同學總分和平均分的過程是從5位同學中每取位同學中每取一位同學,則需要將該同學一位同學,則需要將該同學3門課的成績累加并求平均分,即表示學生門課的成績累加并求平均分,即表示學生人數(shù)的循環(huán)執(zhí)行人數(shù)的循環(huán)執(zhí)行1次,表示課程的循環(huán)需要循環(huán)次,表示課程的循環(huán)需要循環(huán)3次,也就是完整的執(zhí)行次,也就是完整的執(zhí)行

44、整個循環(huán),所以表示學生人數(shù)的循環(huán)為外循環(huán),表示課程的循環(huán)為內循整個循環(huán),所以表示學生人數(shù)的循環(huán)為外循環(huán),表示課程的循環(huán)為內循環(huán)。另外,從題目可知,內循環(huán)需要完成的任務是將環(huán)。另外,從題目可知,內循環(huán)需要完成的任務是將3門課的成績累加門課的成績累加求總分,外循環(huán)需要完成的任務有內循環(huán)、求平均分和輸出每位同學的求總分,外循環(huán)需要完成的任務有內循環(huán)、求平均分和輸出每位同學的總分和平均分。程序設計流程圖如圖總分和平均分。程序設計流程圖如圖5.8所示。所示。圖圖5.8 例例5-10流程圖流程圖(2)程序源代碼:程序源代碼:#include stdio.h#define STUDENT_NUM 5#def

45、ine LESSONS_NUM 3main()int i,j;float score,sum,avg;printf(請輸入每個同學每門課程的成績請輸入每個同學每門課程的成績:n);for(i=1;i=STUDENT_NUM;i+)sum=0.0;for(j=1;j0)x1=(x2+1)*2;/*第一天的桃子數(shù)是第二天桃子數(shù)加第一天的桃子數(shù)是第二天桃子數(shù)加1后的后的2倍倍*/x2=x1;day-;printf(the total is%dn,x1);5.程序運行結果程序運行結果程序運行結果如圖程序運行結果如圖5.10所示。所示。圖圖5.10 運行結果窗口運行結果窗口綜合實訓二綜合實訓二1.實訓題

46、目實訓題目 求求s=a+aa+aaa+aaaa+aaa的值,其中的值,其中a是一個數(shù)字。例如是一個數(shù)字。例如2+22+222+2222+22222(此時共有此時共有5個數(shù)相加個數(shù)相加),幾個數(shù)相加由鍵盤輸入。,幾個數(shù)相加由鍵盤輸入。2.實訓目的實訓目的 練習練習dowhile循環(huán)語句的應用。循環(huán)語句的應用。3.解題思路解題思路 (1)該題的解題關鍵是總結表達式中相鄰兩項的變化規(guī)律,該題的解題關鍵是總結表達式中相鄰兩項的變化規(guī)律,aa=a*10+a、aaa=aa*10+a,也就是說后一項是前一項乘以,也就是說后一項是前一項乘以10加加a。(2)根據(jù)前后項的變化規(guī)律,總結表達式,以實現(xiàn)累加項的變化

47、。根據(jù)前后項的變化規(guī)律,總結表達式,以實現(xiàn)累加項的變化。4.程序源代碼程序源代碼#include stdio.hmain()int a,n,count=1;long int sn=0,tn=0;printf(please input a and nn);scanf(%d,%d,&a,&n);printf(a=%d,n=%dn,a,n);do tn=tn+a;sn=sn+tn;a=a*10;+count;while(count=n);printf(a+aa+.=%ldn,sn);5.測試測試程序運行結果如圖程序運行結果如圖5.11所示。所示。圖圖5.11 程序運行結果窗口程序運行結果窗口綜合實訓

48、三綜合實訓三1.實訓題目實訓題目 古典問題:有一對兔子,從出生后第古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,個月起每個月都生一對兔子,小兔子長到第小兔子長到第3個月后每個月又生一對兔子,假如兔子都不死,問每個個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少。月的兔子總數(shù)為多少。2.實訓目的實訓目的練習練習for循環(huán)語句的應用。循環(huán)語句的應用。3.解題思路解題思路 兔子數(shù)目的規(guī)律為數(shù)列兔子數(shù)目的規(guī)律為數(shù)列1、1、2、3、5、8、13、21,可以看出該,可以看出該數(shù)列后面一項總是等于前面兩項之和。事實上,該題目中兔子每月數(shù)目數(shù)列后面一項總是等于前面兩項之和。事實

49、上,該題目中兔子每月數(shù)目形成的數(shù)列就是的形成的數(shù)列就是的Fibonacci數(shù)列。數(shù)列。4.程序源代碼程序源代碼#include stdio.hmain()long f1,f2;int i;f1=f2=1;for(i=1;i=20;i+)printf(%12ld%12ld,f1,f2);if(i%2=0)printf(n);/*控制輸出,每行四個控制輸出,每行四個*/f1=f1+f2;/*前兩個月加起來賦值給第三個月前兩個月加起來賦值給第三個月*/f2=f1+f2;/*前兩個月加起來賦值給第三個月前兩個月加起來賦值給第三個月*/5.程序運行結果程序運行結果程序運行結果如圖程序運行結果如圖5.12

50、所示。所示。圖圖5.12 程序運行結果窗口程序運行結果窗口綜合實訓四綜合實訓四1.實訓題目實訓題目 兩個乒乓球隊進行比賽,各出兩個乒乓球隊進行比賽,各出3人。甲隊為人。甲隊為a、b、c 3人,乙隊為人,乙隊為x、y、z 3 人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和說他不和x比,比,c說他不和說他不和x、z比,請編程序找出比,請編程序找出3對賽手的名單。對賽手的名單。2.實訓目的實訓目的 練習循環(huán)語句的嵌套使用。練習循環(huán)語句的嵌套使用。3.解題思路解題思路 對兩組隊員進行兩兩組合,同時滿足每個選手只比賽一次,對兩組隊員進行兩兩

51、組合,同時滿足每個選手只比賽一次,a不和不和x比,比,c不和不和x、z比的條件。比的條件。4.程序源代碼程序源代碼#include stdio.hmain()char i,j,k;/*i是是a的對手,的對手,j是是b的對手,的對手,k是是c的對手的對手*/for(i=x;i=z;i+)for(j=x;j=z;j+)if(i!=j)for(k=x;k=z;k+)if(i!=k&j!=k)if(i!=x&k!=x&k!=z)printf(order is a-%ctb-%ctc-%cn,i,j,k);5.程序運行結果程序運行結果程序運行結果如圖程序運行結果如圖5.13所示。所示。圖圖5.13 程序

52、運行結果窗口程序運行結果窗口5.9 情境案例分析情境案例分析 在超市管理中,對于每種商品的階段性的銷售數(shù)量以及該商品的盈利在超市管理中,對于每種商品的階段性的銷售數(shù)量以及該商品的盈利情況應該做到心中有數(shù)。設計一程序,用于統(tǒng)計商品的銷售數(shù)量,并分析情況應該做到心中有數(shù)。設計一程序,用于統(tǒng)計商品的銷售數(shù)量,并分析該商品的盈利金額。該商品的盈利金額。1.確定問題確定問題 輸入商品編號和購買數(shù)量,統(tǒng)計該商品的總計銷售數(shù)量,也就是將這輸入商品編號和購買數(shù)量,統(tǒng)計該商品的總計銷售數(shù)量,也就是將這次的銷售數(shù)量與前面已銷售數(shù)量進行累加,并根據(jù)進貨價格、銷售價格和次的銷售數(shù)量與前面已銷售數(shù)量進行累加,并根據(jù)進貨

53、價格、銷售價格和銷售數(shù)量之間的關系進行計算分析。銷售數(shù)量之間的關系進行計算分析。2.分析問題分析問題(1)已知:某商品已銷售數(shù)量已知:某商品已銷售數(shù)量num、進貨價格、進貨價格PRICE。(2)輸入:商品編號輸入:商品編號number、銷售價格、銷售價格cost和購買數(shù)量和購買數(shù)量n。(3)循環(huán)條件判斷:商品編號循環(huán)條件判斷:商品編號number!=n。(4)相關計算:盈利金額相關計算:盈利金額earn=(cost-PRICE)*num。(5)輸出:盈利金額輸出:盈利金額earn。(6)流程圖流程圖(略略)。3.算法實現(xiàn)算法實現(xiàn)程序源代碼:程序源代碼:#define PRICE 8.5#inc

54、lude stdio.hmain()int number,n,num=20;float cost,earn;printf(請輸入商品編號、銷售價格和購買數(shù)量請輸入商品編號、銷售價格和購買數(shù)量:n);while(scanf(%d,&number)!=n)switch(number)case 0001:scanf(%f,%d,%cost,&n);num=num+n;earn=(cost-PRICE)*num;printf(盈利金額:盈利金額:%fn,earn);break;case 0002:(同上同上)case 0003:(同上同上)case n:default:printf(輸入條碼不正確,請

55、重新輸入!輸入條碼不正確,請重新輸入!);4.測試測試請輸入商品編號、銷售價格和購買數(shù)量:請輸入商品編號、銷售價格和購買數(shù)量:0001,9.6,3 盈利金額:盈利金額:25.300000案例知識拓展:案例知識拓展:通過本例的學習,通過本例的學習,“超市信息管理系統(tǒng)超市信息管理系統(tǒng)”中每種商品的階中每種商品的階段性毛利分析及其查詢問題,以及超市階段性毛利分析及其查詢問題就段性毛利分析及其查詢問題,以及超市階段性毛利分析及其查詢問題就不難解決了。當然,用目前已經學習的不難解決了。當然,用目前已經學習的C語言的知識設計的解決這些問語言的知識設計的解決這些問題的程序還不夠完善,也不夠完整,因為對于一個

56、管理系統(tǒng)來說,包含題的程序還不夠完善,也不夠完整,因為對于一個管理系統(tǒng)來說,包含的功能模塊很多,涉及到的常量和變量也很多,所以通常使用模塊化程的功能模塊很多,涉及到的常量和變量也很多,所以通常使用模塊化程序設計思想來進行管理系統(tǒng)的設計。模塊化程序設計將在序設計思想來進行管理系統(tǒng)的設計。模塊化程序設計將在“函數(shù)函數(shù)”一章一章中進行介紹。中進行介紹。本本 章章 小小 結結 本章主要介紹了本章主要介紹了for、while、dowhile等循環(huán)語句的使等循環(huán)語句的使用,以及各種循環(huán)結構程序設計的方法;同時還簡單介紹了用,以及各種循環(huán)結構程序設計的方法;同時還簡單介紹了goto語句、語句、continu

57、e語句和語句和breake語句等幾個轉移語句的應語句等幾個轉移語句的應用及其特點。通過本章的學習,要求靈活應用不同的循環(huán)語用及其特點。通過本章的學習,要求靈活應用不同的循環(huán)語句解決一些實際問題,并了解句解決一些實際問題,并了解“超市信息管理系統(tǒng)超市信息管理系統(tǒng)”中與循中與循環(huán)有關的問題的基本解決方法。環(huán)有關的問題的基本解決方法。下下 章章 引引 例例請大家思考并嘗試解決以下問題。請大家思考并嘗試解決以下問題。(1)有有10個評委,計算大獎賽選手得分問題。個評委,計算大獎賽選手得分問題。(2)輸入并保存輸入并保存100位同學某門課程的成績,然后統(tǒng)計該課程的最高分、最位同學某門課程的成績,然后統(tǒng)計

58、該課程的最高分、最低分、平均分。低分、平均分。(3)某班有某班有30位同學位同學,每位同學修每位同學修5門課程門課程,現(xiàn)輸入并保存每個同學每門課的現(xiàn)輸入并保存每個同學每門課的成績,并統(tǒng)計每門課程的最高分、最低分和平均分。成績,并統(tǒng)計每門課程的最高分、最低分和平均分。這些問題看上去非常熟悉,都是循環(huán)問題,但這些問題還有一個共這些問題看上去非常熟悉,都是循環(huán)問題,但這些問題還有一個共同的特點:它們都涉及到一組相同類型的數(shù)據(jù)。這一組相同類型的數(shù)據(jù)同的特點:它們都涉及到一組相同類型的數(shù)據(jù)。這一組相同類型的數(shù)據(jù)如果需要保存,那么涉及的數(shù)據(jù)量就非常多,要求定義的變量也非常多,如果需要保存,那么涉及的數(shù)據(jù)量就非常多,要求定義的變量也非常多,用前面章節(jié)學習的基本數(shù)據(jù)類型來解決這些問題很顯然是不現(xiàn)實的,但用前面章節(jié)學習的基本數(shù)據(jù)類型來解決這些問題很顯然是不現(xiàn)實的,但如果使用下一章將要學習的如果使用下一章將要學習的“數(shù)組數(shù)組”類型來定義這些數(shù)據(jù),將會使問題類型來定義這些數(shù)據(jù),將會使問題變得非常簡單。變得非常簡單。

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!