戳一戳!和我一起走进C++的世界
导读
C++是信息学中非常重要的一门课程,也是绝大多数学生入门信息学、参加信息学竞赛所必备的一门编程语言。
掌握C++,不仅可以让孩子对电脑、编程有更加深刻的认识,也能将学习信息学的方法应用到其他学科领域,特别是能够促进孩子对数学逻辑的理解。
本篇文章中,我们一起来回顾一下for循环及其应用,并完成课后小练习吧!
1 三大结构
1 回顾
之前的课程中,我们讲到C++编程的两大结构,分别是:
顺序结构
分支结构
今天我们学习了第三个结构:循环结构,后面,我们会学习更多有关于循环结构的其他内容。
2 三大结构介绍
C++编程有三大结构,分别是:
顺序结构
分支结构
循环结构
后续的所有代码,都是基于这三大结构编写的。
顺序结构可以说是最基本的结构,一个程序中,必然有顺序结构的存在,顺序结构的特点是:从上到下,按照顺序,依次执行。
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构。分支结构的特点是:根据条件,选择情况,分别执行。
对于某些需要反复执行的代码,如果只用顺序结构和分支结构,可能就太麻烦了;有些时候,反复执行的次数难以确定。这时候,就需要我们用到循环结构。循环结构的特点是:变量更新,符合条件,不断执行。
2 for循环
1 结构特点
for循环是第一个讲的循环结构,格式如下:
for循环流程如下:
(1)首先我们执行语句1,然后判断判断条件是否成立;如果成立执行语句块。
(2)然后我们执行语句2,然后判断判断条件是否成立;如果成立执行语句块。
(3)重复上面的步骤(2),直到判断条件不成立,退出循环。
最简单的示例如下:
for(int i = 0;i<10;i++){
cout<<"hello"<<endl;
}
2 应用
循环语句用于那些可以将很多顺序流程一致或者类似的总结起来写。所以我们要尽可能提炼流程中的重复操作部分,将这些部分用循环写出来。
如果是一致的情况,就很容易了,比如下面这个例子,输出10以内的自然数:
for(int i = 0;i<10;i++)
cout<<i<<endl;
如果不一致,但是很接近,我们也可以转化用循环写。
举个例子,一个数列如下:
0,1,1,2,3,5,8,13,21,34……
我们发现它满足斐波那契数列,即对于某个位置上的值,等于它前面两个位置上的值之和。这就是我们找到了重复的关系,所以我们可以这样写程序:
程序流程分析如下:
1、定义4个int类型变量a,b,c,n;分别用于存储遍历斐波那契数列;n用于用户获取第n个值;
2、用户输入n;
3、在循环中找第n个数:
(1)遍历从3开始,到n结束,每次增加1;
(2)让c = a + b; 斐波那契数列某个位置上的值等于前面两个值的和;
(3)a = b;b = c;让前面两个值后移,继续往后计算;
4、将我们求得的第n位的值输出。
代码编写如下:
#include<iostream>
using namespace std;
int main()
{
int a = 0,b = 1,c;
int n;
cin>>n;
for(int i = 3;i <= n;i++){
c = a + b;
a = b;
b = c;
}
cout<<c<<endl;
return 0;
}
3 其他写法
一般来说,for循环结构中,语句1和语句2可以不写,比如下面这个例子:
#include<iostream>
using namespace std;
int main()
{
int n,i = 0;
cin>>n;
for(;i <= n;){
cout<<i<<endl;
i++;
}
return 0;
}
但是我们要注意,虽然我们没有写这两个语句,但是 ; 不能少。
3 习题
根据今天讲的内容,完成下面的两道习题。
1 求和
求解任意正整数范围内所有偶数的和。
2 计算公式
编写程序,计算下面式子的结果:
1×2 + 2×3 + …… + 100×101
AI与区块链技术
长按二维码关注