码迷,mamicode.com
首页 > 编程语言 > 详细

C语言-循环结构及break、continue

时间:2016-07-10 23:19:50      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

循环结构

--------------------------

--1-- 结构循环
1.1 while循环
1.2 dowhile循环
1.3 for循环
--2-- break和continue
2.1 break关键字
2.2 continue关键字

--------------------------

 

 

【写在开头:】

生活中的循环:

技术分享

 

C语言中的循环:

循环结构是程序中一种很重要的结构。其特点是,在给定的条件成立时,反复执行某程序段,直到条件不成立为止。

C语言中提供了多种循环语句:

1)goto语句和if构成循环(已经被摒弃)

2while语句

3do-while语句

4for语句

构成循环的几个条件:

一般来说一个循环需要以下几部分构成

1)循环控制条件

  循环退出主要依据

2)循环体

  循环过程中重复执行的代码块。

3)能够让循环结束的语句(递增、递减、真、假等)

 

--1-- 结构循环

1.1 while循环

1)语法格式

  while(条件)

  {

  语句1

  语句2

  …

  语句n;

  }

 

2)while循环执行特点

当条件成立时一直执行程序体。

 

3)示例

从键盘上输入一个数n,计算1+2+3…+n的值。

    //定义变量
    int i = 1, n = 0, sum = 0;

    //接受键盘输入n并赋值给变量n
    printf("请输入累加上限:\n");
    scanf("%d",&n);

    //while循环条件小于n
    while (i <= n) {
        sum += i;   //累加
        i++;
    }

    printf("从1累加到%d的值是:%d\n",n,sum);

 

4)补充

scanf的原理:如果输入缓冲区不为空,则不会让用户再次输入内容,而直接冲缓冲区中继续获取。

最简单的死循环:while(1);

 

1.2 dowhile循环

1)语法格式

  do{

  语句1

  语句2

  …

  语句n;

  }while(条件);

 

2)do…while循环的特点:

不管while中的条件是否成立,至少会执行一次循环体。

 

3)whiledowhile的循环类型不同

while循环是一个当型循环,当条件满足时再执行循环体;

dowhile循环是直到型循环,先执行循环体,再判断条件,直到条件为假时结束。

 

4)do...while示例

 

    int x = -3;
    do{
        printf("do...while\n");
        x--;
    }while (x > 0); //do...while循环 无论条件是否满足,循环体都会执行一次

 

1.3 for循环

1)for语法格式

C语言中for语句的使用最为灵活,完全可以代替while语句

一般形式:

  for(表达式1;表达式2;表达式3){

  语句块;

  }

 

2)for循环执行过程

技术分享

执行顺序:

  1)先求表达式1,给i初始化

  2)求解表达式2,若其值为真(非0,则执行for语句中指定的内嵌语句-->表达式3

  3)执行表达式4

  -->循环完一遍之后执行第二步,再依次往下

    注意:步骤1)在整个循环中只执行一次

 

3)for循环的其他形式

  1)表达式1省略

    int i = 0;
    for (; i < 5; i++){
        printf("%d", i);
    }

 

  2)表达式13省略

    int i = 0;
    for (; i < 5;){
        
        printf("%d", i);
        
        i++;
        
    }

 

  3)表达式123省略

    int i = 0;

    for(;;){
        
        if (i < 5){
            
            printf("%d", i);
            
            i++;
            
        } else{
            
            break;
            
        }
        
    }

 

 4)最简单的for循环

  for (; ; );

 

5)for循环的嵌套使用

打印图形

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

 

分析:

内层循环打印一行,外层循环5次打印5行

    for (int j = 0; j < 5; j++) {
        for (int i = 0; i < 5; i++) { //内层打印行
            printf("*\t");
        }
        printf("\n");
    }

 

 

--2-- break和continue

2.1 break关键字

break和continue都可以用在循环中,用来跳出循环/结束循环

break用法

break语句通常用在循环和开关语句中。

 

注意:

1)break对if-else不起作用。

2)break用于跳出当前循环(结束当前循环)。

3)break影响的是当前的这个循环,对外层循环不起作用

 

示例

计算r=1r=10时圆的面积,直到面积大于100为止

分析:

圆的面积 area = 3.14 * r * r;

    //计算r=1到r=10时圆的面积,直到面积大于100为止
    for (int r = 1; r <= 10; r++) {
        double area = 3.14 * r * r;
        if (area > 100) {
            break; //面积大于100 结束循环
        }
        
        printf("area = %.2f\n", area);
    }

 

2.2 continue关键字

continue用于结束本次循环,继续下次循环

continue只用在for、while、do-while等循环体中,常与if语句一起使用,用来加速循环

 

示例

100-200之间不能被3整除的数输出。

分析:

被3整除时结束本次循环进入下一次

    //把100-200之间不能被3整除的数输出
    for (int i = 100; i <= 200; i++) {
        
        if (i % 3 == 0) {
            continue; //整除则跳出本次循环
        }
        printf("i = %d\n", i);
    }

 

总结:

从上面可以看出:

break跳出循环后循环就结束了,而continue跳出循环后还继续下一次循环。这就是最大的区别。

 

 

【写在结尾:】

『下雨了,滴答滴答,从小最喜欢的,就是听雨的声音...』

C语言-循环结构及break、continue

标签:

原文地址:http://www.cnblogs.com/wang-biao/p/5658818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!