Ви збираєтесь писати код. Чи не псевдокод. Чи не скрипт. Справжній C. Він лаконічний, він старий, і він усюди. Якщо ви використовували операційну систему, базу даних або веб-сервер, ви, ймовірно, стосувалися фундаменту, який надає C. Перший крок — це не вивчення складних алгоритмів. Це правильне налаштування файлу і переконання, що компілятор не видасть помилку, перш ніж ви навіть почнете.
Відкрийте ваш улюблений редактор. Якщо ви використовуєте Linux або MacOS, стандартним вибором є vi або emacs. Користувачі Windows можуть звернутися до Блокноту, хоча я б стверджував, що повноцінний редактор коду є безпечнішим. У користувачів Mac є TeachText, хоча він здається архаїчним навіть зараз. Ціль проста: виведення звичайного тексту. Жодного багатого форматування. Жодних прихованих метаданих. Тільки сирі символи.
Збережіть файл як samp.c. Це дуже важливо. Компілятор очікує, що вихідний файл C буде мати розширення .c. Якщо ви збережете його як samp або samp.txt, компілятор швидше за все видасть помилку або не розпізнає синтаксис мови. Деякі редактори намагаються бути корисними та автоматично додають .txt. Вимкніть цю функцію. Вам потрібне чисте ім’я файлу.
Ось уся програма. Вона невелика. Вона завершена. Вона робить одну справу та робить це добре.
`
Давайте розберемо, що тут відбувається, тому що синтаксис здається чужим, якщо ви прийшли з Python чи JavaScript.
Спочатку рядок #include . Це директива препроцесора. Вона вказує компілятору увімкнути заголовний файл стандартного введення-виводу перед компіляцією. stdio означає Standard I/O (Стандартне Введення-Виведення). Цей файл містить оголошення для таких функцій, як printf, які ви будете використовувати для виведення тексту в консоль. Без цього рядка компілятор не знатиме, що таке printf, і складання завершиться невдачею.
Далі йде int main(). Це точка входу кожної програми C. Коли ви запускаєте програму, операційна система шукає цю функцію для старту. int вказує, що функція повертає ціле число. Ім’я main() закріплено за згодою. Ви не можете змінити його, якщо хочете, щоб програма запускалася стандартним чином.
Усередині фігурних дужок {} знаходиться тіло функції. Тут є одне твердження:
printf("This is output from my first program!\n");
printf – це функція, яка записує форматований висновок у стандартний потік виведення (зазвичай ваш термінал). Рядок усередині лапок — це те, що буде надруковано. Зверніть увагу на \n наприкінці. Це керуюча послідовність символу нового рядка. Без неї ваше запрошення командного рядка може з’явитися на тому ж рядку, що і ваш висновок, через що термінал виглядатиме неохайно. Крапка з комою ; наприкінці завершує затвердження. C суворий у цьому плані. Пропустіть крапку з комою і компілятор поскаржиться.
Нарешті, return 0;. Це завершує функцію main та повертає значення 0 операційній системі. У C значення, що повертається 0 традиційно означає “успіх”. Чи не нульове значення вказує на помилку. Це простий контракт між вашою програмою та

Код дуже простий. Він каже машині вивести на екран This is output from my first program! та завершити роботу. Жодних циклів. Жодної складної логіки. Тільки оператор виведення та вихід.
Щоб вивести цей рядок на екран, потрібен один крок: компіляція. Те, як це зробити, залежить від використовуваної вами машини.
Кроки компіляції в UNIX
У системі UNIX ви працюєте у терміналі. Ви вводите:
gcc samp.c -o samp
Ця команда запускає компілятор GNU C (gcc ). Він бере вихідний файл samp.c та перетворює його. Прапор -o вказує компілятору, куди помістити результуючий файл, що виконується. В даному випадку ви називаєте його samp.
Якщо команда gcc не розпізнана на вашій конкретній машині, спробуйте використати замість неї cc. Можливо, вона пов’язана з іншим бекенд компілятора.
Після успішної компіляції (без помилок) запустіть програму. Введіть:
samp
Або, на деяких системах, де поточна директорія не входить до пошуку виконуваних файлів, може знадобитися ввести:
./samp
Кроки компіляції в DOS та Windows
Якщо ви використовуєте DJGPP середовище на машині DOS або Windows, процес аналогічний, але відрізняються розширення файлів. У командному рядку MS-DOS введіть:
gcc samp.c -o samp.exe
Знову gcc – це компілятор. Він обробляє файл samp.c. Виконуваний файл з ім’ям samp.exe буде створено в результаті.
Щоб запустити його, просто введіть:
samp
Розширення .exe є необов’язковим при введенні команди в DOS, але воно необхідно, щоб операційна система могла розпізнати файл як виконуваний.
Інші компілятори
Можливо, ви використовуєте не gcc. Ви можете використовувати пропрієтарне середовище розробки (IDE) або зовсім інший компілятор. Синтаксис командного рядка відрізнятиметься.
Прочитайте документацію до конкретної системи розробки. Дотримуйтесь інструкцій компіляції та виконання програм на C. Логіка залишається тією ж: вихідний код на вході, виконуваний файл на виході, запуск виконуваного файлу.
Налагодження помилок
Швидше за все, ви припуститеся помилки. Компілятор не вибачає синтаксичних помилок. Якщо ви помилилися під час введення програми, можуть статися дві речі:
- Програма не скомпілюється. Ви отримаєте повідомлення про помилку.
- Програма скомпілюється, але працюватиме неправильно. Ви можете отримати помилку часу виконання або безглуздий висновок.
Якщо нічого не працює, відредагуйте код. Знайдіть друкарську помилку. Виправте її. Спробуйте ще раз. Цей цикл – частина вивчення C.
Позиціювання та форматування
Синтаксис є суворим, але пробельні символи допускають гнучкість. Є одне критичне правило щодо позиції.
Ви повинні розмістити директиву #include так, щоб знак решітки # знаходився у першому стовпці. Найлівіший край. Ніяких прогалин перед нею.
`
Якщо ви зробите відступ для цього рядка, препроцесор може не розпізнати його. Що стосується решти коду? Прогалини та відступи – на ваш розсуд. Компілятор ігнорує зайві символи пробілів.
У деяких системах UNIX можна використовувати інструмент під назвою cb, C Beautifier (форматувальник C). Він автоматично відформатує код. Він забезпечує однаковість відступів та прогалин.
Дотримуйтесь стилю відступів, показаного у вихідному коді. Він зрозумілий та читаємо. Використовуйте пробіли та табуляцію. Головне – будьте послідовні.














































