Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КТіП Лекції 20110516 (1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.32 Mб
Скачать
    1. Символьні рядки

Символьні рядки (рядкові константи) – це послідовність довільних символів кодової таблиці, охоплена лапками. Наприклад, “Hello, world”. Символьні рядки можуть містити ескейп – послідовності: “Hello, \”world\””.

В оперативній пам'яті всі символи рядка розташовані підряд. Кожен символ, включаючи ескейп – послідовності, займає один байт, в якому записується код символу. Особливість використання символьних рядків в мови програмування С++ полягає в тому, що компілятор автоматично долучає до них кінцевий нуль-символ \0, який використовується в процесі опрацювання рядків як ознака їх кінця.

Таким чином, два записи ‘А’ і “А” будуть різними не тільки синтаксично (по формі запису), а й семантично (за змістом). Перший запис позначає символьну константу, яка зберігається у пам'яті як ціле число, значення якого дорівнює коду літери А. Другий запис є символьним рядком, що складається з двох символів: літери А і нуль – символа.

Довжина символьного рядка не обмежується. У разі наявності в програмі довгих рядкових констант може виникнути потреба їх запису у декількох рядках програми. Використовують два способи поділу символьних рядків.

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

У другому способі перенесення строкових констант використовується така властивість компілятора: він об’єднує (конкатенує) у спільний рядок два записані підряд рядки, при цьому між ними може бути довільна символів – роздільників: пробілів, символів нового рядка, табуляції. Тому довгий рядок можна просто поділити на частини.

“Приклад довгого символьного рядка \ // Перший варіант

з перенесенням”

“Приклад довгого символьного рядка ” // Другий варіант

“з перенесенням”

    1. Знаки операцій, роздільники, коментарі

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

Знаки операцій можуть позначатись одним символом або дво- чи багатосимвольною комбінацією з символів другої групи алфавіту мови С++. Наприклад, односимвольні операції це +, *, -, /, &, =, багатосимвольні операції ++, --, >>.

До роздільників належать символи, які називають знаками пунктуації:

( ) [ ] { } , ; : = * #

Зокрема, фігурними дужками охоплюють тіло функції, знаком ; завершають усі описи та оператори, за допомогою знаку = ініціалізують змінні в оголошеннях. Один і той же символ може мати різне призначення залежно від контексту, в якому він використовується. Наприклад, знаком * позначають дві операції – арифметичне множення і звертання до даних за їх адресами, а також застосовують його як знак пунктуації для оголошення даних вказівникового типу. Фігурні дужки, крім охоплення тіла функції, використовуються для створення блоків операторів – всі оператори, які записані в дужках, компілятор буде розглядати як один оператор.

Роль роздільників лексем відіграють також символи, які називають пробільними – пробіл, символ горизонтальної і вертикальної табуляції, нового рядка, нової сторінки, переходу на початок рядка. Ці символи можна записувати в довільній кількості між будь-якими двома лексемами, самі лексеми розривати не можна. Компілятор розглядає послідовність довільних пробільних символів як один розділовий символ, що відокремлює лексеми.

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