|Paradigm||Multi-paradigm: imperative (procedural), structured|
|Designed by||Dennis Ritchie|
|Developer||ANSI X3J11 (ANSI C); ISO/IEC JTC 1 (Joint Technical Committee 1) / SC 22 (Subcommittee 22) / WG 14 (Working Group 14) (ISO C)|
C17 / June 2018
|Typing discipline||Static, weak, manifest, nominal|
|Filename extensions||.c, .h|
|pcc, GCC, Clang, Intel C, C++Builder, Microsoft Visual C++, Watcom C|
|Cyclone, Unified Parallel C, Split-C, Cilk, C*|
|B (BCPL, CPL), ALGOL 68, PL/I, FORTRAN|
C (pronounced // – like the letter c) is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of the targeted CPUs. It has found lasting use in operating systems, device drivers, and protocol stacks, but its use in application software has been decreasing. C is commonly used on computer architectures that range from the largest supercomputers to the smallest microcontrollers and embedded systems.
A successor to the programming language B, C was originally developed at Bell Labs by 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 available for practically all modern computer architectures and operating systems. The book The C Programming Language, co-authored by the original language designer, served for many years as the de facto standard for the language. C has been standardized since 1989 by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO).
C is an imperative procedural language, supporting structured programming, lexical variable scope, and recursion, with a static type system. 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.
1980s: ; Verilog first introduced ; Verilog inspired by the C programming language
sigplanwas invoked but never defined (see the help page).
cppreferencewas invoked but never defined (see the help page).