《C語言程序設(shè)計(jì)》05 循環(huán)結(jié)構(gòu)寫字字帖_第1頁
《C語言程序設(shè)計(jì)》05 循環(huán)結(jié)構(gòu)寫字字帖_第2頁
《C語言程序設(shè)計(jì)》05 循環(huán)結(jié)構(gòu)寫字字帖_第3頁
《C語言程序設(shè)計(jì)》05 循環(huán)結(jié)構(gòu)寫字字帖_第4頁
《C語言程序設(shè)計(jì)》05 循環(huán)結(jié)構(gòu)寫字字帖_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第五章循環(huán)結(jié)構(gòu)回顧if語句基本結(jié)構(gòu)嵌套if語句switch多分支選擇語句。條件運(yùn)算符目標(biāo)理解為什么使用循環(huán)結(jié)構(gòu)熟練掌握while循環(huán)的使用熟練掌握do-while循環(huán)的使用理解while和do-while循環(huán)的區(qū)別熟練使用for循環(huán)循環(huán)(一)老師在批改100份試卷的時(shí)候,對(duì)每一份試卷都要:判斷對(duì)錯(cuò)給分?jǐn)?shù)計(jì)算總分完成試卷批改任務(wù)時(shí),三個(gè)動(dòng)作重復(fù)了100次。循環(huán)(二)循環(huán):將一個(gè)任務(wù)分解為重復(fù)執(zhí)行的一組動(dòng)作判斷對(duì)錯(cuò)給出分?jǐn)?shù)計(jì)算總分C語言中的各種循環(huán)do-whilefor三種類型的循環(huán)whilewhile循環(huán)(一)[<初始化>]while(表達(dá)式){<循環(huán)體>}while循環(huán)的一般語法:示例while(index<100){......

index++;}while循環(huán)(二)工作原理計(jì)算表達(dá)式的值,當(dāng)值為真(非0)時(shí),執(zhí)行循環(huán)體語句,一旦條件為假,就停止執(zhí)行循環(huán)體。如果條件在開始時(shí)就為假,那么不執(zhí)行循環(huán)體語句直接退出循環(huán)。

while循環(huán)示例(一)例:完成1-100以內(nèi)的累加#include<stdio.h>voidmain(){inti,sum=0;i=1;while(i<=100){sum=sum+I;i++;}printf("%d",sum);}while循環(huán)示例(二)例:統(tǒng)計(jì)從鍵盤輸入一行字符的個(gè)數(shù)#include<stdio.h>voidmain(){intn=0;printf("inputastring:=\n");while(getchar()!=‘\n’){ n++;}printf("%d",n);}do-while循環(huán)(一)while循環(huán)的一般語法:do{

語句;...}while(表達(dá)式);示例do{......scanf("%c",&answer);}while(answer!='n');do-while循環(huán)(二)工作原理它先執(zhí)行循環(huán)體中的語句,然后再判斷條件是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。Do-while

循環(huán)示例#include<stdio.h>voidmain(){inti,sum=0;i=1;do{sum=sum+I;i++;}while(i<=100);printf("%d",sum);}例:用do-while完成1-100以內(nèi)的累加比較while和do-while循環(huán)while和do-while循環(huán)的工作原理while(循環(huán)條件){循環(huán)體;}do{

循環(huán)體;}while(循環(huán)條件);while循環(huán)是先判斷后執(zhí)行,所以,如果條件為假,則循環(huán)體一次也不會(huì)被執(zhí)行。do-while循環(huán)是先執(zhí)行后判斷,所以,即使開始條件為假,循環(huán)體也至少會(huì)被執(zhí)行一次。for循環(huán)(一)

for循環(huán)的一般語法:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){

語句;}for(inti=0;i<100;i++){……}示例for循環(huán)(二)工作原理1、計(jì)算表達(dá)式1的值,通常為循環(huán)變量賦初值;2、計(jì)算表達(dá)式2的值,即判斷循環(huán)條件是否為真,若值為真則執(zhí)行循環(huán)體一次,否則跳出循環(huán);3、計(jì)算表達(dá)式3的值,這里通常寫更新循環(huán)變量的賦值表達(dá)式,然后轉(zhuǎn)回第2步重復(fù)執(zhí)行;for循環(huán)示例(一)例:用for循環(huán)求s=1+3+5+…+99的奇數(shù)#include<stdio.h>voidmain(){intsum=0,i;for(i=1;i<100;i=i+2)//i=i+2使每次循環(huán)變量的增值為2,形成奇數(shù)列

{sum=sum+i;}printf("%d",sum);}例:將可打應(yīng)的ASCII碼制成表格輸出,使其每個(gè)字符與它的編碼值對(duì)應(yīng)起來,每行打印7個(gè)字符#include<stdio.h>voidmain(){inti=0,asci;charc;printf("\t\tASCII碼對(duì)照表\n");for(asci=32;asci<126;asci++){//字符編碼值asci賦值給字符變量c,自動(dòng)轉(zhuǎn)換為對(duì)應(yīng)的字符

c=asci; printf("%c=%3d\t",c,asci);i++;if(i%7==0) //控制每行顯示7個(gè)字符

printf("\n");}printf("\n");} for循環(huán)示例(二)for循環(huán)的表達(dá)式for循環(huán)中有三個(gè)表達(dá)式for語句中的各個(gè)表達(dá)式都可以省略分號(hào)分隔符不能省略for(<初始化循環(huán)變量>;<循環(huán)條件>;<修改循環(huán)變量的值>){<循環(huán)體語句>;}省略表達(dá)式1相當(dāng)于省去了為循環(huán)變量賦初值,此時(shí)應(yīng)在for語句之前給循環(huán)變量賦初值intnum=0;for(;num<=10;num++){ printf("%d\n",num*2);}

inta=0,n;printf("\n輸入n的值:");scanf("%d",&n);for(;n>0;a++,n--)printf("%d",a*2);

省略表達(dá)式2即不判斷循環(huán)條件,也就是認(rèn)為表達(dá)式2始終為真,這時(shí)應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則將成為死循環(huán)for(num=1;;num++){...}省略表達(dá)式3即省去修改循環(huán)變量的值,但此時(shí)應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán)for(i=1;i<=100;)

{sum=sum+1;i++;}

for(;;){printf("這將一直進(jìn)行下去");i=getchar();if(i=='X'||i=='x') break;}

省略三個(gè)表達(dá)式即不為循環(huán)變量賦初值,不設(shè)置循環(huán)條件(認(rèn)為表達(dá)式2為真值),不修改循環(huán)變量的值,無終止地執(zhí)行循環(huán)體。此時(shí)應(yīng)在循環(huán)體內(nèi)設(shè)法結(jié)束循環(huán),否則會(huì)成為死循環(huán)程序舉例從鍵盤輸入一組數(shù),該組數(shù)據(jù)以輸入0作為結(jié)束,求該組數(shù)中的最大值。#include<stdio.h>voidmain(){ intm,max; printf("輸入數(shù)m(輸入0停止):"); scanf("%d",&m); //輸入第一個(gè)數(shù)假設(shè)為最大值

max=m; do{ //重復(fù)輸入若干個(gè)數(shù),直到m為0;

printf("輸入數(shù)m(輸入0停止):"); scanf("%d",&m); if(m>max) //求最大值

{ max=m; } }while(m!=0); printf("最大值為:%d\n",max);}

程序舉例輸入兩個(gè)自然數(shù),求最大公約數(shù)。

#include<stdio.h>voidmain(){ intm,n,temp,r; printf("請(qǐng)輸入m:"); scanf("%d",&m); printf("請(qǐng)輸入n:"); scanf("%d",&n); if(m<n){ temp=m; m=n; n=temp; } while((r=m%n)!=0) { m=n; n=r; } printf("最大公約數(shù)為:%d\n",n); }

總結(jié)循環(huán)結(jié)構(gòu)的特點(diǎn)是:在給定條件成立時(shí),重復(fù)執(zhí)行某程序段,直到條件不成立為止。while循環(huán)用于在給定條件為真的情況下重復(fù)執(zhí)行一組操作,while循環(huán)先判斷后執(zhí)行。do-while循環(huán)先執(zhí)行后判斷,因此循環(huán)將至少執(zhí)行一次。for

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論