[资源共享]

条件分支和循环机制

[复制链接]
2345|44
手机看帖
扫描二维码
随时随地手机跟帖
小夏天的大西瓜|  楼主 | 2024-2-28 15:00 | 显示全部楼层 |阅读模式
小伙伴们都学过高级语言,高级语言汇总的条件控制流程主要分为顺序执行、条件分支、循环判断三种。
顺序执行是按照地址的内容顺序的执行命令。
条件分支是根据条件执行任意地址的指令。
循环是重复执行同一地址的指令。
一般情况下,顺序执行的情况较简单,每次执行一条指令程序计数器的值就是+1。
条件和循环分支会使得程序计数器的值指向任意的地址,这样一来,程序就可以返回到上一个地址来重复执行同一个指令,或者跳转到其它任意指令。
下面,我们就以条件分支举例来说明程序的执行过程:
6735365ddf1d266c32.png
程序的开始过程和顺序流程是一样的,程序的顺序流程和开始过程相同。
CPU从0100处就开始执行命令,在0100和0101中都是顺序执行,PC的值顺序+1,执行到0102地址的指令时,判断0106寄存器的数值大于0,跳转到0104地址的指令,再将数值输到显示器中,随后结束程序,0103的指令就被跳过了。
这和我们程序中的if()判断相同,在不满足条件的情况下,指令一般会直接跳过。
因此,PC的执行过程没有直接+1,而是下一条指令的地址。

使用特权

评论回复
tpgf| | 2024-3-5 09:58 | 显示全部楼层
像这种情况  是使用if语句还是switch语句比较好呢

使用特权

评论回复
wakayi| | 2024-3-5 11:03 | 显示全部楼层
整个程序的顺序是这样的 但是具体到实施的细节 可以有很多不同之处

使用特权

评论回复
wowu| | 2024-3-5 22:20 | 显示全部楼层
每次循环都是从最开始的话  会不会浪费时间呢

使用特权

评论回复
renzheshengui| | 2024-3-5 22:53 | 显示全部楼层
如果不使用goto语句的话  如何指定跳转到什么位置上呢

使用特权

评论回复
paotangsan| | 2024-3-5 23:26 | 显示全部楼层
我们在用c语言编程的时候,还需要关心地址吗?

使用特权

评论回复
keaibukelian| | 2024-3-5 23:59 | 显示全部楼层
如果条件判定过多 是考虑嵌套判定还是多分支判断呢

使用特权

评论回复
Jacquetry| | 2024-3-28 10:39 | 显示全部楼层
当然需要关心地址

使用特权

评论回复
jf101| | 2024-3-28 16:17 | 显示全部楼层
程序的开始过程和顺序流程是一样的,程序的顺序流程和开始过程相同。

使用特权

评论回复
cemaj| | 2024-4-2 18:56 | 显示全部楼层
在编程中,条件分支和循环机制是基本的控制结构,它们用于控制程序的流程。

使用特权

评论回复
mmbs| | 2024-4-4 10:39 | 显示全部楼层
合理使用条件分支               

使用特权

评论回复
rosemoore| | 2024-4-4 11:54 | 显示全部楼层
使用调试工具来跟踪和检查代码的执行流程,找出潜在的问题和瓶颈。

使用特权

评论回复
uptown| | 2024-4-4 13:58 | 显示全部楼层
嵌套循环和条件分支时,注意层次清晰,避免嵌套层次过深,这会影响代码的可读性和可维护性。

使用特权

评论回复
alvpeg| | 2024-4-4 15:49 | 显示全部楼层
在某些情况下,可能需要使用goto语句来实现程序的跳转。但是,过多地使用goto语句会导致程序的逻辑混乱和难以维护,因此应尽量避免使用goto语句。

使用特权

评论回复
i1mcu| | 2024-4-4 17:55 | 显示全部楼层
在某些情况下,可能需要使用嵌套循环来解决问题。然而,过多的嵌套循环可能导致代码复杂度增加,影响代码可读性和性能。因此,在使用嵌套循环时要谨慎,尽量避免过度嵌套。

使用特权

评论回复
beacherblack| | 2024-4-4 20:00 | 显示全部楼层
在某些情况下,可以通过优化循环结构来提高程序的性能。例如,可以使用循环展开、循环合并等技术来减少循环次数和提高程序的执行效率。

使用特权

评论回复
ingramward| | 2024-4-4 22:03 | 显示全部楼层
条件分支和循环中考虑异常情况的处理,确保程序能够优雅地处理各种意外情况。

使用特权

评论回复
sdlls| | 2024-4-5 20:37 | 显示全部楼层
尽可能将复杂的循环和条件分支逻辑分解为小的、可管理的部分,这样可以提高代码的模块化程度,也有助于调试和维护。

使用特权

评论回复
saservice| | 2024-4-5 22:28 | 显示全部楼层
理解程序的执行流程,包括顺序执行、条件分支和循环分支。在编写条件分支时,通常使用if、else if和else结构来实现多分支选择。而在编写循环时,可以使用for、while和do-while循环来根据条件重复执行代码块。

使用特权

评论回复
vivilyly| | 2024-4-6 11:27 | 显示全部楼层
编译器和CPU会对条件分支进行优化,编写代码时考虑分支预测,减少跳转。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

1441

帖子

1

粉丝