1 / 23

循环语句

循环语句. 循环结构是三大程序结构之一,是 C++ 逻辑编程的重点内容。顺序结构、选择结构只解决简单问题,是程序设计的基础,而循环结构则是程序设计的实际应用。顾名思义,所谓 循环 ,是指某些语句由于需要被反复执行的现象。 【 主要内容 】 三种循环语句( for 、 while 、 do-while )的格式和执行过程。. 例如,输出 10 个“*”,可用如下语句即可完成: cout << “**********”; 但如果要输出 1000 个“*”,再套用上行的写法就不现实了! 解决办法是:

nicola
Download Presentation

循环语句

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 循环语句

  2. 循环结构是三大程序结构之一,是C++逻辑编程的重点内容。顺序结构、选择结构只解决简单问题,是程序设计的基础,而循环结构则是程序设计的实际应用。顾名思义,所谓循环,是指某些语句由于需要被反复执行的现象。循环结构是三大程序结构之一,是C++逻辑编程的重点内容。顺序结构、选择结构只解决简单问题,是程序设计的基础,而循环结构则是程序设计的实际应用。顾名思义,所谓循环,是指某些语句由于需要被反复执行的现象。 【主要内容】 三种循环语句(for、while、do-while)的格式和执行过程。

  3. 例如,输出10个“*”,可用如下语句即可完成:例如,输出10个“*”,可用如下语句即可完成: cout << “**********”; 但如果要输出1000个“*”,再套用上行的写法就不现实了! 解决办法是: 输出一个“*”,即cout << “*”;重复1000次。 #include <iostream> using namespace std; int main() { long i; for ( i = 1; i <=1000 ; i++ ) cout << “*" ; system(“pause”); return 0; }

  4. for语句 表达式1 N 表达式2 Y 语句组1 表达式3 语句组2 for(表达式1;表达式2;表达式3) {语句组1(循环体)} {语句组2} for(循环变量赋初值;循环结束条件;循环变量增值)

  5. 0 1 sum i 5050 1 6 3 int main( ) { long i, sum=0; //定义变量,初始化 for (i=1; i<=100; i++) //for结构 sum=sum+i; // 循环体,多次执行 cout<<“sum=”<<sum<<endl; } 100 101 4 3 2 循环结束!! sum=5050 实际上是将i不停地累加到一起 真 真 真 真 真 真 真 假 0 1 3 6 10 5050 1 2 3 4 5 100 101

  6. 注意事项 1. for 先判断条件而后执行循环体,即有可能循环体一次也不被执行。如下语句中循环体s=s+x一次也不被执行: for ( x = 10; x < 0; x++ ) s = s + x; 2.循环变量的数据类型为:整型long 3. for 适宜循环次数或条件特别明显的情况。 4. for中三个表达式间只能用分号相隔,且即使三个表达式省略时,分号也不可省略。 5.当循环语句超过一条语句时,要用{ }将语句组合在一起,构成复合语句。 6. for中三个表达式,可以为多条语句。

  7. 模拟练习 练习1:求 S=2+4+……+100 练习2:求 S=1/1+1/2+1/3……+1/100 int main( ) { long i, sum=0; for (i=1; i<=50; i++) sum=sum+2*i; cout<<sum<<endl; } int main( ) { long i; double sum=0; for (i=1; i<=100; i++) sum=sum+(double)1/i; cout<<sum<<endl; }

  8. int main( ) { char i, j ; for (i=‘a’,j=‘z’ ; i<j ; i++, j--) cout<<i<<j; cout<<endl; } 输出:azbycx.......lomn a b c ...... m n z y x ..... n m 真 真 真 真 真 假 ..... az by cx mn CR

  9. 以下循环结果如何? for ( i=0, k= -1; k=1; i++, k++) cout<<“****\n”; 1 10 以下循环最多执行_____次,最少执行_____次 for (i=0, x=0; i<=9&&x!=876 ; i++) cin>>x;

  10. 例题:计算n的阶乘,如10!,10!=1*2*3*…*10。 #include <iostream> using namespace std; int main() { long i,n,sum=1; cin>>n; for ( i = 1; i <=n; i++ ) sum=sum* i; cout<<sum<< endl; system(“pause”); return 0; }

  11. 表达式 真 语句组1 语句组2 while语句 while ( 表达式) {语句组} a=3; while(a<20) a=a+5; cout<<“a=“<<a; 当循环语句超过一条时,要用{ }将语句组组合在一起。

  12. 0 1 sum i 5050 3 6 1 求 1+2+3+……+100 int main( ) { long i=1,sum=0; //定义变量,初始化 while(i<=100) //构造循环 {sum=sum+i; // 循环体,多次执行 i=i+1; } cout<<“sum=”<<sum<<endl; //输出结果 } 100 101 2 3 4 循环结束!! sum=5050 实际上是将i不停地累加到一起 真 真 真 真 真 真 真 假 0 1 3 6 10 5050 1 2 3 4 5 100 101

  13. 注意事项 1.循环体如果为一个以上的语句,用{ }括起。 2.循环体内或表达式中必须有使循环结束的条件,即一定有一个循环变量。 3.while 先判断条件后执行循环体,即有可能循环体一次也不被执行。 4. while 适宜结束条件特别明显的情况。

  14. 看程序写结果 k=2; while(k!=0) {cout<<k;k--;} cout<<endl; 2 1 0 真 真 假 输出:21 2 1 回车

  15. 看程序写结果 int main( ) { int num=0; while(num<=2) { num++; cout<<num<<endl; } } 1 2 3 0 1 2 3 真 真 真 假 1<CR> 2<CR> 3<CR> 无

  16. 例题:统计a的个数 (1144) Description   输入若干个字符,它的终止符是’#’,计算输入的字符中字母'a’出现的次数(包括大小写)。 Input   输入若干个字符,以'#'结束. Output   字母'a’出现的次数 Sample Input huang# Sample Output 1

  17. #include<iostream> using namespace std; int main() { char ch; long s=0; cin>>ch; while (ch!='#') { if ((ch=='a')||(ch=='A')) s=s+1; cin>>ch; } cout<<s<<endl; system(“pause”); return 0; }

  18. A 语句组1 直到P为真 假 表达式 直到型循环 真 语句组2 do—while语句 do { 语句组} while(表达式);

  19. 求 1+2+3+……+100 int main( ) { int i=1,sum=0; //定义变量,初始化 do //构造循环 { sum=sum+i; // 循环体,多次执行 i=i+1; }while (i<=100); cout<<“sum=”<<sum<<endl; //输出结果 }

  20. 练习试题1142 Description   键入一个自然数x(x<10000),求这个自然数的所有约数之和s。 Input   键入一个自然数x Output   这个自然数的所有约数之和 Sample Input   6 Sample Output 12

  21. 练习试题1146 Description   求两个自然数m,n的最小公倍数。 Input   输入两个自然数m,n(0<=m,n<=10000) Output   输出最小公倍数 Sample Input 16 24 Sample Output 48

  22. 练习试题1148 Description   数学上把除了1和它本身,没有别的数能够整除它的自然数叫做素数(或质数)。现在由键盘输入一个自然数N,编程判断N是否是素数,是则输出“YES”,否则输出“NO”。 Input   输入一个自然数N Output   判断N是否为素数,是则输出“YES”,否则输出“NO” Sample Input 17 Sample Output YES

  23. 课堂作业 • 1142 1143 1144 • 1145 1146 1147 1148

More Related