c语言用while和if颠倒整数,【连载】(循环执行语句while和if)乐创DIY C语言讲义​——3.8节(3)...

214176170_1_20210127081637115_wm

214176170_2_20210127081637522

2 循环执行语句

计算机有一个强大的能力,快速地重复执行某一计算,这种重复计算多次的方法,是通过软件中的循环执行语句去实现的。C语言中实现循环语句结构的方式有三种,第一种为“for”循环,第二种为“while”循环,第三种为“do……while”循环。不管是那种循环,其循环的方式都是类似的,即在某一条件成立的情况下(为True,或者非0),某一范围内的某条或某几条语句就会被一次循环执行,循环执行语句的示意如图3-8-7所示。

214176170_3_20210127081637569_wm

图3-8-7 循环执行语句

(1)while循环

while语句的一般使用形式为:

while(判断条件)

{

执行语句;

}

其中判断条件可以为表达式,也可以是一个变量,只要表达式或者变量不为0,那么while后面的执行语句将一直被循环执行。如果while条件后面只跟随一句执行语句,那么while后面的一对“{}”可以不加。

例如,当我们需要连续打印出1到100的时候,用while语句即可轻松实现,其实现代码如图3-8-8所示。

214176170_4_20210127081638115_wm

图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所示。

214176170_5_20210127081638537_wm

图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所示。

214176170_6_20210127081638756_wm

图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)的大循环使芯片里面的程序连续运行的。

214176170_7_20210127081638912_wm

图3-8-11 按键字符判断

(2)do……while循环

do……while语句,在一些书上也称作do语句,它很像while语句,只是它的运行条件判断,要在循环体执行完一次之后再去判断。所以,这种结构的循环体至少会被运行一次,下面是它的语法。

214176170_8_20210127081639243

既然while和do……while的用法很相似,那我们如何在它们之间进行选择呢?

当需要循环体至少执行一次的时候,选择do。

比如,还是一个按键判断的程序,当输入的字符不为小写字母“k”的时候,将这个数字打印出来,如果是小写字母“k”就退出程序,打印出good bye。这个程序由于要求我们对输入的第一个字符就需要判断,因此在不用break和while(1)的情况下,我们可以直接使用do……while的形式来完成。其代码如图3-8-12所示。

214176170_9_20210127081639506_wm

图3-8-12 字符判断程序

(3)for循环

C语言中,for循环语句是while循环语句的一种简化方法,for语句的一般形式为:

214176170_10_20210127081639584

通过上几小节的练习,我们发现一个规律,即有限次数的循环程序,一般都会定义一个控制循环次数的变量,而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所示。

214176170_11_20210127081639756_wm

图3-8-13for语句寻找能被3整除的数

图3-8-13,for语句后面的三个表达式分别为:

初始条件:i = 1;

判断条件:i <= 1000;

调整语句:i ++;这里的i可以根据需求自行调节。

循环控制语句后面我们在实际使用中会频繁用到,因此后面让我们来慢慢探索。

214176170_13_20210127081640287_wm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样查看电脑系统版本_用什么软件查维修记录 思域HATCHBACK怎样查询维保记录_汽车事故车查询...

请点击上方快速关注思域HATCHBACK很火。这款被誉为“国产Type R”的思域HATCHBACK版本在三厢车的基础上&#xff0c;集成了更运动化乃至更具战斗感的套件包围、中置排气和手动变速箱。对于本田粉、改装粉、操控粉们而言&#xff0c;“C位客信仰落地”的名言&#xff0c;就像是火…

安卓4.4.4安装哪个微信版本_??微信又更新!暗黑模式可独立设置,新增群接龙固定入口...

前段时间微信支持设置暗黑模式引起了大众的关注&#xff0c;但有小伙伴表示&#xff1a;为啥微信不能单独设置&#xff0c;要随系统变化&#xff1f;这下好了&#xff0c;微信安卓版发布7.0.15内测版本&#xff0c;私信「安卓内测版」即可获取。可以看到&#xff0c;本次内测更…

某系统有6台输出设备 有多个进程均需要使用2台_系统设计硬核知识(4)——操作系统的设备管理...

在计算机系统中&#xff0c;除了处理器和内存之外&#xff0c;其他的大部分硬设备称为外部设备。它包括输入/输出设备&#xff0c;辅存设备及终端设备等。这些设备种类繁多&#xff0c;特性各异&#xff0c;操作方式的差异很大&#xff0c;从而使操作系统的设备管理变得十分繁杂…

esp8266单片机透传_基于WeMos D1(ESP8266)的校园卡门禁系统

刷卡https://www.zhihu.com/video/1107591334902345728电脑端控制https://www.zhihu.com/video/1107591363079733248手机端控制https://www.zhihu.com/video/1107591388040052736一、项目背景随着网络技术和嵌入式技术的发展&#xff0c;物联网开始引领新一波热潮。制作这个项目…

c语言调用android surface,Android GUI SurfaceFlinger

本文涉及的源代码基于 Android-7.1.1r。一、Android GUI 框架SurfaceFlinger 是 Android GUI 的核心&#xff0c;但是从 OpenGL_ES 的角度来看&#xff0c;它也只是个“应用程序”。Android 的显示系统大致框架图下图所示&#xff1a;GUI_STRUCT.png下面就“由下向上”来逐一分…

bat 取得服务列表_解读浩泽净水2018业绩:稳定增长背后的服务深化和科技跃进...

北京时间3月26日凌晨&#xff0c;苹果以一场没有任何硬件亮相的“软”发布会&#xff0c;宣告公司将向服务转型&#xff0c;欲以可持续的服务收入抵消iPhone遭遇的增长瓶颈。此举在大洋彼岸的中国引发了热烈反响。分析师们普遍认为苹果在“偷师”中国的BAT等互联网企业&#xf…

c语言实现多目标优化,MOPSO 多目标例子群优化算法

近年来&#xff0c;基于启发式的多目标优化技术得到了很大的发展&#xff0c;研究表明该技术比经典方法更实用和高效。有代表性的多目标优化算法主要有NSGA、NSGA-II、SPEA、SPEA2、PAES和PESA等。粒子群优化(PSO)算法是一种模拟社会行为的、基于群体智能的进化技术&#xff0c…

软件工程结构化建模的方法和工具_软件工程导论知识点梳理之概念题

1. 软件的定义&#xff1a;软件是程序、数据及开发、使用和维护程序需要的所有文档的完整集合。例&#xff1a;在信息处理和计算机领域内&#xff0c;一般认为软件是程序、文档和数据。2.软件的分类&#xff1a;按照应用场景&#xff1a;系统/应用软件按照功能&#xff1a;服务…

xcode w情ndows版,xcode Windows版安装使用介绍

在Windows安装xcode进行开发iOS应用可以省去昂贵的苹果机、体验虽然没那么好&#xff0c;但也能用。现在也有很多APP跨平台开发工具&#xff0c;在Windows就能完成开发测试&#xff0c;但上架iOS APP还是得要Mac苹果电脑去申请iOS证书和上传IPA到App Store。苹果电脑价格昂贵&a…

esp mounter pro_对比 | 以大欺小?剑指宋Pro和哈弗H6,欧尚X7的黑马潜质从何而来?...

随着近几年国内SUV市场的火爆&#xff0c;各个品牌也都先后推出并持续更新着自家的紧凑型SUV产品&#xff0c;目前在该细分领域里&#xff0c;哈弗H6一直都是稳居榜首的存在&#xff0c;作为后起之秀的比亚迪宋Pro则紧随其后。但在长安发力战略布局后&#xff0c;长安欧尚X7便以…

randomized algorithms 有哪些_毛毯分类有哪些 毛毯的种类

毛毯分类有哪些 毛毯的种类毛毯分类有哪些 毛毯的种类 a)毛毯分为双人毛毯、单人毛毯、童毯等多种规格。 b)按用途还可以床毯、膝毯、沙滩毯等。 c)毛毯还可以进行特殊整理:阻燃毛毯、防菌整理、负离子整理等等。 d)下面我按织造方式进行介绍: 一.机织毛毯 1.按原料分 羊毛毛毯…

floodlight ovs 更改拓扑_淘宝更改类目降权多久?被降权了怎么办?_推广运营(淘宝天猫)...

现在淘宝 (淘宝论坛)店主在经营店铺的过程中&#xff0c;会考虑将自己特别店铺进行类目的更改&#xff0c;那么也有一点店主会担心到如果淘宝更改类目会被降权吗?如果被降权了怎么办呢?那就一起了解具体的内容吧!跟大家分享一些淘宝宝贝被降权的处理方式&#xff1a;1、虚假销…

android 事务管理软件,安卓 Android基于安卓移动终端的个人事务管理系统

摘 要随着移动平台的崛起&#xff0c;越来越多的传统PC软件被移植到移动平台&#xff0c;比如ipad&#xff0c;iphone&#xff0c;Android等智能终端设备&#xff0c;在这些平台中&#xff0c;Android占领着最大的市场份额&#xff0c;所以为Android用户开发满足日常使用的软件…

word无法打开请去应用商店_word软件是什么?word文档是什么?可以用来干什么?...

1、为什么需要Microsoft Word&#xff1f;仅在计算机上安装操作系统不足以提高生产力。无论是创建电子表格&#xff0c;演示文稿&#xff0c;电子邮件还是文档&#xff0c;您都需要软件来执行所需的任何活动。Microsoft Word用于创建文档或您需要存储文本的任何内容。如果您购买…

android四个按钮平分,android 水平平分两个按钮

项目中需要显示水平两个按钮&#xff0c;且都要有间距&#xff0c;如下图所示&#xff1a;首先我想到的是使用权重&#xff0c;然后利用水平布局&#xff0c;这样应该可以实现&#xff0c;但真实的情况是这样的&#xff0c;代码如下&#xff1a;android:layout_width"fill…

iPhone清理喇叭灰尘_iphone正确清理扬声器灰尘的方法

夏天来临各种各样的手机问题就都出现了&#xff0c;手机发热已经成为了热议话题&#xff0c;网上的妙招也是层出不穷甚至有销售水冷装置风扇手柄的&#xff0c;或者diy给手机加铜钹&#xff0c;又或者使用石墨烯等等的方法&#xff0c;但还是避免不了发热&#xff0c;除手机发热…

Android搭建web,Android手机搭建WEB环境

原文&#xff1a;http://yangshare.com/Y-BLOG/?p246#more-246准备1、下载Android处理器对应的jdk包&#xff0c;类似树莓派archandroidlocalhost:~$ archarmv7l下载地址&#xff1a;jdk-8u152-linux-arm32-vfp-hflt.tar.gz2、安装一个xftp或者宝塔面板这样的文件操作工具xftp…

qq浏览器网页版_QQ邮箱回应部分用户登录异常:系后台服务波动,问题已解决...

5月6日消息&#xff0c;针对用户反映QQ邮箱登录异常情况&#xff0c;腾讯QQ邮箱官方回应称&#xff0c;因后台服务波动&#xff0c;部分用户出现登录异常情况&#xff0c;目前问题已解决。5月6日上午&#xff0c;有网友反映QQ邮箱崩溃&#xff0c;换浏览器依然无法登录&#xf…

android nfc ndef mifareclassic,Android NFC开发-实践篇

Android NFC开发-实践篇https://blog..net/_GYG/article/details/72899417在Android NFC开发-理论篇中&#xff0c;我们了解了在Android中开发NFC的一些理论知识&#xff0c;这篇我们继续应用我们上一篇学到的知识&#xff0c;实现对NDEF格式标签和MifareClassic格式标签的读写…

苹果6换屏多钱_苹果手机屏幕碎了怎么办?维修更换要多少钱

手机在使用过程中最容易发生的意外就是手滑摔碎屏幕了&#xff0c;那么苹果手机屏幕碎了碎了&#xff0c;维修更换要多少钱&#xff1f;大家都知道&#xff0c;苹果手机摔坏&#xff0c;进水均属于人为损坏&#xff0c;人为损坏不属保修范围&#xff0c;接下来针对苹果手机屏幕…