为什么说“C语言是一种面向过程()的程序设计语言”

为什么说“C语言是一种面向过程()的程序设计语言”,第1张

面向对象和面向过程的简单解释:

面向过程:和你谈业务。把所有的事情都谈妥了,开始做项目。一整套项目做下来了,有需求要变。还得整个改变。

面向对象:边做业务,边谈需求,这样就能够避免上面的问题

两者是兼容的,c是c++的一个子集

c++支持面向对象功能的程序设计语言,而c语言是面向过程的程序设计语言,它不但具有c语言的短小精练,使用方便的特点,还在原来的基础上,使类型更严格,使用更方便。

简单来讲,c++是c的进阶,语法基本相同,不过很多用词不同,例如输出语句,c使用的是“prift”,而c++是“cout”

在语法上,c++更为严谨,它是类和函数的集合,即允许类体外的函数存在

在运算符上,c++增加了::,,,->以及动态内存方面的new和delete

c++还引进了内联函数的概念,减少了宏定义的使用

c语言是面向过程语言。

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。

C语言是一种面向过程的编程语言,而C++却是一种面向对象的编程语言。在C++程序里,数据和对数据的处理都被封装在了一个对象里。

在面向对象的世界里,用类一个个的构造出对象来,在主程序里调用的是一个个对象的行为。

(1)对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机,以及人等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

(2)对象的状态和行为。

对象具有状态,一个对象用数据值来描述它的状态。

对象还有 *** 作,用于改变对象的状态,对象及其 *** 作就是对象的行为。

对象实现了数据和 *** 作的结合,使数据和 *** 作封装于对象的统一体中

(3)类。

具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。

类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。

类具有 *** 作,它是对象的行为的抽象,用 *** 作名和实现该 *** 作的方法来描述。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。

在面向过程程序设计中,问题被看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数。它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序,即任何程序都可由顺序、选择、循环三种基本控制结构构造。

面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分,有识认性、多态性、类别性和继承性四个主要特点。

两者区别:

(1)从设计思路来看。

面向过程:程序设计的重点是分析解决问题的步骤,以及完成步骤的流程,是一种结构化自上而下的程序设计方法。

面向对象:程序设计的重点是把构成问题的事物分解成对象,从局部着手,通过迭代的方式逐步构建出整个程序,是一种以数据为核心,以类设计为主的自下而上的程序设计方法。

(2)从适用范围来看。

面向过程:由于不涉及实例化对象等 *** 作,程序性能更高,开销更少,因此像切入式等对资源要求较高的系统大多都采用面向过程开发。

面向对象:由于其抽象、封装、继承、多态的特性,使得系统具有更好的扩展性、维护性、复用性,对于功能复杂且维护成本较高的系统采用面向对象的开发。

(3)从代码复用来看。

二者都可以实现代码复用,但是面向过程主要是函数,而面向对象主要是类。

扩展资料:

由于面向过程的编程语言对解题过程的描述采用了比较接近人们习惯的方式,因而易学、易懂、易使用,是用户广泛使用的一类程序设计语言。这类语言的代表有ALGOL,FORTRAN,COBOL,PL/1,PASCAL和ADA等。

C语言是面向过程的,面向过程语言的程序代码=算法+数据结构,而C++和JAVA是面向对象的语言,程序代码=对象+消息。

我认为面向对象和面向过程就没有本质的区别,只是使用不同的方法和角度去观察一个世界。软件设计就像写剧本,数据就是角色,流程就是情节,整个软件就象一部**,面向对象只不过是把数据和对这类数据的处理捆绑在一起,在设计情节的时候就不必关心某个角色是如何完成某个动作的,只要安排各个角色按顺序完成动作就好了。而面向过程怎么做呢?那就是安排各个角色按顺序完成动作,而如何完成动作参见第几章第几节或下面的注解。

从程序上或者剧本上看,面向对象就是先描述角色的特点和如何完成各种动作,然后才是具体情节;面向过程就是先描述角色的特点,然后讲述情节,情节中对角色如何完成某个动作再写一个小说明。从组织上看,面向对象的方法组织得更好更清楚一些,而没有更多的不同。

至于派生和继承只是把同类角色具有的相同特点和动作放在一起描述罢了,因为这个角色和那个角色与其它的角色相比在某个方面相同或类似,所以把它们分为一类,这个类就成了一个基类了,例如老师和作家都是知识分子,那么就在这里一起描述一些知识分子具有什么共同的特点,而不再在老师这类角色和作家这类角色里赘述了。

“C语言”面向过程和面向对象的区别是:面向过程是着重于其中程序设计的算法、语言的运用,如设计不同功能的函数。面向对象,按书上说是在C语言的基础上发展起来的,通俗说也就是更高一级的C语言,也就是C++,保留了大部分C语言的功能,而在设计方面却着重于对象的处理,获得更好地性能。

面向过程与面向对象的区别,由“如何把大象装进冰箱”来看:

一、面向过程

为了把大象装进冰箱,需要3个过程。

/ 思路:

1、把冰箱门打开(得到打开门的冰箱)。

2、把大象装进去(打开门后,得到里面装着大象的冰箱)。

3、把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)。

/

//每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱。

//写法一:

1:冰箱开门(冰箱)。

2:冰箱装进(冰箱,大象)。

3:冰箱关门(冰箱) 。

//写法一变体:

1:(冰箱开门 冰箱)。

2:(冰箱装进 冰箱大象)。

3:(冰箱关门 冰箱)。

//写法二:

冰箱关门(冰箱装进(冰箱开门(冰箱),大象))。

//写法二变体:

(冰箱关门 (冰箱装进 (冰箱开门 冰箱) 大象))。

二、面向对象

为了把大象装进冰箱,需要做三个动作(或者叫行为)。每个动作有一个执行者,它就是对象。

/ 思路:

1、冰箱,你给我把门打开。

2、冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)。

3、冰箱,你给我把门关上。

/

//依次完成这些动作,你就可以把大象装进去。

//写法一:

1:冰箱开门()

2:冰箱装进(大象)

3:冰箱关门()

//写法二:

冰箱开门()装进(大象)关门()

程序设计语言分为机器语言、汇编语言、高级语言、非过程化语言四种类型。具体如下:

1、机器语言

机器语言是由二进制0、1代码指令构成,不同的CPU具有不同的指令系统。机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。这种语言已经被渐渐淘汰了。

2、汇编语言

汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系。汇编语言可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能时,汇编语言才被使用。

3、高级语言

高级语言是面向用户的、基本上独立于计算机种类和结构的语言。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。

从应用角度分类,可分为基础语言、结构化语言和专用语言。基础语言包括FORTRAN、COBOL、BASIC等;结构化语言包括PASCAL、C、Ada语言;专用语言是为某种特殊应用而专门设计,通常有特殊语法形式。包括APL语言、Forth语言、LISP语言。

从客观系统描述分类,可分为面向过程语言和面向对象语言。面向过程语言以“数据结构+算法”程序设计范式构成;面向对象语言以“对象+消息”程序设计范式构成,如VisualBasic、Java、C++等。

4、非过程化语言

编码时只需说明“做什么”,不需描述算法细节。用户可以用数据库查询语言(SQL)对数据库中的信息进行复杂的 *** 作。具有缩短应用开发过程、降低维护代价、最大限度地减少调试过程中出现的问题以及对用户友好等优点。

扩展资料:

程序设计语言的发展趋势是模块化、简明性和形式化。

1、模块化。不仅语言具有模块成分,程序由模块组成,而且语言本身的结构也是模块化的。

2、简明性。涉及的基本概念不多,成分简单,结构清晰,易学易用。

3、形式化。发展合适的形式体系,以描述语言的语法、语义、语用。

参考资料来源:百度百科-程序设计语言

以上就是关于为什么说“C语言是一种面向过程()的程序设计语言”全部的内容,包括:为什么说“C语言是一种面向过程()的程序设计语言”、c语言是面向过程的还是面向对象的、C++是面向对象还是面向过程语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9388163.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存