用户: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:
这时候,就轮到我们for派上大用场啦!我们需要重复执行a次,每次i+1,使b=b*i。先来带大家了解一下for重复循环语句的格式:
是不是被惊到了噢,看起来非常奇葩难懂对不对?for语句的格式是这样的:for(重复执行次数){}大括号里面就是你要填的代码了。再来解释一下()里面的内容吧:定义一个变量i,将1赋值给i,每次+1,规定条件是重复执行到i>a为止。也就是说,要执行1~a次,我们则可以简便地看成重复执行a次,也就是说,{}里面的代码会被执行a次。然后,我们继续续写代码:
神奇!震惊!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的值:
大功告成,哦耶!各位看官们不信的话,可以去试验一下傲!虽然有些难懂,但是努力学习还是可以打败这位for将军哒~毕竟不是每个人都像我这么天资聪颖啊哈哈哈哈(请屏蔽这位已经自恋到疯了的奶茶)
那么我们下次再见,奶茶睡觉去喽!!!
