Єдиний спосіб вивчати нову мову програмування – писати на ній програми.
Брайян Керніган

Сучасне програмування на С невід’ємно пов’язане з використанням компіляторів C++. У більшості випадків ви зможете знайти комбінований компілятор для обох мов. Однак, є компілятори виключно для мови C. Найбільш популярними компіляторами є:

  • GCC (GNU Compiler Collection)- це вільний, відкритий компілятор, який підтримує багато мов програмування, включаючи C. Він широко використовується у багатьох операційних системах і є стандартом для багатьох дистрибутивів Linux.
  • Clang - це компілятор, який зосереджений на забезпеченні високої продуктивності та якості коду. Він часто використовується у проектах, що потребують сумісності з C++ та Objective-C. Tiny C Compiler (TCC) - це дуже малий і швидкий компілятор для мови C, який може використовуватися як компілятор на льоту або для систем, що мають обмежені ресурси.
  • Intel C++ Compiler (ICC)- це компілятор від Intel, оптимізований для продуктивності на процесорах Intel. Він підтримує розширені оптимізації та векторизацію.
  • Microsoft Visual C++ (MSVC)- це компілятор від Microsoft, який входить до складу Visual Studio. Він підтримує розробку на Windows та має багато специфічних для Windows функцій.

Компілятори постійно оновлюються, щоб підтримувати нові стандарти мови C та оптимізації для сучасного обладнання.

Цей розділ є коротким оглядом основних рис обох мов програмування С та C++. Спочатку буде наведено програма на C, а потім буде показано, як її відкомпілювати і запустити, і як така програма може виводити вихідні дані і прочитувати вхідні. Далі буде описано основні риси С/C++: основні типи, описи, вирази, оператори, функції і структура програми. У кінці буде описано можливості по визначенню нових типів, приховуванню даних, операціям, визначуваним користувачем, і ієрархії визначуваних користувачем типів.

Початок роботи

У даному розділі ми наведемо мінімальні приклади завершених програм на С. Ці приклади формують загальне уявлення про основні особливості С/C++, і будуть достатніми для подальшого написання простих програм. Для точного і повного пояснення понять, наведених у цих прикладах, потрібно декілька сторінок визначень. Для лаконічності приклади забезпечені тільки короткими визначеннями термінів, що використовуються. Більш детальні пояснення слід шукати у додатковій літературі та у дальших розділах.

Створення нового проекту

При роботі з Visual Studio використовують терміни Solution та Project. Для створення першого застосунку ми створимо Solution з одним Project. Для цього виконаємо такі кроки:

  1. Запустити Microsoft Visual Studio.
  2. Створити новий проект. В меню File вибрати пункт New, а в ньому пункт Project.

Створити новий проект

У вікні New Project вибрати Visual C++, з випадаючого списку вибрати тип проекту Win32, а далі Win32 Console Application. У рядку Name вказуємо назву проекту ProgDemo-01 і натискаємо ОК.

Win32 Console Application

У вікні майстра створення проектів натиснути кнопку Finish.

Finish

Отримаємо вікно проекту такого вигляду:

Фінальний крок

Виведення даних

Ось одна із найпростіших Сі-програм.

1#include <stdio.h>
2
3int main()
4{
5    printf("Це коротка Сі - програма");
6    return 0;
7}

Коли ця програма виконується вона виводить на екран повідомлення “Це коротка Сі-програма1. Не дивлячись на те, що ця програма лише у шість рядків, вона демонструє багато рис притаманних усім Сі-програмам. Проаналізуємо кожний рядок окремо.

Рядок #include <stdio.h> наказує компіляторові читати та приєднати файл stdio.h, у якому міститься інформація про функцію printf(). Якщо ви забудете приєднати цей файл до вашої програми, то ваш компілятор скаже, що він нічого не знає про функцію printf().

Наступний рядок: int main()

починає функцію main(). Усі Сі-програми повинні мати функцію main(). Це те місце, з якого починається виконання вашої програми. int вказує на те, що функція main() повертає ціле число (integer2).

Після main() іде відкрита фігурна дужка {. Вона символізує початок операторів у функції main().

Наступний рядок у програмі: printf("Це коротка Сі-програма*”*);

є одним із операторів мови Сі. Цей оператор викличе функцію стандартної бібліотеки printf(), яка у свою чергу виводить речення «Це коротка Сі-програма» на екран.

Наступний рядок:

return 0;

наказує функції main() повернути значення 0. Коли, саме функція main() (а не якась інша функція), повертає якесь значення, то це значення повертається до того процесу, який викликає функцію main(), і яким здебільшого є операційна система. Загально прийнято що, коли main() повертає значення 0, то це символізує нормальне закінчення програми. Будь-яке інше значення (напр. -1) означає те, що у вашій програмі сталася помилка. Це дає змогу операційній системі знати те, чи ваша програма виконувалася успішно, чи може у ній відбулася якась помилка. Слово return є ключовим словом Сі, і детальніше розглядається пізніше у цьому розділі.

Далі іде закрита фігурна дужка }, яка символізує закінчення функції main().


  1. Звертаємо Вашу увагу на те, що за правилами українського правопису цитати беруться в лапки. Це означає, що на екрані буде повідомлення без лапок. ↩︎

  2. Читається «інтеджер» – цілий. ↩︎