学习目标:90秒内 一气呵成 打完代码,并且运行正确,并且提交正确。
【题意】
输入整数n,求1+2+…+n的和,即s=1+2+3+4+…+n,输出s的值。
【程序结构】
for( 初始值;满足循环的条件;一次循环结束后做点什么)【帮助记忆】
1、for( ) 注意 )后面没有分号
2、for( ; ; ) 括号里面两个分号(把括号里面的空间分成三个部分,所以需要我们填代码填三个空。
看在大家第一次接触for,给大家讲个故事和展示的代码把~~~故事:小明背着空竹筐上山采蘑菇(唱着歌曲:采蘑菇的小男孩背着一个大竹筐,清晨光着小脚丫走遍……)
突然!发现前面一条笔直的路上,整齐的排着一排大树,样子如下:
小明——> -------大树1号---------大树2号---------大树3号---------………
突然,有个声音响起:大树底下有蘑菇哦,大树1号有1个蘑菇,大树2号有2个蘑菇,大树3号有3个蘑菇……………………
问:小明从 大树1号 走到 大树n号 总共可以采到多少个蘑菇?
int i,s,n; // n表示最后一棵大树是n号, s表示小明背的大竹筐 ,i表示当前小明走到第几号大树}
【解释代码】
1: for( i=1 ; i<=n ; i++ )
(1):i=1,表示i等于1,可以这样理解:小明来到了第一棵大树(这部分的代码只执行一次)
(2):i<=n,表示i小于等于n,可以这样理解:小明现在到了哪棵大树,如果超出n,则不能采蘑菇,回家了(这部分代码执行n次(实际上是n+1次,最后一次失败也算),每次小明来到一棵大树都要问一遍自己,这棵大树的编号是否小于等于n,如果是,小明就采蘑菇,如果不是,小明就不能采蘑菇并且回家(退出循环)
(3):i++,实际上就是i=i+1,表示i增加1,可以这样理解:小明采完第i棵大树的蘑菇,正走在 第i棵大树 和 第i+1棵大树 之间的 路上。
2:s=s+i; 表示 小明 把i个蘑菇丢进竹筐里面
3:printf("%d",s); 就是输出小明大竹筐里面的蘑菇数目啦
【要求】
1:会默打,并且多次运行都能输出正确结果。
2:要理解for括号里面的三个部分是干什么用的。