一文搞懂程序设计三大结构

        程序设计三大结构是我们写程序的基础,搞懂程序设计三大结构至关重要。下面将给大家详细介绍这三大结构。

1.顺序结构(Sequential Structure)

        顺序结构是三大结构中最基础的结构,其实我们写的每个程序都用到了顺序结构。顺序结构,说的就是程序按照从上到下的顺序逐行执行,每一条指令都按书写的顺序依次执行,直至程序结束。所以顺序结构规范了我们程序执行的顺序。

        下面用洛谷的P1001A+B Problem一题来加深大家对顺序结构的理解。

A+B Problem - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P1001

        通过分析我们直到这道题的程序执行步骤分为一下几步:

1.输入a和b

2.计算a和b的答案

3.输出答案

代码如下:

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    int ans = a + b;
    cout << ans << endl;
    return 0;
}

        那么我们发现我们上面分析的3个步骤是不可以调换顺序的,必须得从上到下按顺序执行,这也正是顺序结构的体现。

2.选择结构

        我们每个人每天都要做很多的选择,那么计算机也一样。选择结构肯定离不开选择,但是计算机选择的依据是什么呢?计算机又不具备大脑,所以我们不能让他做选择。我们需要给他提供选择的条件。那么选择结构就是根据条件进行选择。

        洛谷的P2433 【深基1-2】小学数学 N 合一就是很好的体现,输入的数不同,输出的内容也是不同的。感兴趣的可以去看一看,下面附上链接。

【深基1-2】小学数学 N 合一 - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P2433

3.循环结构

        循环结构顾名思义强调的是循环。在我们的生活中有很多循环的例子,比如:每周7天,一年中周在不停的循环。再比如:我们每天都要吃饭睡觉学习,日复一日,都是干同样的事,这也是循环。除了生活上,计算机中也有循环。

        我们说循环结构就是在重复执行某一段代码,直到满足特定的条件才会停止。它使程序能够高效地处理重复性任务或操作。这也能够让我们的代码变得简洁。

        为了更好的理解循环结构,我们不妨来看看洛谷的P5718 【深基4.例2】找最小值一题。

【深基4.例2】找最小值 - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P5718

        这道题让我们找出n个数中的最小值,那么我们做题一定要先看样例,所以我们一起分析一下样例。

在样例中,n=8,那么我们最简单粗暴的思路一定是一下这个样子。

先将答案设为0。

比较答案与第一个元素的大小,将答案更新为较小者。

再比较答案与第二个元素的大小,将答案更新为较小者。

再比较答案与第三个元素的大小,将答案更新为较小者。

再比较答案与第四个元素的大小,将答案更新为较小者。

再比较答案与第五个元素的大小,将答案更新为较小者。

再比较答案与第六个元素的大小,将答案更新为较小者。

再比较答案与第七个元素的大小,将答案更新为较小者。

再比较答案与第八个元素的大小,将答案更新为较小者。

最后输出答案。

        我们会发现上面的思路中比较答案与每个数的大小的操作一直在重复出现,那么如果我们只用顺序结构如同上面的写法就很麻烦。所以循环结构正是在帮助我们减少麻烦。使用循环结构优化后的思路如下。

先将答案设为0。

写一个1~n的循环,每次比较答案与元素之间的大小,将答案更新为较小者。

输出答案。

        我们会发现使用循环结构不仅让我们的效率大大提升,并且可以让我们的代码变得更加简洁。这就是循环结构。

        最后附上本题代码。

#include <cstdio>
int main(){
	int n,x,minn=100000;
	scanf("%d",&n);
	for (int i=1;i<=n;i++){
		scanf("%d",&x);
		if (minn>x){
			minn=x;
		}
	}
	printf("%d\n",minn);
	return 0;
}

结语

        今天带大家了解到了程序设计的三大结构,这也会为大家以后学习程序设计打下一个良好的基础。先做关于三大结构题的同学可以做做洛谷官方题单的前3个题单,分别对应三大结构。

【入门1】顺序结构 - 题单 - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/training/100【入门2】分支结构 - 题单 - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/training/101【入门3】循环结构 - 题单 - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/training/102#problems

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值