C++循环结构
一、循环体部分知识点整理
1.for循环
for(表达式1;表达式2;表达式3)
{
break; //用于跳出当前循环体,结束循环。
continue; //跳过当前循环体continue后面的代码,继续执行下一个循环
return 0; //跳出该函数
}
程序执行顺序,先执行表达式1,验证表达式2是否为真,执行循环体语句,执行表达式3,再验证表达式2是否为真,若为真继续执行上述操作,直至表达式2不成立,跳出循环体,执行后续语句。 特殊用法 for()中可以不加语句也可以添加部分语句,语句不存在时跳过执行,参考while循环。
参考例题
最高的分数 描述 孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗? 输入 输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。 输出 输出一个整数,即最高的成绩。
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
int i,a=0,b=0;
int score[100];
cin>>a;
for(i=0;i<a;i++)
{
cin>>score[i];
b=max(b,score[i]);
}
cout<<b;
return 0;
}
2.while循环-适合不确定循环次数时使用
while循环
while (条件表达) { break; //用于跳出当前循环体,结束循环。 continue; //跳过当前循环体continue后面的代码,继续执行下一个循环 return 0; //跳出该函数 }
运行顺序:首先检验条件语句是否为真若为真,执行循环体,直至条件不成立,跳出循环。
参考例题
金币 描述 国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。 你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。 输入 一个整数(范围1到10000),表示天数。 输出 骑士获得的金币数 样例输入 6 样例输出 14
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,i=1,sum=0;
cin>>a;
while (a>0)
{
a=a-i;
sum=sum+i*i;
if(a<0) sum=sum+a*i;
i++;
}
cout<<sum;
return 0;
}
do-while()循环
do
{
//循环体
}while()
执行
顺序大体与while循环一样,但程序至少执行一遍。 将上述程序改写为do-while()循环
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,i=1,sum=0;
cin>>a;
do
{
a=a-i;
sum=sum+i*i;
if(a<0) sum=sum+a*i;
i++;
}while(a>0)
cout<<sum;
return 0;
}
循环体可以用来解决的问题
从上述题目中可以看到 如果程序中存在需要连续反复执行多次的操作,就可以采用。 另外针对操作次数已经,建议使用计数循环方式。 如果操作次数未知,要求达到指定目标才停止,就采用条件循环。 很多函数大都是循环体。
本阶段学习遇到的问题以及学习感悟
从开始不熟悉c语言,到如今的可以熟练的运用简单的语句,从被动的听老师讲课,到现在自己做题从不会问题中去寻找知识点,进行积累。最近遇到最头疼的问题就是程序可以运行但是,却总的不出正确的答案,只要在程序中一个值的错误,或者定义变量没有初始化都使整个程序偏离正确的答案,编程是一件严谨的事情,绝不可有半点马虎,其次是对于题目的理解不够,循环体中的内容相对,思路出现较慢,理解题目还不够全面。对于后期的学习应该从题目中总结经验,归纳题目解题思路,for循环相对于while循环更加实用便捷,通过运用break、continue等可以使程序更简化,通过循环的套用能够解决更多更复杂的问题,而对于学过的知识,以为通过编程就可以复习,但是只写程序而不复习积累过的知识,有些知识还是会遗忘,所以要在学习中回归书籍以及整理的知识点。
写在最后: 我叫风骨散人,名字的意思是我多想可以不低头的自由生活,可现实却不是这样。家境贫寒,总得向这个世界低头,所以我一直在奋斗,想改变我的命运给亲人好的生活,希望同样被生活绑架的你可以通过自己的努力改变现状,深知成年人的世界里没有容易二字。目前是一名在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你! 如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文! 感谢大家的阅读!?你的点赞、收藏、关注是对我最大的鼓励!
- React第三方组件3(状态管理之Flux的使用⑤异步操作)
- 使用yo-get下载视频网站视频或其
- React多页面应用3(webpack4 多页面实现)
- 洛谷P2345 奶牛集会
- React多页面应用2(webpack4 处理CSS及图片,引入postCSS,及图片处理等)
- React多页面应用1(webpack4 开发环境搭建,包括热更新,api转发等)
- 洛谷P2345 奶牛集会
- P2880 [USACO07JAN]平衡的阵容Balanced Lineup
- Python黑客编程3网络数据监听和过滤
- React第三方组件6(状态管理之Mobx的使用⑤异步操作)
- 机器学习(五)使用Python和R语言从头开始理解和编写神经网络介绍目录神经网络背后的直观知识多层感知器及其基础知识什么是激活函数?前向传播,反向传播和训练次数(epochs)多层感知器全批量梯度下降
- 洛谷P2251 质量检测
- React第三方组件6(状态管理之Mobx的使用④TodoList下)
- HDU 1536 S-Nim
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ES的新特性
- PHP设计模式|观察者模式
- JavaScript 中 this 的错误认识、绑定规则、常见问题讲解
- 实践:SpringBoot实现定时任务的动态增删启停
- Java并发编程的艺术[3]
- R语言 | 根据数据框的顺序进行筛选
- 上帝视角看 TypeScript
- 一文 get 入门 canvas 的最佳路径
- Matlab系列之数组的基本操作
- Matlab系列之数组(矩阵)的生成
- R语言T检验的简单小例子
- ggplot2 修改图例的一些操作
- 实践:SpringBoot实现定时任务的动态增删启停
- Asp.Net Core API 需要认证时发生重定向的解决方法
- 在 Windows 系统上启用远程应用