




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1第第3 3章章 算法與控制語句算法與控制語句3.1 算法初步 3.2 C語言的標(biāo)準(zhǔn)輸入和輸出 3.3 條件語句 3.4 多分支語句 3.5 循環(huán)語句3.6 轉(zhuǎn)移語句 3.7 綜合應(yīng)用 語言程序設(shè)計教學(xué)目標(biāo)v初步理解算法的概念和特點(diǎn)v掌握常用問題的算法v掌握用流程圖表示算法v了解結(jié)構(gòu)化程序設(shè)計的方法v掌握格式化輸入輸出函數(shù)的用法v掌握分支結(jié)構(gòu)的程序設(shè)計,理解分支語句的嵌套v掌握循環(huán)結(jié)構(gòu)的程序設(shè)計及其相互嵌套v理解break和continue的控制v能夠編寫較復(fù)雜的程序語言程序設(shè)計3.1 算法初步v算法的概念 v算法的表示 v算法舉例 v三種基本結(jié)構(gòu) 語言程序設(shè)計算法的概念v算法:解決問題的方法
2、和步驟 v沃斯公式:數(shù)據(jù)結(jié)構(gòu)+算法=程序v改進(jìn)的沃斯公式:數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計方法+開發(fā)工具=程序語言程序設(shè)計算法的表示 v自然語言v傳統(tǒng)流程圖vN-S流程圖v偽代碼v計算機(jī)語言 語言程序設(shè)計傳統(tǒng)流程圖輸輸 入入 輸輸 出出 框框起起 止止 框框處處 理理 框框判判 斷斷 框框流流 程程 走走 向向連連 接接 點(diǎn)點(diǎn)語言程序設(shè)計計算機(jī)語言#includeint main()int i,n,s=0;scanf(%d,&n);i=1;while(ibmax=amax=b輸輸出出max結(jié)結(jié)束束真真假假語言程序設(shè)計例3.2:求n!開始開始i=1,p=1輸入輸入ni=np=p*ii=i+1輸出
3、輸出p結(jié)束結(jié)束真真假假語言程序設(shè)計例3.3:判斷某一年是否為閏年。開始開始輸入年份輸入年份yy%4=0&y%100!=0|y%400=0是閏年是閏年不是閏年不是閏年結(jié)束結(jié)束真真假假語言程序設(shè)計例3.4:輸入一個正整數(shù),將它反位輸出(如輸入12345,輸出54321)。開開 始始輸輸 入入 正正 整整 數(shù)數(shù) nn!=0m =n% 10輸輸 出出 m結(jié)結(jié) 束束n=n/10真真假假語言程序設(shè)計例3.5:判斷一個整數(shù)n是否為素數(shù) 開始開始輸入整數(shù)輸入整數(shù)nm=2n%m!=0m=m+1m b交交 換換 a , ba c交交 換換 a , cb c交交 換換 b , c輸輸 出出 a ,b ,c結(jié)
4、結(jié) 束束真真真真真真假假假假假假語言程序設(shè)計算法的特點(diǎn)有窮性確定性有零個或多個輸入有一個或多個輸出可行性語言程序設(shè)計三種基本結(jié)構(gòu) v順序結(jié)構(gòu):根據(jù)操作的先后順序執(zhí)行 AB語言程序設(shè)計v選擇(分支)結(jié)構(gòu):根據(jù)某個給定條件進(jìn)行判斷,條件為真或假時分別執(zhí)行不同的操作 AB條件條件真真假假A條件條件真真假假語言程序設(shè)計v循環(huán)結(jié)構(gòu):根據(jù)條件的真或假反復(fù)執(zhí)行某些操作 條件條件A真真假假條件條件A真真假假語言程序設(shè)計三種基本結(jié)構(gòu)的特點(diǎn)v只有一個入口和一個出口v結(jié)構(gòu)內(nèi)的每一部分都有可能被執(zhí)行到v結(jié)構(gòu)內(nèi)不存在“死循環(huán)”語言程序設(shè)計3.2 C語言的標(biāo)準(zhǔn)輸入和輸出3.2.1 格式化輸入輸出3.2.2 其它輸入輸出3
5、.2.3 C語言語句3.2.4 順序結(jié)構(gòu)程序設(shè)計語言程序設(shè)計1. C語句概述vC語句 以“;”作分隔符,編譯后產(chǎn)生機(jī)器指令。vC語句分類 表達(dá)式語句: 表達(dá)式加分號構(gòu)成。 空語句: ; 程序控制語句(9種) 復(fù)合語句: 用 括起來的一組語句例: total = total + limit ; a = 3 ; func( ); printf( “Hello,world!n” );if( ) else switchfor( ) while( ) do while( ) continue break goto return分支循環(huán)輔助控制例: z=x+y; t=z/100; printf(“%f”,
6、t); 注意: “”后不加分號語言程序設(shè)計2. 賦值語句 v構(gòu)成: 由賦值表達(dá)式加上一個分號構(gòu)成v注意事項 “”是運(yùn)算符 賦值表達(dá)式可以包括在其它表達(dá)式之中例: if (a=b)0) t=a;賦值表達(dá)式賦值語句語言程序設(shè)計3. 數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn)v數(shù)據(jù)輸入輸出的概念vC程序中輸入輸出是如何實現(xiàn)的? C語言無I/O語句,I/O操作由函數(shù)實現(xiàn) #include 語言程序設(shè)計4. 單個字符的輸入輸出v字符輸出函數(shù)putcharv字符輸入函數(shù)getchar語言程序設(shè)計v字符輸出函數(shù)putchar 格式: putchar( c ) 參數(shù): c為字符常量、變量或表達(dá)式 功能: 把字符c輸
7、出到顯示器上 返值: 正常,為顯示的代碼值;出錯,為EOF(-1)/* This is an example of putchar() */#include int main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a); return 0;語言程序設(shè)計v字符輸入函數(shù)getchar 格式: getchar( ) 功能: 從鍵盤讀一個字符 返值: 正常,返回讀取的代碼值;出錯,返回EOF(-1)/* This is an example of getchar() */#include int main() char
8、c; c = getchar(); putchar(c); putchar(n); return 0;語言程序設(shè)計5. 格式輸入與輸出v格式輸出函數(shù)printfv格式輸入函數(shù)scanf語言程序設(shè)計(1)格式輸出函數(shù) 格式: printf(格式控制串,輸出表) 功能: 按指定格式向顯示器輸出數(shù)據(jù) 返值: 正常,返回輸出字節(jié)數(shù);出錯,返回EOF(-1) 說明:v 輸出表 要輸出的數(shù)據(jù)(可以沒有,多個時以“,”分隔)v 格式控制串包含兩種信息: 格式說明 普通字符或轉(zhuǎn)義字符%修飾符格式字符printf(“Hello,World! n ”);語言程序設(shè)計格式字符格式字符含義舉例結(jié)果c按字符輸出char
9、 a=65;printf(“%c”,a);Ad按十進(jìn)制整數(shù)輸出int a=567;printf ( “%d”,a);567u按十進(jìn)制無符號整數(shù)輸出int a=567;printf(“%u”,a);567f按浮點(diǎn)數(shù)輸出float a=567.789;printf(“%f”,a);567.789000E 或e按指數(shù)形式輸出double a=567.789;printf(“%e”,a);5.677890e+02o按八進(jìn)制輸出int a=65;printf(“%o”,a);101X 或x按十六進(jìn)制輸出int a=255;printf(“%x”,a);ffs按字符串輸出printf(“%s”,“ABC”
10、);ABCg按e、f格式中較短的一種輸出float a=567.789;printf(“%g”,a);567.789確定數(shù)據(jù)輸出的格式 語言程序設(shè)計修飾符修飾符修飾符含義M輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度m,左補(bǔ)空格;否則按實際輸出.n對實數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對字符串,指定實際輸出位數(shù)-輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)+指定在有符號數(shù)的正數(shù)前顯示正號(+)0輸出數(shù)值時指定左面不使用的空位置自動填0#在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0 xl在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型確定數(shù)據(jù)輸出的寬度、精度、小數(shù)位數(shù)、對齊方式 語言程序設(shè)計#in
11、clude int main() int a=3; float b=1.23; char c=a; printf(the result is:n); printf(%dn,a); printf(%fn,b); printf(%cn,c); printf(%s,ok!); return 0;例1:printf(%dn%fn%cn%s,a,b,c,ok!);語言程序設(shè)計#include int main() int a=3; float b=1.23; printf(%d %fn,a,b); printf(a=%d b=%fn,a,b); printf(a=%d,b=%fn,a,b); print
12、f(a=%6d,b=%6.1fn,a,b); printf(a=%-6d,b=%-6.1fn,a,b); return 0; 例2:語言程序設(shè)計#include int main()int a=97;char b=b;printf(a=%d,a=%cn,a,a);printf(b=%d,b=%cn,b,b); return 0; 例3:語言程序設(shè)計 格式輸出函數(shù)使用注意事項:v 格式字符要用小寫v 格式字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng)v 輸出轉(zhuǎn)換:格式字符與輸出項類型不一致,自動按指定格式輸出語言程序設(shè)計(2)格式輸入函數(shù) 格式: scanf(格式控制串,地址表) 功能: 按指定格式
13、從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲單元中,并按回車鍵結(jié)束 返值: 正常,返回輸入數(shù)據(jù)個數(shù) 說明:v 地址表 變量的地址,常用取地址運(yùn)算符&v 格式控制串 含義同printf函數(shù)例1: scanf(%d,&a); 輸入:10 則 a=10例2: scanf(%x,&a); 輸入:10 則 a=16語言程序設(shè)計l修飾符功 能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項讀入后不賦給變量例 scanf(“%4d%2d%2d”,
14、&yy,&mm,&dd); 輸入 19991015 則1999yy, 10 mm, 15 dd例 scanf(“%3d%*4d%f”,&k,&f); 輸入 12345678765.43 則123k, 8765.43f例 scanf(“%2d%*3d%2d”,&a,&b); 輸入 1234567 則12a, 67b例 scanf(“%3c%2c”,&c1,&c2); 輸入 abcde 則ac1, d c2語言程序設(shè)計 格式輸入函數(shù)使用注意事項: 關(guān)于輸入數(shù)據(jù)時的分隔符 默認(rèn):以空格、TAB鍵、回車鍵作為分隔符 以格式控制串中
15、指定的字符作為分隔符2. 關(guān)于格式符%c用%c格式符時,空格和轉(zhuǎn)義字符作為有效字符輸入實例實例3. 輸入數(shù)據(jù)時,遇以下情況時認(rèn)為該數(shù)據(jù)結(jié)束 遇空格、TAB鍵、回車鍵 按指定的寬度結(jié)束 遇非法輸入實例next part語言程序設(shè)計 int a,b,c; scanf(%d%d%d,&a,&b,&c); int a,b,c; scanf(%d,%d,%d,&a,&b,&c); int a,b,c; scanf(a=%d,b=%d,c=%d,&a,&b,&c);輸入:5 6 9 或者:5 6 9 返回輸入:5,6,9 輸入:a=5
16、,b=6,c=9 語言程序設(shè)計 char ch1,ch2,ch3; scanf(%c%c%c,&ch1,&ch2,&ch3);正確輸入方式:abc 分析: 若這樣輸入: 則: 若這樣輸入: 則:a b c abch1為a,ch2為 ,ch3為bch1為a,ch2為換行符,ch3為b返回語言程序設(shè)計 int a; scanf(%3d,&a); int a; char b; float c; scanf(%d%c%f,&a,&b,&c);則: a= ?若輸入: 12345 則: a=? b= ? c=?若輸入:123a 123o.26 a=1
17、23 b= a c=123a= 123返回語言程序設(shè)計6. 程序舉例例1: 輸入三角形邊長,求面積例2: 從鍵盤輸入大寫字母,用小寫字母輸出gogonext part語言程序設(shè)計例1: 輸入三角形邊長,求面積1()2() () ()sabcareassasbsc預(yù)備知識:(1) 輸入邊長a,b,c(2) 根據(jù)數(shù)學(xué)公式計算s,area(3) 輸出面積area用c語言編寫的程序:分析:語言程序設(shè)計#include #include int main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s=1.0/2*(a+b+c)
18、; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn,a,b,c,s); printf(area=%7.2fn,area); return 0;文件包含預(yù)處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)?return 語言程序設(shè)計例2: 從鍵盤輸入大寫字母,用小寫字母輸出預(yù)備知識:分析:(1) 輸入大寫字母(2) 把大寫字母轉(zhuǎn)換為小寫字母(3) 輸出小寫字母用c語言編寫的程序:大寫字母的ASC值比小寫字母的ASC值少32語言程序設(shè)計return #include void main() char c1,c2; c
19、1=getchar(); printf(%c,%dn,c1,c1); c2=c1+32; printf(%c,%dn,c2,c2);語言程序設(shè)計3.3 條件語句3.3.1 if語句3.3.2 if else 語句3.3.3 if else if 語句3.3.4 條件語句的嵌套3.3.5 條件語句的應(yīng)用語言程序設(shè)計if語句vif語句的三種形式 if (表達(dá)式) 語句 if (表達(dá)式) 語句1 else 語句2 if (表達(dá)式1) 語句1 else if (表達(dá)式2) 語句2 else if (表達(dá)式3) 語句3 else if (表達(dá)式m) 語句m else 語句nexampleexprstat
20、ement非0=0exprstatement1statement2非0=0expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0語言程序設(shè)計if (xy)printf(%d,x);if (xy)max=x;elsemax=y;if (salary1000) index=0.4;else if (salary800) index=0.3;else if (salary600) index=0.2;else if (salary400) index=0.1;else index=0;語言程序設(shè)計v關(guān)于if語句的幾點(diǎn)說明 if后
21、面的表達(dá)式類型任意 在三種形式的if語句中,語句i也可以是復(fù)合語句或嵌套if語句。 注意if與else的配對關(guān)系: else總是與它上面的最近的未配對的if配對。vif語句編程實例exampleexampleexampleexamplenext part語言程序設(shè)計if(a=b&x=y) printf(a=b,x=y);if(3) printf(OK);if(a) printf(%d,a);return語言程序設(shè)計例1: if (x0 & y0) printf(“x is a positive number.”); printf(“y is a positive number.
22、”); else if (x=0) printf(“x is not a positive number); else printf(“y is not a positive number.”); 語言程序設(shè)計例2: 考慮下面程序的輸出結(jié)果: #include void main()int x,y;scanf(%d,%d,&x,&y);if(xy) x=y; y=x;else x+; y+;printf(%d,%dn,x,y);輸入:1,2 輸入:2,1 Compile Error!return語言程序設(shè)計例: if (a=b) if (b=c) printf(“a=b=c”)
23、; else printf(“a!=b”);修改: if (a=b) if (b=c) printf(“a=b=c”); else printf(“a!=b”);實現(xiàn)if else 正確配對方法: 加 return語言程序設(shè)計例1: 求一個整數(shù)的絕對值#include int main() int x,y; printf(Enter an integer:); scanf(%d,&x); y=x; if (yabsolute value:%dn,x,y); return 0;語言程序設(shè)計例2: 輸入兩個整數(shù)并判斷兩個數(shù)是否相等#include int main() int a,b; p
24、rintf(Enter integer a and b:); scanf(%d,%d,&a,&b); if (a=b) printf(a=bn); else printf(a!=bn); return 0;語言程序設(shè)計例3: 將3個整數(shù)按從小到大的順序排列#includeint main() int a,b,c,t; scanf(%a %b %c,&a,&b,&c); if (ab) t=a; a=b; b=t; if (ac) t=a; a=c; c=t; if (bc) t=b; b=c; c=t; printf(%d,%d,%dn,a,b,c);
25、return 0;找到最小數(shù)?算法語言程序設(shè)計return例4: 寫出下面程序的執(zhí)行結(jié)果#includeint main() int x=100,a=10,b=20; int v1=5,v2=0; if (a=60n); break;case D: printf(score60n); break;default: printf(errorn);next part語言程序設(shè)計#include int main() int score;scanf(%d,&score);switch(score) case 5: printf(Excellent!);case 4: printf(Good!
26、);case 3: printf(Pass!);case 2: printf(Fail!); default: printf(data error!); return 0; break; break; break;break;語言程序設(shè)計#include int main() int x=1,y=0,a=0,b=0;switch(x)case 1: switch(y)case 0: a+; break;case 1: b+; break;case 2: a+; b+; break;case 3: a+;b+;printf(a=%d,b=%dn,a,b); return 0;a=1a=2 b=1
27、return語言程序設(shè)計switch 實例1例3.25 從鍵盤上輸入年份和月份,求該月有多少天?分析:v一年12個月,1、3、5、7、8、10、12月每月31天;4、6、9、11月份每月30天v2月份閏年是29天,非閏年是28天v判斷閏年的標(biāo)準(zhǔn)v能被4整除不能被100整除的年份或者能被400整除的年份v(year%4=0)&(year%100!=0)|(year%400=0)1.或!(year%4)&(year%100)|!(year%400)語言程序設(shè)計switch 實例2v例3.24:已知銀行整存整取存款不同期限的年利率分別為: 2.25% 期限1年 2.79% 期限2年年
28、息= 3.33% 期限3年 3.60% 期限5年 4.14% 期限8年 要求輸入本金和期限,求到時候能從銀行得到的利息與本金的合計。分析:總金額=本金*年利率*存期+本金語言程序設(shè)計3.5-7 循環(huán)語句和轉(zhuǎn)移語句3.5.1 while 循環(huán)語句3.5.2 dowhile循環(huán)語句3.5.3 for循環(huán)語句3.5.4 循環(huán)語句的嵌套3.6.2 break和continue語句語言程序設(shè)計1. while語句語法形式:(3) 特點(diǎn):(2) 執(zhí)行流程:while (表達(dá)式) 語句可以是一條語句, 也可以是復(fù)合語句表達(dá)式循環(huán)體假(0)真(非0)先判斷,后執(zhí)行;循環(huán)體被執(zhí)行的次數(shù)有可能為0次。next p
29、art語言程序設(shè)計 使用while語句編程實例1:計算整數(shù)1n的求和2. 用c語言實現(xiàn):#include int main() int sum,i,n; scanf(%d,&n); i=1; sum=0; while(i=n) sum=sum+i;i=i+1; printf(sum=%dn,sum); return 0;1. 算法:輸入ni=1sum=0i= nsum=sum+ii=i+1輸出sum開 始結(jié) 束真假語言程序設(shè)計 使用while語句編程實例2:計算n的階乘1. 算法:#include int main() int product,i,n; scanf(%d,&n)
30、; i=1; product=1; while (i=n) product=product*i;i=i+1; printf(product=%dn,product); return 0;2. 用c語言實現(xiàn):product=product*ii=i+1輸入ni=1product=1i= n輸出product開 始結(jié) 束真假return語言程序設(shè)計2. dowhile語句語法形式:(3) 特點(diǎn):(2) 執(zhí)行流程: do 語句 while (表達(dá)式);表達(dá)式循環(huán)體假(0)真(非0)先執(zhí)行循環(huán)體,再判斷;循環(huán)體至少被執(zhí)行1次。不可少!next part語言程序設(shè)計 使用dowhile語句編程實例1:
31、計算整數(shù)1n的求和2. 用c語言實現(xiàn):#include int main()int sum,i,n;scanf(%d,&n);i=1;sum=0;do sum=sum+i; i=i+1;while (i=n);printf(sum=%dn,sum); return 0;1. 算法:輸入ni=1sum=0i= nsum=sum+ii=i+1輸出sum開 始結(jié) 束真假語言程序設(shè)計 使用dowhile語句編程實例2: 計算n的階乘#include int main() int product,i,n; scanf(%d,&n); i=1; product=1; do product=
32、product*i;i=i+1; while (i=n); printf(product=%dn,product); return 0;2. 用c語言實現(xiàn):1. 算法:product=product*ii=i+1輸入ni=1product=1i= n輸出product開 始結(jié) 束真假return語言程序設(shè)計 比較1: while語句與dowhile語句(1) 從執(zhí)行過程看:(2) 從循環(huán)體執(zhí)行次數(shù)看: while語句: 先判斷表達(dá)式,后執(zhí)行循環(huán)體 dowhile語句: 先執(zhí)行循環(huán)體,后判斷表達(dá)式 while語句: 循環(huán)體執(zhí)行次數(shù)可能為0 dowhile語句: 循環(huán)體至少會被執(zhí)行1次(3) 同一
33、個問題既可以用while語句實現(xiàn),也可以用dowhile語句實現(xiàn) 注意:初始值和循環(huán)條件的設(shè)置!實例分析next part語言程序設(shè)計實例分析:計算i,i+1,i+2,100的和(i為自然數(shù),通過程序輸入)1. 用while語句實現(xiàn)2. 用dowhile語句實現(xiàn)#include int main()int i,sum;scanf(%d,&i);sum=0;while(i=100)sum=sum+i;i=i+1;printf(sum=%dn,sum); return 0;#include int main()int i,sum;scanf(%d,&i);sum=0;dosum=s
34、um+i;i=i+1;while(i=100);printf(sum=%dn,sum); return 0;return語言程序設(shè)計3. for語句語法形式:(3) 理解:(2) 執(zhí)行流程:for (表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句for (循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 語句表達(dá)式2語 句假真表達(dá)式1表達(dá)式3next part語言程序設(shè)計 使用for語句編程實例1: 計算整數(shù)1n的求和1. 算法:2. 用c語言實現(xiàn):#include int main()int i,sum,n;scanf(%d,&n);sum=0;for(i=1;i=n;i+) sum=sum+i;pr
35、intf(sum=%dn,sum); return 0;輸入nsum=0i=0i= nsum=sum+ii=i+1輸出sum開 始結(jié) 束真假語言程序設(shè)計 關(guān)于for語句形式靈活的實例說明:1. #include int main()int i,sum,n;scanf(%d,&n);sum=0;for(i=1;i=n;i+) sum=sum+i;printf(sum=%dn,sum); return 0;#include int main()int i,sum,n;scanf(%d,&n);sum=0; i=1;for(;i=n;i+) sum=sum+i;printf(sum=
36、%dn,sum); return 0;語言程序設(shè)計 關(guān)于for語句形式靈活的實例說明:2. #include int main()int i,sum,n;scanf(%d,&n);sum=0;for(i=1;i=n;i+) sum=sum+i;printf(sum=%dn,sum); return 0;#include int main()int i,sum,n;scanf(%d,&n);sum=0; for(i=1;i=n;) sum=sum+i; i=i+1; printf(sum=%dn,sum); return 0;語言程序設(shè)計 關(guān)于for語句形式靈活的實例說明:3.
37、#include int main()int i,sum,n;scanf(%d,&n);sum=0;for(i=1;i=n;i+) sum=sum+i;printf(sum=%dn,sum); return 0;#include int main()int i,sum,n;scanf(%d,&n);for(sum=0,i=1;i=n;i+) sum=sum+i;printf(sum=%dn,sum); return 0;return語言程序設(shè)計 比較2: while語句、dowhile語句、for語句while (表達(dá)式) 語句 do 語句 while (表達(dá)式);for (循
38、環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 語句next part語言程序設(shè)計4. 循環(huán)的嵌套while (表達(dá)式) 語句 do 語句 while (表達(dá)式);for (循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 語句語句內(nèi)又包含有循環(huán)結(jié)構(gòu)(1) 什么是循環(huán)的嵌套?(2) 循環(huán)的嵌套的表現(xiàn)形式:next part語言程序設(shè)計 while() while() .do do while( ); .while( );while() do while( ); .for( ; ;) do while(); while() .(3) 有關(guān)循環(huán)的嵌套的說明: 三種循環(huán)可相互嵌套,層數(shù)不限 注意嵌套循環(huán)的執(zhí)行流程實
39、例語言程序設(shè)計 循環(huán)嵌套編程實例: 計算1!+2!+10!#include int main()int i,j,i_product,sum;sum=0;for(i=1;i=10;i+)i_product=1;for(j=1;j=i;j+)i_product=i_product*j;sum=sum+i_product;printf(1!+2!+.+10!=%dn,sum); return 0;return語言程序設(shè)計5. break語句和continue語句next part(1) break語句(2) continue語句 功能: 功能: 使用場合: 使用場合: 在循環(huán)語句中: 結(jié)束當(dāng)層整個循
40、環(huán)體 在switch語句中: 終止switch語句的執(zhí)行只能用在循環(huán)語句或switch語句中只能用在循環(huán)語句中結(jié)束本次循環(huán) 語言程序設(shè)計(3) 注意事項: 在循環(huán)語句中: break語句用于結(jié)束整個循環(huán)體 continue語句用于結(jié)束本次循環(huán) 在嵌套循環(huán)結(jié)構(gòu)中: break語句和continue語句功能都 是對該語句所在的循環(huán)結(jié)構(gòu)而言。實例分析返回本節(jié)語言程序設(shè)計 break語句使用實例: 計算1+2+3+,直到和超過100即停止相加#include int main() int i,sum; sum=0; for(i=1;i+) sum=sum+i;if(sum100)break; printf(i= %d,sum= %dn,i,sum); printf(i= %d,sum= %dn,i-1,sum-i); return 0;運(yùn)行結(jié)果:語言程序設(shè)計 continue語句使用實例: 計算1100之間非3的倍數(shù)的所有奇數(shù)之和#include int main()int i,sum;sum=0;for(i=1;i=3)1534233185537721389610321144987如:語言程序設(shè)計求解本題的算法:求Fibonacci數(shù)列前40個數(shù)(教材P125)f1=1,f2=1for i=1 to 2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制定作業(yè)許可管理制度
- 外匯國外平臺管理制度
- 外來單位安全管理制度
- 巡檢計劃實施管理制度
- 工廠供電安全管理制度
- 國學(xué)書法教室管理制度
- 北京醫(yī)保制度管理制度
- 臺州工地?fù)P塵管理制度
- 行政組織理論與績效管理的結(jié)合試題及答案
- 公司來客招待管理制度
- 赤峰旅游景點(diǎn)介紹
- (醫(yī)療質(zhì)量及標(biāo)準(zhǔn))JCI美國醫(yī)療機(jī)構(gòu)評審國際聯(lián)合委員會醫(yī)院評審標(biāo)準(zhǔn)第三版
- 東南大學(xué)生物醫(yī)學(xué)工程細(xì)分專業(yè)導(dǎo)師介紹及聯(lián)系方式
- 安全用藥的基本知識有哪些
- GB/T 8923.3-2009涂覆涂料前鋼材表面處理表面清潔度的目視評定第3部分:焊縫、邊緣和其他區(qū)域的表面缺陷的處理等級
- GB/T 3836.31-2021爆炸性環(huán)境第31部分:由防粉塵點(diǎn)燃外殼“t”保護(hù)的設(shè)備
- GB/T 26424-2010森林資源規(guī)劃設(shè)計調(diào)查技術(shù)規(guī)程
- GB/T 17889.1-2012梯子第1部分:術(shù)語、型式和功能尺寸
- 文言文專題復(fù)習(xí) 課件(共26張ppt) 中考語文一輪復(fù)習(xí)
- 光伏發(fā)電項目投標(biāo)書
- 振動分析診斷報告課件
評論
0/150
提交評論