循环结构

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

【写在开头:】

生活中的循环:

C语言中的循环:

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

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

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

2)while语句

3)do-while语句

4)for语句

构成循环的几个条件:

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

1)循环控制条件

  循环退出主要依据

2)循环体

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

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

--1-- 结构循环

1.1 while循环

1)语法格式

  while(条件)

  {

  语句1;

  语句2;

  …

  语句n;

  }

2)while循环执行特点

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

3)示例

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

    //定义变量
int i = , n = , sum = ; //接受键盘输入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 do…while循环

1)语法格式

  do{

  语句1;

  语句2;

  …

  语句n;

  }while(条件);

2)do…while循环的特点:

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

3)while和dowhile的循环类型不同

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

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

4)示例

    int x = -;
do{
printf("do...while\n");
x--;
}while (x > ); //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 = ;
for (; i < ; i++){
printf("%d", i);
}

  2)表达式1、3省略

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

  3)表达式1、2、3省略

    int i = ;

    for(;;){

        if (i < ){

            printf("%d", i);

            i++;

        } else{

            break;

        }

    }

   4)最简单的for循环

  for (; ; );

  5)for循环的嵌套使用

  打印图形

  * * * * *

  * * * * *

  * * * * *

  * * * * *

  * * * * *

  分析:

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

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

--2-- break和continue

2.1 break关键字

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

break用法

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

注意:

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

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

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

示例

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

分析:

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

    //计算r=1到r=10时圆的面积,直到面积大于100为止
for (int r = ; r <= ; r++) {
double area = 3.14 * r * r;
if (area > ) {
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 = ; i <= ; i++) { if (i % == ) {
continue; //整除则跳出本次循环
}
printf("i = %d\n", i);
}

总结:

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

【写在结尾:】

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

C语言-循环结构及break、continue的更多相关文章

  1. MATLAB循环结构:break+continue+嵌套

    break语句:终止当前循环,继续执行循环语句的下一语句: continue语句:跳过循环体的后面语句,开始下一个循环: 例:求[100,200]之间第一个能被21整除的整数 :200 %循环语句 ) ...

  2. 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句

    049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...

  3. bash中选择结构、循环结构与break、continue

    if两种选择结构 if 测试条件; then 程序块 else 程序块 fi if 测试条件1; then 程序块 elif 测试条件2; then 程序块 ... elif 程序条件n; then ...

  4. iOS学习之C语言循环结构

    一.while循环    while (循环条件) {        循环体:    }    // 1.定义循环变量    int time = 1;    // 2.循环条件    while ( ...

  5. C语言--循环结构

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  6. day05-Python运维开发基础(双层循环、pass/break/continue、for循环)

    # ### 双层循环练习 # 十行十列小星星 j = 0 while j<10: # 逻辑代码写在下面 # 打印一行十个小星星 i = 0 while i<10: print(" ...

  7. for循环里的break,continue和return有什么差别

    break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环.如果break语句包含在嵌套循环里,它只跳出最里面的循环. 如下代码 ...

  8. 循环(for,while,until)与循环控制符(break,continue)

    一.for循环 第一种风格   for ((;;;))(类似C语言风格) do command done 例子:for ((i=0;i<10;i++)) do echo $i done 第二种风 ...

  9. iOS学习03C语言循环结构

    1.while循环 while (循环条件) {        循环体: } // 1.定义循环变量 ; // 2.循环条件 ) { // 3.循环体 printf("%d\n", ...

随机推荐

  1. SqlServer 2008登录时报错

    登录SQLServer2008R2时提示如下错误: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server ...

  2. $_SERVER[&quot;SCRIPT_NAME&quot;]、$_SERVER[&quot;PHP_SELF&quot;]、$_SERVER[&quot;QUERY_STRING&quot;]、$_SERVER[&quot;REQUEST_URI&quot;]

    1.$_SERVER["SCRIPT_NAME"] 说明:包含当前脚本的路径 2.$_SERVER["PHP_SELF"] 说明:当前正在执行脚本的文件名 3. ...

  3. OpenCV 轮廓基本特征

     http://blog.csdn.net/tiemaxiaosu/article/details/51360499 OpenCV 轮廓基本特征 2016-05-10 10:26 556人阅读 评论( ...

  4. C#扩展方法入门

    扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的. 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀. 仅当你使用 using 指令将命名空间显式导入到源代码 ...

  5. 自定义实现MPVolumeView音量控件

    http://blog.csdn.net/theonezh/article/details/8158420 http://www.cnblogs.com/cate/ios/ http://www.cn ...

  6. 手把手教学系列:从零开始配置VPS服务器

    1.什么是VPS? 百度百科:VPS(Virtual Private Server 虚拟专用服务器)技术,将一台服务器分割成多个虚拟专享服务器的优质服务. 通俗地讲,可以认为就是一台放在机房机架上的服 ...

  7. java Page分页显示

    //entity层实体类 import java.util.List; //分页展示 //相关属性:当前页,页大小(每页显示的条数),总页数,总条数,数据 //select * from t_user ...

  8. Unicode与UTF-8

    以下内容转自网络 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为”字节“.再后来,他们又做了一些可以处理这些 ...

  9. 2016-06-14 发布 解决Centos7初次开机提示Initial setup of CentOS Linux 7 (core)

    安装完成centos7后出现如下提示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License informat ...

  10. js中怎么为同级元素添加点击事件

    事件件是javascript脚本语言的重要组成部分,因为有事件才使用户页面的体验更加的美好.元素添加事件是js语言中最基础的.我们可以为元素本身添加事件,也可以通过事件绑定和事件监听为元素的父元素和子 ...