Мова програмування C (треба вимовляти «сі»)можна охарактеризувати як універсальний, економічний, з повноцінним набором операторів, з сучасною структурою даних і потоком управління. Цю мову не можна назвати «великим» мовою, також він не претендує на звання «мови високого рівня», він не створювався під якісь конкретні завдання, навпаки, його намагалися зробити максимально ефективним для будь-яких застосувань. Цей цікавий сплав ідей, вкладених в мову програмування C зробив його дуже зручним і ефективнішим для широкого кола проблем, ніж інші, можливо, навіть більш просунуті мови.
Зв'язок «С» з ОС «UNIX» дуже близька, так як цеймова розвивалася разом з «UNIX» і велика частина ПО для цієї системи написано саме на ньому. У той же час З іноді називають мовою системного програмування, так як вважається, що з його допомогою зручно створювати операційні системи, насправді з таким же успіхом на ньому пишуть текстові редактори, програми обробки баз даних і гри.
C - мова програмування низького рівня, але неварто вважати, що це погано, насправді він просто оперує тими ж об'єктами, з якими постійно працюють будь-які ЕОМ, з символами, адресами і числами. При цьому всі об'єкти об'єднуються, порівнюються або віднімаються з допомогою звичайних логічних і арифметичних дій, звичних для ЕОМ.
Хотя функции работы с составными объектами стають нормою в світі кодинга і їх вбудовують в усі сучасні мови програмування, C, на відміну від інших, не вміє працювати з такими об'єктами як рядок, список, масив або безліч. У ньому немає ніяких аналогів операцій PL / 1 над цілими рядками і масивами.
С памятью С работает с помощью стека и статистичного визначення, інших можливостей оперування пам'яттю С не має, ви не знайдете в ньому «купу» (Heap) або «прибирання сміття», як це вміють робити Паскаль або Алгол 68.
И даже самые базовые механизмы, ввода/вывода, мова С не забезпечує, операторів Read і Write ви в ньому не знайдете, також відсутні і вбудовані функції роботи з файловою системою. Такі високорівневі операції забезпечуються за допомогою бібліотек, що підключаються.
А ще мова програмування C відмовиться працювати,якщо вам знадобиться мультипрограмування, синхронізація, паралельні операції, і т.д. У ньому закладені можливості виключно для простої і послідовної роботи, його стихія: цикли, перевірки, групування і підпрограми.
Кого-то, можливо, здивує така скупість засобівнаданих програмістам, ( «чому я повинен викликати функцію кожен раз, коли мені необхідно порівняти пару рядків!»), але з іншого боку, саме завдяки такій економії коштів, програми, написані на С, отримують реальну перевагу в швидкості.
З іншого боку, невелика кількість операторівскорочує час, потрібний для їх заучування, і вам вистачить кількох сторінок, щоб усіх їх описати. А ще як показує практика, компілятор з «С» - це компактний інструмент, який досить простий в написанні. Якщо користуватися сучасними засобами, компілятор для абсолютно нової ЕОМ буде готовий за все за пару місяців, при тому, що на 80% його код буде аналогічний коду попередніх версій. Завдяки такій своїй особливості, мову програмування C вважається дуже мобільним. Та й ефективність його така, що писати на асемблері будь-які програми, які критичні до продуктивності, як це було прийнято раніше, вже просто не має сенсу. Найкращим прикладом цього є сама ОС «UNIX», яка на 90% написана на «С» і прикладне ПО для неї, практично повністю створюється численними програмістами на цьому ж чудовому мовою, який в даний момент вважається в світі мовою програмування номер один.