Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Алфавіт

Алфавіт мови визначає набір символів, які можуть використовуватись для


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

Всі символи алфавіту С можна поділити на три групи.

1. Символи ключових слів та ідентифікаторів:

 великі та малі літери латинської абетки: A . . Z, a . . z (всього 52 символи);


 цифри: 0 . . 9 (всього 10 символів);
 знак підкреслення: _ .

2. Символи знаків операцій, пунктуації та роздільників:


+ - * / % = < > & | ! ~ ^ ? , . ; :
' " ( ) [ ] { } # \ (всього 28 символів).

3. Т. зв. ескейп-символи, які не мають власного графічного позначення.

До цієї групи відносяться символ пропуску та спеціальні керуючі символи, які ще


називають ескейп-послідовностями: символи табуляції, нового рядка тощо.

Символи керуючих послідовностей


Слеш- ASCII- Вісімкове Шістнадцяткове
Призначення символа
символ код позначення позначення
\a звуковий сигнал 7 \007 \x07
\b повернення на символ 8 \010 \x08
\t горизонтальна табуляція 9 \011 \x09
\n перехід на новий рядок 10 \012 \x0a
\v вертикальна табуляція 11 \013 \x0b
\f перехід до нової сторінки 12 \014 \x0c

\r перехід на початок рядка \015 \x0d


13
("повернення каретки")

Як ескейп-послідовності записують також:

\' – апостроф; \" – лапки; \\ – лівий слеш,


коли вони використовуються як окремі символьні константи або як елементи
символьних рядків.

1
Лексеми
Лексеми – найменші змістовні елементи програм, що мають самостійне
значення.
Мова С виділяє такі групи лексем:
 ключові слова,
 ідентифікатори,
 константи,
 знаки операцій,
 роздільники.

Ключові слова (їх ще називають зарезервованими або службовими


словами) – це набір визначених слів, що мають у мові своє призначення,
застосовувати їх для іншої мети не можна.
С використовує невеликий набір ключових слів:

 ключові слова типів даних:


char double enum float int long short signed
struct union unsigned void
 ключові слова кваліфікаторів типів і класів пам’яті:
auto const extern register static volatile
 ключові слова операторів:
break case continue default do else for goto
if return switch while
 інші ключові слова:
sizeof – операція, typedef – декларація типу.

Ідентифікатори – це імена, що надаються змінним, макросам, міткам,


функціям та іншим об’єктам програми.

Ідентифікатори формують із символів першої групи, але вони не можуть


починатися цифрою.

Приклади коректних і помилкових ідентифікаторів:


beta k15 mitka_2 GetList old_array – правильні;
2class – невірно, починається з цифри;
KH-307 – невірно, містить символ риски;
Put Name – невірно, містить символ пропуску.

2
У ключових словах і в ідентифікаторах розрізняються великі та малі літери.
Три ідентифікатори: summa, Summa та SumMa розглядаються як різні.

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


Ідентифікатори: new_file_name та OpenLargeWindow – наочні,
а xx чи wk1 – ні.

Константи (літерали) – це об’єкти програм, значення яких не змінюється.

У мові С константи належать до арифметичних даних. Виділяють:


 цілочислові,

 дійсні,
 символьні,

 перелікові константи.

Символьні рядки (рядкові літерали) – окремий вид лексем-констант.


Літеральний символьний рядок – це послідовність довільних символів (зокрема
ескейп-послідовностей), охоплена лапками:
"Press any key..."
"Національний університет \"Львівська політехніка\""
"\t Розв\’язок: \n"

Довжина символьного рядка не обмена. Довгі стрінгові літерали можна


записувати у декількох рядках програми, поділивши їх на частини:
"Це приклад розірваного"
" довгого "
"символьного рядка"

Компілятор об’єднає їх в один спільний рядок:


" Це приклад розірваного довгого символьного рядка"

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

Ключові слова, ідентифікатори та константи є т. зв. лексемами-словами.


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

Знаки операцій можуть позначатись одним символом або дво- чи три-


символьною комбінацією з символів другої групи алфавіту мови С:
+ * & < . ^ = – односимвольні операції;
++ || >> -> /= <<= – багатосимвольні операції.

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


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

Роль роздільників відіграють також символи, які називають пробільними:


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

Роздільником лексем є також коментар – текст, що роз’яснює програму.

You might also like