while循环语法结构
1 循环语法结构
“循环”这个词在我们日常生活中经常遇到,例如:循环播放某一首歌曲;就是一直在做某一件事情,重复地做某一件事情。那么,在C语言中,提供了“循环”控制语句,也是一样的道理,就是重复做某一件事情。
例如,当我们循环播放某一首歌曲,听腻了的时候,我们可以选择停止播放。所以,对于“循环”控制语句,也应该提供“停止循环”的机制。
计算机程序的优点,就是可以循环、不停地做某一件事情,所以,在程序设计中,循环控制是一种非常重要的控制语句。C语言提供了多种循环控制语句,下面我们一一来学习。
2 while语句
在C语言中,提供了while语句来进行循环控制。它的格式如下:
while(表达式) 循环语句;
该语句的执行流程是:
(1)步骤一:判断小括号中的表达式的值,如果表达式的值为真,则执行while后面的循环语句;如果表达式的值为假,则不执行循环语句,而且结束while语句的执行;
(2)步骤二:如果表达式的值为真,执行完循环语句之后,回到步骤一继续循环判断执行;
while语句的执行流程可以如下图所示:
所以,可以看到,如果表达式的值为真,那么,就一直执行循环语句。直到表达式的值为假的时候,才结束while()语句。如下是一个程序测试例子:
程序运行的结果如下:
我们来分析一下这个测试例子的执行过程:
- 定义 int 类型变量 i,它的值为3;
- 执行while(i--),那么,i--表达式的值是i变化之前的值,所以,i--表达式的值为3,此时,表达式的值为非0,所以,为真,执行循环语句。所以,执行循环体的循环语句:
printf("i = %d\n", i); //循环体执行的语句
输出i的值;由于已经执行了i--,所以,i变量的值为2,所以,输出 i = 2;
- 继续执行while(i--),此时,i的值为2,那么,i--表达式的值为i变化之前的值,所以,i--表达式的值为2;是非0值,所以,为真,继续执行循环语句,输出i变量的值;由于执行了i--,所以,i变量的值为1,所以,输出i = 1;
- 继续执行while(i--),此时,i的值为1,那么,i--表达式的值为i变化之前的值,所以,i--表达式的值为1;是非0值,所以,为真,继续执行循环语句,输出i变量的值;由于执行了i--,所以,i变量的值为0,所以,输出i = 0;
- 继续执行while(i--),此时,i的值为0,那么,i--表达式的值为i变化之前的值,所以,i--表达式的值为0;是0值,所以,为“假”;此时,while(表达式)中的表达式的值为“假”,那么,就结束while循环的执行。
所以,就不执行循环语句,而且结束while循环语句。
那么,我们可以总结,对于while循环语句,如果while(表达式)中的表达式值为真,那么,就执行循环语句。如果表达式的值为假,就不执行循环语句,而且结束while语句的执行。
在上面的例子中,我们执行的循环语句只有一条,那么,如果想要循环执行多条语句,应该怎么样?
如果要想循环执行多条语句,可以使用大括号{}把多条语句包含起来,作为while循环的执行体,那么,就可以循环执行多条语句,定义的格式如下:
while(表达式)
{
循环语句1;
循环语句2;
…
循环语句N;
}
那么,就有:
- 如果表达式的值为真,就执行大括号{}定义的循环体,执行循环体中定义的循环语句;执行完循环体中的循环语句之后,继续判断表达式的值。
- 如果表达式的值为假,就不执行循环体中的循环语句,而且结束while语句的执行。
while循环语法结构相关推荐
- while 循环语法结构
1. while 循环语法结构 while 当...的时候// while (条件表达式) {// // 循环体// }// 2. 执行思路 当条件表达式结果为true 则执行循环体 否则 退出循环/ ...
- C语言详解系列——循环语句详解(3)do while语句的语法结构
文章目录 do while语句 do while语句中的break和continue break continue do while语句与while语句的不同点 简单练习 do while语句 之前的 ...
- C语言详解系列——循环语句详解(1)while语句的语法结构
文章目录 while语句 break continue while语句 之前的学习中我们了解到了if语句的用法,这个语句只会执行一次,但在我们的生活当中有许多事情是需要重复去做的,那我们应该怎么实现呢 ...
- 数据结构与算法:02 C#语言基本语法结构
02 C#语言基本语法结构 知识结构: 1.数据类型 第一种分类: 简单数据类型:byte.short.int.long.float.double.char.bool 组合数据类型:struct.en ...
- 【MATLAB】流程控制 ( 循环结构 | for 循环 | while 循环 | 分支结构 | if end 分支结构 | if else end 分支结构 | switch case 分支结构 )
文章目录 一.MATLAB 流程控制结构 二.for 循环 1.for 循环 2.嵌套 for 循环 三.while 循环 二.分支结构 1.if end 分支结构 2.if else end 分支结 ...
- PHP条件语句总结,PHP 条件语句基本语法结构
php中条件语句就if else与swicth及三目运算符了,下面我来给大家介绍这些条件语句的一些语法吧. if单分支的基本语法结构 if(条件表达式){ //执行语句; } if双分支 基本语法结构 ...
- Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] Python基础day02 作业解析[6道 if 判断题.9道 循环题] 学习目标: 能 ...
- PHP 数组遍历 foreach 语法结构
来源:http://www.cnblogs.com/keta/p/6117237.html foreach 语法结构用于遍历数组. foreach() PHP foreach() 语法结构用于遍历操作 ...
- Tcl与Design Compiler (二)——DC综合与Tcl语法结构概述
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 1.逻辑综合的概述 synthesis = tra ...
- python while语法结构_python语法之流程控制(if while for)
一.python语法之流程控制 1.1什么是流程控制? 流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构).分支结构(判断).循环结构 ...
最新文章
- 初心大陆----python宝典(意外发生篇)
- matlab实现评价图像增强效果的参数——信背比(SBR)
- 从实验室到山寨,技术发展的普遍道路
- SQL中的left outer join,inner join,right outer join用法 (左右内连接)
- 440. 字典序的第K小数字
- 21 PP配置-生产计划-定义计划订单编号范围
- vim插件介绍(一)之Tabular
- JavaWeb框架基础
- 常用的网络操作系统有哪些?它们各具有什么特点?
- 怎么用微信打开qq连接到服务器地址,微信上能打开的链接如何在qq上打?
- Linux获取ring0权限,Ring0和Ring3权限级
- 一个简单的网页版钢琴(用到JQuery)
- LeetCode两个爬楼梯题目解析(动态规划)
- 计算机的键盘组合件,电脑组合键盘快捷键大全
- 深信服2019届校园招聘专场(私聊博主得内推码,免简历筛选)
- win10提示系统资源不足,无法完成请求服务的解决方法
- 信息无障碍的发展和技术实践
- 我们要理智使用计算机英语,新视野大学英语第四册(四级)期末复习重点单词词组句子...
- Unity SRP URP HDRP 的区别
- 浅谈供应链管理SCM的五大功能
热门文章
- SAP那些事-生产订单结算规则修改
- 成功解决pyinstaller打包时报错:lib not found的问题
- 【Android】achartengine的柱状图和饼状图的使用
- 陈莉君教授: 回望踏入Linux内核之旅
- Detecting Causality in Complex Ecosystems(检测复杂生态系统中的因果关系)
- C++面向对象(二) Complex对象
- 过滤器(Filter)解决跨域问题
- atitit..国富论 在现代it企业项目管理中的作用attialx 总结---国富论读后感 attialx...
- 前端职业规划-写给年轻的前端韭菜们
- 没有基础学习java编程,去培训机构怎么样?