-
- 素材大。
- 1.33 MB
- 素材授權(quán):
- 免費(fèi)下載
- 素材格式:
- .ppt
- 素材上傳:
- lipeier
- 上傳時(shí)間:
- 2018-12-08
- 素材編號:
- 219356
- 素材類別:
- 課件PPT
-
素材預(yù)覽
這是c語言循環(huán)結(jié)構(gòu)ppt,包括了while語句,do--while語句,goto語句,break語句和continue語句,循環(huán)的嵌套,循環(huán)中的幾種變量,課外練習(xí)等內(nèi)容,歡迎點(diǎn)擊下載。
c語言循環(huán)結(jié)構(gòu)ppt是由紅軟PPT免費(fèi)下載網(wǎng)推薦的一款課件PPT類型的PowerPoint.
循環(huán)結(jié)構(gòu)程序設(shè)計(jì) C 語言程序設(shè)計(jì) Lecture 5 循環(huán)結(jié)構(gòu) 循環(huán):就是在給定的條件成立時(shí)反復(fù)執(zhí)行某一程序段,被反復(fù)執(zhí)行的程序段稱為循環(huán)體。 在C語言中可以用以下語句來實(shí)現(xiàn)循環(huán): 1、用while語句; 2、用do--while語句; 3、用for語句; 4、用goto語句和if語句構(gòu)成循環(huán)。 5.1 while語句 1、while 語句 常稱為“當(dāng)型”循環(huán)語句。 2 、while 語句的形式: while (表達(dá)式) 循環(huán)體;特點(diǎn):先判斷表達(dá)式,后執(zhí)行語句。說明:循環(huán)體有可能一次也不執(zhí)行循環(huán)體可為任意類型語句下列情況,退出while循環(huán)條件表達(dá)式不成立(為零)循環(huán)體內(nèi)遇break,return,goto 無限循環(huán): while(1) 循環(huán)體; 5.2 do--while語句 1、do--while語句 常稱為“直到型”循環(huán)語句。 2、do--while的形式: do 循環(huán)體; while (表達(dá)式);特點(diǎn):先執(zhí)行,后判斷。說明:至少執(zhí)行一次循環(huán)體 do~while可轉(zhuǎn)化成while結(jié)構(gòu) 例(ch5_03.c)用do~while求1+2+3+4+5+···+100。注: 1. 循環(huán)體如果包含一個(gè)以上的語句,應(yīng)該用花括號括起來,以復(fù)合語句形式出現(xiàn)。 2. 循環(huán)體中應(yīng)有使循環(huán)趨于結(jié)束的語句。例:分析下列三個(gè)程序段 main() { int i,sum=0; i=1; do { sum=sum+i; i++; }while(i<=100); printf(“%d\n”,sum); } 5.3 for語句 可以用于循環(huán)次數(shù)確定的情況; 可以用于循環(huán)次數(shù)不確定的情況; 可實(shí)現(xiàn)while和do--while語句的所有功能。 2、for的形式: for (表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體 說明: for語句中expr1, expr2 ,expr3 類型任意,都可省略,但分號;不可省無限循環(huán): for(;;) for語句可以轉(zhuǎn)換成while結(jié)構(gòu) sum=0; for(i=1;i<=100;i++) sum=sum+i; 它相當(dāng)于以下語句: i=1; while (i<=100) { sum=sum+i; i++; } 3、for語句中表達(dá)式的省略(1)for語句一般形式中的“表達(dá)式1”可以省略; 如: sum=0;i=1; for ( ; i<=100;i++) sum=sum+i; (2)表達(dá)式2省略,即不判斷循環(huán)條件,循環(huán)無終止地進(jìn)行下去; 如: for(sum=0,i=1;;i++) { sum=sum+i; } (3)表達(dá)式3也可以省略,但此時(shí)保證循環(huán)能正常結(jié)束。 如:for(sum=0,i=1;i<=100;) { sum=sum+i; i++; } (4) 可以省略表達(dá)式1和表達(dá)式3,只有表達(dá)式2。 如:i=1; sum=0; i=1;sum=0; for (;i<=100;) while (i<=100) { sum=sum+i; { sum=sum+i; i++; i++; } } (5)三個(gè)表達(dá)式都可省略, 如: for ( ; ; ) 循環(huán)體; 相當(dāng)于 while (1) 循環(huán)體; 即不設(shè)初值,不判斷條件,循環(huán)變量不增值。無終止地執(zhí)行循環(huán)體。 如: sum=0,i=1; for(;;) { if(i>100) break; sum=sum+i; i++; } (6)循環(huán)體為空語句 對for語句,循環(huán)體為空語句的一般形式為: for (表達(dá)式1;表達(dá)式2;表達(dá)式3) ; 如:for(sum=0,i=1;i<=100;sum+=i, i++) ; 又如: 要在顯示器上復(fù)制輸入的字符,輸入的字符為‘.’時(shí), 結(jié)束循環(huán)。 while(putchar(getchar( ) )!=’.’ ) ; 循環(huán)終止條件的種類: 1.關(guān)系表達(dá)式: 如前幾例 2.邏輯表達(dá)式: for (; a>b && x
0;j--) /*輸出i-1到1*/ printf(“%d”, j); printf(“\n”); } } 5.7 循環(huán)程序設(shè)計(jì)的問題 寫循環(huán),先要發(fā)現(xiàn)循環(huán)。注意計(jì)算中的重復(fù)性動(dòng)作,引進(jìn)循環(huán)可能統(tǒng)一描述和處理。 重復(fù)動(dòng)作的常見例子: 累積一批可按規(guī)律算出的數(shù)據(jù)(如累加等); 反復(fù)從一個(gè)結(jié)果算出下一結(jié)果(遞推等,見教材P71例5.9); 對一批數(shù)據(jù)做同樣的加工處理;等。寫循環(huán)結(jié)構(gòu)時(shí)要考慮和解決的問題:循環(huán)涉及哪些變量,引進(jìn)什么臨時(shí)性變量? 這些變量在循環(huán)正式開始前應(yīng)給什么初值?循環(huán)如何開始? 每次循環(huán)中變量的值應(yīng)如何改變? 什么情況下繼續(xù)循環(huán)(什么情況下終止)? 循環(huán)終止后如何得到所需結(jié)果?循環(huán)中的幾種變量 循環(huán)中常出現(xiàn)幾類變量,了解這些有助于思考和分析。這也是寫循環(huán)程序的經(jīng)驗(yàn)總結(jié)。 1)循環(huán)控制變量(循環(huán)變量):循環(huán)前設(shè)初值,循環(huán)遞增/遞減,達(dá)到/超過界限時(shí)循環(huán)結(jié)束。控制循環(huán)的進(jìn)行/結(jié)束。 for中常有這類變量。 for(n = 0; n < 10; n++)...... for(n = 2; n < 52; n += 4) ...... 2)累積變量:循環(huán)中常用+=或*=等更新。初值常用運(yùn)算的單位元(加用0;乘用1為初值)。循環(huán)結(jié)束時(shí)變量終值被作為循環(huán)計(jì)算結(jié)果。 3)遞推變量:前兩類變量的推廣形式。復(fù)雜循環(huán)常用幾個(gè)協(xié)同的變量,每次由一個(gè)/幾個(gè)變量推出一個(gè)新值,其余依次更新。 對變量x1、x2、x3,循環(huán)體可能有序列: x1 = x0...; x2 = x1...; x3 = ... x1 ... x2 ...; 本章重點(diǎn)三種循環(huán)語句while, do---while和for 建立循環(huán)通常有以下情況: 1. 給定次數(shù), for比較適用 for(i=1;i<100;i++) 2. 給定條件, while比較適用 while((x+y)‘a’ &&c <‘z’)||(c>‘A’&& c<‘Z’) 本章作業(yè)求23+24+…+210之和。輸入兩個(gè)正整數(shù)a和b,其中ab) { t=a; a=b; b=t; } for(x=a;x<=b;x+=2) if(x%2) printf("%4d",x+1); else printf("%4d",x); } 3. main() { int a,n,s; s=0,n=0; for(a=1;;a++) { n++; s+=a; if(s>1000) break; } printf("s=%d,n=%d",s,n); } 5. main() { int i,n=0; float score[30],aver=0.0; for(i=0;i<30;i++) { aa: scanf("%f",&score[i]); if(score[i]>100||score[i]<0) { printf("Error! "); goto aa; } aver+=score[i]; } aver=aver/30; for(i=0;i<30;i++) if(score[i]>aver) n++; printf("aver=%f,n=%d\n",aver,n); } 7. main() { int i; long n=1; for(i=1;i<=10;i++) { n=n*5; printf(“%0d\n”,n); } } 5.8 程序舉例 main() { float a,b,h,n1,n2,s=0; int i; printf(“請輸入積分限a和b:”); scanf(“%f%f”,&a,&b); h=(b-a)/1000; for(i=0;i<1000;i++) { n1=4-(a+i*h)*(a+i*h); n2=4-(a+(i+1)*h)*(a+(i+1)*h); s+=(n1+n2)*h/2; } printf(“s=%10.2f\n”,s); } [例] 猜數(shù)游戲的最簡化版。 #include #define GOAL 39 main() { int i; printf(“Please input a integer number:\n"); do { scanf("%d",&i); if(i>GOAL) printf("%d is too big,input again.\n",i); else if(i #include main() { int i; int GOAL,num=0; printf("Please input a number from 0 to 99, or -1 to exit:\n"); GOAL=random(100); /*產(chǎn)生0到99的隨機(jī)數(shù)*/ do { scanf("%d",&i); if(i==-1) { printf("\nExit game!"); break; } num++; if(i>GOAL) printf("%d is too big, input again.\n",i); else if(iE, W-->A.非字母字符忽略。思路: 1.建立循環(huán), 循環(huán)結(jié)束以輸入回車符為準(zhǔn) while (c=getchar()!=’\n’) 2. 判斷輸入是否是字符,否則忽略 if ((c>=’a’ && c<=’z’) || (c>=’A’ && c<=’Z’)) 3.變成其后的第四個(gè)字母 c=c+4; 4. 若變換后超出z時(shí),要輪回. If ((c>’Z’ && c<‘a’)||(c>’z’)) c=c-26 [例] 輸入若干數(shù)字,-1為輸入結(jié)束標(biāo)志,計(jì)算它們的平均數(shù)。 [例] 汽車?yán)锍瘫砩系淖x數(shù)是95859,7小時(shí)之后里程表的讀數(shù)是一個(gè)對稱數(shù)(最大是5位數(shù)),問汽車的速度(是一個(gè)整數(shù))。 解題思路: 檢查所有的在95859到99999之間的對稱數(shù),如果它與95859的差能被7整除,則商是速度。 /* 第一種算法*/ 5. 9 課堂練習(xí) 百錢買百雞:雞翁1,錢值5; 雞母1,錢值3;雞 雛3,錢值1;何以百錢買百雞? main() { int x,y,z; for (x=1 to 20) for (y=1 to 33) if ((x*5+y*3+(100-x-y)/3.0)==100) printf(“x=%d,y=%d,z=%d”,x,y,100-x-y); } 打印出100到200之間所有的素?cái)?shù) #include “math.h” main() { int n,m, i, k; for (n=100;n<=200;n++) { k=sqrt(n); for (i=2;i<=k;i++) if ((n % i)==0) break; if (i=k+1) printf(“%d prime number\n”,m); else printf(“%d not a prime\n”,m); } 課外練習(xí)一、每個(gè)蘋果0.8元,第一天買兩個(gè)蘋果。從第二天開始,每天買前一天的2倍,當(dāng)每天購買蘋果的數(shù)大于100時(shí),則停止. 求平均每天花多少錢? 二、輸入一行字符,回車為結(jié)束,分別統(tǒng)計(jì)出其中的英文字母,空格,數(shù)字和其它字符的個(gè)數(shù)。 人教版循環(huán)小數(shù)ppt:這是人教版循環(huán)小數(shù)ppt,包括了創(chuàng)設(shè)情境,引入新課,自主探究,構(gòu)建新知,練習(xí)鞏固,深化認(rèn)識,課堂小結(jié),暢談收獲,作業(yè)練習(xí),快樂鞏固內(nèi)容,歡迎點(diǎn)擊下載。
循環(huán)結(jié)構(gòu)程序設(shè)計(jì)ppt:這是循環(huán)結(jié)構(gòu)程序設(shè)計(jì)ppt,包括了循環(huán)結(jié)構(gòu),用For-Next語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu),用Do While-Loop語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu),嵌套的循環(huán)結(jié)構(gòu)等內(nèi)容,歡迎點(diǎn)擊下載。
人力資源與工薪循環(huán)ppt:這是人力資源與工薪循環(huán)ppt,包括了人力資源與工薪循環(huán)及其控制測試,人力資源與工薪循環(huán)的實(shí)質(zhì)性程序,應(yīng)付職工薪酬的實(shí)質(zhì)性程序等內(nèi)容,歡迎點(diǎn)擊下載。