猫史档案馆


【趣玩C++&编程一小时】while大军来袭,请注意!

用户:QwQ奶茶QwQ奶茶查看:0 回复:5 评论:0 创建时间:2018-12-05T13:22:32


Hallo各位看官们大家好

这里是CC栏目——一个专门为学习C++而准备的节目

我是主持人QwQ奶茶

已经拖了一个月的教程

真的很对不住大家啊……

于是奶茶就找了一个很真实的理由:

实在找不到while的题目,没法讲评啊!

经过上一期的学习,你们是否掌握了for的小知识呢

下面,让我们一起学习和for类似的知识——while

1.课程背景

“天啊,刚刚打发走了for小精灵,又来了一位更高级的家伙!”阿短叫苦连天,大叫起来。

编程猫一昂头,问:“是while大将军吗?”

“正是那一位!”阿短悲催地回答,泪流满面。“也是循环将军之一,只是更加高级,呜呜呜……”

“可是,”编程猫很快想起了while将军的弱点,“只要()里的代码不为真,他就失败了呀!”

“真的吗……”

 

2.了解一下while

while是计算机的一种基本循环模式。while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断 。while语句的一般表达式为:

while(表达式){ 循环体 }

 

3.实战练习

因为while的题目实在少得可怜,奶茶找不到样例题目,所以这一次我们还是做上一期的题目。只不过,上一期我们是用for来解决,这一期我们用while解决。

先为大家重复一遍题目:输入一个数n,输出n!的值。我们先来了解一下,n!是什么意思?在C++里面,!既有否定的意思,又有阶乘的意思。阶乘就是指:1*2*3…*n,而我们就需要求出n的阶乘。

先定义一个整数变量sum=1,因为若不定义,sum的值会变成一堆乱码;然后,定义n,表示我们要输出的那个数字;最后,定义i=1,作为我们的阶乘,如果是0,0乘任何数字都得0;然后输入n。

center_image

接下来,有了n,我们就要开始精彩的while旅行了。先打一段while的代码,并且在while的后面加上一对(),在()里面填入表达式。为什么呢?因为,在()里面我们填入的表达式就相当于一个标准,只要达到了这个标准,{ }里面的内容才能继续执行。

我们在()里面填入i<=n是什么意思?其实,接下来while里面的代码我们需要每次i++,必须给i一个限制,必须<=n才能执行,不然永远也没法结束。

center_image

接下来,我们开始在while里面填写代码。这又是什么意思呢?举个例子吧:假设n=5,现在i<=5,sum=1,sum=1*1=0,然后i+1变成2;再来判断,i是否<=5,2<=5是正确的,所以再来一次执行,sum=1,1*2=2,所以sum变成2,i又变成3……以此类推,直到i=5,i<=5,所以执行,现在sum=24,24*5=120,sum变成120,而i变成6;判断()里面是否为真,i=6,6>5,所以结束while循环。

center_image

最后,sum已经变成了1*2*3*4*5的结果120,也就是5的阶乘,然后输出sum的值:center_image

然后,大家可以尝试一下5的阶乘是否等于120,执行以下代码试试看噢!你还可以多试验几次,提高正确率。如果结果出错i,可能是你那个部分的代码出现了差错,可以检查一下。

center_image

如果你输入5,最终输出的结果是120,那么恭喜你,成功战胜了w'hile大将军,哎嗨!

那么我们——下次再见,爱你们的奶茶!


回复

上一页1 页 / 共 1下一页
奇葩的气泡o_O奇葩的气泡o_O

emotion_编程猫_点赞

点赞0


评论


Python新世界Python新世界

emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞

点赞0


评论


活动喵活动喵

恭喜 QwQ奶茶发布编程一小时帖子/作品一篇,个人积分+2,积分累计截止到12月9日,活动详情请查看链接: https://www.codemao.cn/community/167979
再接再厉,活动喵相信你能成功带回奖品!

点赞0


评论


QwQ奶茶QwQ奶茶

点赞0


评论


伦敦西区肯辛顿富人区名富商大天才煊伦敦西区肯辛顿富人区名富商大天才煊

考古学家

点赞0


评论