算法的了解
程序=算法+数据结构
算法:算法是解决“做什么”和“怎么做”的问题。程序中的操作语句,实际上就是算法的体现。广义的来说,为了解决一个问题而采取的方法和步骤,就称为"算法"。
算法的特性
为了能编写程序,必须学会设计算法。一个有效算法应该具备以下特点:
- 有穷性。一个算法应该是包含有限的操作步骤,而不能是无限的。
- 确定性。算法中的每一步骤应该是确定的,而不是模糊,不清楚的。
- 有零个或者多个输入。所谓的输入是指在执行算法时需要从外界取得必要的条件。
- 有一个或者多个输出。算法的目的是为了求解,“解”就是输出。
- 有效性。算法中的每一个步骤都应该是能有效地执行,并得到确定的结果。
算法表示方法
为了表示一个算法,可以用不同的方法。常用的方法有:自然语言、传统流程图、结构化流程图和伪代码等。
自然语言表示算法
自然语言就是人们日常生活中使用的语言,可以是汉语、英语或其他语言。用自然语言通俗易懂,但文字冗长,容易出现歧义。而且用自然语言来描述包含分支和循环的算法不太方便。
流程图表示算法
流程图是用一些图框来表示各种操作。用图形表示算法,直观形象,易于理解。后面会学习流程图的三种基本结构:顺序结构、选择结构、循环结构。
N-S流程图表示算法
这种流程图完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他从属它的框,或者说,由一些基本的框组合成一个大框。
伪代码表示算法
伪代码是介于自然语言和计算机语言之间的文字和符号来描述算法。用伪代码写算法并无固定的、严格的语法规则,可以用英语,也可以用中文,当然也可以中英文混合使用。
例:求5!,用伪代码表示的算法如下:
begin (算法开始)
1=>t
2=>i
while i<5
{t*i=>t
1. List item
i+1=>i
}
print t
end (算法结束)
简单的算法
#include <stdio.h>
int main(){
//printf("两个数之和%d",33+6);
//printf("%d",33+6);
printf("33+6=%d",33+6);
return 0;
}
输出为
//两个数之和39
//39
33+6=39
- printf(“%d”,33+6),其中%d 表示十进制整数,后面有一个整数输出在这个位置。
- printf(“33+6=%d”,33+6);逗号后面的加法结果输出到 “ ”中的%d的位置上。
简单的运算符
运算符 | 描述 |
---|---|
+ | 两个数相加 |
- | 两个数相减 |
* | 两个数相乘 |
/ | 两个数相除 |
% | 取余,整除后的余数 |