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

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

do,while,for的区别:

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

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

  1. do
  2. {
  3. //loop
  4. }
  5. while(condition)

while 语句的循环方式:

  1. while(condition)
  2. {
  3. //loop
  4. }

for语句的循环方式:

  1. for(初始化;condition;对条件值的改变)
  2. {
  3. //loop
  4. }

程序示例1:

  1. #include <stdio.h>
  2.  
  3. int f1(int n)
  4. {
  5. int ret = ;
  6.  
  7. if( n > )
  8. {
  9. do
  10. {
  11. ret += n;
  12. n--;
  13. }
  14. while( n > );
  15. }
  16.  
  17. return ret;
  18. }
  19.  
  20. int f2(int n)
  21. {
  22. int ret = ;
  23.  
  24. while( n > )
  25. {
  26. ret += n;
  27. n--;
  28. }
  29.  
  30. return ret;
  31. }
  32.  
  33. int f3(int n)
  34. {
  35. int ret = ;
  36. int i = ;
  37.  
  38. for(i=; i<=n; i++)
  39. {
  40. ret += i;
  41. }
  42.  
  43. return ret;
  44. }
  45.  
  46. int main()
  47. {
  48. printf("%d\n", f1());
  49. printf("%d\n", f2());
  50. printf("%d\n", f3());
  51.  
  52. return ;
  53. }

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

break 和 continue 的区别:

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

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

程序示例2:

  1. #include <stdio.h>
  2.  
  3. void f1(int n)
  4. {
  5. int i = ;
  6.  
  7. for(i=; i<=n; i++)
  8. {
  9. if( (i % ) == )
  10. {
  11. break;
  12. }
  13.  
  14. printf("%d ", i);
  15. }
  16.  
  17. printf("\n");
  18. }
  19.  
  20. void f2(int n)
  21. {
  22. int i = ;
  23.  
  24. for(i=; i<=n; i++)
  25. {
  26. if( (i % ) == )
  27. {
  28. continue;
  29. }
  30.  
  31. printf("%d ", i);
  32. }
  33.  
  34. printf("\n");
  35. }
  36.  
  37. int main()
  38. {
  39. f1();
  40. f2();
  41.  
  42. return ;
  43. }

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

程序示例3:

  1. #include <stdio.h>
  2. #include <malloc.h>
  3.  
  4. int func(int n)
  5. {
  6. int i = ;
  7. int ret = ;
  8. int* p = (int*)malloc(sizeof(int) * n);
  9.  
  10. do
  11. {
  12. if( NULL == p ) break;
  13.  
  14. if( n < ) break;
  15.  
  16. if( n > ) break;
  17.  
  18. for(i=; i<n; i++)
  19. {
  20. p[i] = i;
  21. printf("%d\n", p[i]);
  22. }
  23.  
  24. ret = ;
  25. }while( );
  26.  
  27. printf("free(p)\n");
  28.  
  29. free(p);
  30.  
  31. return ret;
  32. }
  33.  
  34. int main()
  35. {
  36. if( func() )
  37. {
  38. printf("OK\n");
  39. }
  40. else
  41. {
  42. printf("ERROR\n");
  43. }
  44.  
  45. return ;
  46. }

通过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. jQuery中的节点操作(二)

    html代码如下 <p title="武汉长乐教育PHP系列教程" name="hello" class="blue"> < ...

  2. Python元组类型、字典类型及常用操作

    一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1 ...

  3. ansible使用3-playbook

    playbook是ansible用于配置部署的语言.使用YAML格式. 示例 --- - hosts: webservers vars: http_port: 80 max_clients: 200 ...

  4. 分析一点python源代码

    偶然看了一下python的部分源代码,感觉python的作者写的代码真心很美,简洁美观,学习之. 举几个例子抛砖引玉一下: def removedirs(name): ""&quo ...

  5. COGS 449. 网络病毒

    ★★   输入文件:virus.in   输出文件:virus.out   简单对比时间限制:1 s   内存限制:128 MB [题目描述] 公元2008年10月31日星期五,笃志者所在的整个机房由 ...

  6. Simotion应用案例,使用Simotion web server调试,使用Project Generator创建项目,Simosim模拟运行运行项目

    Simotion web server simotion项目设计和调试过程中,web server功能越来越常用.例如Project generator生成的FBAxis, winder, print ...

  7. SIEMENS Simotion 运动控制器设置Web service, HTTP, FTP访问密码

    早期版本的web service, 访问密码是 用户名 : simotion 密码 : simotion 新版本,Firmware >= 4.4之后,考虑到安全性,控制器没有默认密码.设置密码方 ...

  8. April 5 2017 Week 14 Wednesday

    Today is a perfect day to start living your dream. 实现梦想,莫如当下. Miracles may happen every day. If you ...

  9. P1540 机器翻译

    题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...

  10. 正则表达式 /i /g /m /ig /gi

    正则表达式中/i,/g,/ig,/gi,/m的区别和含义   /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) / /ig(全文查找.忽略大小写)