C++ C是一种被广泛使用的计算机程序设计语言它是一种通用程式設計語言支援多重编程范式例如過程化程序設計面向对象程序設計泛型程式設計和函数式程序設計等 比雅尼斯特勞斯特魯普博士在贝尔实验室工作期间在世紀年代發明並實現了C起初這種語言被稱作C with Classes包含類的C語言作為C語言的增強版出現随后C不斷增加新特性虚函数运算符重载多繼承标准模板库异常处理运行时类型信息命名空間等概念逐漸納入標準草案年國際標準組織頒布了C程序設計語言的第一個國際標準ISOIEC 目前最新标准为ISOIEC ISOIEC 通称ISO CISO C包含了主要包含了核心语言和标准库的规则尽管从核心语言到标准库都有显著不同ISO C直接正式normative引用了ISOIEC 通称ISO C且ISO C标准库的一部分和ISO C的标准库的API完全相同另有很小一部分和C标准库略有差异例如strcat等函数提供对const类型的重载这使得C和C的标准库实现常常被一并提供在核心语言规则很大一部分兼容的情况下进一步确保用户通常较容易把符合ISO C的源程序不经修改或经极少修改直接作为C源程序使用也是C语言继C语言之后流行的一个重要原因 作为广泛被使用的工业语言C存在多个流行的成熟实现GCC基于LLVM的Clang以及Visual C等这些实现同时也是成熟的C语言实现但对C语言的支持程度不一例如VC对ANSI C之后的标准支持较不完善大多数流行的实现包含了编译器和C部分标准库的实现编译器直接提供核心语言规则的实现而库提供ISO C标准库的实现这些实现中库可能同时包含和ISO C标准库的共用实现如VC的msvcrt而另一些实现的ISO C标准库则是单独于编译器项目之外提供的如glibc和muslC标准库的实现也可能支持多种编译器如GCC的libstdc库支持GCC的g和LLVM Clang的clang这些不同的丰富组合使市面上的C环境具有许多细节上的实现差异因而遵循ISO C这样的权威标准对维持可移植性显得更加重要现今讨论的C语言除非另行指明通常均指ISO C规则定义的C语言虽然因为实现的差异可能不一定是最新的正式版本 值得注意和流行的误解不同ISO C和ISO C都从未明确要求源程序被编译compile而仅要求翻译translate因此C和C并不是所谓的编译型语言來源請求技术上实现C和C程序的单位是翻译单元translation unit作为对比Java语言规范中就明确要求Java程序被编译实现明确存在编译单元compilation unit实际上C和C也存在REPL形式的解释器实现如CINT和Cling但因为传统上C和C多以编译器实现习惯上仍有一些混用甚至至今仍出现在ISO C某节标准库条款的标题 页面存档备份存于互联网档案馆上 传统上C语言被视为和C语言实现性能相近的语言强调运行时的高效根據C編程思想Thinking in C一書C與C的代码执行效率往往相差在之間