Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП. ЛЕКЦИИ! Готовимся к экзамену))).docx
Скачиваний:
12
Добавлен:
10.12.2018
Размер:
175.63 Кб
Скачать

1.3.7. Операция sizeof

Имеет формат:

sizeof выражение

или

sizeof (тип данных)

Операция sizeof возвращает размер в байтах указанного в ней выражения или типа данных.

Пример:

float x=1;

cout <<"\nРазмер типа float в байтах=\t" << sizeof (float)

cout <<"\nРазмер переменной Х в байтах=\t" << sizeof x

Результат:

Размер типа float в байтах= 4

Размер переменной Х в байтах= 4

1.3.8. Операция "запятая" (,)

Дополнительная операция (,) не работает непосредственно с данными, а приводит к вычислению выражения слева направо. Эта операция позволяет использовать в одной строке несколько выражений, разделенных запятой.

Пример 1:

main()

{

int i = 10, j = 25;

}

Результатом выполнения является инициализация двух целочисленных переменных: переменная i получает значение 10, а затем переменная j получат значение 20.

Пример 2:

i = 10;

j=(i=12,i+8);

Результат выполнения: j=20. Сначала i получает значение 10, затем использование операции "запятая" приведет к тому, что i получит значение 12, а затем значение i+8, т.е. 12+8=20. Результат будет присвоен j.

1.3.9. Условная операция (?:)

Эта операция тернарная, то есть имеет три операнда.

Формат:

(условие) ? (выражение1) : (выражение2)

Если условие истинно, то выполняется выражение1, а если ложно, то выражение2.

Пример:

(а>b)?(ans =10):(ans=25);

или

ans=(a>b)?(10):(25);

Если а>b, то переменная ans получается значение 10, иначе - значение 0.25

1.3.10. Указатель. Определение адреса переменной

С++ позволяет напрямую работать с памятью. С любой переменной можно работать, указывая ее имя или адрес. Адреса переменных называются указателями, при описании указатель обозначается *.

Операция

*указатель

позволяет получить доступ к данным, которые хранятся по адресу указатель.

Пример:

int * k; // k - указатель на переменную целого типа

Перед использованием указателя его необходимо описать в программе.

Пример:

int *c; // с - указатель на переменную типа int

float *d; // d - указатель на переменную типа float

Можно получить адрес, по которому переменная располагается в памяти.

Операция

& переменная

определяет адрес переменной по ее имени, а также позволяет обратиться к памяти по значению указателя.

Приоритеты операций языка программирования С++

Таблица 1. Таблица приоритетов операций С++

Уровень приоритета

Символы

Описание

 

1

++

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

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

--

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

()

Вызов функции и подвыражение

[]

Выделение элемента массива

->

Указатель структуры

.

Член структуры

2

!

Логическое отрицание

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

~

Поразрядное логическое НЕ (дополнение до 1)

-

Унарный минус (изменение знака)

+

Унарный плюс

(type)

Преобразование к типу

*

Обращение к памяти по значению указателя

&

Определение адреса переменной

sizeof

Определение размера в байтах

3

*

Умножение

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

/

Деление

%

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

4

+

Сложение

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

-

Вычитание

5

<<

Поразрядный сдвиг влево

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

>>

Поразрядный сдвиг вправо

6

<

Меньше

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

<=

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

>

Больше

>=

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

7

==

Равно

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

!=

Не равно

8

&

Поразрядное логическое И

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

9

^

Поразрядное исключающее ИЛИ (XOR)

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

10

|

Поразрядное логическое ИЛИ

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

11

&&

Логическое И

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

12

||

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

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

13

?:

Операция условия

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

14

=

Присваивание

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

+=

Составное сложение

-=

Составное вычитание

*=

Составное умножение

/=

Составное деление

%=

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

<<=

Составной поразрядный сдвиг влево

>>=

Составной поразрядный сдвиг вправо

&=

Составное поразрядное логическое И

^=

Составное поразрядное исключающее ИЛИ

|=

Составное поразрядное логическое ИЛИ

15

,

Операция "запятая"

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

++

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

--

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

Директивы препроцессора С++