C语言 – 语言技巧部分01
提示:药,这里是C语言技巧部分,AKA全部捞干的来,shr~
文章目录
- C语言 – 语言技巧部分01
- C语言的历史背景
- 一、认识C语言程序
- 二、数据结构与算法
-
- 1.程序的内容
- 2.什么是算法/li>
- 3.算法的特性
- 总结
C语言的历史背景
早期的操作系统软件主要是用汇编语言编写的,包括UNIX操作系统在内,由于汇编语言依赖于计算机硬件,程序的可读性和移植性都比较差,为了提高系统软件的可读性及可以执行性,改用高级语言。在这种情况下诞生了C语言。C语言允许直接访问物理地址,能进行位(bit)操作。
一、认识C语言程序
一个简单的C语言程序举例,求2个数中最大的一个:
运行结果:

说明:&a和&b中的 “&” 含义是“取地址”;C程序是由函数构成的,一个C源程序至少且仅包含一个main函数;每个语句和数据声明的最后必须有一个分 。
有一个明显的不同就是头文件使用了 “cstdio” 而非 “stdio.h” ,这个在后续的文章中解释为什么这么用。暂时先这么写不会 错的,但是文件名记得以 “.cpp” 结尾。如果使用 “stdio.h” ,则文件名以 “.c” 结尾
二、数据结构与算法
1.程序的内容
一个程序包括以下2个方面的内容:
①对数据的描述;在程序中需要指定数据的类型和数据的组织形式,即数据结构。
②对操作的描述:即操作步骤,也就是算法。
计算机科学家沃思提出一个公式:数据结构 + 算法 = 程序; 可见算法与数据结构的重要性。其中 算法是灵魂,数据结构是加工对象,语言是 工具 。
2.什么是算法/h2>
算法主要是是解决了 “做什么” 和 “怎么做” 的问题。
不要认为只有 “计算” 的问题才有算法,广义的讲为了解决一个问题而采用的方法和步骤就称为算法。对于同一个问题可以有不同的解题方法和步骤。
例如:求1+2+3+…+100
有人可能这样算1+2然后再加3,再加4,一直加到100。
但是著名的数学家 约翰·卡尔·弗里德里希·高斯 在9岁的时候就提出了一种简单的运算方法:这样算100+(1+99)+(2+98)+(3+97)+…+(49+51)+50 = 100 + 100 x 49 + 50 = 5050;
可见有的方法只需要进行很少的步骤,而有的方法则需要较多的步骤。 一般来说希望采用方法简单、运算步骤少的方法; 因此为了有效的解决问题,不仅需要保证算法的 正确 ,还要考虑算法的 质量。
3.算法的特性
- 有穷性。 一个算法应包含有限的操作步骤,而不能是无限的。
- 确定性。 算法中的每一个步骤都应该是确定的,而不应该是含糊的。
- 有零个或多个输入。 所谓输入是指再执行算法时需要从外界取得必要的信息。
- 有效性。 算法中的每一个步骤应当能有效地执行,并得到确定的结果。
总结
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!