哈喽大家好,我是iecne,本期为大家带来的是CPP/C++保姆级入门教程的第三期—— 循环,包教包会,快来看看吧!
此教程适合新手小白,因为语言会十分的通俗易懂,不会有很多的专业词汇出现,可以更好的掌握并且吸收,后续加上持之以恒的练习题目将会基本巩固
系列文章目录
C++保姆级入门教程(1) 变量 输出 输入
C++保姆级入门教程(2) 算术运算和赋值
C++保姆级入门教程(3) if语句
C++保姆级入门教程(4) 循环
目录

这次,我们介绍两种循环
1.while
2.for
一、while语句是什么?
当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}
二、while语句的用法
1.while的格式
while(循环条件)
{
循环体;
}
2.while的用法
看下以下代码
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 10)
{
i++;
if (i <= 10)
cout << "作者吃了第" << i << "口冰激淋" << endl;
if (i == 10)
cout << "作者花了" << i << "口吃完了冰激淋";
}
return 0;
}
输出的结果是
作者吃了第1口冰激淋
作者吃了第2口冰激淋
作者吃了第3口冰激淋
作者吃了第4口冰激淋
作者吃了第5口冰激淋
作者吃了第6口冰激淋
作者吃了第7口冰激淋
作者吃了第8口冰激淋
作者吃了第9口冰激淋
作者吃了第10口冰激淋
作者花了10口吃完了冰激淋
代码解释:i=0开始循环
第一次加一,使i=1
如果(i小于10)输出……
第二次…………
直到第十次
第一个if结束后,来到第二个if,输出……
第十次,i=10,不小于10了,与while(i < 10)不等,退出结束
再看一段代码,这是NOIP 2016 普及组初赛试题中的一题
#include <iostream>
using namespace std;
int main()
{
int max, min, sum, count = 0;
int tmp;
cin >> tmp;
if (tmp == 0)
return 0;
max = min = sum = tmp;
count++;
while (tmp != 0)
{
cin >> tmp;
if (tmp != 0)
{
sum += tmp;
count++;
if (tmp > max)
max = tmp;
if (tmp < min)
min = tmp;
}
}
cout << max << "," << min << "," << sum / count << endl;
return 0;
}
我们直接提取关键部分
#include <iostream>
using namespace std;
int main()
{
int max, min, sum, count = 0;
int tmp;
//cin >> tmp;
tmp = 1;
if (tmp == 0) return 0;
max = min = sum = tmp;
count++;
while (tmp != 0)
{
cin >> tmp;
if (tmp != 0)
{
sum += tmp;
count++;
if (tmp > max) max = tmp;
if (tmp < min) min = tmp;
}
}
cout << max << "," << min << "," << sum / count << endl;
return 0;
}
输入: 1 2 3 4 5 6 0 7
输出:6 1 3
一共输入了7次
第6次输入的是0,while结束,马上输出
所以count为6+1(7),max是最大的6,min是最小的1,sum=21
注意:min不是0,因为在代码中有排除0的if
则输出
max 6
min 1
21/7 3
三.for是什么
循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}
四.for语句的用法
1.for的结构
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
2.for的用法
上一个冰激凌while的写法:
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 10)
{
i++;
if (i <= 10)
cout << "作者吃了第" << i << "口冰激淋" << endl;
else
cout << "作者花了" << i << "口吃完了冰激淋";
}
return 0;
}
用for的写法:
#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 1; i <= 10; i++)
{
if (i <= 10)
cout << "作者吃了第" << i << "口冰激淋" << endl;
if (i == 10)
cout << "作者花了" << i << "口吃完了冰激淋";
}
return 0;
}
结果相同:
作者吃了第1口冰激淋
作者吃了第2口冰激淋
作者吃了第3口冰激淋
作者吃了第4口冰激淋
作者吃了第5口冰激淋
作者吃了第6口冰激淋
作者吃了第7口冰激淋
作者吃了第8口冰激淋
作者吃了第9口冰激淋
作者吃了第10口冰激淋
作者花了10口吃完了冰激淋
其中要注意的是:i<=10
因为for与while不同,for会执行完i==10的这段代码。而while不会,while若发现i==10,不<10,会马上退出
下面解释一下for的格式:
首先先定义赋值变量(如果不需要赋值就可以不输入)
分号
执行中间循环体的要求
分号
变量的变化(若不需要可以不输入)
3.for的不同表达方式
比如以下代码
for (int i = 1; i <= 5; i++) cout << i << " ";
还可以表示成这样:
int i = 1;
for (; i <= 5;)
{
cout << i << " ";
i++;
}
4.用for表示数组的输入输出
用这个程序可以实现数组的输入输出
输入一个变量n
输入n个数
依次输出这n个数
#include <iostream>
using namespace std;
int main()
{
int n, a;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a;
cout << a << " ";
}
return 0;
}
五.总结
包教包会,学会了就点赞关注收藏吧~
学不会呢,也请点赞关注收藏。蟹蟹