|Paradigm||Imperative (procedural), structured|
|Designed by||Dennis Ritchie|
|Developer||Dennis Ritchie & Bell Labs (creators); ANSI X3J11 (ANSI C); ISO/IEC JTC1/SC22/WG14 (ISO C)|
C17 / June 2018
|Typing discipline||Static, weak, manifest, nominal|
|Filename extensions||.c, .h|
|K&R C, GCC, Clang, Intel C, C++Builder, Microsoft Visual C++, Watcom C|
|Cyclone, Unified Parallel C, Split-C, Cilk, C*|
|B (BCPL, CPL), ALGOL 68, Assembly, PL/I, FORTRAN|
C (//, as in the letter c) is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions. It has found lasting use in applications previously coded in assembly language. Such applications include operating systems and various application software for computer architectures that range from supercomputers to PLCs and embedded systems.
A successor to the programming language B, C was originally developed at Bell Labs by Dennis Ritchie between 1972 and 1973 to construct utilities running on Unix. It was applied to re-implementing the kernel of the Unix operating system. During the 1980s, C gradually gained popularity. It has become one of the most widely used programming languages, with C compilers from various vendors available for the majority of existing computer architectures and operating systems. C has been standardized by the ANSI since 1989 (ANSI C) and by the International Organization for Standardization (ISO).
C is an imperative procedural language. It was designed to be compiled to provide low-level access to memory and language constructs that map efficiently to machine instructions, all with minimal runtime support. Despite its low-level capabilities, the language was designed to encourage cross-platform programming. A standards-compliant C program written with portability in mind can be compiled for a wide variety of computer platforms and operating systems with few changes to its source code.
k&r1ewas invoked but never defined (see the help page).
dottcl_2was invoked but never defined (see the help page).
dottclwas invoked but never defined (see the help page).
1980s: ; Verilog first introduced ; Verilog inspired by the C programming language
sigplanwas invoked but never defined (see the help page).
AutoTX-2was invoked but never defined (see the help page).
AutoTX-3was invoked but never defined (see the help page).
TIOBE-2021was invoked but never defined (see the help page).