1、循环语句,重点: 1. 循环的概念及基本构成 2. 几种不同循环语句的格式及执行过程 3. 循环程序设计的思维方式及方法 4. 一些常见问题解决的算法经验难点: 1. 循环的基本构成 2. 几种不同循环语句的格式及执行过程 3. 循环体中break,continue的使用,循环概念,引例:编程实现求键盘所输入20个整数的总和. s=0;输入x , 与s累加,计数已经加了几个,若超过20个结束。输入x , 与s累加,计数已经加了几个,若超过20个结束.20.输入x , 与s累加,计数已经加了几个,若超过20个结束输出s的值,循环构成,循环分类,循环: 程序设计过程中,当程序段需要连续重复执行时,
2、可用循环语句实现。,循环概念,循环构成,循环分类,初始化部分,循环执行的条件,循环体:重复执行部分包括控制部分即i=i+1,后继部分,循环概念,循环构成,循环分类,表达式,循环体,初始化部分,后继部分,真,真,假,假,Loops-while,1)Construction while (expression) statement2)Execution The expression is evaluated. If it is non-zero,statement is executed and expression is re-evaluated. This cycle continues un
3、til expression becomes zero, at which point execution resumes after statement. It tests the termination condition at the top.if false the statement would not execute and resumes after statement directly.,While,Do-while,Loops-do-while,1)Construction do statement while (expression) ; 2)Execution The s
4、tatement is executed, then expression is evaluated. If it is true, statement is evaluated again,and so on. When the expression becomes false, the loop terminates. It tests at the bottom after making each pass through the loop body;the body is always executed at least once.,While,Do-while,注意,两种循环语句都是
5、当循环条件为真时执行循环,为假时转去执行循环的后继语句 。循环体为空时可用;表示空语句循环体语句 超过一条时必须加,构成复合语句形式。循环语句要注意循环中的控制部分,要能使循环条件能有一次值为假从而结束循环的执行,否则将成为死循环两种循环语句只有在第一次循环条件为假时有区别其余都能互相替代。do-while语句的循环体只有一条时可不加 ,但最好都加,使程序结构清晰一些,循环程序设计例题,1. i=4;s=0; while (i0) s=s+i;i-; printf(“%d”,s); 2. i=0;s=0; while(i0) s=s+i;i-; printf(“%d”,s); 2. i=0;s
6、=0; while(i=4) i+; s=s+i; printf(“%d”,s);,循环程序设计例题,3.int k=10; while(k=0) k-; 循环次数:4. int k=10; while (k!=0) k-; 循环后k的值:5. int k=10; while (k-!=0);循环后k的值:,6. int k=2; while(k=0) printf(%d,k); k-; printf(%d,k);运行结果:7. int k=2; while(k=0) printf(%d,k), k-; printf(%d,k);运行结果:,循环程序设计例题,8.有以下程序若要使程序的输出值为
7、 2,则应该从键盘给n输入的值是 A)-1 B)-3 C)-5 D)0main() int s=0,a=1,n; scanf(%d,循环程序设计例题,9.有以下程序,执行后输出的结果是A) 16 B) 12 C) 28 D) 21main() int i=0,s=0; do if(i%2) i+; continue; i+;s+=i; while(i7);printf(%dn,s);,循环程序设计例题,10.有以下程序段 int n=0,p; do scanf(%d, 此处do-while循环的结束条件是_。 A) p的值不等于12345并且n的值小于3 B) p的值等于12345并且n的值大
8、于等于3 C) p的值不等于12345或者n的值小于3 D) p的值等于12345或者n的值大于等于3,循环程序设计例题,11.按顺序读入10名学生课程的成绩,计算出学生的平均分并输出 .,main() int i,score; float average=0; i=0; while(i10) scanf(“%d”,循环程序设计例题,12.按顺序读入多名学生课程的成绩,直到输入负数为止,计算出这些学生的平均分并输出.,main() int i,score; float average; average =0; i=0; do scanf(“%d”, ,循环中使用break,continue:
9、(1)break:强行中断本层循环,转去执行循环的后继语句. (2)continue:强行中止本次循环,转去执行循环的条件判断,循环程序设计例题,13.以下程序中,while循环的循环次数是 A) 1 B) 10 C) 6 D) 死循环,不能确定次数main() int i=0; while(i10) if (i1) continue; if (i=5) break; i+; . ,循环程序设计例题,14.有以下程序,执行后输出的结果是A) 16 B) 12 C) 28 D) 21main() int i=0,s=0;do if(i%2)i+;continue; i+;s+=i; while(
10、i7);printf(%dn,s);,循环程序设计例题,15.有以下程序段 int n=0,p; do scanf(%d, 此处do-while循环的结束条件是_。 A) p的值不等于12345并且n的值小于3 B) p的值等于12345并且n的值大于等于3 C) p的值不等于12345或者n的值小于3 D) p的值等于12345或者n的值大于等于3,循环程序设计例题,16. t为int类型,进人下面的循环之前,t的值为0. while( t=l ) 则以下叙述中正确的是A)循环控制表达式的值为0 B)循环控制表达式的值为1C) 循环控制表达式不合法 D) 以上说法都不对,循环程序设计例题,17.以下程序的输出结果是main() int num= 0; while(num=2) num+; printf(%dn,num);A) 1 B) 1 C)1 D) l 2 2 2 3 3 4,循环程序设计例题,18.有如下程序,该程序的执行结果是A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环main() int x=23; do printf(%d,x-); while(!x);,