c语言算法过程,C语言的入门干货,带你了解算法

通过简单的C 程序让大家昨天认识了C语言,回顾一下C语言程序的格式是

1、 有一个头文件

2、 有一个主函数main

3、 有一部分组成了函数体

4、 每一个执行语句后面都有“;”

5、 英文字符大小写不能通用

这些其实都是数据结构,计算机科学家尼克劳斯·沃斯说说过数据结构+算法=程序。那么数据结构和算法有什么关系?

把数据结构比作一个人的身体,那么算法就是这个人的灵魂。

算法应当具有的特性是:

1、 有穷性

所有的算法必须在执行了有穷的步骤之后结束,并且每一步骤都应当在有穷的时间内完成,不能无限执行下去。

做算法你都得给他一个上线,比如说是你做个从小往大整数累积的程序,这时候你一定注意要设置一个上限,不然程序会无终止的运行下去,就进入一个死循环的状态。

2、 确定性

算法的每一个步骤你都得让他拥有确切的定义,就比如昨天讲的完整C程序中每一步骤的只能定义一次,不能出现二次定义,你还得对于将要出现的每一个动作做出严格而清楚的定义。

3、 可行性

你算法的每一个步骤你都得能让他有效的运行,也就是说算法的可执行,并且要求在最终的结果之中得到正确的答案。

看下图,下图的代码是肯定不成立的,z=x/y这就是无效的啊,因为0不能做分母。

4、 有输入

一个算法可以有一个或者多个输入,也可以没有输入

5、 有输出

一个算法可以有一个或者多个输出,就好比HELLO,WORD最后在控制台输出的一样,如果你的程序运行下来没有任何意义的话,那么这个程序就失去了它的意义。

7a34bea2583970ccc5d12fad3367b2b9.png

那么我们怎么来描述算法呢?

对于常用的算法描述有自然语言,流程图,N-S流程图,让我们逐一学习。

什么是自然语言?就是我们日常的对话就是自然语言。

案例一:

比如说是有一个农夫要将一只羊,一只狼和一袋子白菜运到河对岸,可是他的船很小,每次只能装下他自己和另外的一个,他还不能把狼和羊放在一起,也不能把羊和白菜放在一起,那么农夫应该怎么做?

1、 先把羊运过去

2、 回来运狼

3、 把狼晕过去后,在把羊运回来

4、 把羊放在开始的位置,把白菜运过去

5、 回来运羊

这一系列的描述就是自然语言的描述,下面我们讲讲流程图,在讲流程图之前我先给大家看一看流程图的符号:

07f82f51874a004d8e23fe98e44af990.png

流程图一般只有三种结构:

1. 顺序结构

就是简单的从上往下按照顺序的一种结构

a5fc837445e4220435d9a83469699a2d.png

2. 选择结构

选择结构也称为分支结构,在选在结构之中必须得有一个判断框

bc927fb77256813b8160ef98244f76fb.png

3. 循环结构

反复的执行某一系列的操作,直到条件不成立的时候才终止循环,可以分为两种,当型循环和知道型循环。

cef3271bb196edab48a75339b55b4f48.png

98f5f0834192eb30e93a76c7652cf0a5.png

N-S流程图是没有人B.施内德曼提出的,他就是去掉了流程线,把所有的算法都写进一个矩形框内。

1. 顺序结构

d99deb9664d75f314bc6c45cecb1c618.png

2. 选择结构

46f8ab3f774c29894f08f0c7237fbad4.png

3. 循环结构

c907a7e20ea1bc43d155e24b00b50a67.png

今天学习的都是基础,接下来我们就要走进C的世界,你准备好了么?

想要软件VS2017的留下你评论哦。

举报/反馈

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值