当前位置:   article > 正文

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

c++while循环练习

目录

一、前言

1、上节课回顾

2、上节思考题答案

3、本节导入

二、重点知识介绍

1、循环语句

2、for循环

1.基本格式

2.for循环嵌套

3、while循环

1.while语句

2.do-while语句

三、思考题


一、前言

1、上节课回顾

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

2、上节思考题答案

1.思考题1:

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

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

  1. //switch-case语句
  2. #include<iostream>
  3. using namespace std;
  4. void main() {
  5. int month;
  6. cout << "please input month which in 2019 :";
  7. cin >> month;
  8. switch (month)
  9. {
  10. case 1:
  11. case 3:
  12. case 5:
  13. case 7:
  14. case 8:
  15. case 10:
  16. case 12:
  17. cout << "本月有31天" << endl;
  18. break;
  19. case 4:
  20. case 6:
  21. case 9:
  22. case 11:
  23. cout << "本月有30天" << endl;
  24. break;
  25. default:
  26. cout << "本月有28天" << endl;
  27. break;
  28. }
  29. }
  1. //if-else语句
  2. #include<iostream>
  3. using namespace std;
  4. void main() {
  5. int month;
  6. cout << "please input month which in 2019 :";
  7. cin >> month;
  8. if (month<8&&(month % 2)|| month>8&& (month % 2 == 0))
  9. cout << "本月有31天" << endl;
  10. else if (month == 2)
  11. cout << "本月有28天" << endl;
  12. else
  13. cout << "本月有30天" << endl;
  14. }

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

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

2.思考题2:

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

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

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

  1. //switch-case语句
  2. #include<iostream>
  3. using namespace std;
  4. void main() {
  5. float num1, num2;
  6. int operation;
  7. cout << "please input the operation of num1 and num2(1 - +,2 - -,3 - *,4 - /) :";
  8. cin >> operation;
  9. cout << "please input num1 :";
  10. cin >> num1;
  11. if (operation == 4)
  12. cout << "please input num2 (num2 can't be assigned to zero) :";
  13. else
  14. cout << "please input num2 :";
  15. cin >> num2;
  16. switch (operation)
  17. {
  18. case 1:
  19. cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
  20. break;
  21. case 2:
  22. cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
  23. break;
  24. case 3:
  25. cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
  26. break;
  27. default:
  28. cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;
  29. break;
  30. }
  31. }
  1. //if-else语句
  2. #include<iostream>
  3. using namespace std;
  4. void main() {
  5. float num1, num2;
  6. int operation;
  7. cout << "please input the operation of num1 and num2(1 - +,2 - -,3 - *,4 - /) :";
  8. cin >> operation;
  9. cout << "please input num1 :";
  10. cin >> num1;
  11. if (operation == 4)
  12. cout << "please input num2 (num2 can't be assigned to zero) :";
  13. else
  14. cout << "please input num2 :";
  15. cin >> num2;
  16. if (operation == 1)
  17. cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
  18. else if (operation == 2)
  19. cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
  20. else if (operation == 3)
  21. cout << num1 << " * " << num2 << " = " << num1 * num2 << endl;
  22. else
  23. cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;
  24. }

3、本节导入

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

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

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

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

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

二、重点知识介绍

1、循环语句

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

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

2、for循环

1.基本格式

(1)讲解

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

  1. for (size_t i = 0; i < length; i++)
  2. {
  3. }

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

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

 {

                代码块。

}

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

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

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

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

(2)例题

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

  1. #include<iostream>
  2. using namespace std;
  3. void main() {
  4. for (int i = 1; i <= 20; i++)
  5. {
  6. cout << i << '\t';
  7. if (i % 5 == 0)
  8. cout << endl;
  9. }
  10. }

执行代码结果如下:

 

2.for循环嵌套

(1)讲解

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

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

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

(2)例题

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

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

  1. #include<iostream>
  2. using namespace std;
  3. void main() {
  4. int arr[4][5];
  5. for (int i = 0; i < 4; i++)
  6. {
  7. for (int j = 0; j < 5; j++)
  8. {
  9. arr[i][j] = 5 * i + j + 1;
  10. }
  11. }
  12. for (int i = 0; i < 4; i++)
  13. {
  14. for (int j = 0; j < 5; j++)
  15. {
  16. cout << arr[i][j] << '\t';
  17. }
  18. cout << endl;
  19. }
  20. }

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

3、while循环

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

1.while语句

(1)讲解

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

  1. while (true)
  2. {
  3. }

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

while(条件)

 {

                代码块。

}

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

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

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

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

(2)例题

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

  1. #include<iostream>
  2. using namespace std;
  3. void main() {
  4. int i = 1;
  5. while (i<=20)
  6. {
  7. cout << i << '\t';
  8. if (i % 5 == 0)
  9. cout << endl;
  10. i++;
  11. }
  12. }

执行代码结果如下:

 

2.do-while语句

(1)讲解

 

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

  1. do
  2. {
  3. } 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语句经常用于不确定循环次数,确定跳出循环条件的循环

  1. #include<iostream>
  2. using namespace std;
  3. void main() {
  4. float score;
  5. do
  6. {
  7. cout << "please input socre :";
  8. cin >> score;
  9. } while (score < 0 || score>100);
  10. switch ((int)score / 10)
  11. {
  12. case 9:
  13. case 10:
  14. cout << "A" << endl;
  15. break;
  16. case 8:
  17. cout << "B" << endl;
  18. break;
  19. case 7:
  20. cout << "C" << endl;
  21. break;
  22. case 6:
  23. cout << "D" << endl;
  24. break;
  25. default:
  26. cout << "E" << endl;
  27. break;
  28. }
  29. }

执行结果如下:

 

三、思考题

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

 

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

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号