三个关于C语言的问题
(一)C 语言具有下列特点:
1。 C是中级语言
它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2。 C是结构式语言
结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。 C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。
3。 C语言功能齐全
C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高...全部
(一)C 语言具有下列特点:
1。 C是中级语言
它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2。 C是结构式语言
结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。
C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。
3。 C语言功能齐全
C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。
另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的。
4。 C语言适用范围大
C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。
(二)C语言的发展过程
C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B。W。Kernighan和D。M。Ritchit合著了著名的“THECPROGRAMMINGLANGUAGE”一书。
通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSIC。
当代最优秀的程序设计语言
早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它*作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。
成为当代最优秀的程序设计语言之一。
(三)结构化程序设计
早期的计算机存储器容量非常小,人们设计程序时首先考虑的问题是如何减少存储器开销,硬件的限制不容许人们考虑如何组织数据与逻辑,程序本身短小,逻辑简单,也无需人们考虑程序设计方法问题。
与其说程序设计是一项工作,倒不如说它是程序员的个人技艺。但是,随着大容量存储器的出现及计算机技术的广泛应用,程序编写越来越困难,程序的大小以算术基数递增,而程序的逻辑控制难度则以几何基数递增,人们不得不考虑程序设计的方法。
最早提出的方法是结构化程序设计方法,其核心是模块化。1968年Dijskstra在计算机通讯上发表文章[1],注意到了“结构化程序设计”,之后,Wulf主张“可以没有GOTO语句”[2]。
至1975年起,许多学者研究了“把非结构化程序转化为结构化程序的方法”,“飞结构的种类及其转化”,“结构化与非结构化的概念”,“流程图的分解理论”等问题。结构化程序设计逐步形成既有理论指导又有切实可行方法的一门独立学科。
SP方法主张使用顺序、选择、循环三种基本结构来嵌套连结成具有复杂层次的“结构化程序”,严格控制GOTO语句的使用。用这样的方法编出的程序在结构上具有以下效果:
(1) 以控制结构为单位,只有一个入口,一个出口,所以能独立地理解这一部分。
(2) 能够以控制结构为单位,从上到下顺序地阅读程序文本。
(3) 由于程序的静态描述与执行时的控制流程容易对应,所以能够方便正确地理解程序的动作。
SP的要点是:“自顶而下,逐步求精”的设计思想,“独立功能,单出、入口”的模块仅用3种(顺序、分支、循环)基本控制结构的编码原则[3]。
自顶而下的出发点是从问题的总体目标开始,抽象低层的细节,先专心构造高层的结构,然后再一层一层地分解和细化。这使设计者能把握主题,高屋建瓴,避免一开始就陷入复杂的细节中,使复杂的设计过程变得简单明了,过程的结果也容易做到正确可靠。
独立功能,单出、入口的模块结构减少了模块的相互联系使模块可作为插件或积木使用,降低程序的复杂性,提高可靠性。程序编写时,所有模块的功能通过相应的子程序(函数或过程)的代码来实现。程序的主体是子程序层次库,它与功能模块的抽象层次相对应,编码原则使得程序流程简洁、清晰,增强可读性。
在SP中,划分模块不能随心所欲地把整个程序简单地分解成一个个程序段,而必须按照一定的方法进行。模块的根本特征是“相对独立,功能单一”。换言之,一个好的模块必须具有高度的独立性和相对较强的功能。
模块的好坏,通常用“耦合度”和“内聚度”两个指标从不同侧面而加以度量。所谓耦合度,是指模块之间相互依赖性大小的度量,耦合度越小,模块的相对独立性越大。所谓内聚度,是指模块内各成份之间相互依赖性大小的度量,内聚度越大,模块各成份之间联系越紧密,其功能越强。
因此在模块划分应当做到“耦合度尽量小,内聚度尽量大”。
结构化程序相比于非结构化程序有较好的可靠、易验证性和可修改性;结构化设计方法的设计思想清晰,符合人们处理问题的习惯,易学易用,模块层次分明,便于分工开发和调试,程序可读性强。
。收起