Єдиний спосіб вивчати нову мову програмування – писати на ній програми.
— Брайян Керніган
Сучасне програмування на С невід’ємно пов’язане з використанням компіляторів 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. Для цього виконаємо такі кроки:
- Запустити Microsoft Visual Studio.
- Створити новий проект. В меню File вибрати пункт New, а в ньому пункт Project.
У вікні New Project вибрати Visual C++, з випадаючого списку вибрати тип проекту Win32, а далі Win32 Console Application. У рядку Name вказуємо назву проекту ProgDemo-01 і натискаємо ОК.
У вікні майстра створення проектів натиснути кнопку 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().
Коментарі