計算機(jī)軟件及應(yīng)用循環(huán)結(jié)構(gòu)程序設(shè)計_第1頁
計算機(jī)軟件及應(yīng)用循環(huán)結(jié)構(gòu)程序設(shè)計_第2頁
計算機(jī)軟件及應(yīng)用循環(huán)結(jié)構(gòu)程序設(shè)計_第3頁
計算機(jī)軟件及應(yīng)用循環(huán)結(jié)構(gòu)程序設(shè)計_第4頁
計算機(jī)軟件及應(yīng)用循環(huán)結(jié)構(gòu)程序設(shè)計_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

5.1程序中需要用循環(huán)結(jié)構(gòu)現(xiàn)實生活中許多問題是需要重復(fù)處理計算一個班50學(xué)生每人的平均成績工廠各車間的生產(chǎn)日報表全國各省市的人口統(tǒng)計分析各大學(xué)招生情況統(tǒng)計全校教職工工資報表P115[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第1頁。5.1程序中需要用循環(huán)結(jié)構(gòu)絕大多數(shù)的應(yīng)用程序都包含重復(fù)處理循環(huán)結(jié)構(gòu)又稱為重復(fù)結(jié)構(gòu)循環(huán)結(jié)構(gòu)和順序結(jié)構(gòu)、選擇結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu),它們是各種復(fù)雜程序的基本構(gòu)造單元P115[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第2頁。5.1程序中需要用循環(huán)結(jié)構(gòu)要構(gòu)成一個有效的循環(huán),應(yīng)當(dāng)指定兩個條件:(1)需要重復(fù)執(zhí)行的操作,這稱為循環(huán)體(2)循環(huán)結(jié)束的條件,即在什么情況下停止重復(fù)的操作P115[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第3頁。5.2用while語句和do…while語句實現(xiàn)循環(huán)5.2.1用while語句實現(xiàn)循環(huán)5.2.2用do…while語句實現(xiàn)循環(huán)P115[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第4頁。5.2.1用while語句實現(xiàn)循環(huán)P115例5.1求1+2+3+…+100,即解題思路:這是累加問題,需要先后將100個數(shù)相加要重復(fù)100次加法運(yùn)算,可用循環(huán)實現(xiàn)后一個數(shù)是前一個數(shù)加1而得加完上一個數(shù)i后,使i加1可得到下一個數(shù)[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第5頁。5.2.1用while語句實現(xiàn)循環(huán)P115sum=sum+ii=i+1非0(真)i1000(假)i=1[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第6頁。#include<stdio.h>voidmain(){inti,sum=0;i=1;

while(i<=100){sum=sum+i;i++;}printf("%d\n",sum);}復(fù)合語句能改為i<100?[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第7頁。while語句的一般形式如下:while(表達(dá)式)語句循環(huán)體[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第8頁。while語句的一般形式如下:while(表達(dá)式)語句“真”時執(zhí)行循環(huán)體語句“假”時不執(zhí)行循環(huán)條件表達(dá)式while循環(huán)的特點是:先判斷條件表達(dá)式后執(zhí)行循環(huán)體語句語句非0(真)表達(dá)式0(假)[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第9頁。5.2.2用do…while語句實現(xiàn)循環(huán)P117do---while語句的特點:先無條件地執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立一般形式為:do

循環(huán)體語句while(表達(dá)式);表達(dá)式非0(真)0(假)循環(huán)體語句當(dāng)表達(dá)式的值為真循環(huán)體語句[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第10頁。5.2.2用do…while語句實現(xiàn)循環(huán)P117

例5.2用do…while循環(huán)求:1+2+3+…+100,即[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第11頁。5.2.2用do…while語句實現(xiàn)循環(huán)P117解題思路:i≤100非0(真)0(假)sum=sum+ii=i+1sum=0i=1sum=0;i=1;

do{sum=sum+i;i++;}while(i<=100);

i≤100sum=sum+ii=i+1sum=0,i=1[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第12頁。#include<stdio.h>voidmain(){inti,sum=0;i=1;

do{sum=sum+i;i++;}while(i<=100);printf(“%d\n”,sum);}5050[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第13頁。例5.3募集慈善基金10000元,有若干人捐款,每輸入一個人的捐款數(shù)后,計算機(jī)就輸出當(dāng)時的捐款總和。當(dāng)某一次輸入捐款數(shù)后,總和達(dá)到或超過10000元時,即宣告結(jié)束,輸出最后的累加值。解題思路:設(shè)計一個循環(huán)結(jié)構(gòu),在其中輸入捐款數(shù),求出累加值,然后檢查此時的累加值是否達(dá)到或超過預(yù)定值,如果達(dá)到了,就結(jié)束循環(huán)操作[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第14頁。#include<stdio.h>voidmain(){floatamount,sum=0;do{scanf("%f",&amount); sum=sum+amount;}while(sum<10000);printf("sum=%9.2f\n",sum);}循環(huán)執(zhí)行的條件1000↙

1850↙1500↙2600↙2500↙1200↙sum=10650.00[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第15頁。5.3用for語句實現(xiàn)循環(huán)P1195.3.1for語句的一般形式和執(zhí)行過程5.3.2for循環(huán)程序舉例for語句不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,還可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況for語句完全可以代替while語句[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第16頁。5.3.1for語句的一般形式和執(zhí)行過程P120for語句的一般形式為for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

語句設(shè)置初始條件,只執(zhí)行一次??梢詾榱銈€、一個或多個變量設(shè)置初值執(zhí)行[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第17頁。5.3.1for語句的一般形式和執(zhí)行過程P120for語句的一般形式為for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

語句循環(huán)條件表達(dá)式,用來判定是否繼續(xù)循環(huán)。在每次執(zhí)行循環(huán)體前先執(zhí)行此表達(dá)式,決定是否繼續(xù)執(zhí)行循環(huán)[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第18頁。5.3.1for語句的一般形式和執(zhí)行過程P120for語句的一般形式為for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

語句作為循環(huán)的調(diào)整器,例如使循環(huán)變量增值,它是在執(zhí)行完循環(huán)體后才進(jìn)行的[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第19頁。for語句的執(zhí)行過程:(1)先求解表達(dá)式1(2)求解表達(dá)式2,若其值為真,執(zhí)行循環(huán)體,然后執(zhí)行下面第(3)步。若為假,則結(jié)束循環(huán),轉(zhuǎn)到第(5)步(3)求解表達(dá)式3(4)轉(zhuǎn)回上面步驟(2)繼續(xù)執(zhí)行(5)循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句表達(dá)式2非0(真)0(假)求解表達(dá)式3求解表達(dá)式1語句[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第20頁。for(i=1;i<=100;i++)sum=sum+i;等價于i=1;while(i<=100){sum=sum+i;i++; }用for語句更簡單、方便[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第21頁。5.3.2for循環(huán)程序舉例例5.4在象棋的棋盤第1個格子中放1粒麥子,第2個格子中放2粒麥子,第3個格子中放4粒麥子,以后按此比例每一格加一倍,一直放到第64格(象棋的棋盤是8×8=64格),共放多少?P120麥子總粒數(shù)=1+2+22+23+…+2631m3=1.42×108粒[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第22頁。#include<stdio.h>voidmain(){doublep=1,t=1,v;inti;for(i=1;i<64;i++){p=p*2;t=t+p; }v=t/1.42e8;printf(“total=%e\n”,t);printf(“volume=%e\n”,v);

}p是當(dāng)前一個格子中麥子粒數(shù)t是當(dāng)前麥子總粒數(shù)v是總體積total=1.844674e+019volnme=1.299066e+011[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第23頁。#include<stdio.h>voidmain(){doublep=1,t=1,v;inti;for(i=1;i<64;i++){p=p*2;t=t+p; }v=t/1.42e8;printf(“total=%e\n”,t);printf(“volume=%e\n”,v);

}改為i=1;i<=64;i++會怎樣?[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第24頁。#include<stdio.h>voidmain(){doublep=1,t=1,v;inti;for(i=1;i<64;i++){p=p*2;t=t+p; }v=t/1.42e8;printf(“total=%e\n”,t);printf(“volume=%e\n”,v);

}改為i=0;i<64;i++會怎樣?[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第25頁。

例5.5人口增長預(yù)測。據(jù)2005年末統(tǒng)計,我國人口為130756萬人,如果人口的年增長率為1%,請計算到哪一年中國總?cè)丝诔^15億。解題思路:假設(shè)原來人口為p0

,則一年后的人口為:p=p0*(1+r),r是年增長率每算出一年的人口后就檢查是否達(dá)到或超過15億。如果未達(dá)到或超過,再計算下一年的人口,直到某一年的人口達(dá)到或超過15億為止[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第26頁。#include<stdio.h>voidmain(){doublep=1.30756e9,r=0.01;inty;for(y=2006;p<1.5e9;y++)p=p*(1+r);printf("year=%d,p=%e\n",y-1,p);}原來的值1年后的值year=2019,p=1.503007e+009注意不是y2019年達(dá)到15.03007億人口[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第27頁。#include<stdio.h>voidmain(){doublep=1.30756e9,r=0.01;inty;for(y=2006;p<1.5e9;y++)p=p*(1+r);printf("year=%d,p=%e\n",y-1,p);}計算1000年后的人口y<=3006y=3006,p=2.767941e+0133006年達(dá)到276794億人口[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第28頁。#include<stdio.h>voidmain(){doublep=1.30756e9,r=0.01;inty;for(y=2006;p<1.5e9;y++)p=p*(1+r);printf("year=%d,p=%e\n",y-1,p);}迭代公式[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第29頁。5.4循環(huán)的嵌套P124一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)3種循環(huán)(while循環(huán)、do…while循環(huán)和for循環(huán))可以互相嵌套[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第30頁。5.5提前結(jié)束循環(huán)5.5.1用break語句提前退出循環(huán)5.5.2用continue語句提前結(jié)束本次循環(huán)P124[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第31頁。5.5.1用break語句提前退出循環(huán)在執(zhí)行循環(huán)語句時,在正常情況下只要滿足給定的循環(huán)條件,就應(yīng)當(dāng)一次一次地執(zhí)行循環(huán)體,直到不滿足給定的循環(huán)條件為止。但是有些情況下,需要提前結(jié)束循環(huán)。P124[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第32頁。

例5.6統(tǒng)計各班級學(xué)生的平均成績。已知各班人數(shù)不等,但都不超過30人。編一個程序能處理人數(shù)不等的各班學(xué)生的平均成績。解題思路:輸入的成績是負(fù)數(shù)時,表示本班數(shù)據(jù)已結(jié)束接收到一個負(fù)的分?jǐn)?shù)時就提前結(jié)束循環(huán)用break語句實現(xiàn)提前結(jié)束循環(huán)[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第33頁。#include<stdio.h>voidmain(){floatscore,sum=0,ave;inti,n;for(i=1;i<31;i++){ scanf(“%f”,&score);if(score<0)break;sum=sum+score; }n=i-1;ave=sum/n;printf(“n=%d,ave=%7.2f\n”,n,ave);}負(fù)值,跳出循環(huán)非負(fù),累加100↙80↙70↙-1↙

n=3,ave=90.00[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第34頁。break語句的一般形式為:break;只能用于循環(huán)語句和switch語句之中,而不能單獨(dú)使用[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第35頁。5.5.2用continue語句提前結(jié)束本次循環(huán)

continue語句的一般形式為:continue;其作用為結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判斷。P126[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第36頁。5.5.2用continue語句提前結(jié)束本次循環(huán)continue語句和break語句的區(qū)別:continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行break語句結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立P126[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第37頁。假表達(dá)式1真表達(dá)式2假真…………break語句強(qiáng)行退出循環(huán)while(表達(dá)式1){

┇if(表達(dá)式2)

break;

┇}[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第38頁。假表達(dá)式1真表達(dá)式2假……真…………continue語句只結(jié)束本次循環(huán)while(表達(dá)式1){

┇if(表達(dá)式2)

continue;

┇}[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第39頁。假表達(dá)式1真表達(dá)式2假……真…………continue語句只結(jié)束本次循環(huán)假表達(dá)式1真表達(dá)式2假真…………break語句強(qiáng)行退出循環(huán)[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第40頁。

例5.7輸入一個班全體學(xué)生的成績,把不及格的學(xué)生成績輸出,并求及格學(xué)生的平均成績。解題思路:在進(jìn)行循環(huán)中,檢查學(xué)生的成績,把其中不及格的成績輸出,然后跳過后面總成績的累加和求平均成績的語句用continu語句處理[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第41頁。#include<stdio.h>voidmain(){floatscore,sum=0,ave;inti,n=0;for(i=1;i<6;i++){printf(“score:");scanf(“%f”,&score); if(score<60){printf(“Fail:%7.2f\n”,score);

continue;}sum=sum+score;n=n+1; }ave=sum/n;printf(“n=%d,ave=%7.2f\n”,n,ave);}不及格輸出成績跳過下面語句score:89↙score:56↙Fail:56score:76↙score:58↙Fail:58score:98↙

n=3ave=87.67[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第42頁。5.6幾種循環(huán)的比較P128(1)一般情況下,3種循環(huán)可以互相代替(2)在while和do---while循環(huán)中,循環(huán)體應(yīng)包含使循環(huán)趨于結(jié)束的語句。(3)用while和do---while循環(huán)時,循環(huán)變量初始化的操作應(yīng)在while和do---while語句之前完成。而for語句可以在表達(dá)式1中實現(xiàn)循環(huán)變量的初始化。[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第43頁。5.7程序舉例P128

例5.8有一對兔子,出生后第3個月起每個月都生一對兔子。小兔子長到第3個月后每個月又生一對兔子。假設(shè)所有兔子都不死,問40個月的兔子總數(shù)為多少?[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第44頁。解題思路:這是一個有趣的古典數(shù)學(xué)問題??梢詮南卤砜闯鐾米臃敝车囊?guī)律。第幾個月小兔子對數(shù)中兔子對數(shù)老兔子對數(shù)兔子總數(shù)110012010131012411135212563238753513┆┆┆┆┆每個月的兔子總數(shù)依次為1,1,2,3,5,8,13…是費(fèi)波那西(Fibonacci)數(shù)列特點:第1、2兩個數(shù)為1、1

從第3個數(shù)開始,該數(shù)是其前面兩個數(shù)之和[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第45頁。解題思路:這是一個有趣的古典數(shù)學(xué)問題??梢詮南卤砜闯鐾米臃敝车囊?guī)律。每個月的兔子總數(shù)依次為1,1,2,3,5,8,13…是費(fèi)波那西(Fibonacci)數(shù)列特點:第1、2兩個數(shù)為1、1

從第3個數(shù)開始,該數(shù)是其前面兩個數(shù)之和f1=f1+f2f2=f2+f1fori=1to20f1=1,f2=1輸出f1,f2[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第46頁。#include<stdio.h>voidmain(){longintf1,f2;inti;f1=1;f2=1;for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}}控制一行輸出的數(shù)據(jù)個數(shù)在VC++中可用int型[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第47頁。例5.9有一個整數(shù)m,判斷它是否素數(shù)。解題思路:所謂素數(shù)(或稱質(zhì)數(shù))是指除了1和它本身以外,不能被任何整數(shù)整除的數(shù)例如17是素數(shù),因為它不能被2到16間任一整數(shù)整除因此判斷一個整數(shù)m是否素數(shù),只需把m被2到m-1之間的每一個整數(shù)去除,如果都不能被整除,那末m就是一個素數(shù)[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第48頁。假假真i=i+1輸入mi=2i≤真m被i整除i>輸出是素數(shù)真輸出不是素數(shù)假[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第49頁。#include<stdio.h>#include<math.h>voidmain(){intm,i,k;printf(“number:");scanf(“%d”,&m);

k=(int)sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>k)printf("%dprime\n",m);elseprintf("%dnotprime\n",m);}number:17↙17prime[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第50頁。

例5.10譯密碼。為使電文保密,往往按一定規(guī)律將其轉(zhuǎn)換成密碼,收報人再按約定的規(guī)律將其譯回原文。ABCDEFG……WXYZ非字母字符保持原狀不變輸入一行字符,要求輸出其相應(yīng)的密碼[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第51頁。解題思路:(1)從字母A到V,只需將字母加上4就行

例如,’A’+4就是’E’(2)從字母W到Z,將字母加4,再減去26’W’+4-26就是’A’[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第52頁。解題思路:輸入一個字符給字符變量c判定它是否字母(包括大小寫),若不是字母,不改變c的值;若是字母,則使變量c的值改變?yōu)槠浜蟮?個字母如果新的c值范圍不在字母范圍內(nèi),應(yīng)減去26[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第53頁。#include<stdio.h>voidmain(){charc;while((c=getchar())!=‘\n’){if((c>=‘a(chǎn)’&&c<=‘z’)||(c>=‘A’&&c<=‘Z’)){c=c+4;if(c>‘Z’&&c<=‘Z’+4||c>‘z’)c=c-26;}printf("%c",c);}}China!↙

Glmre![計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第54頁。5.8提高部分5.8.1while和do…while循環(huán)的比較5.8.2for語句的各種形式P132[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第55頁。5.8.1while和do…while循環(huán)的比較凡是能用while循環(huán)處理的情況,都能用do…while循環(huán)處理do…while循環(huán)結(jié)構(gòu)可以轉(zhuǎn)換成while循環(huán)結(jié)構(gòu)P132[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第56頁。5.8.1while和do…while循環(huán)的比較P132表達(dá)式非0(真)0(假)循環(huán)體語句表達(dá)式非0(真)0(假)語句語句do…while語句while語句[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第57頁。5.8.1while和do…while循環(huán)的比較例5.11while和do…while循環(huán)的比較以下兩個程序,循環(huán)體是相同的程序(1)用while循環(huán)程序(2)用do-while循環(huán)運(yùn)行時,在有的情況下結(jié)果相同,而另一些情況下結(jié)果不同,請仔細(xì)分析。P132[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第58頁。程序(1)#include<stdio.h>voidmain(){ints=0,i;scanf(“%d”,&i);while(i<=10){s=s+i;i++;}printf(“s=%d”,s);}程序(2)#include<stdio.h>voidmain(){ints=0,i;scanf(“%d”,&i);do{s=s+i;i++;}while(i<=10);printf(“s=%d”,s);}1↙s=55再運(yùn)行一次:

11↙s=01↙s=55再運(yùn)行一次:

11↙s=11當(dāng)while后面的表達(dá)式的第一次的值為“真”時,兩種循環(huán)得到的結(jié)果相同;否則,二者結(jié)果不相同(相同循環(huán)體時)[計算機(jī)軟件及應(yīng)用]循環(huán)結(jié)構(gòu)程序設(shè)計全文共67頁,當(dāng)前為第59頁。5.8.2for語句的各種形式在實際編程中,

溫馨提示

  • 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

提交評論