Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Бинарные операции
1.аддитивные операции + сложение арифметических операндов - вычитание 2. мультипликативные операции * - умножение / - деление. При целочисленных операндах абсолютное значение результата округляется до целого. 20/3=6 -20/3=-6 %- получение остатка от целочисленного деления
13%4=1 (-13%4)= -1 13%(-4) = +1 (-13)%(-4)= -1 3. Операции сдвига (только для целочисленных операндов) Формат выражения с операцией сдвига <операнд><операция сдвига><операнд>
<< сдвиг влево целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда.
>> сдвиг вправо
4 << 2 = 16 5 >> 1 = 2
4. Поразрядные операции & - конъюнкция значений целочисленных операндов | - дизъюнкция ^ - исключающая ИЛИ
6 | 5 = 7 110 6 ^ 5 = 3 110 | 101 ^ 101 111 011
5. Операции отношения (сравнения) <, >, <=, >=, = = (равно), != (не равно)
6. Логические бинарные операции. && - конъюнкция арифметических операндов или отношений. Результат 0 (ложь)или 1(истина) || - дизъюнкция арифметических операндов или отношений. 3 < 5 = 1 3 > 5 = 0 3 = = 5 = 0 (3 + 4 > 5 && 3+5 > 4 && 4 + 5 > 3) = 1
7. Операции присваивания. = присвоить значение выражения из правой части операнду левой части. p= 5 – 2* х; *= присвоить операнду левой части произведение значений обоих операндов p*=2 ~ р = р*2 /= присвоить операнду левой части частное от деления левого операнда на значение правого. p/= 2.2 – α ~ p = p/(2.2 – α) % = присвоить операнду левой части остаток от целочисленного деления Левого операнда на правый. N%=3 ~ N = N % 3 + = присвоить операнду левой части сумму значений обоих операндов А += В ~ А = А + В
- = присвоить операнду левой части разность значений обоих операндов Х - = 4.3 – Z ~ X = X – (4.3 – Z)
<<= a <<=4 ~ a = a << 4
>>= a >>=4 ~ a = a >> 4
&= присвоить целочисленному операнду левой части значение, полученное поразрядной конъюнкцией его битового представления с битовым представлением целочисленного операнда правой части. e&= 44 ~ e = e & 44 ! = - дизъюнкция ^ = - исключающая ИЛИ
8. Круглые () скобки играют роль бинарных операций при вызове функций.
<имя функции> (< список параметров >)
Квадратные скобки [ ] играют роль бинарных операций при индексировании элементов массива.
<имя массива>[<индекс>] - это переменная с индексом
В языке С++ принято, что индексы начинаются с нуля, т.е. массив int Z[3] состоит из элементов z[0], z[1], z[2]. Пример: Вывести на экран символьный массив ABCDEF в столбик.
#include <iostream.h> void main() { char MASSIV[]=”ABCDEF”; int i = 0; // i – номер элемента массива while (MASSIV[i]!= ‘\0’) cout << ‘\n’ << MASSIV[i++]; } Результат: A B C D E F 9. Условная операция:
<выражение1>? <выражение2>: <выражение3>
Алгоритм: вычисляется значение выражения1. Если оно истинно, т.е. ≠ 0, то результатом является значение выражения2, в противном случаевыражения3. Например: X<0? –X: X
10. Каноническая операция явного преобразования типа (как в С): (<имя типа>) <операнд>
позволяет преобразовать значение операнда к нужному типу. В качестве операнда можно использовать идентификатор, константу или выражение, заключенное в круглые скобки. Например: (long) 10 - внутренне представление имеет длину 4 байта. (char) 10 - внутренне представление имеет длину 1 байт. (float) 10 – внутреннее представление имеет длину 4 байта (формат вещественного числа) Еще пример: #include<iostream.h> void main() { int INTEGER = 50; float FLOATING = 15.85; INTEGER = (int) FLOATING; // явное преобразование cout << “New integer: “; cout << INTEGER << “\n”; } Результат: New integer: 15
Результат будет таким же в данном примере, если использовать неявное преобразование:
INTEGER=FLOATING; // неявное преобразование Кроме рассмотренной канонической операции явного преобразования типов в языке С++ существует функциональная форма преобразования типов:
<имя типа>(<операнд>)
В этом случае тип имеет простое, несоставное наименование. Например: long (2) - длина 4 байта double (2) - длина 8 байтов unsigned long(2) - ошибка!
Грамматика языка С++ определяет 16 рангов операций. Операции ранга 1 имеют наивысший приоритет. Если в выражении используются несколько операций одного ранга, то они выполняются либо слева–направо (->), либо справа-налево (<-).
Язык С++ предоставляет программисту возможность самостоятельно задавать порядок выполнения вычислений с помощью скобок. Не существует ограничения на вложенность скобок.
5. Разделители.
В число лексических единиц языка входят разделители:
[ ] () { },;: _ * = # & Вопросы 1. Укажите, какие операции располагаются в порядке возрастания приоритета: 1. =,<,>,!,+,*,/; 2. =,&,+,-,*,/,!; 3. <,>,*,!,&&,||,^; 4. +,&,|,*,~,<,>.
2. Логическая операция, возвращающая значение false тогда, когда хотя бы одиниз операндов равен false: 1. & 2. | 3. ^ 4. ~
Date: 2015-12-12; view: 429; Нарушение авторских прав |