C语言基础:while与do while
在第一章中我们已经简单学习了关于使用while语句来实现循环的操作,现在我们来详细讲述关于while语句的循环方式和do while语句的循环方式。
一、whlie循环
while循环语句是C语言中最基本的循环方式,它的语法结构如下:
while (条件表达)
{
//循环体
}
while是C语言的一个关键字,其后是使用一个小括号中的条件表达式来做为执行循环的条件,也就是说当条件表达式的结果为真时执行大括号里面的的程序内容,而当条件表达式的结果为假时不执行大括号中的内容。其实这与if语句的语法有些类似,当条件表达式为真时if后的执行程序只执行一次,而while则会循环执行下去,直到条件表达式的结果为假时结束。
我们来看一个关于whlie循环的简单例子,显示1到31天的日期:
int day = 1;
while (day <= 31)
{printf("%d\n", day);day++;
}
这个程序中while语句的条件表达式为day <= 31也就是说当day的值小于等于31时,程序会循环执行大括号中的内容(循环体),循环体中有两条语句,第一条语句是执行一个标准输出,显示day的值,而第二条语句day++;非常重要,它表示将day的值在原来的基础上加一,当这条语句执行后,程序又将回到条件表达中进行真假判断,如果为真则继续循环,如果为假则结束循环。
例如在开始while语句时,day的值为1所以day <= 31的结果为真,于是进入第一次循环,显示day的值1,并将day的值加1;程序再次进入条件判断,day的值为2,所以day <= 31的结果为真,进入第二次循环,显示2,并将day的值加1;程序再次进入条件判断...如此重复执行31次,day的值为32,程序再次进入我条件判断,day <= 31的值为假,于是不再进入循环体,while循环语句结束。
二、do while语句
与while类似,do while语句也同样是用于完成程序循环的一种方式,它的基本用法如下:
do
{
//循环体
}
while (条件表达式);
大家可以注意到do while语法与while有一些类似,也有一些不同,类似的地方是它同样有循环体和条件表达式,但执行顺序与while不同,do while是先执行一次循环体之后再进行条件判断。
注意,在do while语句的条件判断后要加上一个分号;表示语句的结束。我们还是用显示31天的例子来学习这个语法:
int day = 1;
do
{printf("%d\n", day);day++;
}
while (day <= 31);
程序在执行的过程为:首先进入第一次循环显示1并将day的值加1,然后做条件判断day有值为2,于是day <= 31的结果为真,返回到do后面的循环体进入下一次循环...直到day的值为31时,printf显示出31,然后day的值加1,然后做条件判断,day的值为32,于是day <= 31的结果为假,结束循环。
三、细微差别
接下来我们来看一看关于while语句和do while语句的细微差别。do while语句在在执行时无论条件表达式的结果是真还是假,都会执行一次循环体,然后再进行条件判断。例如我们分别写这样两段程序,它们的执行结果是不一样的,请读者自己体会这两种循环的差别,并自己动手编写程序。
使用while执行循环:
int i = 0;
while (i < 0)
{i++;printf("%d\n", i);
}
执行0次循环,没有运行结果;
使用do while执行循环:
int i = 0;
do
{i++;printf("%d\n", i);
}
while (i < 0);
执行1次循环,运行结果为0。
欢迎关注公众号:编程外星人
C语言基础:while与do while相关推荐
- 【python语言基础】疑难点整理2
[python语言基础]疑难点整理1 第五章 在python语法中,循环体中的语句没有做限制,因此,可以是任何合法语句,当然也可以是循环语句.这样就形成了循环语句的嵌套. while循环语句和for循 ...
- r语言 断轴 画图_R语言基础画图/绘图/作图
R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...
- fig r函数_R语言基础绘图函数散点图~跟着Nature Communications学画图~Figure1
今天继续 跟着Nature Communications学画图系列第二篇.学习R语言基础绘图函数画散点图. 对应的 Nature Communications 的论文是 Fecal pollution ...
- 学单片机需要多少C语言基础,C语言单片机编程教程
很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...
- %3c- r语言运算符,R语言基础教程之运算符
原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...
- c++把数组所有元素剔除_C语言基础之数组,第一节,C语言必学知识点剖析
本文约1600字,主要讲了C语言基础之数组.数组又可分为数值数组.字符数组.指针数组.结构数组等各种类别.本文主要讲了数组的基础概念,一维数组的定义和引用. 带你进入C语言的世界,入门C语言,后边将持 ...
- matlab语言实验二,实验二 MATLAB语言基础
实验二 MATLAB 语言基础 一.实验目的 基本掌握 MATLAB 向量.矩阵.数组的生成及其基本运算(区分数组运算和矩阵运算).常用的数学函数.了解字符串的操作. 二.实验内容 (1) 向量的生成 ...
- R语言基础知识详解及概括
R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建
- 实验四 数据库SQL语言基础编程
-- 实验四 数据库SQL语言基础编程 -- 实验目的: -- 掌握数据库查询语句的编写方法 -- 掌握利用查询语言完成基本查询 -- 掌握利用SQL语句完成数据的添加.删除.修改操作 -- 实 ...
- 数据分析必备:掌握这个R语言基础包1%的功能让你事半功倍!(附代码)
来源:大数据 本文约7100字,建议阅读15分钟. 本文介绍了utils包在R语言基础的用途. [ 导读 ]无论数据分析的目的是什么,将数据导入R中的过程都是不可或缺的.毕竟巧妇难为无米之炊.util ...
最新文章
- 如何通过DICOM的tag来判断3D图像的方向
- vim比vi做的一些改进
- 分布式认证方案-基于session的认证方式
- 使用application log 分析navigation target解析错误
- java传值和通过引用传递
- 关于argc和argv的输出
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用
- 难道网上就没有真正完全无误的Postfix教程了吗?
- java 预览图片_jquery实现图片预览的方法
- mysql关闭显示无权限_如何关闭mysql远程登录权限
- Qt总结之八:绘制仪表盘
- 手写SpringIOC注解版本
- 以太网交换机erps学习记录
- 乌班图 修改ip_Ubuntu配置和修改IP地址
- [ 笔记 ] 计算机网络安全_4_网络扫描和网络监听
- crash report for adobe photoshop cc 2019
- php 文字水印换行,thinkPHP5图片加文字水印实现换行的方法
- android教案,android教学教案.doc
- kill命令详解kill -9、kill -15区别
- latex缩进与对齐_latex 换行后缩进