Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 10. Базові засоби мови С++.docx
Скачиваний:
6
Добавлен:
01.05.2019
Размер:
366.53 Кб
Скачать

2. Етапи створення програми

Розглянемо основні етапи створення програми на мові Сі:

  1. Написання тексту програми в деякому редакторі текстів.

  2. Компіляція програми. Компілятор проведе перевірку правильності програми, і якщо знайде помилку, видасть повідомлення про це. Інакше компілятор переведе програму у внутрішні коди ЕОМ і помістить результат у новий файл.

  3. Запуск програми шляхом набору імені нового файлу на клавіатурі дисплея.

Підготовка програми починається з написання тексту програми в деякому текстовому редакторі. Файл, в якому розташований початковий текст програми, має розширення .срр. Наприклад,

sort.cрр

add.cрр.

Розглянемо просту програму:

#include <stdio.h>

int main(void)

{ printf(‘Я проста програма’);

return o;

}

Цей текст називається початковим кодом. Помістимо його у файл з іменем prosta.cрр.

Але машина розуміє тільки спеціальну мову, що називається машинним кодом – набір послідовностей 1 і 0. Якщо ми хочемо, щоб комп’ютер виконав програму, ми повинні здійснити переведення з початкового коду в машинний (тобто компіляцію). В результаті створюється об’єктний код (код на мові машини). Файл, в якому розташований об’єктний код, має розширення .obj. Наприклад, prosta.obj.

Але програма містить в собі стандартні процедури, що містяться в різних бібліотеках. Після обєднання обєктного коду iз стандартними процедурами утворюється виконавчий код з розширенням .exe. Наприклад, prosta.exe.

Розглянемо детальніше фази підготовки програми.

Бібліотека об’єктних модулів – це файл, що містить набір об’єктних модулів і власний внутрішній каталог. Об’єктні модулі бібліотеки витягають з неї цілком при наявності в них потрібних зовнішніх функцій і змінних і використовуються в процесі компоновки програми.

3.Алфавіт і ключові слова

Алфавіт мови програмування С++ містить символи великих і малих латинських символів та арабських цифр, а також пробіл, коми, крапки, крапки з комою, двокрапки, знак питання, оклику, Вертикальної риски, апостроф, слеш (ліври та правий), тильда (~), нижнє підкреслення, дужки (круглі, квадратні, фігурні), знаки +, -, *, / та ін. Існують і спеціальні комбінації символів, які називають просто спеціальними символами. Вони використовуються, як правило, для представлення невидимих символів в рядках і символьних константах. Вони використовуються для таких дій к повернення каретки і табуляції (наприклад, для принтерів). А також для представлення символів, які мають особливий зміст (наприклад, подвійні лапок). Спеціальний символ складається з оберненого слеш, за яким слідує буква чи знак пунктуації, чи комбінація цифр.

Спеціальний символ

Найменування

\n

новий рядок

\t

Табуляції

\r

повернення каретки

\a

звуковий сигнал

\’

апостроф

\’’

подвійні лапки

\\

обернений слеш

Алфавіт мови С++ служить для побудови слів, які в С++ називають лексемами. Розрізняють 6 типів лексем (неподільні елементи мови):

  • ідентифікатори;

  • ключові слова;

  • літерали;

  • символи управління пре процесорами;

  • розділювачі;

  • знаки (символи) операції.

Лексеми відокремлюються розділювачами або символами пробілу, в число яких входять пробіл, символ горизонтальної та вертикальної табуляції, символ нового рядка, переводу формату та коментарі.

Ідентифікатори – це імена змінних, функцій і міток, що використовуються в програмі. Ідентифікатор використовується при оголошенні змінних чи функцій. Після цього його можна використовувати в програмі. Ідентифікатор в С++ – це послідовність з одного чи більше символів латинських букв (великих і малих), цифр і символу нижнього підкреслення. Першою літерою повинна бути буква. Допускається будь-яка довжина ідентифікатора, про значущими є тільки перші 32 символи. Компілятор мови С++ розрізняє великі та малі символи. Наприклад, правильні ідентифікатори: Mult, x1, ser_zn, неправильні ідентифікатори: int (ключове слово), 1x(починається з цифри) ser zn(містить пробіл)

Ключові слова. Частина ідентифікаторів мови С++ входять у фіксований словник ключових слів:

Asm

Char

do

for

long

register

struct

typedef

volatile

Auto

Class

double

friend

new

return

switch

typeid

while

Bool

const

else

goto

operator

short

template

union

break

continue

enum

if

private

signed

this

unsigned

Case

default

extern

inline

protected

sizeof

throw

virtual

Catch

delete

float

int

public

static

try

void

Літерали. Існує 5 типів літералів:

  • цілі числа – десяткові числа, вісімкові числа, шістнадцяткові числа;

  • дійсні числа можуть бути записані у двох видах: в стандартній формі (з десятковою крапкою 256,7) чив науковій нотації (2,567Е2 – зліва від символу Е записується мантиса, справа – значення експоненти, яка дорівнює показнику степеня 10);

  • логічні – true, false;

  • символи;

  • рядки;

Символи управління пре процесором. Препроцесор обов’язковий компонент мови С++. Його призначення – обробки вихідного тексту програми до початку її трансляції. Перед тим як розпочинається робота по аналізу тексту програми, препроцесор виконує над ним серію перетворень (знищення коментарів, об’єднання сусідніх символьних рядків, заміна керуючих послідовностей числовими командами). В програмі кожна директива препроцесора розташовується з нового рядка і починається символом (pound) #. Директива #include означає вставку тексту файлу на місце директиви. Файли які приєднуються такими директивами називаються файлами заголовків. У таких файлах зазвичай оголошуються сталі, змінні, заголовки функцій. Ім’я файлу береться в кутові дужки (пошук файлу здійснюється тільки в спеціалізованих каталогах) чи в подвійні лапки (пошук файлу розпочинається з поточного каталогу і потім перевіряються спеціалізовані).

Розділювачі – ; , [] {} () : = ….та інші. Розділюваччі в програмі використовуються для відокремлення операторів (речень записаних формальною мовою). До розділювачів відносяться також коментарі – це послідовність символів, які сприймаються компілятором як окремий пробіл і ігнорується. Коментарів в С++ бувають багаторядковими (обмежуються символами /* */) та однорядкові (починаються символами //) і до кінця ряду символи вважаються коментарем. Вкладеність багаторядкових коментарів не допускається.

Символи операцій С++ за виключенням [], (), ? розглядаються транслятором як окремі лексеми. Одна і та сама лексема в залежності від контексту може позначати різні операції. Розрізняють 3 типи операцій: унарні, бінарні та трьома операндами. Операнд – це об’єкт (змінна, функція) над якими проводиться операція.