Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глинський С++.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.26 Mб
Скачать
  1. Директиви препроцесора.

Препроцесор - це програма, яка опрацьовує директиви.

Директиви препроцесора — це команди компілятора відповідної мови програмування, які ви­конуються на початку компіляції програми. Директиви мови C++ починаються із символу #. Розглянемо декілька типів ди­ректив.

  1. Директива #include означає, що до програми необхідно приєднати програмний код із зазначеного після неї файлу.

Файли, які приєднують директивою #include, називаються файлами заголовків (header-файлами, бібліотеками, модуля­ми). У таких файлах зазвичай оголошують сталі й змінні, за­головки (сигнатури) функцій тощо.

Усі стандартні команди та функції мови C++ визначенні у файлах заголовків. Щоб приєднати модуль до програми ко­ристувача, директиву препроцесора необхідно зазначити на початку програми так:

#include <назва файлу>

«;» після вказівки заголовка не ставиться.

Ті бібліотеки, які прийшли з мови С записують додаючи букву «с» до початку назви файлу або як в мові С з суфіксом '.h'

Наприклад: #include <сstdio> #include <stdio.h >

#include <сstring> #include <string.h >

#include <сstdlib> #include <stdlib.h >

#include <сtime> #include <time.h >

#include <сmath.h>. #include <math.h>.

Заголовоки яких в мові С не було пишуться і без «с» і без .h - #include <iostream>. Новий вид заголовків є віртуальним включаємим файлом,який містить інформацію в попередньо скомпільованому вигляді. Написання суфіксу-розширення '.h' вважається застарілим варіантом вказання бібліотек. Суфікс обовязково ставиться, якщо заголовок не відноситься до числа стандартних - #include <conio.h>

Зазвичай усі стандартні бібліотеки розміщені у папці INCLUDE середовища C++. У такому випадку назва файлу є параметром директиви, її зазначають у кутових дужках <назва>. Якщо ж потрібний файл розміщений не у папці INCLU­DE, то назву файлу із зазначенням шляху пишуть у лапках:

#include "шлях до файлу\назва файлу.розширення"

Наприклад: #include ''d:\stud\MyBib.h''.

  1. Директива #define має подвійне значення. По-перше, вона може задати стале значенню (оголошує сталу). Наприклад, як­що у програмі задано #define N 25, то N під час виконання прог­рами матиме значення 25. По-друге, вона дає змогу описати макроси - короткі команди (переозначити команди) чи запи­сати функції, наприклад, так: #define D(a, b, с) ((b) * (b) - 4 * (а) * (с)).

Тепер скрізь для обчислення дискримінанта замість команди d=b*b-4*a*c можна записувати d = D(a, b,с).

Директива #undef скасовує дію директиви #define. Наприклад,

#define D(a,b,c) ((b) * (b) - 4 * (а) * (с))

#undef D

#define D(a,b,c) ((a) * (b) * (c))

  1. Загальна структура програми. Програма - це послідовність команд, на допомогою яких записують алгоритм розв’язування конк­ретної задачі

  2. Програма мовою C++ має такий загальний вигляд:

//коментарі у кінці рядка

#include <назва бібліотечного файлу 1>

#include <назва бібліотечного файлу N>

Інші директиви препроцесора

Оголошення глобальних змінних

Оголошення глобальних сталих

Оголошення та створення функцій користувача

Тип_результату_функції main()

{

Оголошення локальних змінних

Оголошення локальних сталих

Команди /* коментар будь-де */

}

Розрізняють глобальні та локальні дані. Дані, визначені для всіх функцій, тут називатимемо глобальними, а дані, які використовуються лише в окремих функціях чи блоках, — ло­кальними.

  1. Суттєвою особливістю мови C++ по­рівняно з іншими мовами є те, що програми складаються з функцій, які відіграють роль підпрограм в інших мовах.

Го­ловна функція, яка має бути у кожній програмі, - це функ­ція вигляду

int main() // застаріло- void main ()

{тіло функції;}

де main() - заголовок функції.

Порожні дужки означають, що функція не залежить від параметрів.

Тіло функції (усі команди після заголовка) записується у фігурних дужках { }, у яких містяться команди та виклики інших функцій. Команди відокремлюють символом (;).

Розглянемо програму, виведення на екран повідомлення: my first program

#include <iostream> //підключення заголовкового для операції введення-виведення даних

#include <cstdlib> // для роботы с функцiєю system()