1 循环语法结构

“循环”这个词在我们日常生活中经常遇到,例如:循环播放某一首歌曲;就是一直在做某一件事情,重复地做某一件事情。那么,在C语言中,提供了“循环”控制语句,也是一样的道理,就是重复做某一件事情。

例如,当我们循环播放某一首歌曲,听腻了的时候,我们可以选择停止播放。所以,对于“循环”控制语句,也应该提供“停止循环”的机制。

计算机程序的优点,就是可以循环、不停地做某一件事情,所以,在程序设计中,循环控制是一种非常重要的控制语句。C语言提供了多种循环控制语句,下面我们一一来学习。

2 while语句

在C语言中,提供了while语句来进行循环控制。它的格式如下:

while(表达式) 循环语句;

该语句的执行流程是:

(1)步骤一:判断小括号中的表达式的值,如果表达式的值为,则执行while后面的循环语句;如果表达式的值为,则不执行循环语句,而且结束while语句的执行;

(2)步骤二:如果表达式的值为,执行完循环语句之后,回到步骤一继续循环判断执行;

while语句的执行流程可以如下图所示:

所以,可以看到,如果表达式的值为真,那么,就一直执行循环语句。直到表达式的值为假的时候,才结束while()语句。如下是一个程序测试例子:

程序运行的结果如下:

我们来分析一下这个测试例子的执行过程:

  1. 定义 int 类型变量 i,它的值为3;
  2. 执行while(i--),那么,i--表达式的值是i变化之前的值,所以,i--表达式的值为3,此时,表达式的值为非0,所以,为,执行循环语句。所以,执行循环体的循环语句:

printf("i = %d\n", i);  //循环体执行的语句

输出i的值;由于已经执行了i--,所以,i变量的值为2,所以,输出 i = 2;

  1. 继续执行while(i--),此时,i的值为2,那么,i--表达式的值为i变化之前的值,所以,i--表达式的值为2;是非0值,所以,为,继续执行循环语句,输出i变量的值;由于执行了i--,所以,i变量的值为1,所以,输出i = 1;
  2. 继续执行while(i--),此时,i的值为1,那么,i--表达式的值为i变化之前的值,所以,i--表达式的值为1;是非0值,所以,为,继续执行循环语句,输出i变量的值;由于执行了i--,所以,i变量的值为0,所以,输出i = 0;
  3. 继续执行while(i--),此时,i的值为0,那么,i--表达式的值为i变化之前的值,所以,i--表达式的值为0;是0值,所以,为“”;此时,while(表达式)中的表达式的值为“假”,那么,就结束while循环的执行。

所以,就不执行循环语句,而且结束while循环语句。

那么,我们可以总结,对于while循环语句,如果while(表达式)中的表达式值为,那么,就执行循环语句。如果表达式的值为假,就不执行循环语句,而且结束while语句的执行。

在上面的例子中,我们执行的循环语句只有一条,那么,如果想要循环执行多条语句,应该怎么样?

如果要想循环执行多条语句,可以使用大括号{}把多条语句包含起来,作为while循环的执行体,那么,就可以循环执行多条语句,定义的格式如下:

while(表达式)

{

循环语句1;

循环语句2;

循环语句N;

}

那么,就有:

  1. 如果表达式的值为真,就执行大括号{}定义的循环体,执行循环体中定义的循环语句;执行完循环体中的循环语句之后,继续判断表达式的值。
  2. 如果表达式的值为假,就不执行循环体中的循环语句,而且结束while语句的执行。

while循环语法结构相关推荐

  1. while 循环语法结构

    1. while 循环语法结构 while 当...的时候// while (条件表达式) {// // 循环体// }// 2. 执行思路 当条件表达式结果为true 则执行循环体 否则 退出循环/ ...

  2. C语言详解系列——循环语句详解(3)do while语句的语法结构

    文章目录 do while语句 do while语句中的break和continue break continue do while语句与while语句的不同点 简单练习 do while语句 之前的 ...

  3. C语言详解系列——循环语句详解(1)while语句的语法结构

    文章目录 while语句 break continue while语句 之前的学习中我们了解到了if语句的用法,这个语句只会执行一次,但在我们的生活当中有许多事情是需要重复去做的,那我们应该怎么实现呢 ...

  4. 数据结构与算法:02 C#语言基本语法结构

    02 C#语言基本语法结构 知识结构: 1.数据类型 第一种分类: 简单数据类型:byte.short.int.long.float.double.char.bool 组合数据类型:struct.en ...

  5. 【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )

    文章目录 一.MATLAB 流程控制结构 二.for 循环 1.for 循环 2.嵌套 for 循环 三.while 循环 二.分支结构 1.if end 分支结构 2.if else end 分支结 ...

  6. PHP条件语句总结,PHP 条件语句基本语法结构

    php中条件语句就if else与swicth及三目运算符了,下面我来给大家介绍这些条件语句的一些语法吧. if单分支的基本语法结构 if(条件表达式){ //执行语句; } if双分支 基本语法结构 ...

  7. Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] Python基础day02 作业解析[6道 if 判断题.9道 循环题]      学习目标: 能 ...

  8. PHP 数组遍历 foreach 语法结构

    来源:http://www.cnblogs.com/keta/p/6117237.html foreach 语法结构用于遍历数组. foreach() PHP foreach() 语法结构用于遍历操作 ...

  9. Tcl与Design Compiler (二)——DC综合与Tcl语法结构概述

    本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 1.逻辑综合的概述 synthesis = tra ...

  10. python while语法结构_python语法之流程控制(if while for)

    一.python语法之流程控制 1.1什么是流程控制? 流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构).分支结构(判断).循环结构 ...

最新文章

  1. 初心大陆----python宝典(意外发生篇)
  2. matlab实现评价图像增强效果的参数——信背比(SBR)
  3. 从实验室到山寨,技术发展的普遍道路
  4. SQL中的left outer join,inner join,right outer join用法 (左右内连接)
  5. 440. 字典序的第K小数字
  6. 21 PP配置-生产计划-定义计划订单编号范围
  7. vim插件介绍(一)之Tabular
  8. JavaWeb框架基础
  9. 常用的网络操作系统有哪些?它们各具有什么特点?
  10. 怎么用微信打开qq连接到服务器地址,微信上能打开的链接如何在qq上打?
  11. Linux获取ring0权限,Ring0和Ring3权限级
  12. 一个简单的网页版钢琴(用到JQuery)
  13. LeetCode两个爬楼梯题目解析(动态规划)
  14. 计算机的键盘组合件,电脑组合键盘快捷键大全
  15. 深信服2019届校园招聘专场(私聊博主得内推码,免简历筛选)
  16. win10提示系统资源不足,无法完成请求服务的解决方法
  17. 信息无障碍的发展和技术实践
  18. 我们要理智使用计算机英语,新视野大学英语第四册(四级)期末复习重点单词词组句子...
  19. Unity SRP URP HDRP 的区别
  20. 浅谈供应链管理SCM的五大功能

热门文章

  1. SAP那些事-生产订单结算规则修改
  2. 成功解决pyinstaller打包时报错:lib not found的问题
  3. 【Android】achartengine的柱状图和饼状图的使用
  4. 陈莉君教授: 回望踏入Linux内核之旅
  5. Detecting Causality in Complex Ecosystems(检测复杂生态系统中的因果关系)
  6. C++面向对象(二) Complex对象
  7. 过滤器(Filter)解决跨域问题
  8. atitit..国富论 在现代it企业项目管理中的作用attialx 总结---国富论读后感 attialx...
  9. 前端职业规划-写给年轻的前端韭菜们
  10. 没有基础学习java编程,去培训机构怎么样?