Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_P_2_2.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
213 Кб
Скачать
☆

1.2. Константи і змінні

Константа - це значення, яке не може бути змінене. Синтаксис мови визначає 5 типів констант:

  • символи;

  • константи перелічувального типу;

  • дійсні числа;

  • цілі числа;

  • нульовий покажчик (NULL).

Змінні можна змінювати. При завданні значення змінної у відповідну їй область пам'яті поміщається код цього значення. Доступ до значення можливий через ім'я змінної, а доступ до ділянки пам'яті - за його адресою. Кожна змінна перед використанням в програмі повинна бути визначена, тобто їй повинна бути виділена пам'ять. Розмір ділянки пам'яті, що виділяється для змінної і інтерпретація вмісту залежать від типу, вказаного у визначенні змінної. Найпростіша форма визначення змінних:

тип список_імен_змінних;

Основні типи даних

тип даних

Назва

розмір, битий

діапазон значень

unsigned char

беззнаковий цілий завдовжки не менше 8 біт

8

0 . . 255

char

цілий завдовжки не менше 8 біт

8

-128 . . 127

enum

перелічувальний

16

-32768 . . 32767

unsigned int

беззнаковий цілий

16

0 . . 65535

short int (short)

короткий цілий

16

-32768 . . 32767

unsigned short

беззнаковий короткий цілий

16

0 . . 65535

int

Цілий

16

-32768 . . 32767

unsigned long

беззнаковий довгий цілий

32

0 . . 4294967295

long

довгий цілий

32

-214748348 . . 2147483647

float

Дійсний одинарній точності

32

3.4Е-38 . . 3.4Е+38

double

Дійсний подвійній точності

64

1.7Е-308 . . 1.7Е+308

long double

Дійсний максимальній точності

80

3.4Е-4932 . . 1.1Е+4932

Відповідно до синтаксису мови змінні автоматичної пам'яті після визначення за умовчанням мають невизначені значення. Змінним можна привласнювати початкові значення, явно указуючи їх у визначеннях:

тип ім’я_змінної = початкове_значення;

Цей прийом називається ініціалізацією.

Приклади:

float pi = 3.14, cc=1.3456;

unsigned int year = 1999;

1.3. Операції

Унарні (такі, які мають лише один операнд. Наприклад, запис -А означає застосування до операнду А операції унарного мінуса):

&

отримання адреси операнда

*

звертання за адресою

-

унарний мінус, міняє знак арифметичного операнда

~

порозрядне інвертування внутрішнього двійкового коду (побітове заперечення)

!

логічне заперечення (НІ). Як логічні значення використовується 0 - НІ і не 0 - ТАК, запереченням 0 буде 1, запереченням будь-якого ненульового числа буде 0.

++

збільшення на одиницю:

префіксна операція - збільшує операнд до його використовування

постфіксна операція збільшує операнд після його використовування.

- -

зменшення на одиницю:

префіксна операція - зменшує операнд до його використовування

постфіксна операція зменшує операнд після його використовування.

sizeof

обчислення розміру (в байтах) для об'єкту того типа, який має операнд

Бінарні операції (Більшість операцій мають два операнди, один з яких розташовується перед знаком операції, а інший - після. Наприклад, два операнди має операція додавання А+В. Операції, які мають два операнди називаються бінарними).

Аддитивні:

+

бінарний плюс (складання арифметичних операндів)

-

бінарний мінус (віднімання арифметичних операндів)

Мультиплікативні:

*

множення операндів арифметичного типу

/

розподіл операндів арифметичного типу (якщо операнди цілочисельні, то виконується цілочисельний розподіл)

%

отримання залишку від розподілу цілочисельних операндів

Операції зсуву (визначені тільки для цілочисельних операндів).

Формат виразу з операцією зсуву:

операнд_ліворуч операція_сзуву операнд_правий

<<

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

>>

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

Порозрядні операції:

&

порозрядна кон'юнкція (І) бітових представлень значень цілочисельних операндів

|

порозрядна диз'юнкція (АБО) бітових представлень значень цілочисельних операндів

^

що порозрядне виключає АБО бітових представлень значень цілочисельних операндів

Операції порівняння:

<

менше ніж

>

більше, ніж

<=

менше або рівно

>=

більше або рівно

==

Рівно

!=

не рівно

Логічні бінарні операції:

&&

кон'юнкція (И) цілочисельних операндів або відносин, цілочисельний результат брехня(0) або істина(1)

||

диз'юнкція (АБО) цілочисельних операндів або відносин, цілочисельний результат брехня(0) або істина(1)

Умовна операція.

На відміну від унарних і бінарних операцій в ній використовується три операнди.

Вираз 1? Вираз 2 : Вираз 3;

Першим обчислюється значення виразу 1. Якщо воно істинне, то обчислюється значення виразу 2, яке стає результатом. Якщо при обчисленні виразу 1 вийде 0, то як результат береться значення виразу 3.

Наприклад:

x<0 ? -х : x ; //обчислюється абсолютне значення x.

Операція явного (перетворення) приведення типу.

Існує дві форми: канонічна і функціональна:

  1. (им’я_типа) операнд

  2. им’я_типа (операнд)

Пріоритети операцій.

Ранг

Операції

1

( ) [ ] -> .

2

! ~ - ++ -- & * (тип) sizeof тип( )

3

* / % (мультиплікативні бінарні)

+ - (адитивні бінарні)

5

<< >> (порозрядного зсуву)

6

< > <= >= (відносини)

7

== != (відносини)

8

& (порозрядна кон'юнкція «И»)

9

^ (що порозрядне виключає «АБО»)

10

| (порозрядна диз'юнкція «АБО»)

11

&& (кон'юнкція «И»)

12

|| (диз'юнкція «АБО»)

13

?: (умовна операція)

14

= *= /= %= -= &= ^= |= <<= >>= (операція привласнення)

15

(операція кома)

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