java while语句打印三角形_【连载】(循环执行语句while和if)乐创DIY C语言讲义——3.8节(3)...
文 | Edward
2 循环执行语句
计算机有一个强大的能力,快速地重复执行某一计算,这种重复计算多次的方法,是通过软件中的循环执行语句去实现的。C语言中实现循环语句结构的方式有三种,第一种为“for”循环,第二种为“while”循环,第三种为“do……while”循环。不管是那种循环,其循环的方式都是类似的,即在某一条件成立的情况下(为True,或者非0),某一范围内的某条或某几条语句就会被一次循环执行,循环执行语句的示意如图3-8-7所示。
图3-8-7 循环执行语句
(1)while循环
while语句的一般使用形式为:
while(判断条件)
{
执行语句;
}
其中判断条件可以为表达式,也可以是一个变量,只要表达式或者变量不为0,那么while后面的执行语句将一直被循环执行。如果while条件后面只跟随一句执行语句,那么while后面的一对“{}”可以不加。
例如,当我们需要连续打印出1到100的时候,用while语句即可轻松实现,其实现代码如图3-8-8所示。
图3-8-8 while循环打印
图3-8-8代码中,i定义完成之后,赋初值为1,“i <= 100”是一个判断条件,只要这个表达式为1,即条件成立,那么代码就一直会把“i”打印出来,而变量i每次在打印完成之后,就对自己加1,这样,当执行99次之后,i=100,此时“i <= 100”这个条件还是成立,进而再执行一次“i+1”,此时i=101了,再去判断“i<=100”已经不成立了,因此while循环最终退出。
当然,C语言在设计之初就设计了循环的退出机制,“continue”和“break”就是循环退出机制的两个关键词。这两个关键词虽然都可以使while循环中断退出,但是其效果和功能有着非常大的区别。“break”关键词是让整个while循环彻底退出,而“continue”关键词是让本次的循环中断运行,进而进行下一次while的循环以决定这个循环需不需要继续执行下去。关于“continue”关键词我们可以做一个简单的程序来说明一下其功能。如图3-8-9所示。
图3-8-9 continue关键词
这个程序的主体和图3-8-8中的代码一样,只不过加了一个判断条件,当i加到5的时候进行判断,直接给变量i赋值200,之后再运行continue语句,由于continue语句执行了,因此循环在此处就中断了,直接进行while条件的判断,而此时下面的printf语句也就不会被执行了。在while的判断下,发现此时“i <= 100”这个条件不成立了,因此退出了while循环。
利用while循环和continue的组合,我们还可以做很多有趣的程序,如,找出1~1000中所有能被3整除的整数。程序代码如图3-8-10所示。
图3-8-10 找出1000以内能被3整除的数
而break的语法就是直接退出整个while循环,我们可以写一个软件来验证这个while的用法,做一个键盘字符获取程序,程序平时一直在等待按键输入,并将按下的按键打印出来,直到当按下小写字符“k”的时候,程序打印出goodbye并且退出。如图3-8-11所示,此时while的判断条件是一个常数1,因此可以说while在任何情况下都不会退出,但是一旦当获取到的按键为“k”,此时if判断语句中的条件就成立,运行break语句,最终打印出good bye,并且退出while(1)这个循环。可能做纯软件的读者会觉得我这里的while(1)用的非常荒唐,再怎么样也要写一个退出条件比较考究,但是在很多的裸机系统中,就是通过一个while(1)的大循环使芯片里面的程序连续运行的。
图3-8-11 按键字符判断
(2)do……while循环
do……while语句,在一些书上也称作do语句,它很像while语句,只是它的运行条件判断,要在循环体执行完一次之后再去判断。所以,这种结构的循环体至少会被运行一次,下面是它的语法。
既然while和do……while的用法很相似,那我们如何在它们之间进行选择呢?
当需要循环体至少执行一次的时候,选择do。
比如,还是一个按键判断的程序,当输入的字符不为小写字母“k”的时候,将这个数字打印出来,如果是小写字母“k”就退出程序,打印出good bye。这个程序由于要求我们对输入的第一个字符就需要判断,因此在不用break和while(1)的情况下,我们可以直接使用do……while的形式来完成。其代码如图3-8-12所示。
图3-8-12 字符判断程序
(3)for循环
C语言中,for循环语句是while循环语句的一种简化方法,for语句的一般形式为:
通过上几小节的练习,我们发现一个规律,即有限次数的循环程序,一般都会定义一个控制循环次数的变量,而for循环语句中的表达式1为初始化部分,即我们可以对定义的这个控制循环次数变量进行初始化。表达式2为条件部分,当表达式2成立的时候(True,非0),for循环一直运行下去,一旦当表达式2的条件不满足,则退出for循环。表达式3为调整部分,它在每一次循环体运行完成一遍之后,都会执行表达式3。与while循环一样,在for语句中,也可以使用break语句和continue语句来中断循环。
如我们需要找出1~1000中所有能被3整除的整数,除了图3-8-10中用while循环的程序外,还可以用for语句来实现。如图3-8-13所示。
图3-8-13 for语句寻找能被3整除的数
图3-8-13,for语句后面的三个表达式分别为:
初始条件:i = 1;
判断条件:i <= 1000;
调整语句:i ++;这里的i可以根据需求自行调节。
循环控制语句后面我们在实际使用中会频繁用到,因此后面让我们来慢慢探索。
java while语句打印三角形_【连载】(循环执行语句while和if)乐创DIY C语言讲义——3.8节(3)...相关推荐
- c语言 判断一个图是否全连通_【连载】(判断执行语句)乐创DIY C语言讲义——3.8节(2)...
2 判断执行语句 判断执行语句,执行时候会有一个条件判断,一旦当条件判断为真,即True的时候,就执行相应的语句,满足条件被执行的语句用大括号"{}"括起来.由于在C语言中没有用于 ...
- 程序实现switch语句判断年龄_【回顾】(选择执行语句if else和switch)乐创DIY C语言讲义——3.8节(4)...
文 | Edward 4 选择执行语句有些时候,我们希望程序既不顺序执行,也不只做单一的判断(代码运行还是不运行),很多时候,我们往往只希望对某一个条件的不同状态分别执行不同的语句,这样就 ...
- 乐创杯c语言大赛形式,【连载】(学了这么多年C语言,你真的了解static关键词吗)乐创DIY C语言讲义——4.4节...
文 | Edward 4.4 变量的补充 前面内容中,我们已经讨论了变量的定义,但是由于函数的概念还没有引入,因而这是不全面的,本节开始,我们再来补充一些变量的其他内容,这就相当于对变量这个概念的重新 ...
- java while语句打印三角形_小猿圈Java循环嵌套语法的使用介绍
Java是一直被程序员使用的程序之一,而且应用也是最广泛的一个,很多应用中都会用得到,小猿圈java讲师就为你介绍一下Java循环嵌套语法的使用介绍,希望对你有所帮助. 嵌套循环是指在一个循环语句的循 ...
- python循环语句打印三角形_如何使用python语言中的语句遍历循环生成三角形
在python语言中,除了使用if语句,还可以使用while循环语句,利用多层循环生成不同的图形,如果在特殊位置中断,可以创建不同的图形.下面利用实例说明如何生成三角形,操作如下: 工具/原料 pyc ...
- python循环语句打印三角形_三角形最新:Python利用for循环打印星号三角形的案例_爱安网 LoveAn.com...
关于"三角形"的最新内容 聚合阅读 这篇文章主要介绍了Python利用for循环打印星号三角形的案例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧... 这篇文章 ...
- Java打印三角形(双层for循环)
Java打印三角形(双层for循环) 1.第一个三角形: 打印样式: 外层for循环控制行数,内层for循环控制"*"的个数 public static void demo01() ...
- java while语句打印三角形_java基础之五小节带你走进java流程控制—多重循环
四.多重循环 在一个循环语句内部再嵌套一个或多个循环,称为多重循环/嵌套循环.while.do-while与for循环可以任意嵌套,可以嵌套任意多层.一般工作中多见的就是两层. 4.1 多重循环 打印 ...
- java while语句打印三角形_Java 循环结构
for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: while 循环 do-whi ...
最新文章
- oracle 10g 用户管理笔记
- Building credit scorecards using SAS and Python
- 价值上亿元的IT机房,都有哪些设备?
- servlet多线程
- zigbee协议_智能家居的ZigBee到底是什么?和Wi-Fi有何区别?
- 导师带学生卡Bug,这波操作~
- mysql数据库内置函数大全_(MariaDB)MySQL内置函数大全
- html是什么型语言,HTML笔记
- java监听器演示样例
- OGNL表达式语言详解
- python实现搜狗新闻挖掘(一)
- ORA-29339: tablespace block size 32768 does not match configured block sizes
- onBlur和onChange冲突解决方法
- (附源码)node.js学生钟点工管理系统 毕业设计 290011
- SNARK超详细解释,从GGPR13到Groth16
- php ean13,php生成EAN_13标准条形码实例_PHP教程
- 手工安装oracle的JVM包
- python使用列表,快速获取1到10的平方
- 华为发布BB智能观影产品:Vision Glass
- C语言学习记录——鹏哥二分法查找数组中元素 复习整理