当前位置: 首页 > news >正文

【C++ 程序设计入门基础】- 第3节-循环结构01

目录

循环结构

一、for 语句

for 循环案例

 输入一个整数n,输出1~n的所有整数。

编译运行,查看输出结果

编译调试

for 循环结构语义分析

二、beak 语句

三、continue 语句

 案例1:

 案例2:

 案例3:


循环结构

在实际生活中,经常会将同一件事情重复做很多次,在 C++ 语言中,也经常需要重复执行同一代码块,这时就需要使用循环结构

一、for 语句

for 循环案例
 输入一个整数n,输出1~n的所有整数。
#include <iostream>
#include <windows.h>
using namespace std;int main(){/**输入一个整数n,输出1~n的所有整数。**/int n;cin>>n;for(int i=1;i<=n;i++){cout<<i<<"\n"<<endl;}return 0;
}
编译运行,查看输出结果

 

编译调试

1、工具》编译选项》代码生成/优化》连接器 然后在”产生调试信息“那里吧 no 改为 yes

2、设置断点

3、点击菜单 运行-调试,按F5也是可以的,或者点击工具栏上的那个 √ 也是可以开始调试的。叉号是停止调试。

4、设置需要监控的对象

5、点击查看对象,输入 i 这时候我们就可以查看 i 每一步的输出值了。 

下一步,是单步执行,但是不进入子函数。

单步进入,单步执行,进入子函数。

跳过跳过函数很明白了。

下一条语句,在汇编代码就可以看到,是逐句执行汇编代码

进入语句,也是在汇编代码中可以看到,也是逐句执行汇编代码。

但是它与 下一步语句 区别是,下一条语句不会进入到系统调用,比如标准库的汇编代码,但是进入语句 会进入标准库的汇编代码。 

注:调试程序,大家可以自行去练习一下,多动手时间跟踪一下,你就会很熟练了。

for 循环结构语义分析

二、beak 语句

break语句是指直接跳出所在的循环。注:break 只能跳出当前所在的循环体。

 输入一个整数n,输出1~n的所有整数,遇到5时停止。

#include <iostream>
#include <windows.h>
using namespace std;int main(){/**输入一个整数n,输出1~n的所有整数,遇到5时停止。**/int n;cin>>n;for(int i=1;i<=n;i++){if(i==5)break;cout<<i<<"\n";}cout<<"this is a break test";return 0;
}

运行查看结果

 

三、continue 语句

continue语句是指直接执行下一次循环。

 案例1:

输入一个整数n,输出1~n的所有整数,遇到偶数时不输出。

#include <iostream>
#include <windows.h>
using namespace std;int main(){/**输入一个整数n,输出1~n的所有整数,遇到偶数时不输出。**/int n;cin>>n;for(int i=1;i<=n;i++){if(i%2==0)continue;cout<<i<<"\n";}cout<<"this is a continue test";return 0;
}

运行查看结果

 案例2:

输入一个整数n(0<n<10),输出n! 。

#include <iostream>
#include <windows.h>
using namespace std;int main(){/**** 输入一个整数n(0<n<10),输出n的阶乘 n! * n!= n*(n-1)*(n-2)*...1***/long long n,fac=1;cin>>n;for(int i=1;i<=n;i++){fac = fac*i;//fac*=i;}cout <<"fac="<<fac<<endl;//flush 刷新缓存区return 0;
}

查看运行结果 

 案例3:

输出斐波那契数列第10项( F(1)= F(2)= 1; F(N)= F(N-1) + F(N-2) )。

注:什么叫斐波那契数列?直白点就是当前数据项的值等于它前两项的数值之和。

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(≥ 2,∈ N*)。

#include <iostream>
#include <windows.h>
using namespace std;
/*** 输出斐波那契数列第10项( F(1)= F(2)= 1; F(N)= F(N-1) + F(N-2) )
**/
//定义一个int数组
long long f[100+5];
int main(){f[1]=f[2]=1;for(int i=3;i<=100;i++){f[i]=f[i-1]+f[i-2];}cout<<"f[10]="<<f[10]<<endl;return 0;
}

运行结果:

下一节讲解循环结构 while 语句的用法 

http://www.lryc.cn/news/247498.html

相关文章:

  • 人工智能原理复习--知识表示(一)
  • 网络运维与网络安全 学习笔记2023.11.28
  • Rust开发——数据对象的内存布局
  • mySQL踩坑记录
  • 【Java】使用 IDEA 快速生成 SpringBoot 模块
  • 2023网络安全产业图谱
  • 一则 MongoDB 副本集迁移实操案例
  • 2022年03月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖
  • SQL注入-SQL注入过程
  • 选择更灵活的设计工具:SOLIDWORKS 软件网络版与单机版的比较
  • Go语言中获取协程ID
  • CH58x-BLE 程序阅读笔记
  • ST53xx 系列是一种高精度、高输入电压、低静态电流、高速度、低压差线性稳压器
  • 麻雀搜索优化算法MATLAB实现,SSA-BP网络
  • 142. 环形链表 II --力扣 --JAVA
  • 深入浅出 Vue 中的插槽 slot
  • postgreSQL 查询所有模式的语句
  • pandas教程:Introduction to scikit-learn scikit-learn简介
  • Linux配置路由功能及添加静态路由
  • 什么是Geo Trust OV证书
  • selenium 工具 的基本使用
  • Excel如何比较两列数据的不同
  • 力扣labuladong——一刷day47
  • 蓝桥杯-02-python组考点与14届真题
  • 【0240】源码分析PG内核中的关键字列表(SQL keywords)
  • 【Python深度学习第二版】学习笔记之——什么是深度学习
  • ddns-go部署在linux虚拟机
  • LeetCode Hot100 543.二叉树的直径
  • Breadcrumb面包屑(antd-design组件库)简单用法和自定义分隔符