Введення в мову програмування C

  1. Середовища і компілятори для програмування на C
  2. "Hello World" на C
  3. Практична робота

C - це досить "древній" мова програмування, він сформувався на початку 70-х. Не дивлячись на це, C - жива мова в тому сенсі, що він активно застосовується в даний час. Він був придуманий, використовувався і використовується для написання істотних частин програмного коду Unix-подібних операційних систем. Також на ньому пишуть утиліти, компілятори і рідше прикладні програми. Тому C називають системним мовою програмування.

Його живучість можна пояснити тим, що принципи роботи операційних систем щодо універсальні, вони не схильні до того прогресу і різноманітності, які можна спостерігати в середовищі десктопного та мобільного ПЗ, Web-додатків. C не є мовою досить високого рівня, він ближче до архітектури комп'ютера. В результаті програми на C виходять компактними і швидкими.

C не підтримує об'єктно-орієнтованого програмування. Підтримка ООП реалізована в C ++. Хоча останній виник на основі мови C, він не є його "продовженням", а являє собою окремий мову, який можна вивчати, не знаючи C. Однак вивчення C корисно перед знайомством з його "просунутим молодшим братом", тому що синтаксис мов схожий, C не перевантажувати мозок початківця програміста надможливостями і привчає до розуміння суті того, що відбувається.

Чи підходить C для першого знайомства з програмуванням? Якщо ви не навчаєтеся у вузі за фахом, пов'язаної з IT, то немає. C передбачає розуміння організації і принципів роботи апаратного забезпечення, зокрема - пам'яті. Тут багато що робиться за допомогою покажчиків, вони грають ключову роль; ця тема досить складна для розуміння і зазвичай не вивчається в школі.

Звичайно, за допомогою C можна вивчати основи програмування і не вивчати при цьому покажчики. Однак людина буде думати, що знає C, мало знаючи про нього по суті. Мова C був створений розбираються в пристрої «заліза» професійними програмістами для написання операційної системи UNIX. Його не було задумували як мову для навчання початківців.

Середовища і компілятори для програмування на C

Якщо ви користуєтеся одним з основних систем GNU / Linux, вам підійде будь-який текстовий редактор з підсвічуванням синтаксису, також знадобляться GCC і термінал.

Існують редактори для програмістів, які включають різні доповнення, в тому числі термінал, перегляд каталогів і ін Існують редактори для програмістів, які включають різні доповнення, в тому числі термінал, перегляд каталогів і ін. Наприклад, Geany або Atom.

Наприклад, Geany або Atom

C - компільований мову програмування. У GNU / Linux для отримання виконуваних файлів використовується GCC - набір компіляторів, що включає в тому числі компілятор для C. Щоб з вихідного файлу (зазвичай таким файлам дають розширення * .с) отримати виконуваний, треба виконати в терміналі команду приблизно наступного вигляду:

, Де gcc - команда, яка запускає програму, що виконує компіляцію і інші дії; -o - ключ, який повідомляє, що ми вручну вказуємо ім'я виконуваного файлу; hello - ім'я одержуваного файлу; hello.c - ім'я файлу з вихідним кодом. Ім'я файлу, що виконується можна не вказувати:

В цьому випадку виконуваний файл буде мати ім'я за замовчуванням a.out.

Для Windows існує свій набір компіляторів - MinGW. Його можна використовувати самостійно, проте він входить до складу простого середовища розробки Dev-C ++ , Яка може виявитися хорошим вибором для навчання програмуванню на мовах C і С ++.

При збереженні вибирайте тип файлу "C source files (* .c)". Компіляція і запуск програми виконується при натисканні клавіші F9. Після виконання програма відразу закривається і результат неможливо побачити. Щоб цього не відбувалося, прописують дві додаткові рядки: #include <conio.h> і getch (). (Можливо це не актуально для більш нової версії Dev-C ++.)

"Hello World" в GNU / Linux:

#include <stdio.h> int main () {printf ( "Hello World \ n"); }

"Hello World" в Windows:

#include <stdio.h> #include <conio.h> int main () {printf ( "Hello World \ n"); getch (); }

З іншого боку, існує велика кількість кроссплатформенних середовищ розробки. Наприклад, Eclipse + модуль CDT, KDevelop, CLion. Остання платна, випускається компанією JetBrains - лідером в розробці IDE, однак має 30-ти денний тріальний період, чого може бути досить для навчання. CLion зручніше інших IDE.

"Hello World" на C

На прикладі простої програми відразу відзначимо деякі особливості мови програмування C.

У мові C роль основної гілки програми бере на себе функцію main (). Ця функція завжди має бути присутня в закінченою програмою на мові C, і виконання програми починається саме з неї. Однак оголошені всередині неї змінні не є глобальними, їх область видимості простягається тільки на main (). Проте в мові програмування C майже весь програмний код полягає в функції, і функція main () є головною і обов'язковою.

За замовчуванням функція main () повертає тип даних int, тому можна не вказувати тип повертаються даних. Однак компілятор в цьому випадку виносить попередження.

Функція printf () призначена для виведення даних. Її призначення аналогічно процедурі write () мови Pascal і функції print () в Python. Функція printf () після виведення не виконує перехід на новий рядок. Тому для переходу використовується спеціальний символ, який позначається комбінацією \ n. Закінчені вираження на мові C розділяються крапкою з комою.

У мові C функції введення-виведення не є частиною мови. Наприклад, в Python нам не треба імпортувати ніякої модуль, щоб користуватися функціями print () і input (). У C же ми не можемо просто викликати функцію printf (), тому що в самому C її просто немає. Цю функцію, а також ряд інших, можна підключити за допомогою заголовки stdio.h. Саме для цього на початку програми прописана рядок #include <stdio.h>. Include з англійської перекладається як "включити", а stdio є скорочення від "стандартний ввід-висновок (input-output)".

У заголовних файлах (вони закінчуються на * .h) зазвичай міститися оголошення тих чи інших функцій. Оголошення - це просто опис функції: які параметри вона приймає і що повертає. Сам код функції (визначення) знаходиться не в заголовки, а в бібліотеках (інших файлах), які можуть бути вже скомпільовані і розташовані в системних каталогах. Перед компіляцією програми запускається препроцесор мови C. Крім іншого він включає в початок файлу програми вміст зазначених в ній заголовних файлів.

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

Закомментіруйте1 перший рядок коду програми HelloWorld. Спробуйте скомпілювати програму. Чи вдалося отримати виконуваний файл? Яке попередження видав компілятор?

1 // - однорядковий коментар на мові C; / * ... * / - багаторядковий коментар на мові C.

Чи підходить C для першого знайомства з програмуванням?
Чи вдалося отримати виконуваний файл?
Яке попередження видав компілятор?