




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第5章2主要內(nèi)容5.1 C5.1 C語言語句類型語言語句類型5.2 5.2 程序的三種基本結(jié)構(gòu)程序的三種基本結(jié)構(gòu)5.3 if5.3 if語句語句5.4 switch5.4 switch語句語句5.5 while5.5 while語句語句 5.6 do-while5.6 do-while語句語句5.7 for5.7 for語句語句5.8 5.8 循環(huán)嵌套循環(huán)嵌套5.9 break5.9 break語句和語句和 continue continue語句語句35.1 C語言語句類型C C語句概述語句概述vC C語句語句:以以“;”作分隔符作分隔符,編譯后產(chǎn)生機器指令。編譯后產(chǎn)生機器指令。C C語句分類
2、語句分類v程序控制語句程序控制語句(9種):控制語句用于控制程序的種):控制語句用于控制程序的流程,流程, 以實現(xiàn)程序的各種結(jié)構(gòu)方式。以實現(xiàn)程序的各種結(jié)構(gòu)方式。if( )else switchfor( )while( )dowhile( )continuebreakgotoreturn分支循環(huán)輔助控制45.1 C語言語句類型C C語句分類語句分類v函數(shù)調(diào)用語句函數(shù)調(diào)用語句:由一次函數(shù)調(diào)用加一個分號構(gòu):由一次函數(shù)調(diào)用加一個分號構(gòu)成。成。v表達式語句表達式語句:表達式加分號構(gòu)成。:表達式加分號構(gòu)成。表達式和表達式語句的區(qū)別表達式和表達式語句的區(qū)別v空語句空語句:只有分號:只有分號“;”組成的語句稱
3、為空語組成的語句稱為空語句??照Z句是什么也不執(zhí)行的語句。句??照Z句是什么也不執(zhí)行的語句。例例 total=total+limit; total=total+limit; a=3; a=3; 例例 func( ); func( ); printf(“Hello,world!n”);printf(“Hello,world!n”);55.1 C語言語句類型C C語句分類語句分類v復合語句復合語句:用:用 括起來的一組語句。括起來的一組語句。v說明說明:l復合語句內(nèi)的各條語句都必須以分號復合語句內(nèi)的各條語句都必須以分號“;”結(jié)結(jié)尾,尾, “”后不加分號。后不加分號。l復合語句可嵌套。復合語句可嵌套。l
4、復合語句在語法上作為一條單語句使用。復合語句在語法上作為一條單語句使用。 z=x+y;z=x+y;t=z/100;t=z/100; printf(“%f”,t); printf(“%f”,t); 65.2 程序的三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)v順序結(jié)構(gòu)順序結(jié)構(gòu)AB流程圖流程圖75.2 程序的三種基本結(jié)構(gòu)例例 #include void main() int x,y,z; printf(“請輸入請輸入x的值:的值:”); scanf(“%d”,&x); printf(“請輸入請輸入y的值:的值:”); scanf(“%d”,&y); z=x+y; printf(“x、y之和為:之和為:%d
5、”,z); 85.2 程序的三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)v選擇結(jié)構(gòu)選擇結(jié)構(gòu)l二分支選擇結(jié)構(gòu)二分支選擇結(jié)構(gòu)vC語言提供選擇結(jié)構(gòu)的控制語句包括:語言提供選擇結(jié)構(gòu)的控制語句包括:if、switchPAB真真假假95.2 程序的三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)v循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)l當型循環(huán)結(jié)構(gòu)當型循環(huán)結(jié)構(gòu)PA假假真真105.2 程序的三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)三種基本結(jié)構(gòu)v循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)l直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)lC語言提供了三種循環(huán)控制語句:語言提供了三種循環(huán)控制語句:while、do-while、forAP假假真真115.3 if語句IfIf語句(條件語句)語句(條件語句)vIfIf
6、語句的三種形式語句的三種形式l形式一:形式一:u格式:格式:if (表達式表達式) 語句語句u執(zhí)行過程:執(zhí)行過程:表達式表達式語句語句非非0=0125.3 if語句如果如果if的內(nèi)嵌語句有多于一條語句要執(zhí)行時,必須的內(nèi)嵌語句有多于一條語句要執(zhí)行時,必須使用使用和和把這些語句包括在其中,形成復合語把這些語句包括在其中,形成復合語句,使其在語法上成為一條單語句,此時條件語句句,使其在語法上成為一條單語句,此時條件語句形式為:形式為:if (表達式表達式) 語句語句1; 語句語句n;13例例5-1 輸入一個學生的兩門課程考試成績,如果兩門課程輸入一個學生的兩門課程考試成績,如果兩門課程成績均在成績均
7、在90分以上,則顯示分以上,則顯示“優(yōu)秀優(yōu)秀”。#include void main() float x1,x2; printf(“請輸入兩門課程的考試成績:請輸入兩門課程的考試成績:”); scanf(“%f%f”,&x1,&x2); if (x190&x290) printf(“優(yōu)秀優(yōu)秀n”);運行結(jié)果運行結(jié)果:請輸入兩門課程的考試成績:請輸入兩門課程的考試成績:輸入:輸入:98.7 9698.7 96輸出:優(yōu)秀輸出:優(yōu)秀請輸入兩門課程的考試成績:請輸入兩門課程的考試成績:輸入:輸入:80 7080 70輸出:無內(nèi)容顯示輸出:無內(nèi)容顯示 145.3 if語句l形式二:形式二:u格式:格式:
8、if (表達式表達式) 語句語句1 else 語句語句2u執(zhí)行過程:執(zhí)行過程:表達式表達式語句語句1語句語句2非非0=015例例5-2 輸入一個英文字母,判斷是否為大寫字母,若是,輸入一個英文字母,判斷是否為大寫字母,若是,則轉(zhuǎn)換成小寫字母輸出,否則不轉(zhuǎn)換直接輸出。則轉(zhuǎn)換成小寫字母輸出,否則不轉(zhuǎn)換直接輸出。#include void main() char ch; printf(請輸入一個英文字母:請輸入一個英文字母:); scanf(%c,&ch); if(ch=A&ch=Z)ch=ch+32; elsech=ch; printf(%cn,ch);運行結(jié)果運行結(jié)果:請輸入一個英文字母:請輸入
9、一個英文字母:輸入:輸入:B B輸出:輸出:b b請輸入一個英文字母:請輸入一個英文字母:輸入:輸入:b b輸出:輸出:b b16例例5-3 輸入三個整數(shù),將其中最大的整數(shù)顯示輸出。輸入三個整數(shù),將其中最大的整數(shù)顯示輸出。#include void main() int a,b,c,max; printf(輸入三個整數(shù):輸入三個整數(shù):); scanf(%d%d%d,&a,&b,&c); if(ab) max=a; else max=b; if(cmax) max=c; printf(三個數(shù)中最大的值為:三個數(shù)中最大的值為:%dn,max);運行結(jié)果運行結(jié)果:輸入三個整數(shù):輸入三個整數(shù):輸入:輸
10、入:3 5 103 5 10輸出:三個數(shù)中最大的值為:輸出:三個數(shù)中最大的值為:1010175.3 if語句l形式三:形式三:u格式:格式:u執(zhí)行過程:執(zhí)行過程:if ( 表達式表達式1 ) 語句語句1else if (表達式表達式2 ) 語句語句2else if (表達式表達式3 ) 語句語句3. else 語句語句n+1 expr1statemnt1非非0=0expr2expr3statemntnstatemnt3statemnt2非非0非非0=0=018例例5-4 求解下面的分段函數(shù)并顯示結(jié)果。求解下面的分段函數(shù)并顯示結(jié)果。#include void main()int x,y; pri
11、ntf(請輸入請輸入x的值:的值:); scanf(%d,&x); if(x10) y=2*x; else if(x=0) y=x+1; elsey=x-10;printf(y=%d,y);運行結(jié)果運行結(jié)果:請輸入請輸入x x的值:的值:輸入:輸入:5 5輸出:輸出:y=6y=6請輸入請輸入x x的值:的值:輸入:輸入:1111輸出:輸出:y=22y=22請輸入請輸入x x的值:的值:輸入:輸入:-1-1輸出:輸出:y=-11y=-1119例例5-5 輸入某人的身高和體重,根據(jù)下面的計算公式判斷輸入某人的身高和體重,根據(jù)下面的計算公式判斷此人的體重是標準、過胖還是過瘦。此人的體重是標準、過胖還
12、是過瘦。 (1)標準體重)標準體重=(身高(身高-110)公斤;)公斤;(2)超過標準體重)超過標準體重5公斤為過胖;公斤為過胖;(3)低于標準體重)低于標準體重5公斤為過瘦。公斤為過瘦。20#include void main() float h,w,bw; printf(請輸入某人的身高和體重(公斤):請輸入某人的身高和體重(公斤):); scanf(%f%f,&h,&w); bw=h-110; if(w-bw5) printf(過胖過胖n); else if(bw-w5) printf(過瘦過瘦n); else printf(標準標準n);運行結(jié)果運行結(jié)果:請輸入某人的身高和體重(公請輸
13、入某人的身高和體重(公斤):斤):輸入:輸入:160 52160 52輸出:標準輸出:標準請輸入某人的身高和體重(公請輸入某人的身高和體重(公斤):斤):輸入:輸入:160 70160 70輸出:過胖輸出:過胖請輸入某人的身高和體重(公請輸入某人的身高和體重(公斤):斤):輸入:輸入:160 40160 40輸出:過瘦輸出:過瘦215.3 if語句l說明:說明:uif后面的表達式類型任意后面的表達式類型任意,但是我們把它看但是我們把它看作是邏輯型的值作是邏輯型的值,一般為邏輯表達式或關系一般為邏輯表達式或關系表達式表達式uIf語句可以單獨使用(如格式語句可以單獨使用(如格式1),而),而els
14、e語句不能單獨使用,必須與語句不能單獨使用,必須與if配對使用。配對使用。u語句可以是復合語句語句可以是復合語句225.3 if語句ifif語句的嵌套語句的嵌套(在實際編程時,應適當控制嵌套層在實際編程時,應適當控制嵌套層數(shù)數(shù)(2-3層層)v一般形式一般形式 if (expr1) if語句語句else if語句語句 235.3 if語句例:例: if (a=b) if (a=c) printf (“max=%d”,a);245.3 if語句ifif語句的嵌套語句的嵌套vifif else else 配對原則:配對原則:缺省缺省 時,時,else總是和總是和它上面離它最近的未配對的它上面離它最近
15、的未配對的if配對配對25例例5-6 5-6 輸入三個數(shù)輸入三個數(shù)x,y,z,x,y,z,然后按從大到小輸出然后按從大到小輸出對于三個數(shù)據(jù)進行如下判斷:對于三個數(shù)據(jù)進行如下判斷:如果如果xy&xzxy&xz,說明,說明x x最大,應該首先輸出,然最大,應該首先輸出,然后判斷,如果后判斷,如果yzyz,則接下來應該先輸出,則接下來應該先輸出y y然后輸然后輸出出z z,否則接下來應該先輸出,否則接下來應該先輸出z z后輸出后輸出y y。如果如果yx&yzyx&yz,說明,說明y y最大,應該首先輸出,然最大,應該首先輸出,然后判斷,如果后判斷,如果xzxz,則接下來應該先輸出,則接下來應該先輸出
16、x x然后輸然后輸出出z z,否則接下來應該先輸出,否則接下來應該先輸出z z后輸出后輸出x x。如果以上兩種情況都不是,則說明如果以上兩種情況都不是,則說明z z最大,應該首最大,應該首先輸出先輸出z z的值,然后判斷,如果的值,然后判斷,如果xyxy,則接下,則接下來來應應該按照先該按照先x x后后y y的順序輸出,否則應該按照先的順序輸出,否則應該按照先y y后后x x的順序輸出。的順序輸出。26例例5-6 5-6 輸入三個數(shù)輸入三個數(shù)x,y,z,x,y,z,然后按從大到小輸出然后按從大到小輸出#include void main()float x,y,z;printf(請輸入三個數(shù)字:
17、請輸入三個數(shù)字:);scanf(%f%f%f,&x,&y,&z);printf(三數(shù)從大到小為:三數(shù)從大到小為:”);if(x=y&x=z)printf(%ft,x);if(y=z)printf(%ft%fn,y,z);else printf(%ft%fn,z,y);27else if(y=x&y=z)printf(%ft,y);if(x=z)printf(%ft%fn,x,z);elseprintf(%ft%fn,z,x);elseprintf(%ft,z);if(x=y)printf(%ft%fn,x,y);elseprintf(%ft%fn,y,x);28例例5-6 5-6 輸入三個數(shù)輸
18、入三個數(shù)x,y,z,x,y,z,然后按從大到小輸出然后按從大到小輸出聲明三個變量聲明三個變量x x、y y、z z用于存放輸入的數(shù)據(jù)。用于存放輸入的數(shù)據(jù)。然后作如下判斷:然后作如下判斷: if xy if xy 將將x x和和y y對換對換 if xz if xz 將將x x和和z z對換對換 if yz if yz 將將y y和和z z對換對換29例例5-6 5-6 輸入三個數(shù)輸入三個數(shù)x,y,z,x,y,z,然后按從大到小輸出然后按從大到小輸出#include void main()float x,y,z,t;printf(請輸入三個數(shù)字:請輸入三個數(shù)字:);scanf(%f%f%f,&x
19、,&y,&z);if(xy) t=x;x=y;y=t; if(xz) t=x;x=z;z=t; if(yb) printf(“%d”,a); else printf(“%d”,b);printf(“%d”,ab?a:b);31條件運算符和條件表達式條件運算符和條件表達式v條件運算符可嵌套條件運算符可嵌套5.3 if語句例例 a=x0?1:(xb?a:cd?c:d ab?a:((cd)?c:d);/結(jié)果條件表達式的值為結(jié)果條件表達式的值為4 433v一般形式:一般形式:v執(zhí)行過程:執(zhí)行過程:5.4 switch語句switch( 表達式表達式) case E1: 語句組語句組 1; break;
20、 case E2: 語句組語句組 2; break; . case En: 語句組語句組 n; break; default: 語句組語句組n+1 ; break; (1 1)當)當switchswitch后面后面“表達式表達式”的的值,與某個值,與某個casecase后面的后面的“常量表達常量表達式式”的值相同時,就執(zhí)行該的值相同時,就執(zhí)行該casecase后后面的語句(組);當執(zhí)行到面的語句(組);當執(zhí)行到breakbreak語句時,跳出語句時,跳出switchswitch語句,轉(zhuǎn)向執(zhí)語句,轉(zhuǎn)向執(zhí)行行switchswitch語句的下一條。語句的下一條。 (2 2)如)如果沒有任何一個果沒有
21、任何一個casecase后面的后面的“常量常量表達式表達式”的值,與的值,與“表達式表達式”的值的值匹配,則執(zhí)行匹配,則執(zhí)行default default 后面的語句后面的語句(組)。然后,再執(zhí)行(組)。然后,再執(zhí)行switchswitch語句語句的下一條。的下一條。34例例switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 比較下面兩個程序運行
22、結(jié)果運行結(jié)果:score為為5 5時,輸出:時,輸出: Very good! Good! Pass! Fail! data error!35例例switch(score) case 5: printf(“Very good!”);break; case 4: printf(“Good!”); break; case 3: printf(“Pass!”); break; case 2: printf(“Fail!”); break; default : printf(“data error!”); 比較下面兩個程序運行結(jié)果運行結(jié)果:score為為5 5時,輸出:時,輸出: Very good!
23、36v說明:說明:l多個多個case可共用一組執(zhí)行語句,可共用一組執(zhí)行語句,case后面可以后面可以沒有語句沒有語句l各各case及及default子句的先后次序,不影響程序子句的先后次序,不影響程序執(zhí)行結(jié)果執(zhí)行結(jié)果5.4 switch語句例例 case A: case B: case C: printf(“score60n”); break; .例例 switch(score) case 5: printf(“Very good!”);break; case 4: printf(“Good!”); break; case 3: printf(“Pass!”); break; case 2:
24、printf(“Fail!”); break; default : printf(“data error!”); 教材例教材例5-7375.5 while語句C C語言可以實現(xiàn)的循環(huán)語言可以實現(xiàn)的循環(huán)vwhile 語句語句vdo while 語句語句vfor 語句語句 385.5 while語句WhileWhile語句(當型循環(huán)控制語句)語句(當型循環(huán)控制語句)v一般形式一般形式v執(zhí)行流程執(zhí)行流程while(表達式表達式) 循環(huán)體語句;循環(huán)體語句;expr循環(huán)體循環(huán)體假假(0)真真(非非0)while先判斷表先判斷表達式,后達式,后執(zhí)行循環(huán)執(zhí)行循環(huán)體體395.5 while語句#include
25、 void main() int i=1,num=0; while(i=10) num=num+i; i=i+1; printf(%d,num); 程序?qū)崿F(xiàn)的功能:程序?qū)崿F(xiàn)的功能:求解求解110十個整數(shù)之和十個整數(shù)之和40例例5-8讀入字符并顯示,直到讀入讀入字符并顯示,直到讀入$字符為止(字符為止($不顯不顯示)示)#include void main()char ch; printf(請輸入一系列字符,以請輸入一系列字符,以$符號結(jié)束:符號結(jié)束:); scanf(%c,&ch); while(ch!=$) printf(%c,ch); scanf(%c,&ch); getchar()get
26、char()函數(shù)可以將代碼簡化函數(shù)可以將代碼簡化:#include void main() char ch;printf(請輸入一系列字符,請輸入一系列字符,以以$ $符號結(jié)束:符號結(jié)束:););while(ch=getchar()!=$)printf(%c,ch);運行結(jié)果運行結(jié)果:請輸入一系列字符,以請輸入一系列字符,以$ $符號結(jié)束:符號結(jié)束: 輸入:輸入:Hello$Hello$ 輸出:輸出:HelloHello! 415.6 dowhile語句DoDo whilewhile語句語句( (直到型循環(huán)語句)直到型循環(huán)語句)v一般形式一般形式v執(zhí)行流程執(zhí)行流程do 循環(huán)體語句;循環(huán)體語句;
27、 while(表達式表達式); 先執(zhí)行循先執(zhí)行循環(huán)體,后環(huán)體,后判斷表達判斷表達式式do循環(huán)體循環(huán)體expr假假(0)真真(非非0)while42例例 while while和和do-whiledo-while循環(huán)的比較循環(huán)的比較(1) #include (2) #include void main ( ) void main( ) int sum=0,i; int sum=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=%dn ,su
28、m); printf(sum=%dn,sum); 運行結(jié)果:運行結(jié)果:11 sum=55 sum=55 再運行一次:再運行一次: 1111sum=0sum=0運行結(jié)果:運行結(jié)果:11 sum=55 sum=55 再運行一次:再運行一次: 1111sum=11sum=1143例例5-9 計算計算 #include#includevoid main()double sinx,s,x;int n;printf(請輸入請輸入x(弧度)的值(弧度)的值:);scanf(%lf,&x);s=x;n=1;sinx=x;don=n+2;s=s*(-x*x)/(float)(n)-1)/(float)(n);s
29、inx=sinx+s;while(fabs(s)=1e-7);printf(sin(%f)=%lfn,x,sinx);運行結(jié)果運行結(jié)果:請輸入請輸入x x(弧度)的值(弧度)的值: : 輸入:輸入:1.5707961.570796 輸出:輸出:sin(1.570796)=1.000000sin(1.570796)=1.000000! 445.7 for語句forfor語句語句v一般形式:一般形式:v執(zhí)行流程:執(zhí)行流程:for(expr1 ; expr2 ; expr3) 循環(huán)體語句;循環(huán)體語句;expr2循環(huán)體循環(huán)體假假(0)真真(非非0)forexpr1expr345vforfor語句的各種
30、形式:語句的各種形式:例:例:#include void main( ) int i; for(i=0;i10;i+) putchar(a+i); 運行結(jié)果運行結(jié)果: abcdefghij abcdefghij46vForFor語句的各種形式:語句的各種形式:例:例:#include void main( ) int i=0; for(;i10;i+) putchar(a+i); 省略了省略了“表達式表達式1 1(循環(huán)變量賦初(循環(huán)變量賦初值)值)”, ,執(zhí)行時,跳過執(zhí)行時,跳過“求解表達式求解表達式1 1”這這一步,其他不變。一步,其他不變。 此時應在此時應在forfor語句之前給循環(huán)變量賦
31、初值。語句之前給循環(huán)變量賦初值。注意省略表達式注意省略表達式1 1時,其后的分號不能省略。時,其后的分號不能省略。47vForFor語句的各種形式:語句的各種形式:例:例:for(i=1; ;i+) sum=sum+i; 如果表達式如果表達式2 2省略,即不判斷循環(huán)省略,即不判斷循環(huán)條件,循環(huán)無終止地進行下去。也就條件,循環(huán)無終止地進行下去。也就是認為表達式是認為表達式2 2始終為真。始終為真。相當于:相當于:i=1; while(1) sum=sum+1;i+;48vForFor語句的各種形式:語句的各種形式:例:例:for(i=1;i=100;) sum=sum+i;i+; 表達式表達式3
32、 3也可以省略也可以省略,但此時程序設,但此時程序設計者應另外設法保證循環(huán)能正常結(jié)束。計者應另外設法保證循環(huán)能正常結(jié)束。 在上面的在上面的forfor語句中,語句中,i+i+的操作不放在的操作不放在forfor語句的表達式語句的表達式3 3的位置處,而作為循的位置處,而作為循環(huán)體的一部分,效果是一樣的,都能使環(huán)體的一部分,效果是一樣的,都能使循環(huán)正常結(jié)束。循環(huán)正常結(jié)束。49vForFor語句的各種形式:語句的各種形式:l可以省略表達式可以省略表達式1 1和表達式和表達式3 3,只有表達式,只有表達式2 2,即只給,即只給循環(huán)條件。如:循環(huán)條件。如:for(;i=100;) while(i=10
33、0)sum=sum+i; 相當于相當于 sum=sum+i; i+; i+; 在這種情況下,完全等同于在這種情況下,完全等同于whilewhile語句??梢娬Z句??梢奻orfor語句語句比比whilewhile語句功能強,除了可以給出循環(huán)條件外,還語句功能強,除了可以給出循環(huán)條件外,還可以賦初值,使循環(huán)變量自動增值等??梢再x初值,使循環(huán)變量自動增值等。l3 3個表達式都可省略,如無限循環(huán):個表達式都可省略,如無限循環(huán):for(;) 50vForFor語句的各種形式:語句的各種形式:例:例:for(sum=0;i=100;i+)sum=sum+i;表達式表達式1 1可以是設置循環(huán)變量的初值的賦值
34、可以是設置循環(huán)變量的初值的賦值表達式,也可以是其他表達式。表達式表達式,也可以是其他表達式。表達式3 3也可也可以是與循環(huán)控制無關的任意表達式。以是與循環(huán)控制無關的任意表達式。例:例:for(;i10;putchar(a+i)) i+;51vForFor語句的各種形式:語句的各種形式:l表達式表達式1 1和表達式和表達式3 3可以是一個簡單表達式也可以是一個簡單表達式也可以是逗號表達式??梢允嵌禾柋磉_式。例:例:#includevoid main() int i,j,k; for(i=0,j=100;i=j;i+,j-) k=i+j; printf(%d+%d=%dn,i,j,k); 52vF
35、orFor語句的各種形式:語句的各種形式:例:例:for(i=1;i=100;i+,i+)sum=sum+i;相當于:相當于:for(i=1;i=100;i=i+2) sum=sum+i;53vForFor語句的各種形式:語句的各種形式:l表達式表達式2 2一般是關系表達式一般是關系表達式( (如如i=100)i=100)或邏輯或邏輯表達式表達式( (如如ab & xy)ab & xy),但也可以是數(shù)值表達,但也可以是數(shù)值表達式或字符表達式,只要其值為非零,就執(zhí)行循式或字符表達式,只要其值為非零,就執(zhí)行循環(huán)體。環(huán)體。例:例:#include void main( ) int i=0;char
36、c; for(i=0;(c=getchar()!=n;i+=c); ; 本程序的作用是不斷輸入字符,將它們的本程序的作用是不斷輸入字符,將它們的ASCII碼相加,直到輸入一個碼相加,直到輸入一個“換行換行”符為止。符為止。54vForFor語句的各種形式:語句的各種形式:例:例:for( ;(c=getchar()!=n;) printf(%c,c);其作用是每讀入一個字其作用是每讀入一個字符后立即輸出該字符,直到符后立即輸出該字符,直到輸入一個輸入一個“換行換行”為止。請為止。請注意,從終端鍵盤向計算機注意,從終端鍵盤向計算機輸入時,是在按輸入時,是在按EnterEnter鍵以鍵以后才將一批
37、數(shù)據(jù)一起送到內(nèi)后才將一批數(shù)據(jù)一起送到內(nèi)存緩沖區(qū)中去的。存緩沖區(qū)中去的。運行情況:運行情況:Computer (輸入輸入)Computer (輸出輸出)而不是而不是Ccoommppuutteerr55例例5-10 輸入一個正整數(shù),求出它的所有因子并顯示輸入一個正整數(shù),求出它的所有因子并顯示#include void main()int n, k;printf(輸入一個正整數(shù)輸入一個正整數(shù):);scanf(%d,&n);printf(正整數(shù)正整數(shù)%d的因子有的因子有:,n);for (k=1; k = n; k+)if (n % k = 0)printf(%d ,k);printf(n);運行情況
38、:運行情況:輸入一個正整數(shù)輸入一個正整數(shù): :輸入:輸入:8 8輸出:輸出:1 2 4 81 2 4 856例例5-11 計算自然數(shù)計算自然數(shù)1到到n的平方和的平方和#includevoid main()int i,n,s;printf(請輸入一個整數(shù)請輸入一個整數(shù)n:);scanf(%d,&n);s=0;for(i=1;i=n;i+)s=s+i*i;printf(1*1+2*2+.+%d*%d=%dn,n,n,s);運行情況:運行情況:請輸入一個整數(shù)請輸入一個整數(shù)n:n:輸入:輸入:5 5輸出:輸出:1 1* *1+21+2* *2+.+52+.+5* *5=555=55575.8 循環(huán)的嵌套三種循環(huán)可互相嵌套三種循環(huán)可互相嵌套, ,層數(shù)不限層數(shù)不限嵌套循環(huán)的執(zhí)行流程嵌套循環(huán)的執(zhí)行流程(1) while() while() . (2) do do while( ); . while( );(3) while() do while( ); . 58例例5-12 編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)業(yè)土地使用權流轉(zhuǎn)償債合同范例
- 2025年企業(yè)財務策劃服務合同
- 2025年合作策劃餐飲企業(yè)聯(lián)合經(jīng)營合同范本
- 2025年四川省醫(yī)療機構(gòu)醫(yī)療物資集中采購策劃合同
- 2025年農(nóng)村居民購房合同協(xié)議策劃模板
- 2025年住宅小區(qū)防煙排煙系統(tǒng)安裝合同書
- 官方制定簡易勞動合同樣本(2025年)
- 2025年海域使用權合同海景租賃項目
- 2025年個人貨車運輸租借合同
- 2025年臨時場地搭建及拆除服務合同
- 【杜邦分析法下鹽津鋪子公司(2018-2022)盈利能力分析10000字(論文)】
- 《飯店服務與管理》認識飯店的“神經(jīng)中樞”
- GB/T 15856.5-2023六角凸緣自鉆自攻螺釘
- 電子產(chǎn)品質(zhì)量工程技術與管理高職PPT全套完整教學課件
- 【橡膠工藝】-橡膠履帶規(guī)格
- 小學勞動技術云教三年級下冊植物栽培種植小蔥(省一等獎)
- 2020年環(huán)境法律法規(guī)及其它要求清單
- 綜采工作面主要設備選型設計方案
- 籍貫對照表完整版
- GB/T 7251.3-2017低壓成套開關設備和控制設備第3部分:由一般人員操作的配電板(DBO)
- GB/T 22576.7-2021醫(yī)學實驗室質(zhì)量和能力的要求第7部分:輸血醫(yī)學領域的要求
評論
0/150
提交評論