《C++程序设计教程(第3版)》——第1章,第2节从C到C++

简介:

本节书摘来自华章出版社《C++程序设计教程(第3版)》一书中的第1章,第1.2节从C到C++,作者张志航,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.2 从C到C++
C语言是美国贝尔实验室的Dennis Ritchie在B语言的基础上开发出来的,1972年在计算机DEC PDP-11上实现了最初的C语言。当时设计C语言是为了编写UNIX操作系统,UNIX操作系统90%的代码由C语言编写,10%的代码由汇编语言编写。随着UNIX操作系统的广泛使用,C语言也被人们认识和接受。
C语言在各种计算机上的快速推广导致出现了许多C语言版本。这些版本虽然是类似的,但通常不兼容。显然人们需要一个与开发平台和机器无关的标准的C语言版本。1989年美国国家标准协会(American National Standard Institute,ANSI)制定了C语言的标准(ANSI C)。Brian Kernighan和Dennis Ritchie编著的《The C Programming Language》(1988年)介绍了ANSI C的全部内容,该书被称为C语言的圣经(C Bible)。
C语言具有如下特点:1)语言简洁、紧凑,使用方便、灵活。C语言只有32个关键字,程序书写形式自由。2)具有丰富的运算符和数据类型。3)可以直接访问内存地址、进行位操作,完成类似于汇编语言的操作,能够胜任开发系统软件的工作。因此,有时C语言也被称为“中级语言”,其意义是它既具有高级语言的特点,又具有低级语言的硬件直接操作特性。4)目标代码质量高,程序运行效率高。5)可移植性好,即可以很容易地将程序改写后运行在不同的计算机系统中。
但是,C语言也有如下局限性:1)数据类型检查机制较弱,这使得程序中的一些错误不能在编译时被发现;2)语言本身几乎没有支持代码重用的机制,因此,一个编程者精心设计的程序很难被其他程序所使用;3)当程序达到一定规模时,编程者很难控制程序的复杂性。
1980年贝尔实验室的Bjarne Stroustrup博士及其同事对C语言进行改进和扩充。最初的成果称为“带类的C”,而后称为“新C”。1983年由Rick Mascitti提议正式命名为C++(C Plus Plus)。在C语言中,运算符“++”的意义是对变量进行增值运算,因此C++的喻义是对C语言进行“增值”,扩充内容。1994年制定了ANSI C++草案。以后又经过不断完善,形成了目前的C++,C++仍然在不断地发展。

相关文章
|
1月前
|
算法 数据挖掘 Shell
「毅硕|生信教程」 micromamba:mamba的C++实现,超越conda
还在为生信软件的安装配置而烦恼?micromamba(micromamba是mamba包管理器的小型版本,采用C++实现,具有mamba的核心功能,且体积更小,可以脱离conda独立运行,更易于部署)帮你解决!
63 1
|
1月前
|
存储 C++
c++的指针完整教程
本文提供了一个全面的C++指针教程,包括指针的声明与初始化、访问指针指向的值、指针运算、指针与函数的关系、动态内存分配,以及不同类型指针(如一级指针、二级指针、整型指针、字符指针、数组指针、函数指针、成员指针、void指针)的介绍,还提到了不同位数机器上指针大小的差异。
41 1
|
1月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
265 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
5月前
|
C++
C++ : 程序设计简单实例
C++ : 程序设计简单实例
44 3
|
5月前
|
安全 C++
C++:程序设计实例
C++:程序设计实例
53 2
|
5月前
|
存储 JavaScript 前端开发
程序与技术分享:C++程序设计实验考试准备资料(2019级秋学期)
程序与技术分享:C++程序设计实验考试准备资料(2019级秋学期)
|
5月前
|
C++
技术经验分享:C++程序设计的技巧
技术经验分享:C++程序设计的技巧
38 0
|
5月前
|
存储 算法 编译器
C++ 函数式编程教程
C++ 函数式编程学习
|
5月前
|
存储 编译器 开发工具
C++语言教程分享
C++语言教程分享
|
5月前
|
存储 编译器 C++