【C++从入门到熟练练习题】008 循环语句while、for

版权声明:本文由 水亦心 出品,转载请注明出处。 https://blog.csdn.net/shuiyixin/article/details/89222458

目录

一、前言

1、上节课回顾

2、上节思考题答案

3、本节导入

二、重点知识介绍

1、循环语句

2、for循环

1.基本格式

2.for循环嵌套

3、while循环

1.while语句

2.do-while语句

三、思考题


一、前言

1、上节课回顾

上一次给大家讲了选择语句,选择语句包括判断语句和开关语句。选择语句结构比较简单,也容易应用,重点在于多写代码,多练习,熟能生巧。

2、上节思考题答案

1.思考题1:

今年是2019年,请利用if语句和switch语句分别实现如下功能:

输入月份,输出该月对应的天数。

//switch-case语句
#include<iostream>

using namespace std;

void main() {

	int month;
	cout << "please input month which in 2019 :";
	cin >> month;

	switch (month)
	{
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		cout << "本月有31天" << endl;
		break;
	case 4:
	case 6:
	case 9:
	case 11:
		cout << "本月有30天" << endl;
		break;
	default:
		cout << "本月有28天" << endl;
		break;
	}
	
}
//if-else语句

#include<iostream>

using namespace std;

void main() {
	int month;
	cout << "please input month which in 2019 :";
	cin >> month;

	if (month<8&&(month % 2)|| month>8&& (month % 2 == 0))
		cout << "本月有31天" << endl;
	else if (month == 2)
		cout << "本月有28天" << endl;
	else
		cout << "本月有30天" << endl;

}

 大家在写的时候,可能比较稳重,利用switch-case语句时候,每一个都是分开写的;利用if-else语句用了很多逻辑或,甚至直接使用if-else if-else格式。上面这种方法,找到了月份与日期对应的规律。

这个是比较简单的应用数学的例子,能够使代码更加简洁,甚至简化计算过程。所以,掌握好数学,有助于我们更好地学习编程。所以希望大家能够好好学习数学,打好数学基础

2.思考题2:

利用if语句和switch语句分别实现简单计算器:

计算两个浮点型数据的加减乘除四则运算,若除法出入的除数为0,输出:除数不能为0,其他情况输出运算及结果。

例如:输入两个数为5.2和100,输出应为:5.2 * 100 = 520 。

//switch-case语句
#include<iostream>

using namespace std;

void main() {
	float num1, num2;
	int operation;
	cout << "please input the operation of num1 and num2(1 - +,2 - -,3 - *,4 - /) :";
	cin >> operation;
	cout << "please input num1 :";
	cin >> num1;
	if (operation == 4)
		cout << "please input num2 (num2 can't be assigned to zero) :";
	else
		cout << "please input num2 :";
	cin >> num2;

	switch (operation)
	{
	case 1:
		cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
		break;
	case 2:
		cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
		break;
	case 3:
		cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
		break;
	default:
		cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;
		break;
	}
}
//if-else语句
#include<iostream>

using namespace std;

void main() {
	float num1, num2;
	int operation;
	cout << "please input the operation of num1 and num2(1 - +,2 - -,3 - *,4 - /) :";
	cin >> operation;
	cout << "please input num1 :";
	cin >> num1;
	if (operation == 4)
		cout << "please input num2 (num2 can't be assigned to zero) :";
	else
		cout << "please input num2 :";
	cin >> num2;

	if (operation == 1)
		cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
	else if (operation == 2)
		cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
	else if (operation == 3)
		cout << num1 << " * " << num2 << " = " << num1 * num2 << endl;
	else 
		cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;

}

3、本节导入

这次要给大家讲的是循环语句。循环语句是C++里非常重要的一部分,我们会经常在以后的代码中使用到循环语句。

本次课程有录免费视频课,讲解for循环的应用。讲解了非常经典的几个循环嵌套的例子。视频课程请点击:

【C++从入门到熟练】之 for循环的应用

大家看完这篇博客,可以点击链接,看一下相关的代码。

接下来让我们一起走进循环语句的世界吧。

二、重点知识介绍

1、循环语句

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句是由循环体及循环的终止条件两部分组成的。

C++中循环语言主要有for循环和while循环。。

2、for循环

1.基本格式

(1)讲解

C++中,for循环的基本格式如下:

	for (size_t i = 0; i < length; i++)
	{

	}

可以把上面的基本格式写成下面这种样子:

for (语句1; 条件;语句2)

 {

                代码块。

}

当执行到for循环时,执行过程如下:

1.先执行语句1,判断是否满足条件:满足执行代码块,不满足跳过循环。

2.若上一句满足条件,执行完代码块后,执行语句2,判断是否满足条件:满足执行代码块,不满足跳出循环。

3.若上一句满足条件不断执行上一句,直至不满足为止。

(2)例题

输出1-20,要求每行输出5个。


#include<iostream>

using namespace std;

void main() {
	for (int i = 1; i <= 20; i++)
	{
		
		cout << i  << '\t';
		if (i % 5 == 0)
			cout << endl;
	}

}

执行代码结果如下:

 

2.for循环嵌套

(1)讲解

for循环最重要的应用就是循环嵌套,循环嵌套可以实现多维数组的赋值与遍历,可以输出乘法口诀与加法口诀等等。

由于这块内容很重要,我专门录制了视频课程,大家请点击下方链接观看:

【C++从入门到熟练】之 for循环的应用

(2)例题

除了这里的代码,我给大家再说一个二维数组的赋值与遍历操作。

我们还是要输出上面这一串数字,只不过我们要先给二维数组赋值,然后再遍历。代码如下:


#include<iostream>

using namespace std;

void main() {
	int arr[4][5];
	for (int i = 0; i < 4; i++)
	{
		for (int j = 0; j < 5; j++)
		{
			arr[i][j] = 5 * i + j + 1;
		}
	}
	for (int i = 0; i < 4; i++)
	{
		for (int j = 0; j < 5; j++)
		{
			cout << arr[i][j] << '\t';
		}
		cout << endl;
	}

}

更多重要的应用,大家请看视频课程里面的内容。

3、while循环

while循环有两种形式,一种是while语句,一种是do-while语句。

1.while语句

(1)讲解

C++中,while语句的基本格式如下:

	while (true)
	{

	}

可以把上面的基本格式写成下面这种样子:

while(条件)

 {

                代码块。

}

当执行到while语句时,执行过程如下:

1.先判断是否满足条件:满足执行代码块,不满足跳过循环。

2.若上一句满足条件,执行完代码块后,再判断是否满足条件:满足执行代码块,不满足跳出循环。

3.若上一句满足条件不断执行上一句,直至不满足为止。

(2)例题

输出1-20,要求每行输出5个。


#include<iostream>

using namespace std;

void main() {
	int i = 1;

	while (i<=20)
	{
		cout << i << '\t';
		if (i % 5 == 0)
			cout << endl;
		i++;
	}

}

执行代码结果如下:

 

2.do-while语句

(1)讲解

 

C++中,do-while语句的基本格式如下:

	do
	{

	} while (true);

do-while语句和while语句类似,主要有两点要注意:

1.while语句是先判断,再执行,而do-while语句是先执行,再做判断。顺序刚刚相反。

2.do-while语句最后要加分号。

(2)例题

这里我们做一个小功能,结合选择语句。

利用 switch-case语句判断小明的成绩在班里的层次(满分100):

>=90分,优秀;>=80分,良;>=60分,及格;<60,分,不及格。

如果输入0-100分外的数据,就让其一直重新输入。

注:while和do-while语句经常用于不确定循环次数,确定跳出循环条件的循环


#include<iostream>

using namespace std;

void main() {
	float score;
	do
	{
		cout << "please input socre :";
		cin >> score;
	} while (score < 0 || score>100);
	switch ((int)score / 10)
	{
	case 9:
	case 10:
		cout << "A" << endl;
		break;
	case 8:
		cout << "B" << endl;
		break;
	case 7:
		cout << "C" << endl;
		break;
	case 6:
		cout << "D" << endl;
		break;
	default:
		cout << "E" << endl;
		break;
	}

}

执行结果如下:

 

三、思考题

分别输出如下图形:(底和高都为9的直角三角形)

 

思考题的答案会在下一次的【C++从入门到熟练练习题】中公布哦,希望大家能够多多练习。

猜你喜欢

转载自blog.csdn.net/shuiyixin/article/details/89222458
今日推荐