循环语句的基本工作方式:

  • 通过条件表达式判定是否执行循环体
  • 条件表达式遵循if语句表达式的原则

do,while,for的区别:

  • do语句先执行后判断,循环体至少执行一次
  • while语句先判断后执行,循环体可能不执行
  • for语句先判断后执行,相比while更简洁

do.....while语句的循环方式:

do
{
//loop
}
while(condition)

while 语句的循环方式:

while(condition)
{
//loop
}

for语句的循环方式:

for(初始化;condition;对条件值的改变)
{
//loop
}

程序示例1:

#include <stdio.h>

int f1(int n)
{
int ret = ; if( n > )
{
do
{
ret += n;
n--;
}
while( n > );
} return ret;
} int f2(int n)
{
int ret = ; while( n > )
{
ret += n;
n--;
} return ret;
} int f3(int n)
{
int ret = ;
int i = ; for(i=; i<=n; i++)
{
ret += i;
} return ret;
} int main()
{
printf("%d\n", f1());
printf("%d\n", f2());
printf("%d\n", f3()); return ;
}

这段代码很简洁,可以自己稍微看一下,就当作复习

break 和 continue 的区别:

  • break表示终止整个循环的执行
  • continue表示终止本次循环进入下一次循环

在循环中可以使用continue 和 break两种语句,联想到switch,里面的每一种case后面都要有一个break语句,那么我们可以在里面使用continue 语句吗?答案是不可以,编译会报错。

程序示例2:

#include <stdio.h>

void f1(int n)
{
int i = ; for(i=; i<=n; i++)
{
if( (i % ) == )
{
break;
} printf("%d ", i);
} printf("\n");
} void f2(int n)
{
int i = ; for(i=; i<=n; i++)
{
if( (i % ) == )
{
continue;
} printf("%d ", i);
} printf("\n");
} int main()
{
f1();
f2(); return ;
}

这段代码也很简洁,可以看看权当作复习一下

程序示例3:

 #include <stdio.h>
#include <malloc.h> int func(int n)
{
int i = ;
int ret = ;
int* p = (int*)malloc(sizeof(int) * n); do
{
if( NULL == p ) break; if( n < ) break; if( n > ) break; for(i=; i<n; i++)
{
p[i] = i;
printf("%d\n", p[i]);
} ret = ;
}while( ); printf("free(p)\n"); free(p); return ret;
} int main()
{
if( func() )
{
printf("OK\n");
}
else
{
printf("ERROR\n");
} return ;
}

通过29行代码我向扩展一下,可以free一个空指针。另外  野指针 ,空指针是由区别的,对于这个概念我会再写一个博客进行补充,毕竟和这一篇博客的主题不符,嘻嘻。这个段代码是do...while和 break结合起来,在做项目工程中会经常使用这种结构。

小结:

  • for循环先进行判断后在进入循环体
  • for循环适合于循环次数固定的场合
  • while循环先进行判断在进入循环体执行
  • while循环适用于循环次数不定的场合
  • do....while循环先执行循环体然后进行条件判断
  • do.....while循环至少进行一次循环体

C语言进阶——循环语句07的更多相关文章

  1. 【下载分】C语言for循环语句PK自我活动

    想了解自己C语言for语句的掌握程度吗?敢和自己PK较量一番吗?參加"C语言for循环语句PK自我活动",仅仅要成绩70分以上.就可赢得CSDN下载分. 12道题目题库动态读取,每 ...

  2. [Objective-C语言教程]循环语句(9)

    当需要多次执行同一代码块时,可以使用循环来解决. 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供各种控制结构,允许更复杂的执行路径.循环语句可用于多次执 ...

  3. Python语言的循环语句、迭代器与生成器、函数学习

    while循环语句 无限循环 我们可以通过设置条件表达式永远不为false来实现无限循环,实例如下: for语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串 Python ...

  4. Go语言for循环语句

    for循环语句解释与使用 首先我们定义sum:=0 格式:for i:=1;i<=100;i++{ sum+=i } for 循环100次,首先执行i=1,然后判断i<100,再执行sum ...

  5. C语言while循环语句

    循环语句三要素 1.在循环外给循环变量赋初值2.进入循环判断循环变量3.在循环体内修改循环变量,使循环趋近结束 2021-11-02

  6. C语言进阶——分支语句06

    if分支语句分析: if语句用于根据条件选择执行语句 else不能独立存在且总是与在它之前的最近if相匹配 esle语句后可以连接其他if语句 用法如下: if(condition) { //stat ...

  7. C/C++语言for循环语句执行顺序

    for循环如下: ; i<; ++i) { } 执行顺序如下: 1.i=0  初始化初值 2.i<10 进行判断,如果条件为真,则继续执行 3.执行循环体代码 4.i++ 变量i自增 5. ...

  8. 苹果新的编程语言 Swift 语言进阶(一)--综述

    Swift 是苹果开发和提供的供开发IOS 和OS X应用的一门新的语言.Swift语言基于C 和Objective-C语言,除了提供C 和Objective-C语言具有的所有语法功能外,为了编程方便 ...

  9. while循环语句基础

    while循环语句基础 一while循环语句介绍 循环语句命令常用于重复执行一条指令或一组指令,直到条件不再满足时停止,   Shell脚本语言的循环语句常见的有while, until, for及s ...

随机推荐

  1. 基于springmvc开发注解式ip拦截器

    一.注解类 @Documented @Target({ElementType.TYPE,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) ...

  2. html 01前沿-web介绍

    1. 认识网页 网页主要由文字.图像和超链接等元素构成.当然,除了这些元素,网页中还可以包含音频.视频以及Flash等. 2. 浏览器(显示代码) 浏览器是网页显示.运行的平台,常用的浏览器有IE.火 ...

  3. (生产)animate.css 动画库

    官网:https://daneden.github.io/animate.css/ Animate.css是一个有趣的,跨浏览器的css3动画库 用法 首先引入animate css文件:    &l ...

  4. orientationchange事件

    orientationchange事件 resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize':

  5. 如何提升SharePoint 2010的性能

    文章来自: http://www.chinaemail.com.cn/server/xtfl/Exchange/201109/66466.html SharePoint是微软历史上销售量增长最快的产品 ...

  6. SaberSama【css总结】

    为什么要转过来呢? 因为我觉到,同样是一个初学者,应该互相学习,交流. css:Cascading Style Sheets 层叠样式表 CSS引入方式: 1.内嵌: <p style=&quo ...

  7. 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)(转)

    这篇文章给大家介绍关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)的相关资料,还给大家收集些关于MySQL会出现中文乱码原因常见的几点,小伙伴快来看看吧   最近两天做项目总是被乱码问题困 ...

  8. jQuery-prepend、append、before、after的区别

    举例说明,原始html代码如下: <ol> <li>List item 1</li> <li>List item 2</li> <li ...

  9. 洛谷 P1266 速度限制

    题目描述 在这个繁忙的社会中,我们往往不再去选择最短的道路,而是选择最快的路线.开车时每条道路的限速成为最关键的问题.不幸的是,有一些限速的标志丢失了,因此你无法得知应该开多快.一种可以辩解的解决方案 ...

  10. 20145238 —《Java程序设计》—第5周学习总结

    20145238 <Java程序设计>第5周学习总结 教材学习内容总结 第八章异常处理 8.1.1使用try.catch ·教材范例用户连续输入整数,输入0结束后显示输入数的平均值(代码如 ...