资源描述:
《循环结构for语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C程序设计ProgramminginC上次课的内容提要pA成立不成立ab循环结构1(while)pAab循环结构2(until)while语句的循环体执行0次或多次while(表达式p)循环体语句A;do-while语句的循环体执行1次或多次do循环体语句A;while(表达式p);分析问题,在求解过程中:存在一个(些)运算(动作)需要重复进行(循环)若干次。重复的次数是事先确定的,或者是根据条件确定的。处理循环计算需要明确的三个问题:循环体:哪些运算(动作)是需要重复进行的;循环条件:重复这些运算的条件是什么,即在什么情况下终止/继续这个重复的过程。循环准备:在进行重复的运算处
2、理之前,需要进行的准备工作是什么;循环结构程序的编写要点这次课的主要内容for语句break语句continue语句循环嵌套for语句的格式和含义for语句的基本格式:for(表达式1;表达式2;表达式3)循环体语句Afor语句的含义:1)计算表达式1;2)计算表达式2,若表达式2的值为“假”,则结束for语句的执行,转4);否则,执行循环体语句A;3)计算表达式3,然后转2);4)执行for语句之后的第一条语句;表达式2?A真假表达式1表达式3for语句:1+2+...+100#includemain(){inti,s;printf("%d",s);}TC
3、2.0BYNI←1S←0I<=100?S←S+I输出S的值开始结束I←I+1ACfor(i=1,s=0;i<=100;i++){s+=i;}for语句中的表达式for语句的基本格式:for(表达式1;表达式2;表达式3)循环体语句A一般情况下表达式1进行循环计算的初始化处理表达式2是循环的条件表达式3进行的计算能够对表达式2的值产生影响表达式2?A真假表达式1表达式3求最大公约数程序(for)#includemain(){intm,n,r;printf("inputtwointegers:");scanf("%d%d",&m,&n);printf("gcd=
4、%d",n);}TC2.0YNr不等于0?输出n的值输入正整数m和n开始结束m←n;n←rr←m被n除的余数r←m被n除的余数for(r=m%n;r!=0;r=m%n){m=n;n=r;}for语句与while语句的等价关系for语句的基本格式:for(表达式1;表达式2;表达式3)循环体语句A表达式2?A真假表达式1表达式3表达式1;while(表达式2){循环体语句A;表达式3;}YNK←2K不能整除n?K←K+1输出n是素数输入n的值开始结束YNK等于n?输出n不是素数判断素数算法及程序#includemain(){intk,n;printf("inp
5、utaninteger:");scanf("%d",&n);k=2;while(n%k!=0){k++;}if(k==n)printf("%disaprime.",n);elseprintf("%disnotaprime.",n);}TC2.0#includemain(){intk,n;printf("inputaninteger:");scanf("%d",&n);if(k==n)printf("%disaprime.",n);elseprintf("%disnotaprime.",n);}for(k=2;n%k!=0;k++);for语句小结
6、表达式1可放置在for语句之前for(表达式1;表达式2;表达式3)循环体语句A表达式1;for(;表达式2;表达式3)循环体语句A表达式3可放置在for语句的循环体中for(表达式1;表达式2;){循环体语句A;表达式3;}for语句中的表达式可以是C语言允许的任何表达式for语句小结(续)进一步,表达式2可以没有,表示无休止地循环for(表达式1;;表达式3)循环体语句A三个表达式都省略for(;;)循环体语句AAA表达式1表达式3break语句break语句的作用在switch语句中使用grade=score/10;/*百分制成绩score转换为等级分制*/switch(g
7、rade){case10:case9:printf("grade=A");break;case8:printf("grade=B");break;case7:printf("grade=C");break;case6:printf("grade=D");break;case5:case4:case3:case2:case1:case0:printf("grade=E");break;default:printf("Invaliddata!");}break