第5章 循环控制-1计数控制的循环——for语句

合集下载

C语言 第五章-循环结构程序设计

C语言 第五章-循环结构程序设计

执行过程如图所示。其中i为外循环的控制变 量,j为内循环的控制变量。
i =0 当 i <=10
j=0 当 j<=10
printf(“%d ”, i*j ) j++ i++
例4 编程打印“九九乘法表”。
分析:九九乘法表 1×1=1 1×2=2 1×3=3 … 2×1=2 2×2=4 2×3=6 … 3×1=3 3×2=6 3×3=9 … …… 9×1=9 9×2=18 9×3=27 …
i ++ ; } while ( i <= 100 ) ; printf ( " %d " , sum ) ; }
结果相同
同样是下列程序,但如果while后面的表达式结果一开始就是 假时,两种循环结果会不一样。
main ( ) /*程序1*/
{ int i , sum = 0 ; i = 101 ;
所以程序需要设计成二重循环。由于题目只 要求找到一组解,所以在循环过程中只要找到一组 满足条件的x, y, z就可以跳出循环。
跳出循环的方法可以采用break语句,但是, 因为是二重循环,所以要考虑使用break是否方便。
程序 百钱买百鸡问题。 void main ( ) { int x , y , z ;
打印第2行 ( i = 2 ) for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/
…… 打印第9行 ( i = 9 )
for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/

For循环控制语句

For循环控制语句

For循环控制语句
For循环控制语句格式:
For 循环变量=循环初值 To 循环终值 [Step 循环步长]
[循环体]
[Exit For]
Next [循环变量]
功能:以指定次数来重复执行一组语句。

操作如下:
第一步,循环变量赋循环初值。

第二步,如果循环步长>0,测试循环变量是否大于循环终值;如果循环步长<0,测试循环变量是否小于循环终值。

步长默认为1。

是,转到Next的下一句运行。

(退出循环)
否,运行循环体。

如果循环体中有Exit For语句,运行到此句,直接转向Next
语句的下一句运行。

(退出循环)
运行到Next语句,循环变量=循环变量+步长。

转到第二步开始处运行。

(循环一次完成)
注意:
步长为负时,循环变量每加一次步长,值变小。

步长为零时,循环变量值不变,因此循环体内如果无Exit For 语句,则进入死循环。

在设计时运行程序进入死循环可以使用Ctrl+Break,终止程序执行。

在For循环语句中,For 和 Next是一对语句,必须成对出现,
缺一不可。

可以嵌套使用,但是循环变量名必须使用不同的变量名,而且不可以书写交叉的For循环语句。

循环控制语句

循环控制语句

循环控制语句
循环控制语句是编程中用于控制循环执行流程的语句。

主要包含以下几种:
1. for循环:用于指定循环执行的次数,在循环开始前定义循环变量。

2. while循环:如果需要在循环执行的过程中根据条件判断是否继续执行,则使用该语句。

3. do-while循环:该循环至少会执行一次循环体,然后再根据判断条件决定是否继续执行循环体。

4. break语句:用于跳出循环,终止循环的执行。

5. continue语句:用于跳过循环中的某个迭代,继续执行下一次循环。

这些循环控制语句都是用来控制程序执行流程的,使得程序能够按照特定的逻辑流程执行,提高程序的效率和可读性。

循环结构及其应用

循环结构及其应用

【编程思路】
定义变量i表示圆的半径,使其从1递增到10。循环中计算并判断每个圆的面积 值是否大于100,不大于100时,输出圆面积,如果大于100,则使用break 跳出循环即可。
【程序代码】
#include "stdio.h"
#define PI 3.14159
main( )
{
int r;
float area;
{
sum=sum+i; /*累加*/
i++;
/*变为下一个加数*/
} printf("sum=%d\n",sum); /*输出计算结果*/
}
5.2.2 do-while语句
❖ do-while语句属于直到型循环,其一般形式为:
do {
循环体语句 }while (表达式);
❖ do-while语句的执行过程是:
printf("%d is a prime number\n”,m); /* m是素数 */
else printf("%d is not a prime number\n”,m); /* m不是素数 */
}
本例中用到了breakБайду номын сангаас句。在switch语句中我们已 经接触过break语句,它的功能是终止选择执行, 跳出switch语句,那么在循环结构中使用break 语句,其作用是终止循环的执行,即跳出循环语 句。
main( )
{
int n;
for (n=100;n<=200;n++)
{ if (n%3!=0) /*判断n是否能被3整除*/ printf("%d ”,n); /*不能整除时输出n的值 */

第5章 循环结构程序设计

第5章 循环结构程序设计
龙诚数码:
do-while语句的简单应用 do-while语句的简单应用
【例5.3】用辗转相除法求m和n的最大公约数 5.3】用辗转相除法求m
定义m、 、 定义 、n、r m<n T F m和n交换 和 交换 r=m%n m=n n=r 当r != 0时 时 输出最大公约数m 输出最: 算法和程序:
main( ) { int m,n,r; scanf("%d, %d",&m,&n); if (m<n) { r=m; m=n; n=r; } do { r=m%n; 程序运行情况如下: 程序运行情况如下: m=n; 24, 60 24, n=r; 12 }while(r!=0); while(r!=0 printf("%d\n",m); }
for语句的算法 for语句的算法
流程图 计算表达式1 计算表达式
表达式2 表达式 为真? 为真
15
N-S结构图 结构图 for (表达式 表达式 表达式 表达式1;表达式 表达式3) 表达式 表达式2;表达式 N 语句
Y 语句 计算表达式3 计算表达式
例如: 例如: 可部分或全部省略, 可部分或全部省略, main( ) 但“;”不可省略 { int i,sum; sum=0; for ( i=1; i<=100; i++) i=1 i<=100; sum=sum+i; sum=sum+i; printf("sum=%d\n",sum); }
龙诚数码:
18
for语句的简单应用 for语句的简单应用
【例5.4】求n! ,即计算p=1×2×3×…×n 5.4】 即计算p=1× 的值。 的值。

循环结构

循环结构

第5章 循环----三类循环
for语句的一般形式为: for (<初始表达式>;<条件表达式>;<循环表达式>) { <循环体语句> } 1.计算<初始表达式>的值。该表达式是对循 环控制变量进行初始化。 2.判断<条件表达式>的值。该表达式就是循 环条件,若该表达式的值为“假”,则退出循 环,执行循环结构外的语句;若该表达式的值 为“真”,则执行<循环体语句>。 3.计算<循环表达式>的值。该表达式更新循 环控制变量的值。 4.转第2步。
课堂练习: 求1,1+2,1+2+3...... 数列中前n项的值
第5章 循环---数列问题
【例5-3】编写程序,从键盘输入x的值, x x , 直到最后一项 求 sin x x x 3! 5! 7! 绝对值小于le−7(即10−7)为止 (注:x为弧度值)。
3 5 7
开始
计算机导论A
第5讲 循环结构
第5章循环结构
1. for循环语句结构 2. while循环语句结构 3. do-while循环结构 4. break和continue语句的作用 5. 循环结构的嵌套 6. 案例分析
第5章 循环----导引
例5-1:计算10道简单的加、减、乘、除和取余的运算题
/*6-1 分支程序-----循环*/ #include<stdio.h> main() { int a,b,i,n; char op; printf("please input express:"); scanf("%d%c%d",&a,&op,&b); switch(op) { case '+':printf("%d+%d=%d\n",a,b,a+b); break; case '-':printf("%d-%d=%d\n",a,b,a-b); break; case '*':printf("%d*%d=%d\n",a,b,a*b); break; case '%':printf("%d%%%d=%d\n",a,b,a%b); break; case '/':if(b!=0) printf("%d/%d=%d\n",a,b,a/b); else printf("error\n"); break; }}

第五章 C语言多重循环语句ppt课件

第五章  C语言多重循环语句ppt课件
scanf(“%f”,&Weight); /*第7个儿童的体重*/ total=total+ Weight; /*前7个儿童的总体重*/
scanf(“%f”,&Weight); /*第8个儿童的体重*/ total=total+ Weight; /*前8个儿童的总体重*/
scanf(“%f”,&Weight); /*第9个儿童的体重*/ total=total+ Weight; /*前9个儿童的总体重*/
unsigned n,sum=0; scanf(“%u”,&n); do { sum+=i ;
int i; float Weight, total=0, aver;
*输入N个儿童的体重并计算总体重*/
for(i=1;i<=N;i++) {
scanf(“%f”,&Weight); /*第i个儿童的体重*/ total=total+ Weight; /*i个儿童的总体重*/
}
aver=total/N;
scanf(“%f”,&Weight); /*第1个儿童的体重*/ total=total+ Weight; /*前1个儿童的总体重*/
scanf(“%f”,&Weight); /*第2个儿童的体重*/ total=total+ Weight; /*前2个儿童的总体重*/
scanf(“%f”,&Weight); /*第3个儿童的体重*/ total=total+ Weight; /*前3个儿童的总体重*/
/*10个儿童的平均体重*/
printf(“%d个儿童的平均体重是:%.2\n”,N,aver); }

第五讲循环结构(for、while与repeat语句)

第五讲循环结构(for、while与repeat语句)

第四章第3节循环结构的程序设计For循环在实际应用中,会经常遇到许多有规律性的重复运算,这就需要掌握本章所介绍的循环结构程序设计。

在Pascal语言中,循环结构程序通常由三种的循环语句来实现。

它们分别为FOR循环、当循环和直到循环。

通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。

因此,重复语句是由循环体及重复终止条件两部分组成。

一、计数循环(for/to/do)语句的一般格式for <控制变量>:=<表达式1> to <表达式2> do <语句>;for <控制变量>:=<表达式1> downto <表达式2> do <语句>;其中for、to、downto和do是Pascal保留字。

表达式1 与表达式2的值也称为初值和终值。

二、For语句执行过程①先将初值赋给左边的变量(称为循环控制变量);②判断循环控制变量的值是否已"超过"终值,如已超过,则跳到步骤⑥;③如果末超过终值,则执行do后面的那个语句(称为循环体);④循环变量递增(对to)或递减(对downt o)1;⑤返回步骤②;⑥循环结束,执行for 循环下面的一个语句。

三、说明①循环控制变量必须是顺序类型,初值和终值可以是常量、变量、表达式,且与控制变量类型一致。

例如,可以是整型、布尔型、字符型等,但不能为实型。

②循环控制变量的值递增或递减的规律是:选用to则为递增;选用downto则递减。

③所谓循环控制变量的值"超过"终值,对递增型循环,"超过"指大于,对递减型循环,"超过"指小于。

④循环体可以是一个基本语句,也可以是一个复合语句。

⑤循环控制变量的初值和终值一经确定,循环次数就确定了。

但是在循环体内对循环变量的值进行修改,常常会使得循环提前结束或进入死环。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计
第5章 循环控制 n
∑ i = 1 + 2 + 3 + ... + n
i =1
n! = 1× 2 × 3 × ... × n
#include <stdio.h> int main() { int i, sum = 0, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i++) { sum = sum + i; } printf("sum = %d", sum); return 0; }
C语言程序设计
第5章 循环控制 n
∑ i = 1 + 2 + 3 + ... + n
i =1
2 2 2 2 2 i 1 2 3 ... n = + + + ∑ i =1
n
#include <stdio.h> int main() { int i, sum = 0, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i++) { sum = sum + i; } printf("sum = %d", sum); return 0; }
#include <stdio.h> int main() { int i, sum = 0, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i+=2) { sum = sum + i; } printf("sum = %d", sum); return 0; }
C语言程序设计
第5章 循环控制 n
∑ i = 1 + 2 + 3 + ... + n
i =1
1 + 3 + 5... + ( 2n − 1)
#include <stdio.h> int main() { int i, sum = 0, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i++) { sum = sum + i; } printf("sum = %d", sum); return 0; }
C语言程序设计
第5章 循环控制 n
∑ i = 1 + 2 + 3 + ... + n
i =1
1 + 3 + 5... + ( 2n − 1)
#include <stdio.h> int main() { int i, sum = 0, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i++) { sum = sum + i; } printf("sum = %d", sum); return 0; }
C语言程序设计
第5章 循环控制
计算并输出1+2+3……+n的值
#include <stdio.h> int main() { int i, sum = 0, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i++) { sum = sum + i; printf("i=%d,sum=%d\n",i,sum); } printf("sum = %d", sum); return 0; }
C语言程序设计
#include <stdio.h> int main() { int i, j, sum = 0, n; for (i=1,j=100; i<=j; i++,j--) { sum = sum + i + j; } printf("sum = %d", sum); return 0; }
C语言程序设计
第5章 循环控制
for语句

计数控制——Loop is controlled by a counter
表达式1
循环初始条件
循环控制条件
循环转化条件
表达式2?

for (表达式1 ; 表达式2; 表达式3)
{ 语句1 语句2 } 不要重复在循环体内 改变循环变量的值
C语言程序设计

语句1 语句2 表达式3 for后面第一条语句
C语言程序设计
#include <stdio.h> int main() { int i, sum = 0, m, n; printf("Input n:"); scanf("%d", &n); for (i=1; (i=0; i<=n; i<n; i++) for i++) { { scanf("%d", &m); sum == sum sum ++ i; m; sum } } printf("sum = %d", sum); return 0; }
5
10 15
C语言程序设计
第5章 循环控制
如何保证循环是可终止的?
#include <stdio.h> int main() { int i, sum = 0, m; for (i=0; i<5; i++) { scanf("%d", &m); sum = sum + m; } printf("sum = %d", sum); return 0; } #include <stdio.h> int main() { int i, sum = 0, m; for (i=5; i>0; i--) { scanf("%d", &m); sum = sum + m; } printf("sum = %d", sum); return 0; }

计数控制的循环

假设输入1,2,3,4,5
sum ← 1 3 6 10 15 sum + 0 1 3 6 10 m 1 2 3 4 5
循环计数 i 0 1 2 3 4 5
C语言程序设计
第5章 循环控制
为什么它能实现累加运算?
#include <stdio.h> i int main() { int i, sum = 0, m; m for (i=0; i<5; i++) { scanf("%d", &m); sum = sum + m; sum } printf("sum = %d", sum); return 0; } 4
第5章 循环控制
计算并输出1+2+3……+n的值
sum=0的作用?
#include <stdio.h> int main() { int i, sum = 0, m, n; printf("Input n:"); scanf("%d", &n); for (i=0; i<n; i++) { scanf("%d", &m); sum = sum + m; } printf("sum = %d", sum); return 0; }
执行循环体时必 须改变一个或多 个变量的值 保证经有限次重 复后,循环控制 条件不再满足
C语言程序设计
第5章 循环控制
如何实现n个键盘输入数据的累加?

循环次数n从键盘输入
#include <stdio.h> int main() { int i, sum = 0, m; for (i=0; i<5; i++) { scanf("%d", &m); sum = sum + m; } printf("sum = %d", sum); return 0; }
第5章 循环控制
计算并输出1+2+3……+n的值
#include <stdio.h> int main() { int i, sum = 0, n; printf("Input n:"); scanf("%d", &n); for (i=1; i<=n; i++) { sum = sum + i; printf("i=%d,sum=%d\n",i,sum); } printf("sum = %d", sum); return 0; }
C语言程序设计
第5章 循环控制
循环的控制方法
条件控制的循环 计数控制的循环 标记控制的循环 Condition Controlled Counter Controlled Sentinel Controlled
相关文档
最新文档