C++保姆级入门教程(4) —— 循环

 哈喽大家好,我是iecne,本期为大家带来的是CPP/C++保姆级入门教程的第三期—— 循环,包教包会,快来看看吧!

此教程适合新手小白,因为语言会十分的通俗易懂,不会有很多的专业词汇出现,可以更好的掌握并且吸收,后续加上持之以恒的练习题目将会基本巩固

系列文章目录


C++保姆级入门教程(1)   变量 输出 输入

C++保姆级入门教程(2)   算术运算和赋值

C++保姆级入门教程(3)   if语句

C++保姆级入门教程(4)   循环


目录

系列文章目录

一、while语句是什么?

二、while语句的用法

1.while的格式

2.while的用法

三.for是什么

四.for语句的用法

1.for的结构

2.for的用法

3.for的不同表达方式

4.用for表示数组的输入输出

五.总结


这次,我们介绍两种循环

1.while

2.for 

一、while语句是什么?

        当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}


二、while语句的用法

1.while的格式

while(循环条件)
{
    循环体;
}

7da4b7f9913e4d1283da48b9b0ab7880.png


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(单次表达式;条件表达式;末尾循环体)


    中间循环体; 
}

5b0235bcd11c400d90145e4990d4a567.webp


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;
}

五.总结

包教包会,学会了就点赞关注收藏吧~
学不会呢,也请点赞关注收藏。蟹蟹

猜你喜欢

转载自blog.csdn.net/CSDN_linyanchen/article/details/125952445