Dalam
tahun 1978, C telah dipopularkan oleh Kernighan dan Ritchie (dari Makmal Bell,
di Amerika Syarikat) melalui penerbitan The C Programming Language. Buku ini
menjadi piawai untuk semua pengkompil C selama beberapa dekad. Versi C tersebut
yang dikenali sebagai K&R C adalah hasil dari loghat C yang ditulis oleh
Ritchie untuk sistem operasi UNIX pada komputer DEC PDP-11. Di peringkat
permulaan, C berkembang bersama UNIX dan kini ia digunakan dalam semua sistem
komputer.
Sebenarnya C boleh dikesan sejak dari awal lagi. Ia bermula dengan bahasa BCPL iaitu Basic Combined Programming Language yang ditulis oleh Richards dalam tahun 1969 di Universiti Cambridge, Amerika Syarikat. Bahasa BCPL adalah bahasa aras rendah yang saling berkait secara terus dengan arkitektur komputer. Dalam tahun 1970, Thompson telah menulis bahasa seakan BCPL untuk sistem UNIX yang awal yang digunakan dalam komputer DEC PDP-7. Thompson menamakan bahasa tersebut sebagai B.
BCPL dan B adalah
bahasa tidak bertaip yang terdiri dari pemboleh ubah di dalam ingatan komputer.
Bahasa tersebut sesuai untuk zaman tersebut dan terus digunakan sehingga
sepuluh tahun berikutnya. Bagaimanapun, bahasa tersebut menjadi tidak sesuai
apabila perisian yang lebih mesra pengguna diperlukan. Pengaturcara komputer
perlukan bahasa berstruktur yang mampu mengendalikan pelbagai jenis struktur
data.
K&R C direka
untuk memenuhi kehendak pengaturcara ketika itu dan ternyata ia sangat popular.
Banyak pengkompil C direka untuk memenuhi kehendak pengaturcara. Apabila banyak
pengkompil C direka, terdapat variasi yang menyebabkan sedikit perbezaan di
antara bahasa C yang digunakan. Untuk menyeragamkan bahasa C, American National
Standard Institute (ANSI) ditugaskan untuk menyelaraskan bahasa tersebut dalam
tahun 1983. Sebuah jawatan kuasa khas ditubuhkan untuk menyelaraskan C.
Hasilnya, dalam tahun 1988, C piawai telah diterbitkan. Bahasa ini dikenali sebagai ANSI C dan kini
diterima sebagai bahasa piawai.
Stroustrup yang bertugas di makmal Bell mula berjinak dengan bahasa C yang berorientasikan objek. Beliau menamakan bahasa tersebut C++. C++ adalah bahasa yang berasal dari C tetapi diperkemaskan lagi dengan keupayaan penggunaan teknologi berorientasikan objek. Ahli jawatan kuasa ANSI dengan segera menerima konsep yang dicadangkan dalam kertas kerja Stroustrup dan menjadikan C++ sebagai piawaian dan menamakannya ANSI C++.