算法概述——速记
公式:数据结构 + 算法 = 程序
一、算法的特性:
1、确定性;算法中每个步骤应当是确定的,而不能是含糊的;
2、可行性(有效性);算法中每一个步骤应当有效的执行;
3、有零个或多个输入;
4、有一个或多个输出;
5、有穷性;一个算法应包含有限的操作步骤,而不是无限的。
二、算法的表示:
用流程图表示时三种基本结构要牢记
1、顺序结构;
2、选择结构(分支结构);
3、循环结构(重复结构);
三、例题:求1x2x3x4x5 用C语言表示;
解题思路:这题试求5的阶乘,有时候题目给的是5!,意思是一样的。原始的方法直接去算的话,过程太繁琐,我们设置两个变量t和i,代码如下:
复习一下,C程序的执行步骤?
(编辑源程序)、编译、连接、运行
执行结果:
程序分析:
首先 t=1,i=2,将t*i 再赋值给 t,即t*i→t,此时t的值变了t=1*2=2,
然后i=i+1=3,将t*i→t,此时t的值变了t=2*3=6,
然后i=i+1=4,将t*i→t,此时t的值变了t=6*4=24,
然后i=i+1=5,将t*i→t,此时t的值变了t=24*5=120;
当下一步 i=6 的时候因为不满足while函数的循环条件,所以退出循环,最后编译、连接、执行得到结果120。
四、结构化程序设计方法
1、自顶向下;
2、逐步细化;
3、模块化设计;
4、限制使用goto语句。
五、复习
1、什么是程序?
2、C语言允许的两种注释方式分别为?
3、C语言可以没有输出,这句话是否正确?
4、算法有哪三种基本结构?
5、编写一个C程序,使其运行时输出
******************************
Hello,I am Han Yanhong!
******************************