从C到C++,C语言与C++的关系

C语言是1972年由美国贝尔实验室的D.M.Ritchie研制成功的。它不是为初学者设计的,而是为计算机专业人员设计的。大多数系统软件和许多应用软件都是用C语言编写的。但是随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。

C++是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的。

C++保留了C语言原有的所有优点,增加了面向对象的机制。

C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。从C++的名字可以看出它是C的超集。C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。

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

  • 在原来面向过程的机制基础上,对C语言的功能做了不少扩充。
  • 增加了面向对象的机制。

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。

学习C++,既要会利用C++进行面向过程的结构化程序设计,也要会利用C++进行面向对象的程序设计。

本教程既介绍C++在面向过程程序设计中的应用,也介绍C++在面向对象程序设计中的应用。

时间: 2024-11-03 21:18:12

从C到C++,C语言与C++的关系的相关文章

C语言基础学习运算符-关系运算符

比较大小 首先,我们得先了解一下布尔类型.C语言的C99标准支持布尔类型,关键字为_Bool,用于表示逻辑值true与false.C语言用值1表示true, 用值0表示false.因此布尔类型实际上是一种整数类型. 程序常常使用含有关系运算符的表达式进行分支和循环操作.我们将在分支和循环的章节中具体学习. C语言提供6种关系运算符,如下所示: 看个简单的实例吧: #include <stdio.h> int main(void) { int a = 5; int b = 3; /*根据变量a和

怎样认识语言和思维的关系

人类面对自然界的现实是相同的,大脑的生理构造也一样,因而具有共同的思维能力.任何复杂的现象不同民族的人都有能力认识它.不同民族有共同的思维能力不等于他们有共同的思维方式.思维能力和思维方式是两个不同的概念.思维能力指能不能认识现实,这一点不同的民族没有什么差异,即思维能力是全人类相同的,而思维方式是指如何实现这种能力,这一点不同的民族是不一样的,即思维方式具有民族的特点. 不同民族认识世界的方式是不同的,也就是思维方式上有差别,这些差异我们可以通过对不同语言的比较来加以考察,这些我们从不同民族给

C语言 第三章 关系、逻辑运算与分支流程控制

目录 一.关系运算 二.逻辑运算 三.运算优先级 四.if语句 4.0.代码块 4.1.单if语句 4.2.if else 4.3.多重if 4.4.?号:号表达式 五.switch语句 一.关系运算 若干表达式用关系运算符连接而成,就构成关系表达式. 关系表达式中,表达式成立,其值为1(真):表达式不成立,其值为0(假).其他表达式中,其结果如果是非0则为真,结果为0则为假. 关系运算符的优先级低于算术运算符,高于赋值运算符. 关系运算符号:> >= < <= != #inclu

外语教育规划的语言经济学视角

一.引言 进入新世纪以来,随着全球化浪潮和科技革命的加速发展,以及世界经济.贸易.文化交往的日渐频繁,外语教育受到了前所未有的重视.世界各国为了在政治.军事.经济和外交领域掌握优势,纷纷采取措施加强外语教育. 近年来,国内也开始重视外语教育规划研究,但目前多数研究是基于教育学.社会语言学以及政治相关研究的讨论,以思辨和国际比较为主. 然而,由于上述学科本身的学科属性的局限,相关研究也存在诸多问题,进而造成我国外语教育规划研究中的一些不足,如:由于缺乏科学系统的理论基础和研究方法,其研究结果存在较

C语言 运算符详细介绍及示例代码

C 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐一介绍算术运算符.关系运算符.逻辑运算符.位运算符.赋值运算符和其他运算符. 算术运算符 下表显示了 C 语言支持的所有算术运算符.假设变量 A 的值为 10,变量 B 的值为 20,则: 运算符 描述 实例 + 把两个操作数相加 A + B 将得到 30 - 从第一个操作数中减去第二个操作数 A

随想录(从apple的swift语言说起)

[ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 喜欢apple的程序员朋友对wwdc肯定不会陌生.本次wwdc上最大的一个亮点之一就是swift.本来大家都清楚,在apple上开发应用基本上都是以objective c为主.但是自从apple宣布后面需要用swift进行支持和替换的时候,估计大家又得忙起来了重新学习一下swift是怎么一回事了.好在apple十分贴心,早就给大家准备了一份教程,有兴趣的朋友此刻可以看起来了. 1)关于编程语

嵌入式开发学习(9)&lt;汇编写启动代码之设置栈和调用c语言&gt;

C语言运行时需要和栈的意义: "C语言运行时(runtime)"需要一定的条件,这些条件由汇编来提供.C语言运行时主要是需要栈 C语言与栈的关系:C语言中的局部变量都是用栈来实现的.如果我们汇编部分没有给C部分预先设置合理合法的栈地址,那么C代码中定义的局部变量就会落空,整个程序就死掉了. 我们平时在编写单片机程序(譬如51单片机)或者编写应用程序时并没有去设置栈,但是C程序还是可以运行的.原因是:在单片机中由硬件初始化时提供了一个默认可用的栈,在应用程序中我们编写的C程序其实并不是全

iOS开发系列--C语言之基础知识

概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift 这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中. 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): Hello World 运行过程 数据类型 运算符 常用

【转】解析JDK 7的动态类型语言支持

http://www.infoq.com/cn/articles/jdk-dynamically-typed-language Java虚拟机的字节码指令集的数量自从Sun公司的第一款Java虚拟机问世至JDK 7来临之前的十余年时间里,一直没有发生任何变化[1].随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令.这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8