Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posibnyk_C_sum.doc
Скачиваний:
9
Добавлен:
29.08.2019
Размер:
1.63 Mб
Скачать

2 Засоби мови с

2.1 Алфавiт мови

До алфавiту належать:

  • латинськi букви великi та малi: a, b, c, ... , z, A, B, C, ..., Z;

  • десятковi цифри вiд 0 до 9;

  • роздiлювачi, вони показанi в таблицi 2.1;

  • пробiльнi символи, які показані в таблиці 2.2, вони починаються з символа зворотній слеш. У програмі виконують керівні функції.

Таблиця 2.1 – Розділювачі

Символ

Назва символа

Символ

Назва символа

,

Кома

!

Знак оклику

.

Крапка

:

Двокрапка

|

Вертикальна риска

/

Прямий слеш

;

Крапка з комою

\

Зворотнiй слеш

?

Знак запитання

~

Тiльда

'

Апостроф

_

Пiдкреслення

$

Знак долара

"

Лапки

(

Лiва кругла дужка

#

Знак номера (дієз)

)

Права кругла дужка

%

Процент

{

Лiва фiгурна дужка

&

Амперсанд

}

Права фiгурна дужка

^

Стрiлка вверх

[

Лiва квадратна дужка

-

Мiнус

]

Права квадратна дужка

+

Плюс

<

Менше

=

Дорiвнює

>

Бiльше

*

Зiрочка (множення)

Таблиця 2.2 – Пробільні символи

Символ

Назва символа

Символ

Назва символа

\a

Попередження (звук)

\v

Вертикальна табуляція

\b

Повернення на один знак вліво

\t

Горизонтальна табуляція

\f

На наступну сторінку

\r

Кінець рядка

\n

Перехід на новий рядок

\0

Нуль

2.2 Константи

Особливістю констант є те, що вони не можуть бути змінені в процесі виконання програми. За способом використання в програмі розрізняють два види констант: іменовані (мають ім’я) та неіменовані.

Неіменовані константи спеціально не оголошуються, вони подiляються на числа (цiлi або дійсні), символьнi (одинарний символ, лiтера) та рядковi (рядок символiв). На відміну від деяких інших мов програмування, перші версії мови С не мали констант логічного типу (true i false), вони були додані лише стандартом C99.

Цiлi константи є десятковi, вiсiмковi i шiстнадцятковi. Для їх розрiзняння вiсiмкова константа доповнюється спереду символом 0 (нуль), а шiстнадцяткова – 0x (нуль iкс). Кожна константа займає об’єм пам’ятi, потрiбний для її зберiгання. Цю пам’ять можна розширити за допомогою букв u (unsigned – беззнаковий) та l (long – довгий), якi ставляться наприкiнцi константи. Приклади цiлих констант:

11 – десяткова, містить 11 десяткових одиниць;

11l – десяткова, містить 11 десяткових одиниць, але займає вдвоє

більше пам’яті;

017 – вiсiмкова, містить 15 десяткових одиниць (1*81+7*80 =15);

0x2C – шiстнадцяткова, має 44 десятковi одиницi (2*161+12*160 = 44).

Дiйсні числа можуть бути записані в формі з фіксованою або пересувною крапкою. Перші складаються з цiлої i дробової частин, роздiлених крапкою, наприклад, 12.75, 7.2. Якщо ціла частина числа дорівнює нулю, то вона може бути опущена, наприклад, число 0.025 можна записати як .025. Числа з пересувною крапкою складаються з мантиси і порядку, розділених символом e. Наприклад, число 0.025 можна записати в формі з пересувною крапкою як 2.5*10-2, тоді в тексті програми воно прийме такий вигляд: 2.5e-2. Число з пересувною крапкою може мати нормалізований вигляд. Тоді воно дробове і менше за одиницю, а перша цифра після крапки – значуща. Наприклад, число 0,025 запишеться так: 0.25e-1.

Символьна константа – це символ, взятий в апострофи, наприклад: 'А', '*', 'Ю', 'щ'. Є константи, якi складаються з двох лiтер, наприклад, вищеописані пробільні символи. Символьний рядок являє собою послiдовнiсть символiв, взятих у подвійні лапки. Ознакою кiнця рядка є нуль ('\0'), який додається до рядка автоматично пiд час компiляцiї програми. Приклад рядка: "Полюс-123#".

2.3 Прості змiннi

Змiннi можуть приймати значення констант вiдповiдного типу. Iм’я змiнної позначають за допомогою iдентифiкатора, який являє собою набiр букв латини, цифр i символа пiдкреслювання. Iм’я повинно починатися з букви або символа підкреслювання. Перші версії мови С дозволяли використовувати лише 8 символів для побудови ідентифікаторів, стандарт С90 – до 31, а С99 – до 63. Проте, не варто захоплюватися ні одним, ні двома символами підкреслювання на початку слова, це не буде помилка, але сучасні операційні системи та компілятори С використовують їх для утворення службових слів, тому не слід додавати їм зайвої роботи. Іноді може статися конфлікт імен.

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

З метою запобігання помилок не бажано включати в імена букву l (ель), бо вона подібна на цифру 1 (один). Також, не слід використовувати букви верхнього регістру (великі), хоча вони й дозволені. Практично всі компілятори C розрізняють великі й малі букви, тому два однакові імена, в яких хоча б одна буква відрізняється типом регістру, сприймаються як різні. Не можна будувати імена за допомогою двох слів, розділених пробілом, це – помилка. Не можна, також, використовувати службові слова мови, такі, наприклад, як for, float та інші. Не варто вживати зарезервовані ідентифікатори, наприклад, імена стандартних функцій (printf(), exit(), system() і т. д.), хоча вони й дозволені.

Нижче подано декілька прикладів імен змiнних. Допустимі імена: nafta, dolar_231, syla_strumu, typ_dolota, suma_minus_22, kut_fi, pi, omega, a, x1, aa23c, plast_tysk, t_nafty. Недопустимі імена: Нафта, $231, syla strumu, typ#dolota, suma-22, φ, ω, float, else.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]