




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章循環(huán)結構程序設計
本章學習結構化程序設計語言的第三種結構:循環(huán)結構。循環(huán)結構的作用在于,當程序在一次運行中,其內的某些語句可以執(zhí)行多次。具體的實現(xiàn)循環(huán)的語句有:while語句、do-while語句、for語句、break語句、continue語句及goto語句。學習目標理解循環(huán)結構的應用熟悉while語句的用法熟悉do-while語句的用法熟悉for語句的用法能夠靈活使用break與continue語句掌握各種循環(huán)語句嵌套用法本章任務(1)請用程序輸出1+2+3+…+100的結果。分別用for、while、do-while這3種語句實現(xiàn)。(2)編程實現(xiàn)猜數(shù)游戲,先由計算機隨機生成一個1~100之間的數(shù)讓人猜,如果人猜對了,在屏幕上輸出此人猜了多少次猜對此數(shù),以此來反映猜數(shù)者“猜”數(shù)水平,則結束游戲;否則計算機給出提示,告訴人所猜的數(shù)是太大還是太小,最多可以猜10次,如果猜了10次仍未猜中的話,給出失敗提示,則停止本次猜數(shù),然后繼續(xù)猜下一個數(shù)。每次運行程序可以反復猜多個數(shù),直到操作者想停止時才結束。#include<stdio.h>#include<time.h>#include<stdlib.h>intmain(){ inti,a=1,b=1000,c,d;while(1){ srand(time(NULL));d=rand()%1000;printf("%d\n",d);system("pause");for(i=0;i<10;i++){printf("請輸入從%d到%d的一個整數(shù):",a,b);scanf("%d",&c);if(c==d){printf("恭喜您,您第%d次猜中數(shù)字!\n",i+1);break;}elseif(c>=d)b=c;elsea=c;}if(i==10)printf("對不起!您沒能猜出數(shù)字!\n");}}#include<stdio.h>#include<time.h>#include<stdlib.h>intmain(){ inti,a=1,b=1000,c,d;while(1){randomize();/*隨機函數(shù),負責實現(xiàn)數(shù)的隨機性*/d=random(899+1)+100;/*random(n)負責產(chǎn)生[0,n)的整數(shù),產(chǎn)生[a,b)的整數(shù)公式為random(b-a+1)+a*/for(i=0;i<10;i++){printf("請輸入從%d到%d的一個整數(shù):",a,b);scanf("%d",&c);if(c==d){printf("恭喜您,您第%d次猜中數(shù)字!\n",i+1);break;}elseif(c>=d)b=c;elsea=c;}if(i==10)printf("對不起!您沒能猜出數(shù)字!\n");}}4.1循環(huán)的概念什么是循環(huán)?為什么要使用循環(huán)?問題1:問題2:求學生平均成績
分數(shù)相加后除以課數(shù)在許多問題中需要用到循環(huán)控制。循環(huán)結構是結構化程序設計的基本結構之一,它和順序結構、選擇結構共同作為各種復雜程序的基本構造單元。循環(huán)分為兩種:無休止循環(huán)和有終止循環(huán)構成有效循環(huán)的條件:循環(huán)體和循環(huán)結束條件while語句用來實現(xiàn)“當型”循環(huán)結構。一般形式:
while(表達式)語句當表達式為非0值時,執(zhí)行while語句中的內嵌語句。其特點是:先判斷表達式,后執(zhí)行語句。4.1
while語句【例4.1】求1到100的和
#include<stdio.h>
voidmain()
{inti=1,sum=0;
while(i<=100)
{sum=sum+i;
i++;
}
printf("1+2+...+100=%d″,sum);
}說明:(1)循環(huán)體如果包含一個以上的語句,應該用花括弧括起來,以復合語句形式出現(xiàn).(2)在循環(huán)體中應有使循環(huán)趨向于結束的語句。運行結果:5050注意:循環(huán)體如果包含一個以上的語句,應該用花括弧括起來,以復合語句形式出現(xiàn)。在循環(huán)體中應有使循環(huán)趨向于結束的語句。如果無此語句,則i的值始終不改變,循環(huán)永不結束?!纠?.2】統(tǒng)計從鍵盤輸入一行字符的個數(shù)。#include<stdio.h>voidmain(){intn=0;printf("inputastring:\n");while(
getchar()!='\n'
){
n++;}printf("%d",n);}本例程序中的循環(huán)條件為getchar()!='\n',其意義是,只要從鍵盤輸入的字符不是回車就繼續(xù)循環(huán)。循環(huán)體n++完成對輸入字符個數(shù)計數(shù)。從而程序實現(xiàn)了對輸入一行字符的字符個數(shù)計數(shù)?!纠?.3】鍵盤輸入一行字符以回車符“\n”結束輸入,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。main(){charc;intletters=0,space=0,digit=0,others=0;printf("Inputchars:");scanf("%c",&c);while(/**//**/)/*當c不是回車時退出循環(huán)*/{/**//**/}printf("letters=%d,space=%d,digit=%d,others=%d",letters,space,digit,others);}有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}
}printf("\n");}課堂小測試當輸入:247<回車>,程序的輸出結果是(B)。A. 689 B.6689 C.66778 D.66887課堂小測試do-while語句的特點:先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立。一般形式:do
循環(huán)體語句
while(表達式);執(zhí)行過程:先執(zhí)行一次指定的循環(huán)體語句,然后判別表達式,當表達式的值為非零(“真”)時,返回重新執(zhí)行循環(huán)體語句,如此反復,直到表達式的值等于0為止,此時循環(huán)結束。4.2do-while語句/*注意此處有分號*/【例4.4】求1到100的和
#include<stdio.h>
voidmain()
{inti=1,sum=0;
do
{sum=sum+i;
i++;
}
while(i<=100);
printf("%d\n″,sum);
}運行結果:5050以下程序段的運行結果是(D)。intx=3;do{printf("%3d,",x-=2);}while(!(--x));A. 1, B.30, C.死循環(huán) D.1,-2,課堂小測試while和do-while循環(huán)的比較凡是能用while循環(huán)處理,都能用do…while循環(huán)處理。do…while循環(huán)結構可以轉換成while循環(huán)結構。在一般情況下,用while語句和用do-while語句處理同一問題時,若二者的循環(huán)體部分是一樣的,它們的結果也一樣。但是如果while后面的表達式一開始就為假(0值)時,兩種循環(huán)的結果是不同的?!纠?.5】while和do-while循環(huán)的比較
(1)#include<stdio.h>(2)#include<stdio.h>
voidmain()voidmain()
{intsum=0,i;{intsum=0,i;
scanf(“%d″,&i);scanf(”%d″,&i);
while(i<=10)do
{sum=sum+I;{sum=sum+i;
i++;i++;
}while(i<=10);
printf(“sum=%d\\n″
,sum);
}printf(“sum=%d\\n”,sum);
}運行結果:1↙su
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園幼小銜接教學計劃
- 多元化班級評價體系建設計劃
- 輪訓模式下的藝術教師發(fā)展計劃
- 共享服務模式下的會計管理計劃
- 高效會議管理的總結與方法計劃
- 打造水務行業(yè)的智能未來計劃
- 彩鈴呼叫流程
- 《長方體正方體的認識》(教學設計)-2023-2024學年五年級上冊數(shù)學西師大版
- 殘疾人托養(yǎng)服務投標方案(技術方案)
- 《猴子的煩惱》教學設計-2024-2025學年三年級下冊數(shù)學北師大版
- 可愛的中國教案全冊
- 小學一年級勞動課教案(全冊)
- 立體庫風險分析及安全措施
- 地鐵鋼結構雨棚施工方案
- 廠區(qū)綠化養(yǎng)護合同
- 421年產(chǎn)1億片頭孢氨芐生產(chǎn)車間工藝設計(施施)
- 日本文學史課件
- 胃腸間質瘤診療共識
- 初高中政治銜接(課堂)課件
- 福特金牛座說明書
- 蒙臺梭利教學法PPT完整全套教學課件
評論
0/150
提交評論