首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

C++程序设计基础学习笔记:(4)循环结构:周而复始,求同存异

  • 25-03-03 17:24
  • 2774
  • 10241
blog.csdn.net

相关博客目录

C++程序设计基础学习笔记:(1)初识C++语言:从认识变量和常量开始,数据的表示
C++程序设计基础学习笔记:(2)计算:从数据运算开始,数据简单运算
C++程序设计基础学习笔记:(3)分支结构:无处不在的抉择
C++程序设计基础学习笔记:(4)循环结构:周而复始,求同存异
C++程序设计基础学习笔记:(5)数组:实现算法的利器
C++程序设计基础学习笔记:(6)指针:所向披靡的“金箍棒” 魂
C++程序设计基础学习笔记:(7)函数:面向过程的基础
C++程序设计基础学习笔记:(8)文件:让数据流动起来
C++程序设计基础学习笔记:(9)以人为本:用类与对象诠释现实世界
C++程序设计基础学习笔记:(10)从生物遗传说起,取其精华——继承与多态

第4章 循环结构:周而复始,求同存异

算法描述的三种基本结构

image-20210401141829408

4.1 简单循环结构:从计算一个圆的面积到多个圆的面积看循环结构

image-20210401141650927

循环定义及要点

循环就是反复持续地执行某些动作,有两部分组成

循环体:归纳出哪些操作需要反复执行
循环控制条件:这些操作在什么情况下反复执行

随着循环不断地执行,必须有一种方法使得循环控制条件最终不成立,循环可以退出,否则,就构成死循环,程序永远无法终止。

实现循环的语句

image-20210401142418411

While 循环语句格式

image-20210401142601139

for循环语句的格式

image-20210401142956156

表达式1: 对表达式2中的循环控制变量赋初值变量
表达式2: 循环控制逻辑表达式: 循环控制变量
表达式3: 改变表达式2中的循环控制变量的值

for语句与while语句比较

image-20210401143755412

(直到型循环)do-while 语句格式

image-20210401144000077

循环语句应用的一般原则

image-20210401144154788

循环算法的设计

目标:代码复用
使用相同代码完成每一次循环
image-20210401144224047

4.2循环结构程序设计:整数位数拆分

image-20210401144315940

4.3 循环结构程序设计:从Fibonacci数列看递推法

递推法

指从问题的已知条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果

递推初始条件确定

问题本身已经给定;
通过对问题的分析与化简后确定;

递推方向

顺推法

从已知初始条件出发,通过递推关系逐步推算出要解决的问题的结果的方法。如求Fibonacii数列

倒推法

在不知初始值的情况下,经某种递推关系而获知了问题的解或目标,从这个解或目标出发,采用倒推手段,一步步地倒推到这个问题的初始情况。如猴子吃桃

实现递推的步骤

(1)确定递推变量
要根据问题的具体实际,设置递推变量。

(2)建立递推关系
递推关系是指如何从变量的前一些值推出其下一个值,或从变量的后一些值推出其上一个值的公式(或关系)。

(3)确定初始(边界)条件
对所确定的递推变量,要根据问题最简单情形的数据确定递推变量的初始(边界)值,这是递推的基础。

(4)对递推过程进行控制
递推过程不能无休止地重复执行下去。递推过程在什么时候结束,满足什么条件结束,这是编写递推算法必须考虑的问题。

4.4 循环结构程序设计–从判断素数看循环语句中的break

image-20210401150359945

break & continue

image-20210401150648380

break & continue流程图

image-20210401150704547

4.5 嵌套循环:再从计算多个圆面积看内外循环的关系

image-20210401151232365

循环的嵌套

在一个循环结构中又完整地包含着另一个循环结构称为循环嵌套。嵌套层次一般不超过3层,以保证可读性。
image-20210401151222827

循环的嵌套设计原则

1.外层循环前相关变量的初始化;外层判断循环条件,满足进入外层循环体
2.内层循环前相关变量的初始化;内层判断循环条件
3.内层循环体执行
4.内层循环变量累加,回到2执行,直到不满足内层条件
5.外层循环变量累加,回到1执行,直到不满足外层循环条件,彻底退出循环

4.6 嵌套循环:从打印九九乘法表看内外循环的关系

image-20210401160355908

嵌套循环的常用设计方法

image-20210401155002950

4.7 循环结构程序设计–从百钱买百鸡问题看穷举法

image-20210401162213743

用穷举法解决问题

计算机的特点之一就是运算速度快、善于重复做一件事情,“穷举法”正是基于这一特点的最古老的算法。

穷举法基本思想是,根据问题中的“约束条件”,将所有可能的解一一列举出来,并逐个验证是否符合“约束条件”,找出其中符合要求的解

穷举法适合求解的问题是:可能的答案是有限个且答案是可知的,但又难以用解析法描述。这种算法通常用循环结构来完成。

穷举法的一般模式

列出问题的可能范围,一般用循环结构来实现,穷举一般使用for语句

将要穷举的变量i 作为循环控制变量,i∈ [a,b]

探究、挖掘出问题解的约束条件

根据约束条件优化算法,尽可能地缩小穷举范围,减少穷举次数,降低算法的时间和空间复杂度。

4.8 程序调试方法:单步调试法

image-20210401162519535

程序调试

image-20210401162310725

单步调试实际操作

注:本文转载自blog.csdn.net的呆呆象呆呆的文章"https://blog.csdn.net/qq_41554005/article/details/115377412"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top