什么是冯诺依曼结构计算机?

什么是冯诺依曼结构计算机?

诺依曼计算机von Neumann machine使用冯诺依曼体系机构的电子数字计算机。19456月,冯诺依曼提出了在数字计算机内部的存储器中存放程序的概念(Stored Program Concept),这是所有现代电子计算机的范式,被称为诺依曼结构,按这一结构建造的电脑称为存储程序计算机(Stored Program Computer),又称为通用计算机。冯诺依曼计算机主要由运算器、控制器、存储器和输入输出设备组成,它的的特点是:程序以二进制代码的形式存放在存储器中;所有的指令都是由操作码和地址码组成;指令在其存储过程中按照执行的顺序;以运算器和控制器作为计算机结构的中心等。冯诺依曼计算机广泛应用于数据的处理和控制方面,但是存在一些局限性。

根据冯诺依曼体系结构构成的计算机,必须具有如下功能:

  1.把需要的程序和数据送至计算机中。

  2.必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。

  3.能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。

  4.能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。

  5.能够按照要求将处理结果输出给用户。

什么是面向过程的设计风格?

面向过程是一种以过程为中心的编程思想。

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

以我个人理解是认为是对一种不复杂的事件地分步地计划出应做的事情,从而一步步地完成。

是相对于面向对象的思维方式

C语言和C++语言的关系?

因为C++是一门独立的编程语言,它在语法、构建环境和运行环境上都无需依赖任何其它语言。至于说它是“C语言的超集,那只是一种模糊的提法而已,更准确的说法应是:C++语言从设计之初就充分考虑了对C语言的兼容,结果它在很大程度上兼容了C语言。

C++语言支持多种编程范式:面向过程、面向对象和范型程序设计。它所兼容C的部分,正是支持面向过程的主要部分。有C语言的基础,虽然有助于更快地掌握C++的面向过程部分,但由于C++语言本身也直接支持面向过程,因此我们完全可以从C++中直接学习面向过程程序设计,而无需先学C。至少理论上如此。

第一C语言是有用的,这不用多说,那么多C语言构筑起来的项目和复杂系统摆在那里。虽然没有对包括面向对象在内的各种更抽象的编程范式提供直接支持,但事实证明它能解决复杂问题;第二,C++语言的设计者所设计的是一门新式的语言,而不仅仅是一个更好用的C”

有人说过,“C语言是结构化的汇编,没错,它的功能、效率和可移植性都很好地达到了它的设计初衷,它对现实项目中的各种问题也都有它独特的解决方式,而同样的解决方式在C++语言中却未必是恰当的(反之也成立)。换句话说,从解决实际问题的方式来看,这两种语言谁也包含不了谁。我们学习语言最终不都是为了解决实际问题吗?那结论已经出来了:C++语言从语法上几乎完全包含了C不代表它真正包含了C

C语言面向过程的专项训练非常有助于迅速掌握C++语言的面向过程部分;而且,大多数人最终都在实际的软件开发中运用编程语言,这使得任何语言的编程背景对其它新语言的学习都会有帮助,比如说学习BASIC也可以认为对学习C++有帮助。但不同的语言毕竟是不同的语言,C语言和C++语言终归体现了不同的编程思想,如果在学习C++语言的过程中,不能适时的忘记并跳出C,有时可能阻碍对C++编程思想的理解和掌握。

总结一下:

1)学习C++语言不需要以任何其它语言作为基础,包括C;但是,
2)不要指望学会了C++语言,就等于同时掌握C++C
3)也不要指望学过一遍C++语言,面向过程的编程水平就一下子可以跟上专门学习过C语言的程序员;
4)学好了C,对学习C++有很大的帮助,但要更好的学习C++语言并掌握其编程思想,有时需适时地忘记并跳出C

再浓缩一下,其实只想说一句话:CC++是两门不同的编程语言,只是它们有较大的联系。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值