一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。不同的变量类型可以用结构体(struct)组合在一起。只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。部份的变量类型可以转换,例如整型和字符型变量。通过指针(pointer),C语言可以容易的对存储器进行低级控制。预编译处理(preprocessor)让C语言的编译更具有弹性。