Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив WinRAR / 2_Посібник_С_002.doc
Скачиваний:
42
Добавлен:
17.05.2015
Размер:
2.7 Mб
Скачать

3.7 Оператори

Оператор (statement) у С визначає дію, яка має бути виконана. Оператори можна класифікувати на такі групи:

- оператори мітки;

- оператор вираз;

- порожній оператор;

- складений оператор;

- ітераційні оператори;

- оператори переходу;

- оператори вибору.

Оператор міткивикористовується разом з оператором переходуgoto, для безумовного переходу з точки програми позначеної операторомgotoв точку програми позначену оператором мітки.

Оператор виразпредставляє собою будь-який вираз, в кінці цього оператора обов’язково має бути символ крапка з комою «;».

Порожнійоператор складається з єдиного символу «;». Цей оператор використовується в інших операторах коли по синтаксису потрібно використати оператор але жодних дій виконувати не потрібно.

Складенийоператор являє собою нуль або більше операторів, об’єднаних за допомогою фігурних дужок. Відмінною рисою складеного оператора мови C від інших (наприклад, Pasсal) полягає в тому, що він визначає нову область дії, тобто змінні, визначені усередині складеного оператора, є локальними.

Ітераційніоператори призначені для виконання частини коду програми декілька разів при можливій зміні значень змінних у цій частині коду.

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

Оператори переходупризначені для безумовного переходу. Операторreturnповертає значення з функції, операторbreakприпиняє виконання ітераційних операторів і оператораswitch, операторcontinueпереходить на наступну ітерацію у ітераційних операторах.

Класифікація операторів мови С наведена на рис. 3.2.

Рисунок 3.2 – Класифікація операторів

Згідно синтаксису операторів представлених на рис. 3.2 на місці слова «оператор» може знаходитися будь-який оператор. Наприклад, оператор if може містити оператор while, який, в свою чергу, може містити оператор вираз. Винятком з правила є операториcontinueі break, які можуть використовуватися тільки в ітераційних операторах. Це правило не розповсюджується на операторswitch, синтаксис якого є особливим і визначено нижче.

3.8 Коментарі

Коментар– це набір символів, що ігноруються компілятором, і використовується для написання пояснень до коду програми. Початок та кінець коментарю позначається відповідно лексемами (/*) та (*/). Коментарі можуть бути як однострічковими так і багатострічковими. Коментарі розглядаються компілятором як розділові символи.

Коментарі можуть використовуватися при відлагодженні програми коли потрібно зробити недоступною для компілятора проблемну (не робочу) частину коду програми.

Наявність коментарів у тексті програми робить її зрозумілішою і дозволяє легко пригадати особливості про­грами після звертання до неї через тривалий проміжок часу.

Приклад 7. Синтаксис коментаря.

int a=2, b=7; /* ініціалізація змінних */

/* однострічковий коментар */

/* при використанні багатострічкових коментарів потрібно бути обережним, щоб усередині послідовності, що ігнорується компілятором, не потрапили оператори програми, що також будуть ігноруватися */

3.9 Директиви препроцесора

При запуску компіляції програми на С, починає діяти спеціальна програма – препроцесор.

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

Найбільш частіше використовуються такі директиви препроцесора:

- #include ( включає файл у текст програми );

- #define ( замінює ідентифікатор на літерал ).

Директива #include має два формати:

1. #include "ім'я_файлу".

2. #include <ім'я_файлу>.

Якщо ім'я файла вказане в лапках, то його пошук здійснюється в по­точному каталозі користувача. Якщо ім'я файла задане в кутових дужках, то його по­шук проводиться в стандартних директоріях операційної системи, наприклад, для компілятора DevC++ це «C:\Dev-C++\Include\».

Приклад 8. Синтаксис бібліотек

# include <stdio.h> /* підключення стандартної бібліотеки введення-виведення stdio.h */

# include <stdlib.h> /* підключення стандартної бібліотеки stdlib.h */

# include «myfync.h» /*підключення файлу користувача myfync.h */

Формат директиви # define:

# define стрічка_1 стрічка_2

де стрічка_1– ідентифікатор,стрічка_2 – літерал.

Директива #define замінить всі появи ідентифікатора "стрічка_1"у вихідному файлі на літерал«стрічка_2». Заміна ідентифікатора буде здійснена тільки тоді, коли він формує лексему. Наприклад, ідентифікатор«стрічка_1»не буде замінений, якщо він присутній у стрічковому літералі чи є частиною довшого ідентифікатора.

Приклад 9. Запис Директиви #define

# define SIZE 12 /* У тексті програмі всі лексеми SIZE будуть замінені на цілий літерал 12. */

Варто відмітити що при використанні # define немає необхідності у використанні оператора «;» .

Файли заголовків мають розширення ".h", а файли коду — розширення ".с" або ".срр".

Файли коду містять реалізацію програми користувача і мають розширення ".с" або ".срр". Вони складаються з однієї або більше функцій. Одна з функцій, з яких почина­ється виконання програми, повинна мати ім'я main. Функціяmainвідрізняється від ін­ших функцій тим, що її не можна викликати зсередини програми, а її параметри зада­ються операційною системою. Параметри у функціїmainможуть бути відсутні.

Виклик функції (активізація) виконується двома способами: класичним — за іменем; побічно — через покажчик на функцію (див. тему "Покажчики"). Класичний спосіб виклику функ­ції проводиться за допомогою вказівки імені в дужках, за яким указується список пара­метрів (аргументів). Список параметрів являє собою значення (змінних, констант, по­кажчиків констант або адрес), які необхідно передати функції для успішного розв'язання задачі. Функція активізується завжди, коли в керуючій програмі зустрічається ім'я функції.

Після виконання відповідної функції управління передається назад у середо­вище програми (за винятком особливих ситуацій), яка продовжує свою роботу.

Соседние файлы в папке Архив WinRAR