通过一个简单的C程序让大家认识了昨天的C语言。回头看看C语言程序的格式是
1.有一个头文件。
2.有一个主函数main。
3.其中一些组成了函数体。
4.每个执行语句后面都跟有“;”
5.英文字符一般不能大写。
其实这些都是数据结构。计算机科学家尼克劳斯沃斯说,数据结构算法=程序。那么数据结构和算法是什么关系呢?
把数据结构比作一个人的身体,那么算法就是人的灵魂。
该算法应具有以下特征:
1.贫穷
所有的算法都要在有限的步骤执行完之后才算完成,每一步都要在有限的时间内完成,不能无限执行。
你得给他一个在线算法。比如你做一个从小到大累加整数的程序,那么你一定要注意设置一个上限,否则程序会无限运行,进入无限循环。
2、确定性
算法的每一步都必须精确定义。比如昨天提到的完整C程序,每一步只能定义一次,不能有第二次定义。你还得对将要出现的每一个动作做一个严格清晰的定义。
3.可行性
你的算法的每一步你都要能够让它有效运行,也就是说,算法是可以执行的,你需要在最后的结果中得到正确的答案。
看下图。下图的代码肯定是无效的。z=x/y,这是无效的,因为0不可能是分母。
4.有投入。
一个算法可以有一个或多个输入,也可以没有输入。
5.有输出。
一个算法可以有一个或多个输出,就像HELLO,WORD Word最后在控制台上输出一样。如果你的程序运行没有任何意义,那么这个程序就失去了意义。
那么我们如何描述算法呢?
常用的算法,有自然语言,流程图,N-S流程图。让我们一个一个地学习它们。
什么是自然语言?我们的日常对话是自然语言。
案例1:
举个例子,有个农民想把一只羊、一只狼和一袋白菜运到河对岸,但是他的船太小了,一次只能装下自己和另一个。他不能把狼和羊放在一起,也不能把羊和白菜放在一起。那么农民应该怎么做呢?
1.先运羊。
2.回来运狼。
3.把狼晕过去后,把羊运回来。
4.把羊放到出发位置,运白菜。
5.回来运羊
这一系列的描述就是自然语言的描述。先说流程图。在讲流程图之前,我先给大家看一下流程图的符号:
一般来说,流程图只有三种结构:
1序列结构
这是一个从上到下的简单结构。
2.选择结构
选择结构也叫分支结构,选择结构中必须有一个判断框。
3.圆形结构
重复执行一系列操作,直到条件不成立,可分为时循环和知循环两种。
N-S流程图不是由b .内德曼提出的。他只是去掉了流水线,把所有的算法都写在一个矩形框里。
1序列结构
2.选择结构
3.圆形结构
我们今天所学的是基础。接下来,我们将进入c的世界,你准备好了吗?
给想要软件VS2017的人留下你的评论。