1972年にAT&Tベル研究所のDennis MacAlistair Ritchie氏(故人 2011年10月12日逝去)とBrian Wilson Kernighan氏がUNIXの移植性を高めるために創ったプログラミング言語。OSのカーネル向けの低レベル(ハードウェア寄り)の記述ができることが特徴。
プログラミング言語としての自由度が高いため、それが長所にも短所にもなりうる。そのことが良くも悪くも「何でも出来てしまう」言語である理由となっている。
言語規格を特定用途向けやオブジェクト指向プログラミングに拡張したものや、C言語の文法による特徴を採用し類似した文法を使用している言語もよくある。