欢迎来到天天文库
浏览记录
ID:26468759
大小:401.50 KB
页数:16页
时间:2018-11-27
《c++语言程序设计课程辅导(六)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C++语言程序设计》课程辅导(六)------循环语句辅导中央电大徐孝凯一、for循环1.格式for语句又称for循环,它也是一种结构性语句,其语句格式为:for(<表达式1>;<表达式2>;<表达式3>)<语句>其中<语句>是for语句的循环体,它将按条件被重复执行多次;<表达式1>,<表达式2>和<表达式3>都可以被省略,但它们之间的分隔符(即分号)必须保留;另外,<表达式1>除了可以是一个表达式外,还可以兼有对变量进行定义的功能,此变量在离开此循环后仍然可以使用。如i=1和inti=1都可以作为<表达式1>使用,当使用i=1时,i必须被定义过
2、,当使用inti=1时,i在此之前必须没有定义,此表达式同时具有定义变量i和给它赋初值这两种功能。2.语句执行过程for语句的执行过程为:(1)计算<表达式1>,当然若此项被省略则无须计算;(2)计算<表达式2>得到一个值,假定为M,若该表达式被省略则当作数值1看待;(3)若M为非0,则执行一遍循环体,否则结束整个for语句的执行;(4)计算<表达式3>,当然若此项被省略则无须计算;(5)自动转向第(2)步执行。执行for循环的过程如图6-1所示。图6-1for语句执行流程3.语句格式举例(1)for(i=1;i<10;i++)cout<
3、;(2)for(inti=1;i++<=1000;);(3)for(inti=0,j=0;i+j<20;i++,j+=2)x=i*i+j*j;(4)for(;;){i++;if(i>100)break;}(5)for(i=0,y=0;i>x;16y+=x;}(6)for(intk=2;k4、上述第(1)条语句使循环体重复执行9次,每次输出i的当前值和一个空格。第(2)条语句省略了<表达式3>,并且循环体是一条空语句,该循环体被重复执行1000次,而表达式i++<=1000被计算1001次。第(3)条语句中的<表达式1>分别给i和j赋初值为0,并对它们进行变量说明,<表达式2>和<表达式3>分别为关系表达式和逗号表达式,循环体是一条赋值语句。第(4)条语句中省略了全部三个表达式,循环体是一条复合语句。第(5)条语句中的<表达式1>为逗号表达式,循环体是一条复合语句,该循环语句完成从键盘上输入n个常数,并把它们依次累加到y上的任务。第(6)5、条语句中的循环体是一条条件语句,该循环体将被反复执行,直到k,<表达式2>为一个简单变量b,<表达式3>是一个逗号表达式,循环体是一条赋值语句。第(8)条语句的循环体将被循环执行20次,每次首先得到0~99之间的一个随机数a并输出它,接着若a为奇数就使c1增1,否则使c2增1。该循环的功能是得到并输出0~99之间的20个随机数,并分别统计出奇数和偶数的个数。在for循环的循环体中允许使用brea6、k语句,其作用是:当执行到该语句时,就使执行流程转出所属的for循环语句,然后再向下顺序执行。4.语句嵌套for循环体可以为任何可执行语句,当然也可以直接为一条for语句,或者在作为循环体的复合语句内使用for语句,并且嵌套的层数不受限制。如:(1)for(i=1;i<=5;i++)for(j=1;j<=6;j++)s+=i*j;(2)for(i=1;i<=5;i++){for(j=1;j<=i;j++)cout<<'*';cout<max){7、max=aa[i][j];row=i;col=j;16}以上每一条语句都是for双重循环语句,处于外层的称为外循环,内部的称为内循环。如对于第(1)条语句,外循环控制循环体(即内循环)执行5次,每次执行内循环时又控制内循环体执行6次,所以内循环共被执行5*6=30次。同理,第(2)条语句的内循环体(即cout<<’*’;语句)共被执行1+2+3+4+5=15次,第(3)条语句的内循环体(即if语句)共被执行m*n次。5.应用举例例1.编一程序计算1+22+42+62+L+502的值。分析:此题所给的计算公式是一个和式,它除第一项外,其余项为从2至508、的每一个偶数的平方,因此可采用循环累加的方法来计算,即依次把每个数据项(在此为偶数的平方)累加到一个变量中。
4、上述第(1)条语句使循环体重复执行9次,每次输出i的当前值和一个空格。第(2)条语句省略了<表达式3>,并且循环体是一条空语句,该循环体被重复执行1000次,而表达式i++<=1000被计算1001次。第(3)条语句中的<表达式1>分别给i和j赋初值为0,并对它们进行变量说明,<表达式2>和<表达式3>分别为关系表达式和逗号表达式,循环体是一条赋值语句。第(4)条语句中省略了全部三个表达式,循环体是一条复合语句。第(5)条语句中的<表达式1>为逗号表达式,循环体是一条复合语句,该循环语句完成从键盘上输入n个常数,并把它们依次累加到y上的任务。第(6)
5、条语句中的循环体是一条条件语句,该循环体将被反复执行,直到k,<表达式2>为一个简单变量b,<表达式3>是一个逗号表达式,循环体是一条赋值语句。第(8)条语句的循环体将被循环执行20次,每次首先得到0~99之间的一个随机数a并输出它,接着若a为奇数就使c1增1,否则使c2增1。该循环的功能是得到并输出0~99之间的20个随机数,并分别统计出奇数和偶数的个数。在for循环的循环体中允许使用brea
6、k语句,其作用是:当执行到该语句时,就使执行流程转出所属的for循环语句,然后再向下顺序执行。4.语句嵌套for循环体可以为任何可执行语句,当然也可以直接为一条for语句,或者在作为循环体的复合语句内使用for语句,并且嵌套的层数不受限制。如:(1)for(i=1;i<=5;i++)for(j=1;j<=6;j++)s+=i*j;(2)for(i=1;i<=5;i++){for(j=1;j<=i;j++)cout<<'*';cout<max){
7、max=aa[i][j];row=i;col=j;16}以上每一条语句都是for双重循环语句,处于外层的称为外循环,内部的称为内循环。如对于第(1)条语句,外循环控制循环体(即内循环)执行5次,每次执行内循环时又控制内循环体执行6次,所以内循环共被执行5*6=30次。同理,第(2)条语句的内循环体(即cout<<’*’;语句)共被执行1+2+3+4+5=15次,第(3)条语句的内循环体(即if语句)共被执行m*n次。5.应用举例例1.编一程序计算1+22+42+62+L+502的值。分析:此题所给的计算公式是一个和式,它除第一项外,其余项为从2至50
8、的每一个偶数的平方,因此可采用循环累加的方法来计算,即依次把每个数据项(在此为偶数的平方)累加到一个变量中。
此文档下载收益归作者所有