猫史档案馆


【趣玩C++】for小精灵出来捣乱啦

用户:QwQ奶茶QwQ奶茶查看:8 回复:8 评论:8 创建时间:2018-11-06T21:35:15


Hallo各位看官们大家好

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

我是主持人QwQ奶茶

经过了上一期的学习,你们是否明白了C++的基本结构呢

那么今天,奶茶就要带给大家一个更高难度的挑战

不知道你们有没有信心呢?

加油!加油!加油!

1.课程背景

“编程猫,惨了惨了!”阿短有些慌张地跑到编程猫面前,只见他惊慌失措地向编程猫大喊。“邻国的大将派兵来攻打我们源码国了!怎么办啊!”

编程猫的嘴角微微勾起:“哦?不知是哪一位呢?”

“是大名鼎鼎的for将军,就是那位重复循环大将!”

编程猫的眼睛微微眯了起来:“很好玩,越强大的敌人才能引起我的兴趣,呵呵……”

 

2.了解一下for将军

C++中的for语句使用最为广泛和灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况。for语句的一般格式为:表达式1、表达式2、表达式3 。
for语句执行过程如下:
先求解表达式1,求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第)步。若为假(值为0),则结束循环,转到第(5)步。
求解表达式3:转回上面第(2)步骤继续执行,循环结束,执行for语句下面的一个语句。
for语句最简单的形式也是最容易理解的格式如下:
for:循环变量赋初值; 循环条件; 循环变量增值)

 

3.实战练习

在C++题库里面,有一道鼎鼎大名的题目:阶乘问题。让我们来了解一下这道题:输入一个数n,输出n!的值。听起来是不是有点复杂?先让奶茶教你一步一步来!

首先,我们先来了解一下,n!是什么意思?在C++里面,!既有否定的意思,又有阶乘的意思。阶乘就是指:1*2*3…*n,而我们就需要求出n的阶乘。!

先定义两个数字a和b,然后输入a。注意这里的b需要定义为1,否则0乘任何数还是0:

center_image

这时候,就轮到我们for派上大用场啦!我们需要重复执行a次,每次i+1,使b=b*i。先来带大家了解一下for重复循环语句的格式:

center_image

是不是被惊到了噢,看起来非常奇葩难懂对不对?for语句的格式是这样的:for(重复执行次数){}大括号里面就是你要填的代码了。再来解释一下()里面的内容吧:定义一个变量i,将1赋值给i,每次+1,规定条件是重复执行到i>a为止。也就是说,要执行1~a次,我们则可以简便地看成重复执行a次,也就是说,{}里面的代码会被执行a次。然后,我们继续续写代码:

center_image

神奇!震惊!b*=i是什么意思,天书么?当然不是了,*=在C++里面表示b=b*i,意思是把b*i的值赋值给原先的b,简单来说就是把b的值扩大i倍。因为一共会执行a次,刚开始i=1,b=b*1 。然后发现i仍然<=a所以继续+1,这一次b=b*2……接下来的规律依此类推。最后,a次循环结束后,输出b的值:

center_image

 

大功告成,哦耶!各位看官们不信的话,可以去试验一下傲!虽然有些难懂,但是努力学习还是可以打败这位for将军哒~毕竟不是每个人都像我这么天资聪颖啊哈哈哈哈(请屏蔽这位已经自恋到疯了的奶茶)

那么我们下次再见,奶茶睡觉去喽!!!

emotion_编程猫_谢谢老板


回复

上一页1 页 / 共 1下一页
QwQ奶茶QwQ奶茶

忽然发现有点短……

点赞0


评论


传说中的巨大佬传说中的巨大佬

我觉着吧...c++的环境也没几个能搭建的起来的....直接上来讲语法不是很合适...

还不如讲讲python ,至少编程猫这可以在线运行,不需要搭建环境...

 

点赞0


评论


bLockTheBlOcK块块bLockTheBlOcK块块

我早知道这是循环




因为别的语言里用变量技术循环也用for~

点赞0


评论


bLockTheBlOcK块块bLockTheBlOcK块块

cout《a+b
的作用是计算a+b并把结果打印出来对吧

点赞0


评论


霖雨暮风霖雨暮风

纠正一下下OωO

在函数内声明的局部变量的初始值是不确定

不一定为0

点赞0


评论


QwQ奶茶QwQ奶茶

下期预告:while大军来袭,请注意!

点赞0


评论


无情的AC自动鸡无情的AC自动鸡

for循环的变量出了循环就不可以使用了呢

点赞0


评论


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

考古学家

点赞0


评论