程序設(shè)計基礎(chǔ)之循環(huán)結(jié)構(gòu)程序設(shè)計-2_第1頁
程序設(shè)計基礎(chǔ)之循環(huán)結(jié)構(gòu)程序設(shè)計-2_第2頁
程序設(shè)計基礎(chǔ)之循環(huán)結(jié)構(gòu)程序設(shè)計-2_第3頁
程序設(shè)計基礎(chǔ)之循環(huán)結(jié)構(gòu)程序設(shè)計-2_第4頁
程序設(shè)計基礎(chǔ)之循環(huán)結(jié)構(gòu)程序設(shè)計-2_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

程序設(shè)計基礎(chǔ)—C語言程序設(shè)計2016.11第

6講循環(huán)結(jié)構(gòu)程序設(shè)計-2

上一講內(nèi)容回顧面對一個實際問題,如何著手?

上一講內(nèi)容回顧請輸出所有由0-9組成且各位均不相同的三位數(shù)。構(gòu)思:1.是否采用循環(huán)結(jié)構(gòu)2.循環(huán)的初始值3.循環(huán)的結(jié)束條件4.循環(huán)體內(nèi)要做的工作

4.1循環(huán)變量值的改變

4.2判斷條件采用從100開始到999結(jié)束加一各位數(shù)不相同的話for(i=100;i<1000;i++)i++(a!=b&&b!=c&&a!=c)

上一講內(nèi)容回顧請輸出所有由0-9組成且各位均不相同的三位數(shù)。#include<stdio.h>voidmain(){inti,a,b,c;

for(i=100;i<1000;i++)

{a=i/100;

b=(i%100)/10;

c=i%10;

if(a!=b&&a!=c&&b!=c)

printf(“%d,”,i);}}并每行顯示五個數(shù)是否與循環(huán)變量有關(guān)?應(yīng)在哪里加入代碼?

上一講內(nèi)容回顧#include<stdio.h>voidmain(){inti,a,b,c;for(i=100;i<1000;i++)

{a=i/100;

b=(i%100)/10;

c=i%10;

if(a!=b&&a!=c&&b!=c)

printf(“%d,”,i);}}intt;t=0;{printf(“%d,”,i);t++;if(t%5==0)

printf(“\n”);}

上一講內(nèi)容回顧貪吃的猴子猴子摘了許多桃子,第一天就吃了一半的桃子,不過癮,又多吃了一個;第二天起床,又吃了剩下的桃子的一半,不過癮,又多吃了一個;......;到第十天早上起床,發(fā)現(xiàn)就只有一個桃子了,請問猴子第一天一共摘了多少個桃子?

上一講內(nèi)容回顧貪吃的猴子。構(gòu)思:1.是否采用循環(huán)結(jié)構(gòu)2.循環(huán)的初始值3.循環(huán)的結(jié)束條件4.循環(huán)體內(nèi)要做的工作

4.1循環(huán)變量值的改變

4.2判斷條件循環(huán)結(jié)構(gòu)程序設(shè)計本講

要點循環(huán)的嵌套break和continue語句goto語句程序舉例

C語言及算法概述程序的靈魂-算法Algorithm循環(huán)的嵌套循環(huán)結(jié)構(gòu)程序設(shè)計一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。

內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。三種循環(huán)(while循環(huán)、do-while循環(huán)和for循環(huán))可以互相嵌套。循環(huán)結(jié)構(gòu)程序設(shè)計下面幾種都是合法的形式:(1)

while()(2)do(3)for(;;){…{…{

while()dofor(;;)

{…}{…}{…}}while();}

}while();

循環(huán)結(jié)構(gòu)程序設(shè)計(4)

while()(5)for(;;)(6)do{…{…{…do{…}while()for(;;){}while();{}

…{…}…}}}while();

循環(huán)結(jié)構(gòu)程序設(shè)計哪些情況要使用循環(huán)的嵌套?

上次的例子.輸出100-1000范圍內(nèi)所有質(zhì)數(shù)。取值范圍:外面一層的循環(huán)判斷質(zhì)數(shù):內(nèi)部一層的循環(huán)循環(huán)結(jié)構(gòu)程序設(shè)計上次的例子.輸出100-1000范圍內(nèi)所有質(zhì)數(shù)。inti,j;

for(i=100;i<1000;i++)

{

for(j=2;j<=sqrt(i);j++){if(i%j==0)

j=i;

}

if(j!=i)

printf(“%d”,i);}因為有兩層循環(huán),所以有兩個循環(huán)變量i和j!循環(huán)結(jié)構(gòu)程序設(shè)計哪些情況要使用循環(huán)的嵌套,要使用幾層循環(huán)?

循環(huán)結(jié)構(gòu)程序設(shè)計袋子里有3個紅球,5個白球,6個綠球,現(xiàn)在任意取出8個球,要求其中至少有1個白球,輸出所有可能的取法。

x+y+z=8并且0<=x<=3,1<=y<=5,0<=z<=6

三個取值范圍:三層循環(huán)嵌套!循環(huán)結(jié)構(gòu)程序設(shè)計

x+y+z=8并且0<=x<=3,1<=y<=5,0<=z<=6intx,y,z,i;i=1;//第幾種取法for(x=0;x<4;x++)for(y=1;y<6;y++)for(z=0;z<7;z++)

{

if((x+y+z)==8)printf(“第%d種取法:紅%d,白%d,綠%d\n”,i++,x,y,z);}

C語言及算法概述程序的靈魂-算法Algorithm幾種語句循環(huán)結(jié)構(gòu)程序設(shè)計breakcontinue今天學(xué)習(xí):goto

循環(huán)結(jié)構(gòu)程序設(shè)計break語句

break語句可以用來從循環(huán)體內(nèi)跳出循環(huán)體,即提前結(jié)束循環(huán),接著執(zhí)行循環(huán)下面的語句一般形式:

break;注意:break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。

循環(huán)結(jié)構(gòu)程序設(shè)計例:floatpi=3.14159;intarea,r;for(r=1;r<=10;r++)

{area=pi*r*r;if(area>100)break;

printf(″r=%f,area=%f\n″,r,area);}

程序的作用是計算r=1到r=10時的圓面積,直到面積area大于100為止。從上面的for循環(huán)可以看到:

當(dāng)area>100時,執(zhí)行break語句,提前結(jié)束循環(huán),即不再繼續(xù)執(zhí)行其余的幾次循環(huán)。

循環(huán)結(jié)構(gòu)程序設(shè)計continue語句

作用為結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定.一般形式:

continue;

循環(huán)結(jié)構(gòu)程序設(shè)計例.把100-200之間的不能被3整除的數(shù)輸出。

#include<stdio.h>

voidmain()

{intn;

for(n=100;n<=200;n++)

{

if(n%3==0)

continue;

printf("%d,″,n);

}

}

若改成break;呢?

循環(huán)結(jié)構(gòu)程序設(shè)計continue語句和break語句的區(qū)別:

continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。

break語句則是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。

循環(huán)結(jié)構(gòu)程序設(shè)計continue語句和break語句的區(qū)別:

while(存款<首付){

打工;

存錢;

買彩票;}買房;

while(存款<首付){

打工;

存錢;

買彩票;if(中了500W)

break;}買房;

?

循環(huán)結(jié)構(gòu)程序設(shè)計continue語句和break語句的區(qū)別:

while(錢沒花完){

搜索物品;

選擇賣家;

放進(jìn)購物車;}結(jié)賬;

while(錢沒花完){

搜索物品;

選擇賣家;

查看是否包郵;if(不包郵)

continue;

放進(jìn)購物車;}結(jié)賬;

?循環(huán)結(jié)構(gòu)程序設(shè)計上次的例子.輸出100-1000范圍內(nèi)所有質(zhì)數(shù)。inti,j;

for(i=100;i<1000;i++)

{

for(j=2;j<=sqrt(i);j++){if(i%j==0)

j=i;

}

if(j!=(i+1))

printf(“%d”,i);}

inti,j;

for(i=100;i<1000;i++)

{

for(j=2;j<=sqrt(i);j++){if(i%j==0)

break;

}if(j>sqrt(i))

printf(“%d”,i);}

循環(huán)結(jié)構(gòu)程序設(shè)計goto語句為無條件轉(zhuǎn)向語句,它的一般形式為

goto語句標(biāo)號;語句標(biāo)號用標(biāo)識符表示,它的命名規(guī)則與變量名相同,即由字母、數(shù)字和下劃線組成,其第一個字符必須為字母或下劃線。

例如:gotolabel_1;合法;

goto123;不合法.

循環(huán)結(jié)構(gòu)程序設(shè)計

結(jié)構(gòu)化程序設(shè)計方法主張限制使用goto語句,因為濫用goto語句將使程序流程無規(guī)律、可讀性差.一般來說,可以有兩種用途:(1)與if語句一起構(gòu)成循環(huán)結(jié)構(gòu);(2)從循環(huán)體中跳轉(zhuǎn)到循環(huán)體外。

但是這種用法不符合結(jié)構(gòu)化原則,一般不宜采用,只有在不得已時(例如能大大提高效率)才使用.

循環(huán)結(jié)構(gòu)程序設(shè)計例.用if語句和goto語句構(gòu)成循環(huán),求1到100的和

voidmain()

{inti,sum=0;

i=1;

loop:if(i<=100)

{

sum=sum+i;

i++;

gotoloop;

}

printf("%d\n″,sum);

}

C語言及算法概述程序的靈魂-算法Algorithm循環(huán)結(jié)構(gòu)程序舉例(important)

循環(huán)結(jié)構(gòu)程序設(shè)計例1.

輸出九九乘法表。inti,

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論