循环控制结构

1:循环控制结构与循环语句
a:while循环语句
while(循环控制表达式)
{

语句序列

}
执行过程:计算循环控制表达式的值,如果循环控制表达式的值为真,那就执行循环体中的语句,并返回步骤1,如果6循环控制表达式的值为假,就退出循环,执行循环体后面的语句
b:
for语句
for(初始化表达式;循环控制表达式;增值表达式){

语句序列

}
其中,初始化表达式的作用是为循环控制初始化,即赋初值,它决定了循环的起始条件;循环控制表达式是循环控制条件,准确的说是控制循环继续执行的条件,当这个表达式的值为真(非0)时继续重复执行循环,否则结束循环,执行循环体后面的语句,因此它也决定了循环何时才能结束;增值表达式的作用是每一次循环后将循环控制变量增值,即定义每执行一次循环后循环控制变量增值,即定义每执行一次循环后循环控制变量如何变化。在每次(包括每一次)循环体被执行之前,都要对循环控制条件测试一次。每次是循环体执行完以后,都要执行一次增值表达式。注意,如何对循环变量进行增值?,决定了循环的执行次数,如果在循环体内再次改变这个变量的值,将改变循环正常的执行次数。
for语句可用while语句来等价实现,与for语句等价的while语句的实现形式为:
初始表达式:
while(循环控制表达式 )
{
语句序列
增值表达式;
}
注意for语句中三个表达式之间的分隔符是分号,有且仅有两个分号,既不能多,也不能少。

2:例子

#include<stdio. h>
int main ()
{
int i,n,sum;
printf (“Input n:”) ;
scanf("%d", &n) ;
sum=0;
for (i=1; i<= n; i++)
{sum=sum+i;}
printf(“sum = %d\n”,sum);
}

#include <stdio.h>
int main( )
{
int i, n, sum;
printf (“Input n:”) ;
scanf("%d", &n);
sum = 0;
i=1;
while( i <= n)
{sum=sum+i;
1++;}
printf(“sum = &d\n”, sum) ;}

#include <stdio.h>
int main ()
int i, n, sum;
printf(“Input n:”) ;
scanf("%d", &n) ;
sum=0;
i=1;
do (
sum=sum+i;
i++;)
while (1 <= n);
printf(“sum=%d\n”, sum);
}

3循环控制
(一)、break语句break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。注意: 1. break语句对if-else的条件语句不起作用。
2. 在多层循环中,一个break语句只向外跳一层。例如:
#include<stdio.h>
int main() {
int i,j;
printf(i j\n);
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
if(j2)
break;
printf(%d %d\n,i,j);}}
输出结果为: i j
0 0
0 1
1 0
1 1
当i
0,j==2时,执行break语句,跳出到外层的循环,i变为1。
(二)、continue语句continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中, 常与if条件语句一起使用,用来加速循环
(三)、goto语句goto语句是一种无条件转移语句。goto语句的使用格式为: goto 标号; 这个标识符加上一个:一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。标号既然是一个标识符,也就要满足标识符的命名规则。另外标号必须与goto语句同处于一个函数中,但可以不在一个循环层中。通常goto语句与if条件语句连用,当满足某一条件时,程序跳到标号处运行。goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在多层嵌套退出时,用goto语句则比较合理。在同时跳出多层循环时,应该使用goto语句。记住,所有的goto语句其实都是可以用break,continue代替的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值