Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Alg1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
101.84 Кб
Скачать

18. Определение переменной. Требования к именам переменных.

Переменная в языке си - это именованная область памяти, в которой содержится определенное значение.

Переменная, или объект – это именованная область памяти, к которой мы имеем доступ из программы; туда можно помещать значения и затем извлекать их. Каждая переменная С++ имеет определенный тип, который характеризует размер и расположение этой области памяти, диапазон значений, которые она может хранить, и набор операций, применимых к этой переменной. Вот пример определения пяти объектов разных типов:

int student_count;

double salary;

bool on_loan;

strins street_address;

char delimiter;

Переменная, как и литерал, имеет определенный тип и хранит свое значение в некоторой области памяти. Адресуемость – вот чего не хватает литералу. С переменной ассоциируются две величины:

собственно значение, или r-значение (от read value – значение для чтения), которое хранится в этой области памяти и присуще как переменной, так и литералу;

значение адреса области памяти, ассоциированной с переменной, или l-значение (от location value – значение местоположения) – место, где хранится r-значение; присуще только объекту.

19. Типы числовых переменных.

целочисленные типы данных

short int 2 -32 768 / 32 767

unsigned short int 2 0 / 65 535

int 4 -2 147 483 648 / 2 147 483 647

unsigned int 4 0 / 4 294 967 295

long int 4 -2 147 483 648 / 2 147 483 647

unsigned long int 4 0 / 4 294 967 295

типы данных с плавающей точкой

float 4 -2 147 483 648.0 / 2 147 483 647.0

long float 8 -9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0

double 8 -9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0

20. Операции отношения, их приоритет.

Язык С имеет ровно шесть операции отношения. Почему их так называют? Дело в том, что обычно относительно двух величин, например, величины А и величины В, можно с определенностью сказать, что друг по отношению к другу они: или равны, то есть находятся в отношении равенства А=В, или не равны, то есть находятся в отношениях неравенства А не = В. Но тогда в последнем случае можно уточнять и думать уже о том, какая из этих двух величин больше и какая меньше. Тут может быть одна из двух возможностей: либо А<В, либо А>В. Иногда еще рассматривают такое отношение, в котором есть доля неопределенности, например, когда говорят, что А<=В, либо, когда А>=В. Сведем эти соотношения между двумя величинами в одну таблицу. Получим следующее: "<" - меньше.

"<=" - меньше или равно.

">" - больше.

">=" - больше или равно.

"==" - равно.

"!=" - не равно.

Таким образом, А по отношению к В может быть: либо меньше, либо меньше или равно; либо больше, либо больше или равно; либо равно, либо не равно. Другого нам просто не дано.

Операции отношения используются в условных выражениях. Например, простейшие условия, которые не содержат логических операций, это следующие: "a<0", "1998>2003", "b==B", "C!=D" и так далее.

21. Булевы (логические) операторы. Приоритет логических операций.

В С++ существует три логические операции:

Логическая операция И &&, нам уже известная;

Логическая операция ИЛИ ||;

Логическая операция НЕ ! или логическое отрицание.

Логические операции образуют сложное (составное) условие из нескольких простых (два или более) условий. Эти операции упрощают структуру программного кода в несколько раз. Да, можно обойтись и без них, но тогда количество ифов увеличивается в несколько раз, в зависимости от условия. В следующей таблице кратко охарактеризованы все логические операции в языке программирования С++, для построения логических условий.

В таблице показаны основные операции в С++, их приоритет выполнения и ассоциативность.

Приоритет

Операция

Ассоциативность

Описание

1

слева направо

унарная операция разрешения области действия

[]

операция индексирования

()

круглые скобки

.

обращение к члену структуры или класса

->

обращение к члену структуры или класса через указатель

2

++

слева направо

постфиксный инкремент

постфиксный декремент

3

++

справа налево

префиксный инкремент

префиксный декремент

4

*

слева направо

умножение

/

деление

%

остаток от деления

5

+

слева направо

сложение

-

вычитание

6

»

слева направо

сдвиг вправо

«

сдвиг влево

7

<

слева направо

меньше

<=

меньше либо равно

>

больше

>=

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

8

==

слева направо

равно

!=

не равно

9

&&

слева направо

логическое И

10

II

слева направо

логическое ИЛИ

11

?:

справа налево

условная операция (тернарная операция)

12

=

справа налево

присваивание

*—

умножение с присваиванием

/=

деление с присваиванием

%=

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

+=

сложение с присваиванием

-=

вычитание с присваиванием

13

,

слева направо

запятая

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