




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
模塊三循環(huán)程序設(shè)計(jì)訓(xùn)練能力目標(biāo)掌握循環(huán)結(jié)構(gòu)的構(gòu)成及特點(diǎn);掌握循環(huán)控制變量的使用;熟練掌握三種基本的循環(huán)控制語句;熟練掌握一重循環(huán)的構(gòu)建方法,學(xué)會構(gòu)建二重循環(huán);了解goto語句構(gòu)成的循環(huán);模塊三循環(huán)程序設(shè)計(jì)訓(xùn)練能力目標(biāo)知識準(zhǔn)備任務(wù)引例----計(jì)算1+2+...+100。算法設(shè)計(jì)把每一個加數(shù)看成要投入的硬幣數(shù),第一次投了1枚硬幣,第二次投了2枚硬幣,…,第100次投了100枚硬幣。定義一個變量s用來存放累加和,相當(dāng)于存放硬幣的容器,變量i代表加數(shù)(也可以看成累加次數(shù)),相當(dāng)于投放的硬幣數(shù),見圖3-1。知識準(zhǔn)備任務(wù)引例----計(jì)算1+2+...+100。算法s=s+i;/*投入i枚硬幣到s中*/i=i+1;/*計(jì)算下次投幣數(shù)*/圖3-1算法設(shè)計(jì)示意圖s=s+i;/*投入i枚硬幣到s中*/圖3#include<stdio.h>voidmain(){ints=0;//s用來存放累加和,初始值為0inti=1;//i用來存放累加次數(shù),初值為1表示第一次相加
while(i<=100){s=s+i;//把數(shù)i累加到s中
i++;//累加次數(shù)增1,i也是累加數(shù)
}printf(“s=%d\n”,s);}輸出結(jié)果s=5050
程序清單#include<stdio.h>輸出結(jié)果s=503.1while語句用while語句實(shí)現(xiàn)的循環(huán),其結(jié)構(gòu)是當(dāng)型循環(huán)結(jié)構(gòu),即先判斷后執(zhí)行循環(huán)體的循環(huán)結(jié)構(gòu),流程圖如下圖所示。3.1while語句用while語句實(shí)現(xiàn)的循環(huán),其做中學(xué)3-1從鍵盤輸入n(n≥0)的值,計(jì)算并輸出n!。算法設(shè)計(jì)
程序中需要定義一個變量f用來存放連乘積,連乘積變量的初值通常被置成1,還需要定義一個變量i用來提供1~n個乘數(shù)。需要做的就是將這n個乘數(shù)循環(huán)乘入連乘積中。循環(huán)控制變量為i,初值是1;初始化部分:i=1;判斷部分:i<=n;循環(huán)體部分:f=f*i;迭代部分:i++;算法見右圖。結(jié)束做中學(xué)3-1從鍵盤輸入n(n≥0)的值,計(jì)算并輸出n!。#include<stdio.h>voidmain(){inti=1,n;//初始化部分
doublef=1; printf("請輸入變量n的值:\n"); scanf("%d",&n);while(i<=n){//判斷部分
f=f*i;//循環(huán)體部分
i++;//迭代部分
}printf("%d!=%le",n,f);}程序清單程序運(yùn)行請輸入變量n的值:3030!=2.652529e+032
#include<stdio.h>程程序運(yùn)行請輸入知識點(diǎn)while語句語法格式:
while(表達(dá)式)
語句其中,“語句”表示while循環(huán)結(jié)構(gòu)中不斷被重復(fù)執(zhí)行的語句行,稱為循環(huán)體。若循環(huán)體內(nèi)有多條語句,則用花括弧引起來。while循環(huán)結(jié)構(gòu)的功能:只要循環(huán)條件表達(dá)式成立(條件表達(dá)式為真),則執(zhí)行循環(huán)體,直到表達(dá)式不成立(表達(dá)式為假)時結(jié)束循環(huán)。循環(huán)體可以為空語句、簡單語句或復(fù)合語句。知識點(diǎn)while語句語法格式:注意while語句中的表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,只要表達(dá)式的值為真(非0)就繼續(xù)循環(huán)(執(zhí)行循環(huán)體中的語句);循環(huán)體中應(yīng)該有使循環(huán)趨于結(jié)束的語句,否則出現(xiàn)死循環(huán);while語句的循環(huán)體允許嵌套while結(jié)構(gòu),也可以允許多層循環(huán)嵌套;while結(jié)構(gòu)中,判斷部分若一開始條件就不成立,循環(huán)體一次都不執(zhí)行。注意while語句中的表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,3.2do-while語句用do-while語句實(shí)現(xiàn)的循環(huán),其結(jié)構(gòu)是直到型循環(huán)結(jié)構(gòu)。它的特點(diǎn)是先執(zhí)行循環(huán)體,再判斷循環(huán)條件是否成立,流程圖如下圖所示。3.2do-while語句用do-while語句實(shí)做中學(xué)3-2用do-while語句計(jì)算1~100的和。算法設(shè)計(jì)程序中需要定義一個變量total用來存放累加和,累加和變量的初值通常被置成0,還需要定義一個變量n用來提供加數(shù)。需要做的就是將這100個加數(shù)循環(huán)加入累加和中。循環(huán)控制變量為n。初始化部分:n=1; 判斷部分:n<=100;循環(huán)體部分:total=total*n;迭代部分:n++;算法見右圖。做中學(xué)3-2用do-while語句計(jì)算1~100的和。算#include<stdio.h>voidmain(){intn=1,total=0;do{total=total+n;n++;}while(n<=100);printf("total=%d",total);}輸出結(jié)果total=5050當(dāng)n的初值為102時,while后面的“表達(dá)式”一開始就為“假”,dowhile循環(huán)的循環(huán)體也被執(zhí)行一次。
程序清單#include<stdio.h>輸出結(jié)果tota知識點(diǎn)do-while語句語法格式:
do{
語句組
}while(條件表達(dá)式);執(zhí)行過程:先執(zhí)行循環(huán)體語句一次,再判別表達(dá)式的值,若為真(非0),則繼續(xù)循環(huán),否則終止循環(huán)。一般用while和dowhile語句解決同一問題時,若兩者的循環(huán)體部分一樣,它們的結(jié)果也一樣。但當(dāng)while后面的“表達(dá)式”一開始就為“假”時,它們的結(jié)果就不一樣。注意知識點(diǎn)do-while語句語法格式:一般用while和do3.3for語句在C語言程序設(shè)計(jì)中,for循環(huán)結(jié)構(gòu)使用最為靈活,不僅適用于循環(huán)次數(shù)已知的情況,也適用于循環(huán)次數(shù)不能確定、只能給出循環(huán)結(jié)束條件的情況,它完全可以替代while語句。3.3for語句在C語言程序設(shè)計(jì)中,for循環(huán)結(jié)構(gòu)做中學(xué)3-3用for語句實(shí)現(xiàn)求1~100的累加和。算法設(shè)計(jì)循環(huán)控制變量為k,s用來存放累加和。初始化部分:k=1; 判斷部分:k<=100;循環(huán)體部分:s=s+k;迭代部分:k++;算法見右圖。輸出輸出結(jié)果total=5050做中學(xué)3-3用for語句實(shí)現(xiàn)求1~100的累加和。算法設(shè)知識點(diǎn)for語句語法格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
循環(huán)體語句;執(zhí)行過程見右圖說明3個表達(dá)式可以為任何表達(dá)式。表達(dá)式1通常為賦值表達(dá)式。表達(dá)式2作為循環(huán)控制條件。表達(dá)式3通常為賦值表達(dá)式。表達(dá)式1、3一般為簡單表達(dá)式,也可以為逗號表達(dá)式3個表達(dá)式均可以省略或部分省略。但分號不能省知識點(diǎn)for語句語法格式:循環(huán)的比較:幾種循環(huán)一般可互相替代。for語句主要用于給定循環(huán)控制變量初值,步長增量以及循環(huán)次數(shù)確定的循環(huán)結(jié)構(gòu)。循環(huán)次數(shù)及控制條件要在循環(huán)過程中才能確定的循環(huán)可用while或do-while語句。循環(huán)條件:while、do-while在while條件表達(dá)式中指定,for循環(huán)在“表達(dá)式2”中指定。循環(huán)變量的初始化:while、do-while在循環(huán)之前指定循環(huán)變量初值,for循環(huán)在“表達(dá)式1”中指定。判斷循環(huán)條件的時機(jī):while、for循環(huán)先判斷循環(huán)條件,后執(zhí)行循環(huán)體;do-while循環(huán)先執(zhí)行循環(huán)體,后判斷循環(huán)條件。循環(huán)的比較:3.4循環(huán)嵌套循環(huán)嵌套即一個循環(huán)體內(nèi)還包含另一個或幾個完整的循環(huán)結(jié)構(gòu),當(dāng)內(nèi)嵌的循環(huán)中還嵌套其他循環(huán)時,成為多層循環(huán)。3.4循環(huán)嵌套循環(huán)嵌套即一個循環(huán)體內(nèi)還包含另一個或做中學(xué)3-4打印下列形式的乘積表:1×1=12×1=22×2=43×1=33×2=13×3=9…9×1=99×2=189×3=27……9×9=81 做中學(xué)3-4打印下列形式的乘積表:1×1=1算法設(shè)計(jì)使用嵌套的循環(huán)結(jié)構(gòu),外層循環(huán)控制變量設(shè)為i,用來控制行數(shù),其初值為1,終值為9;內(nèi)層循環(huán)控制變量設(shè)為j,用來控制每行打印的內(nèi)容,初值為1,終值為i。即外層循環(huán)控制打印不同的行,內(nèi)層循環(huán)控制打印同一行中的各個算式。算法見下圖。算法設(shè)計(jì)使用嵌套的循環(huán)結(jié)構(gòu),外層循環(huán)控制變量設(shè)為i,用來#include<stdio.h>voidmain(void){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}輸出結(jié)果程序清單#include<stdio.h>輸出結(jié)果程知識點(diǎn)三種循環(huán)結(jié)構(gòu)(for、while和dowhile)可以互相嵌套。多重循環(huán)的使用與單一循環(huán)完全相同,但應(yīng)特別注意內(nèi)、外層循環(huán)條件的變化。多重循環(huán)嵌套時。循環(huán)之間可以并列,但不能交叉。可用轉(zhuǎn)移語句把流程轉(zhuǎn)出循環(huán)體外,但不能從外面轉(zhuǎn)向循環(huán)體內(nèi)。123456while(){…while(){…}…}do{…do{…}while();…}while();for(;;){…for(;;){…}…}while(){…do{…}while();…}for(;;){…while(){…}…}do{…for(;;){…}…}while();知識點(diǎn)三種循環(huán)結(jié)構(gòu)(for、while和dowhile)可3.5循環(huán)退出語句3.5.1break語句
循環(huán)過程中,若滿足一定的條件需要退出循環(huán),可用break語句實(shí)現(xiàn)。做中學(xué)3-3求解當(dāng)n多少時1×2×…×n的積剛好大于1000。算法設(shè)計(jì)定義變量f(初值為1)存放連乘積,變量n(初值為1)存放乘數(shù),沒有具體循環(huán)次數(shù)??梢杂脀hile(f<=10000),或do-while(f<=10000)語句實(shí)現(xiàn);也可以用for語句實(shí)現(xiàn),但表達(dá)式2要空缺,函數(shù)體中當(dāng)f的值大于10000時,用break退出循環(huán)。3.5循環(huán)退出語句3.5.1break語句做中學(xué)3-3#include<stdio.h>voidmain(void){floatf=1;intn;for(n=1;;n++){f*=n;if(f>1000)break;//積大于1000時,推出循環(huán)
}printf("n=%d,%d!=%f\n",n,n,f);}輸出結(jié)果n=7,7!=5040.000000程序清單#include<stdio.h>輸出結(jié)果n=7,3.5.2continue語句
有時在循環(huán)的過程中,若滿足一定的條件本次循環(huán)的剩余語句可以不執(zhí)行,用來加速循環(huán),可用continue語句實(shí)現(xiàn)。做中學(xué)3-6輸出1~100之間的不能被5整除的數(shù)。算法設(shè)計(jì)定義變量n當(dāng)循環(huán)控制變量,也是被除數(shù),若n能被5整除,則結(jié)束本次循環(huán),立即進(jìn)入下一次循環(huán)。3.5.2continue語句做中學(xué)3-6輸出1~1#include<stdio.h>voidmain(void){intn;for(n=1;n<=100;n++){if(n%5==0)continue;printf("%5d",n);}}輸出結(jié)果23467891112131416171819……81828384868788899192939496979899程序清單#include<stdio.h>輸出結(jié)果程3.5.3goto語句
goto語句為無條件轉(zhuǎn)向語句,它可以控制程序的轉(zhuǎn)向操作。做中學(xué)3-7反復(fù)讀取鍵盤字符,并顯示在屏幕,直到讀到回車符為止。程序清單#include<stdio.h>voidmain(){charch,ch1;printf("請輸入一串字符:\n");output:ch=getchar();//定義了語句標(biāo)號outputch1=getchar();//讀取回車符printf("\n你輸入的字符為:%c\n",ch);if(ch!='\n')gotooutput;}3.5.3goto語句做中學(xué)3-7反復(fù)讀取鍵盤字符,程序運(yùn)行請輸入一串字符:qwertyuiop你輸入的字符為:q你輸入的字符為:e你輸入的字符為:t你輸入的字符為:u你輸入的字符為:o說明:該程序通過goto和if語句的結(jié)合使用,實(shí)現(xiàn)了循環(huán)結(jié)構(gòu)。程序運(yùn)行說明:該程序通過goto和if語句的結(jié)合使用知識點(diǎn)goto語句語法格式: goto語句標(biāo)號;語句標(biāo)號是按標(biāo)識符規(guī)定書寫的符號,放在某一語句行的前面,標(biāo)號后加冒號。語句標(biāo)號起標(biāo)識語句的作用,與goto語句配合使用。執(zhí)行g(shù)oto語句后,程序?qū)⑻D(zhuǎn)到該標(biāo)號處并執(zhí)行其后的語句。標(biāo)號必須與goto語句同處于一個函數(shù)中,但可以不在一個循環(huán)體中。goto語句用途有兩種:與if語句一起構(gòu)成循環(huán);從循環(huán)體內(nèi)跳到循環(huán)體外。不提倡使用goto語句知識點(diǎn)goto語句語法格式:邊學(xué)邊練判斷m是否為“素?cái)?shù)”。求100-200間的全部素?cái)?shù),并統(tǒng)計(jì)素?cái)?shù)個數(shù)。百錢百雞問題。邊學(xué)邊練判斷m是否為“素?cái)?shù)”。拓展提升3.6goto語句綜述歷史背景有關(guān)goto語句的爭論有關(guān)goto語句的公正的評述可以使用goto語句的情形從多重循環(huán)中直接跳出出錯時清除資源拓展提升3.6goto語句綜述當(dāng)型循環(huán),迭代部分在循環(huán)體中while語句do-while語句直到型循環(huán),迭代部分在循環(huán)體中for語句當(dāng)型循環(huán),兩分號不能省略循環(huán)語句總結(jié)歸納當(dāng)型循環(huán),迭代部分在循環(huán)體中while語句do-while模塊三循環(huán)程序設(shè)計(jì)訓(xùn)練能力目標(biāo)掌握循環(huán)結(jié)構(gòu)的構(gòu)成及特點(diǎn);掌握循環(huán)控制變量的使用;熟練掌握三種基本的循環(huán)控制語句;熟練掌握一重循環(huán)的構(gòu)建方法,學(xué)會構(gòu)建二重循環(huán);了解goto語句構(gòu)成的循環(huán);模塊三循環(huán)程序設(shè)計(jì)訓(xùn)練能力目標(biāo)知識準(zhǔn)備任務(wù)引例----計(jì)算1+2+...+100。算法設(shè)計(jì)把每一個加數(shù)看成要投入的硬幣數(shù),第一次投了1枚硬幣,第二次投了2枚硬幣,…,第100次投了100枚硬幣。定義一個變量s用來存放累加和,相當(dāng)于存放硬幣的容器,變量i代表加數(shù)(也可以看成累加次數(shù)),相當(dāng)于投放的硬幣數(shù),見圖3-1。知識準(zhǔn)備任務(wù)引例----計(jì)算1+2+...+100。算法s=s+i;/*投入i枚硬幣到s中*/i=i+1;/*計(jì)算下次投幣數(shù)*/圖3-1算法設(shè)計(jì)示意圖s=s+i;/*投入i枚硬幣到s中*/圖3#include<stdio.h>voidmain(){ints=0;//s用來存放累加和,初始值為0inti=1;//i用來存放累加次數(shù),初值為1表示第一次相加
while(i<=100){s=s+i;//把數(shù)i累加到s中
i++;//累加次數(shù)增1,i也是累加數(shù)
}printf(“s=%d\n”,s);}輸出結(jié)果s=5050
程序清單#include<stdio.h>輸出結(jié)果s=503.1while語句用while語句實(shí)現(xiàn)的循環(huán),其結(jié)構(gòu)是當(dāng)型循環(huán)結(jié)構(gòu),即先判斷后執(zhí)行循環(huán)體的循環(huán)結(jié)構(gòu),流程圖如下圖所示。3.1while語句用while語句實(shí)現(xiàn)的循環(huán),其做中學(xué)3-1從鍵盤輸入n(n≥0)的值,計(jì)算并輸出n!。算法設(shè)計(jì)
程序中需要定義一個變量f用來存放連乘積,連乘積變量的初值通常被置成1,還需要定義一個變量i用來提供1~n個乘數(shù)。需要做的就是將這n個乘數(shù)循環(huán)乘入連乘積中。循環(huán)控制變量為i,初值是1;初始化部分:i=1;判斷部分:i<=n;循環(huán)體部分:f=f*i;迭代部分:i++;算法見右圖。結(jié)束做中學(xué)3-1從鍵盤輸入n(n≥0)的值,計(jì)算并輸出n!。#include<stdio.h>voidmain(){inti=1,n;//初始化部分
doublef=1; printf("請輸入變量n的值:\n"); scanf("%d",&n);while(i<=n){//判斷部分
f=f*i;//循環(huán)體部分
i++;//迭代部分
}printf("%d!=%le",n,f);}程序清單程序運(yùn)行請輸入變量n的值:3030!=2.652529e+032
#include<stdio.h>程程序運(yùn)行請輸入知識點(diǎn)while語句語法格式:
while(表達(dá)式)
語句其中,“語句”表示while循環(huán)結(jié)構(gòu)中不斷被重復(fù)執(zhí)行的語句行,稱為循環(huán)體。若循環(huán)體內(nèi)有多條語句,則用花括弧引起來。while循環(huán)結(jié)構(gòu)的功能:只要循環(huán)條件表達(dá)式成立(條件表達(dá)式為真),則執(zhí)行循環(huán)體,直到表達(dá)式不成立(表達(dá)式為假)時結(jié)束循環(huán)。循環(huán)體可以為空語句、簡單語句或復(fù)合語句。知識點(diǎn)while語句語法格式:注意while語句中的表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,只要表達(dá)式的值為真(非0)就繼續(xù)循環(huán)(執(zhí)行循環(huán)體中的語句);循環(huán)體中應(yīng)該有使循環(huán)趨于結(jié)束的語句,否則出現(xiàn)死循環(huán);while語句的循環(huán)體允許嵌套while結(jié)構(gòu),也可以允許多層循環(huán)嵌套;while結(jié)構(gòu)中,判斷部分若一開始條件就不成立,循環(huán)體一次都不執(zhí)行。注意while語句中的表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,3.2do-while語句用do-while語句實(shí)現(xiàn)的循環(huán),其結(jié)構(gòu)是直到型循環(huán)結(jié)構(gòu)。它的特點(diǎn)是先執(zhí)行循環(huán)體,再判斷循環(huán)條件是否成立,流程圖如下圖所示。3.2do-while語句用do-while語句實(shí)做中學(xué)3-2用do-while語句計(jì)算1~100的和。算法設(shè)計(jì)程序中需要定義一個變量total用來存放累加和,累加和變量的初值通常被置成0,還需要定義一個變量n用來提供加數(shù)。需要做的就是將這100個加數(shù)循環(huán)加入累加和中。循環(huán)控制變量為n。初始化部分:n=1; 判斷部分:n<=100;循環(huán)體部分:total=total*n;迭代部分:n++;算法見右圖。做中學(xué)3-2用do-while語句計(jì)算1~100的和。算#include<stdio.h>voidmain(){intn=1,total=0;do{total=total+n;n++;}while(n<=100);printf("total=%d",total);}輸出結(jié)果total=5050當(dāng)n的初值為102時,while后面的“表達(dá)式”一開始就為“假”,dowhile循環(huán)的循環(huán)體也被執(zhí)行一次。
程序清單#include<stdio.h>輸出結(jié)果tota知識點(diǎn)do-while語句語法格式:
do{
語句組
}while(條件表達(dá)式);執(zhí)行過程:先執(zhí)行循環(huán)體語句一次,再判別表達(dá)式的值,若為真(非0),則繼續(xù)循環(huán),否則終止循環(huán)。一般用while和dowhile語句解決同一問題時,若兩者的循環(huán)體部分一樣,它們的結(jié)果也一樣。但當(dāng)while后面的“表達(dá)式”一開始就為“假”時,它們的結(jié)果就不一樣。注意知識點(diǎn)do-while語句語法格式:一般用while和do3.3for語句在C語言程序設(shè)計(jì)中,for循環(huán)結(jié)構(gòu)使用最為靈活,不僅適用于循環(huán)次數(shù)已知的情況,也適用于循環(huán)次數(shù)不能確定、只能給出循環(huán)結(jié)束條件的情況,它完全可以替代while語句。3.3for語句在C語言程序設(shè)計(jì)中,for循環(huán)結(jié)構(gòu)做中學(xué)3-3用for語句實(shí)現(xiàn)求1~100的累加和。算法設(shè)計(jì)循環(huán)控制變量為k,s用來存放累加和。初始化部分:k=1; 判斷部分:k<=100;循環(huán)體部分:s=s+k;迭代部分:k++;算法見右圖。輸出輸出結(jié)果total=5050做中學(xué)3-3用for語句實(shí)現(xiàn)求1~100的累加和。算法設(shè)知識點(diǎn)for語句語法格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
循環(huán)體語句;執(zhí)行過程見右圖說明3個表達(dá)式可以為任何表達(dá)式。表達(dá)式1通常為賦值表達(dá)式。表達(dá)式2作為循環(huán)控制條件。表達(dá)式3通常為賦值表達(dá)式。表達(dá)式1、3一般為簡單表達(dá)式,也可以為逗號表達(dá)式3個表達(dá)式均可以省略或部分省略。但分號不能省知識點(diǎn)for語句語法格式:循環(huán)的比較:幾種循環(huán)一般可互相替代。for語句主要用于給定循環(huán)控制變量初值,步長增量以及循環(huán)次數(shù)確定的循環(huán)結(jié)構(gòu)。循環(huán)次數(shù)及控制條件要在循環(huán)過程中才能確定的循環(huán)可用while或do-while語句。循環(huán)條件:while、do-while在while條件表達(dá)式中指定,for循環(huán)在“表達(dá)式2”中指定。循環(huán)變量的初始化:while、do-while在循環(huán)之前指定循環(huán)變量初值,for循環(huán)在“表達(dá)式1”中指定。判斷循環(huán)條件的時機(jī):while、for循環(huán)先判斷循環(huán)條件,后執(zhí)行循環(huán)體;do-while循環(huán)先執(zhí)行循環(huán)體,后判斷循環(huán)條件。循環(huán)的比較:3.4循環(huán)嵌套循環(huán)嵌套即一個循環(huán)體內(nèi)還包含另一個或幾個完整的循環(huán)結(jié)構(gòu),當(dāng)內(nèi)嵌的循環(huán)中還嵌套其他循環(huán)時,成為多層循環(huán)。3.4循環(huán)嵌套循環(huán)嵌套即一個循環(huán)體內(nèi)還包含另一個或做中學(xué)3-4打印下列形式的乘積表:1×1=12×1=22×2=43×1=33×2=13×3=9…9×1=99×2=189×3=27……9×9=81 做中學(xué)3-4打印下列形式的乘積表:1×1=1算法設(shè)計(jì)使用嵌套的循環(huán)結(jié)構(gòu),外層循環(huán)控制變量設(shè)為i,用來控制行數(shù),其初值為1,終值為9;內(nèi)層循環(huán)控制變量設(shè)為j,用來控制每行打印的內(nèi)容,初值為1,終值為i。即外層循環(huán)控制打印不同的行,內(nèi)層循環(huán)控制打印同一行中的各個算式。算法見下圖。算法設(shè)計(jì)使用嵌套的循環(huán)結(jié)構(gòu),外層循環(huán)控制變量設(shè)為i,用來#include<stdio.h>voidmain(void){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}輸出結(jié)果程序清單#include<stdio.h>輸出結(jié)果程知識點(diǎn)三種循環(huán)結(jié)構(gòu)(for、while和dowhile)可以互相嵌套。多重循環(huán)的使用與單一循環(huán)完全相同,但應(yīng)特別注意內(nèi)、外層循環(huán)條件的變化。多重循環(huán)嵌套時。循環(huán)之間可以并列,但不能交叉??捎棉D(zhuǎn)移語句把流程轉(zhuǎn)出循環(huán)體外,但不能從外面轉(zhuǎn)向循環(huán)體內(nèi)。123456while(){…while(){…}…}do{…do{…}while();…}while();for(;;){…for(;;){…}…}while(){…do{…}while();…}for(;;){…while(){…}…}do{…for(;;){…}…}while();知識點(diǎn)三種循環(huán)結(jié)構(gòu)(for、while和dowhile)可3.5循環(huán)退出語句3.5.1break語句
循環(huán)過程中,若滿足一定的條件需要退出循環(huán),可用break語句實(shí)現(xiàn)。做中學(xué)3-3求解當(dāng)n多少時1×2×…×n的積剛好大于1000。算法設(shè)計(jì)定義變量f(初值為1)存放連乘積,變量n(初值為1)存放乘數(shù),沒有具體循環(huán)次數(shù)??梢杂脀hile(f<=10000),或do-while(f<=10000)語句實(shí)現(xiàn);也可以用for語句實(shí)現(xiàn),但表達(dá)式2要空缺,函數(shù)體中當(dāng)f的值大于10000時,用break退出循環(huán)。3.5循環(huán)退出語句3.5.1break語句做中學(xué)3-3#include<stdio.h>voidmain(void){floatf=1;intn;for(n=1;;n++){f*=n;if(f>1000)break;//積大于1000時,推出循環(huán)
}printf("n=%d,%d!=%f\n",n,n,f);}輸出結(jié)果n=7,7!=5040.000000程序清單#include<stdio.h>輸出結(jié)果n=7,3.5.2continue語句
有時在循環(huán)的過程中,若滿足一定的條件本次循環(huán)的剩余語句可以不執(zhí)行,用來加速循環(huán),可用continue語句實(shí)現(xiàn)。做中學(xué)3-6輸出1~100之間的不能被5整除的數(shù)。算法設(shè)計(jì)定義變量n當(dāng)循環(huán)控制變量,也是被除數(shù),若n能被5整除,則結(jié)束本次循環(huán),立即進(jìn)入下一次循環(huán)。3.5.2continue語句做中學(xué)3-6輸出1~1#include
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中石化買賣石油合同范本
- 書刊供貨合同范本
- 廠房 設(shè)備維修合同范本
- 網(wǎng)上調(diào)查課題申報(bào)書
- 合同范本組成
- 保潔小區(qū)開荒合同范本
- 醫(yī)用銷售合同范本
- 員工借調(diào)合同范例
- 產(chǎn)品模特簽約合同范本
- 南寧雅閣購車合同范本
- AMDAR資料的分析和應(yīng)用
- 橋梁缺陷與預(yù)防
- 新蘇教版小學(xué)科學(xué)三年級下冊全冊教案(2022年春修訂)
- 弗洛姆異化理論
- AQL抽樣標(biāo)準(zhǔn)表xls2
- 碳納米管_ppt課件
- 【課件】第2課如何鑒賞美術(shù)作品課件-高中美術(shù)人教版(2019)美術(shù)鑒賞
- 人力資源部經(jīng)理崗位說明書
- [康熙字典9畫五行屬金的字加解釋] 康熙字典五行屬金的字
- 液化氣罐定期檢驗(yàn)方案
- 關(guān)于老年癡呆癥及其智能陪護(hù)設(shè)備的調(diào)查報(bào)告
評論
0/150
提交評論