C语言历史与C++的区别
前期演变: C语言的前身是1967年由Martin Richards为开发操作系统和编译器而提出的两种高级程序设计语言BCPL和B.BCPL。Ken Thompson在BCPL的基础上,提出了新的功能更强的B语言,并在1970年用B语言开发出UINX操作系统的早期版本。BCPL语言和B语言都属于“无数据类型”的程序设计语言,即所有的数据都是以“字”(Word)为单位出现在内存中,由程序员来区分数据的类型。
中期发展:1972年,贝尔实验室的Dennis Ritchie在BCPL语言和B语言的基础上,又增加了数据类型及其他一些功能,提出了C语言,并在DEC PDP-11计算机上实现。以编写UINX操作系统而闻名的C语言,目前已经成为几乎所有操作系统的开发语言。应当指出的是,C语言的实现是与计算机无关的,只要精心设计,就可以编写出可移植的(Portable)C语言程序。
历史地位:到20世纪70年代末,C语言已经基本定型,这个C语言版本现在被称为“传统C语言”。1978年,Kernighan和Ritchie编著的《C程序设计语言》出版后,人们开始关注起程序设计语言家族的这个新成员,并最终奠定了C语言在程序设计中的地位。《C程序设计语言》也成为历史上计算机科学领域最成功的专业书籍之一。
C语言与C++的区别
1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。
2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。
3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。
4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。 C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。
5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。
6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。
7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。
8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。
9,调试功能强大,并且方法多样C语言是面向过程的,而C++是面向对象的。
C语言历史与C++的区别的更多相关文章
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
为什么说JAVA中要慎重使用继承 这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...
- C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) C#各版本新特性 C#版本和.NET版本以及VS版本的对应关系
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) 2017年08月06日 11:53:13 阅读数:6705 历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有1 ...
- C、C++、C#、Java、php、python语言的内在特性及区别
C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...
- js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么
js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...
- C# 语言历史版本特性(C# 1.0到C# 8.0汇总)
历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有17年的历史,语言本身具有丰富的特性,微软对其更新支持也十分支持.微软将C#提交给标准组织ECMA,C# 5.0目前是ECM ...
- C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
历史版本C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有17年的历史,语言本身具有丰富的特性,微软对其更新支持也十分支持.微软将C#提交给标准组织ECMA,C# 5.0目前是ECMA ...
- [转]C# 语言历史版本特性(C# 1.0到C# 8.0汇总)
历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有17年的历史,语言本身具有丰富的特性,微软对其更新支持也十分支持.微软将C#提交给标准组织ECMA,C# 5.0目前是ECM ...
- C程序设计语言--指针和引用的区别
在看了一篇文章以后,http://coolshell.cn/articles/7992.html,说的是C和C++之间的缺陷,当然这篇文章说的非常高深了.所以就找了一些资料,分析了这两者的区别 在&l ...
- C语言几个输入函数的区别(史上最详细)
The difference of the string and the character(char): 字符串是一个带有""的字符序列如 "I fuck xuqian ...
- C# 语言历史版本和特性
C# 语言版本和对应特性,以及发布时间,.Net Framework 版本和 VS 版本 C# 4.0 和C# 5.0 熟悉点吧, VS10 ,VS12 和13 .Net Framework 4.0 ...
随机推荐
- HOLIscapes使用条款与免责协议
HOLIscapes(以下简称"我们")在此特别提醒您务必认真阅读.充分理解本<使用条款与免责协议>(以下简称"本协议")中各条款并选择是否接受本协 ...
- Go语言的常用函数方法整理大全-实践总结
文章目录 前言 一.数据类型与相互转化 1.1 常用的数据类型 1.2 常用数据类型的转化 1.2.1 整形转字符串 1.2.2 字符串转整形 1.2.3 浮点转字符串 1.2.4 字符串转浮点 二. ...
- jmeter压测dubbo接口,参数为dto时如何写传参及有错误时的分析思路
一.传参 1. 无论dubbo接口传参是否为dto,所有参数都是在args的tab传进去的. 2. 如果dto中有自定义对象,paramType为自定义dto名,paramValue为其他参数组成的j ...
- wpf DataGrid cell 背景色修改参考
<DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource ...
- 一、mysql基础
说明:学习视频参考尚硅谷--康师傅 第一章.数据库概述 1.为什么使用数据库?why? 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数 ...
- zabbix中文显示乱码解决
问题zabbix使用中文显示,"监测-->图形"查看资源使用情况时会有乱码 解决问题1.修改配置文件(文件位置:$zabbix_path/include/defines.in ...
- ASPICE的实践
ASPICE这种规范文件如果严格遵守,那么投入产出比是比较小的. 但是其中的思想是很好的,比如对需求的管理.讲究双向可追溯. 但是也是有很多需要慎重的,比如对component和unit的区分太过明显 ...
- centos 更新git
yum remove git rpm -ivh http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1. ...
- R6-1 数字金字塔
1 void pyramid(int n) 2 { 3 int i, j; 4 5 for(i = 0;i < n;i++){ 6 for(j = 0;j < n - i - 1;j++) ...
- JDBC之Driver和DriverMananger
JDBC之Driver和DriverMananger 目录 JDBC之Driver和DriverMananger Java和MySQL的关系 JDBC 演变过程 驱动加载入内存的过程 Oracle加载 ...