为什么说C语言是结构化的语言

如题所述

虽然从严格的学术观点上看,C语言是块结构(b l o c k - s t r u c t u r e d)语言,但是它还是常被称为结构化语言。这是因为它在结构上类似于A L G O L、P a s c a l和M o d u l a - 2(从技术上讲,块结构语言允许在过程和函数中定义过程或函数。用这种方法,全局和局部的概念可以通过“作用域”规则加以扩展,“作用域”管理变量和过程的“可见性”。因为C语言不允许在函数中定义函数,所以不能称之为通常意义上的块结构语言)。

结构化语言的显著特征是代码和数据的分离。这种语言能够把执行某个特殊任务的指令和数据从程序的其余部分分离出去、隐藏起来。获得隔离的一个方法是调用使用局部(临时)变量的子程序。通过使用局部变量,我们能够写出对程序其它部分没有副作用的子程序。这使得编写共享代码段的程序变得十分简单。如果开发了一些分离很好的函数,在引用时我们仅需要知道函数做什么,不必知道它如何做。切记:过度使用全局变量(可以被全部程序访问的变量)会由于意外的副作用而在程序中引入错误。

结构化语言比非结构化语言更易于程序设计,用结构化语言编写的程序的清晰性使得它们更易于维护。这已是人们普遍接受的观点了。C语言的主要结构成分是函数C的独立子程序。

在C语言中,函数是一种构件(程序块),是完成程序功能的基本构件。函数允许一个程序的诸任务被分别定义和编码,使程序模块化。可以确信,一个好的函数不仅能正确工作且不会对程序的其它部分产生副作用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-03-18
虽然从严格的学术观点上看,C语言是块结构(block-structure d)语言,但是它还是常被称为结构化语言,这是因为它在结构上类似于ALGOL、Pascal和Modula-2(从技术上讲,块结构语言允许在过程和函数中定义过程或函数,用这种方法,全局和局部的概念可以通过“作用域”规则加以扩展,“作用域”管理变量和过程的“可见性”。因为C语言不允许在函数中定义函数,所以不能称之为通常意义上的块结构语言)
结构化语言的显著特征是代码和数据的分离。这种语言能够把执行某个特殊任务的指令和数据从程序的其余部分分离出去、隐藏起来,获得隔离的一个方法是调用使用局部(临时)变量的子程序。
C语言是一个结构化语言,它的重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。所以C语言和C++的最大区别在于它们解决问题的思想方法不一样。C语言是C++的基础,C++和C语言在很多方面是兼容的。

  C++对C的“增强”,表现在六个方面:

  (1) 类型检查更为严格。

  (2) 增加了面向对象的机制。

  (3) 增加了泛型编程的机制(Template)。

  (4) 增加了异常处理。

  (5) 增加了运算符重载。

  (6) 增加了标准模板库(STL)。

  与C不兼容之处:C++一般被认为是C的超集合(Superset),但这并不严谨。大部分的C代码可以很轻易的在C++中正确编译,但仍有少数差异,导致某些有效的C代码在C++中失效,或者在C++中有不同的行为。本回答被网友采纳

为什么说C语言是一种结构化语言
结构化语言比非结构化语言更易于程序设计,用结构化语言编写的程序的清晰性使得它们更易于维护。这已是人们普遍接受的观点了。C语言的主要结构成分是函数C的独立子程序。在C语言中,函数是一种构件(程序块),是完成程序功能的基本构件。函数允许一个程序的诸任务被分别定义和编码,使程序模块化。可以确信...

为什么说C语言是一种结构化语言
一般被认为是结构化语言(Structured Language),主要结构成分是函数。从技术上讲,C 语言不是块结构语言的原因是,块结构语言允许在 procedure 中和 function 中嵌套定义其它 procedure 和 function,而 C 不允许。结构化语言的显著特征是代码和数据的封装(compartmentalization),这就可以有效地防止由于过度...

c语言是完全模块化和结构化的语言,怎么理解,什么是模块化和结构化
所以C语言提供了一个函数的概念,你可以在函数里定义相对独立的逻辑,函数与函数之间通过函数调用和参数传递来相互沟通。这样就使得一个整体的逻辑可以被分离成相对独立的逻辑,这些相对独立的逻辑通过相互的沟通来达成整体的逻辑。所以简单的说,支持函数就是支持结构化。结构化侧重于“你可以将程序逻辑相互...

c语言是完全模块化和结构化的语言,怎么理解,什么是模块化和结构化
所以C语言提供了一个函数的概念,你可以在函数里定义相对独立的逻辑,函数与函数之间通过函数调用和参数传递来相互沟通。这样就使得一个整体的逻辑可以被分离成相对独立的逻辑,这些相对独立的逻辑通过相互的沟通来达成整体的逻辑。结构化侧重于“你可以将程序逻辑相互分离”这个涵义 ...

c语言是一种结构化程序设计语言吗
C语言是一种结构化程序设计语言。一、c语言介绍C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨...

C语言是一种结构化的程序设计语言,有几种常用的结构,分别是什么?
C语言是一种结构化的程序设计语言,有三种常用的结构,分别是顺序结构、选择结构和循环结构。语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型;可以轻易完成各种数据结构的构建...

请问C语言的主要特点有哪些?
1. 结构化编程:C语言是一种结构化编程语言,它支持模块化设计和代码重用,使开发人员可以更容易地编写和维护复杂的程序。2. 高效性:C语言是一种高效的语言,可以直接访问计算机硬件和操作系统,使程序的执行速度更快。3. 可移植性:C语言是一种可移植的语言,可以在不同的操作系统和计算机架构上运行...

在c语言中的考试中,什么叫结构化的算法?为什么要提倡结构化得算法?
结构化算法是由一些基本结构顺序组成的.在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本的结构范围内.一个非结构化的算法可以用一个等价的结构化算法代替,其功能不变.跟结构化算法比较起来,非结构化算法有以下缺点.流程不受限制的随意转来转去,使流程图豪无规律.使人在阅读的时候...

什么是结构化开发方法,什么是面向对象开发方法,比较二者的区别与...
早期的程序开发,如C语言,都是用结构化开发方法。结构化开发又叫做面向过程开发,具体原理是将一个软件分为多个过程(函数)进行开发,用结构体(struct)管理数据。这种开发方式使得代码的可读性变得很低,并且代码难以移植。现在较常用的开发方法为面向对象开发(Object-Oriented),分为分析(Analysis)、...

在C语言的学习中什么叫结构化程序
把一个大程序里的每个小功能分开来写,把这些小功能写成一个个函数,最后在主函数里想要用到什么功能的时候就引用过来。这就是结构化程序。

相似回答