




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言和C+的区分首先,我们来看看C语言与C+的概念:1. C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔商量所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依靠计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,简略应用比如单片机以及嵌入式系统开发。2.1) C+这个词在中国大陆的程序员圈子中通常被读做“C加加”,而
2、西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用特别广泛的计算机编程语言。C+是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面对对象程序设计、泛型程序设计等多种程序设计风格。2) 随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。C+是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于20世纪80年月初在C语言的基础上开发成功的 C+保留了C语言原有的全部优点,增加了面对对象的机制。C+是由C进展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C+。从C+的名字可
3、以看出它是C的超越和集中。C+既可用于面对过程的结构化程序设计,又可用于面对对象的程序设计,是一种功能强大的混合型的程序设计语言。C+对C的“增强”,表现在六个方面:(1) 类型检查更为严格。(2) 增加了面对对象的机制。(3)增加了泛型编程的机制(Template)。(4)增加了异常处理。(5)增加了运算符重载。(6)增加了标准模板库(STL)。面对对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面对对象和面对过程对立起来,面对对象和面对过程不是冲突的,而是各有用途、互为补充的。学习C+,既要会利用C+进行面对过程的结构化程序设计,也要会利用C+进行面对对象
4、的程序设计,更要会利用模板进行泛型编程。C+的特点C+是在C语言的基础上开发的一种面对对象编程语言,应用广泛。C+语言的主要特点表现在两个方面:一是尽量兼容C,二是支持面对对象的方法。它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C+比C更平安,C+的编译系统能检查出更多的类型错误。另外,由于C语言的广泛使用,因而极大的促进了C+的普及和推广。C+语言最有意义的方面是支持面对对象的特征。虽然与C的兼容使得C+具有双重特点,但他在概念上完全与C不同,更具面对对象的特征。C语言的特点1.简洁紧凑、敏捷便利 C语言一共只有32个关键字,9种掌握语句,程序书写自由,主
5、要用小写字母表示。它把高级语言的基本结构和语句与低级语言的有用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 2. 运算符丰富 C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,敏捷使用各种运算符可以实现在其它高级语言中难以实现的运算。 3. 数据结构丰富 C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种简单的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种
6、显示器和驱动器。且计算功能、规律推断功能强大。 4. C是结构式语言 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息沟通外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式供应应用户的,这些函数可便利的调用,并具有多种循环、条件语句掌握程序流向,从而使程序完全结构化。 5. C语法限制不太严格、程序设计自由度大 一般的高级语言语法检查比较严,能够检查出几乎全部的语法错误。而C语言允许程序编写者有较大的自由度。 C和C+的区分:1 C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境
7、条件)进行运算处理得到输出(或实现过程(事务)掌握)。2 C+,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过猎取对象的状态信息得到输出或实现过程(事务)掌握。 所以C与C+的最大区分在于它们的用于解决问题的思想方法不一样。之所以说C+比C更先进,是由于“ 设计这个概念已经被融入到C+之中 ”。分析C+与C的不同: 一、类,类对于初学者,它是一个累赘。类的封装使得初学者对程序产生厌倦,感到不适和麻烦。 二、引用,引用是C+中最好尽量不要用它,除非万不得已。引用对于初学者就更容易产生混淆,不知道哪个是引用,哪个是变量。 三、函数的重载,初学者学函数的重载好像
8、没什么坏处,但是,这会使初学者潜意识里对C语言的变量类型的重要性产生淡化,要记住C语言是对变量类型最敏感了的,变量的类型在C语言里的重要性是不言而喻的。 四、流操作符,和上面同样的道理,使得对变量类型的重要性产生淡化,有时会产生使初学者莫名其妙的结果。 五、操作符重载,典型的高级应用,初学者可能根本用不着,这个东东会让他们觉得C+很难,门槛高,看不懂。六、继承,以及虚函数,看起来浅显,有用价值很低。 七、误区:问:C+是面对对象化的而C是面对过程化的?答:其次对,第一问错,C+并非完全面对对象化,真正的面对对象化的语言恐 怕只有Java才算得上。问:C+能实现C所不能的功能吗?答:至少我还没有
9、发现问:学了C再学C+有障碍吗?比如程序设计思想答:至少我还没有观察谁有此症状。问:学了C再学C+又要重头开头吗?答:不,C+下可以实现C语言的一切功能。问:我学完了C肯定还要学C+才能编程吗?答:完全没必要。问:C+比C好在哪里?答:更加符合软件工程学问:学完了C再学C+是不是很容易?答:那要看你是不是真正的学完了C语言。 C与C+的最大区分:在于它们的用于解决问题的思想方法不一样。之所以说C+比C更先进,是由于“ 设计这个概念已经被融入到C+之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C
10、加上好的设计”也能写出特别好的东西。 对语言本身而言,C是C+的子集,那么是什么样的一个子集?从上文可以看出, C实现了C+中过程化掌握及其它相关功能,而在C+中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C+更是拓展了面对对象设计的内容,如类、继承、虚函数、模板和包涵器类等等。 再提高一点,在C+中,数据封装、类型这些东东已不是什么新奇事了,需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用等等问题。 所以相对于C,C+包含了更丰富的“设计”的概念,但C是C+的一个自洽子集,也具有强大的功能,同样值得学习几点学习建议:1
11、基本概念很重要。无论学C,还是学C+,基本概念都是第一位的,也是比较困难的,但只有把握了基本概念才能把握整体脉络,才能居高临下。2C是C+的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。3如果要学好C+,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看,你会轻松得很。在我看来,学好C/C+是成为VC,BCB高手的必由之路。4不要妄想速成,必须得一个byte,一个bit的去抠,尽量搞清晰每一个问题。 6. C语言允许直接访问物理地址,可以直接对硬件进行操作 因此既具有高级语言的功能,又具有低级语言的很多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。 7. C语言程序生成代码质量高,程序执行效率高 一般只比汇编程序生成的目标代码效率低1020%。 8. C语言适用范围大,可移植性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版债权转股权合同
- 二零二五房地产估价委托协议合同书范文
- 借款居间服务合同及借款合同二零二五年
- 出租车司机聘用协议书二零二五年
- 土地拍卖转让协议书
- 公司投资公司合作合同范例二零二五年
- 2025工程项目承包合同(合同范本)
- 2025年版场地租赁合同范本
- 2025商业贷款质押合同
- 吸氧并发症及护理措施
- 胆管癌术后护理病例讨论
- WMT8-2022二手乘用车出口质量要求
- 大学《思想道德与法治》期末考试复习题库(含答案)
- 钦州市充电站建设计划书
- 婚纱行业基础知识培训课件
- 智能灯具故障排除方案
- 《少先队员采茶歌》课件
- 新外研版高一英语必修二unit6课文
- 气排球比赛积分表
- 20道瑞幸咖啡营运经理岗位常见面试问题含HR常问问题考察点及参考回答
- 急性心力衰竭中国急诊管理指南2022
评论
0/150
提交评论