![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Множественное присваивание – присваивание нескольким переменным одного и того же значения.
a=b=c=3.14159/6;
16. Операции увеличения (инкремента) и уменьшения (декремента)
Оператор p=p+1;
можно записать в префиксной форме ++p;
так и в постфиксной p++;
Эти формы отличаются при использовании их в выражении. Если знак декремента (инкремента) предшествует операнду, то сначала выполняется увеличение (уменьшение) значения операнда, а затем операнд участвует в выражении.
Пример: x=12; y=++x;
В результате в y будет храниться число 13. Если знак декремента (инкремента) следует после операнда, то сначала операнд участвует в выражении, а затем выполняется увеличение (уменьшение) значения операнда.
Пример: x=12; y=x++;
В результате в y будет храниться число 12.
17. Составное присваивание
К операторам составного присваивания относятся
+=, -=, *=, /=.
Оператор x+=p; предназначен для увеличения x на величину p.
Оператор x-=p; предназначен для уменьшения x на величину p.
Оператор x*=p; предназначен для умножения x на p.
Оператор x/=p; предназначен для деления x на p.
18. Операции целочисленной арифметики
К операциям целочисленной арифметики относятся:
целочисленное деление /
остаток от деления %.
При целочисленном делении операция / возвращает целую часть частного (дробная часть отбрасывается), а операция % – остаток от деления. Ниже приведены примеры этих операций
11 % 4 = 3
11 / 4 = 2
7 % 3 = 1
7 / 3 = 2
19. Операции битовой арифметики
Во всех операциях битовой арифметики действия происходят над двоичным представлением целых чисел. К операциям битовой арифметики относятся следующие операции С++.
Арифметическое И (&). Оба операнда переводятся в двоичную систему, затем над ними происходит логическое поразрядное умножение операндов по следующим правилам.
1 & 1 = 1 1 & 0 = 0 0 & 1 =0 0 & 0 = 0
#include <stdio.h>
int main ()
{ int A, B;
A=13;
B=23;
printf("\n%d\n", A & B) }
Этот участок программы работает следующим образом. Число А=13 и В=23 переводятся в двоичное представление 0000000000001101 и 0000000000010111. Затем над ними поразрядно выполняется логическое умножение.
& 0000000000001101
0000000000010111
0000000000000101
Результат переводится в десятичную систему счисления, в нашем случае будет число 5. Таким образом, 13 & 23 = 5.
Арифметическое ИЛИ (|). Здесь также оба операнда переводятся в двоичную систему, после чего над ними происходит логическое поразрядное сложение операндов по следующим правилам.
1 | 1 = 1 1 | 0 = 1 0 | 1 =1 0 | 0 = 0
Например:
#include <stdio.h>
int main ()
{ int A, B;
A=13;
B=23;
printf("\n%d\n", A | B) }
Над двоичным представлением значений А и В выполняется логическое сложение.
| 0000000000001101
0000000000010111
0000000000011111
После перевода результата в десятичную систему имеем 13 | 23 =31.
Арифметическое исключающее ИЛИ (^). Здесь также оба операнда переводятся в двоичную систему, после чего над ними происходит логическая поразрядная операция ^ по следующим правилам.
1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 =1 0 ^ 0 = 0
Арифметическое отрицание (~). Эта операция выполняется над одним операндом. Применение операции not вызывает побитную инверсию двоичного представления числа. Например, рассмотрим операцию not 13.
0000000000001101
~a 11111111111110010
После перевода результата в десятичную систему получаем ~13=-14.
20. Сдвиги
Сдвиг влево (M << L). Двоичное представление числа M сдвигается влево на L позиций.
Пример 17 << 3. Представляем число 17 в двоичной системе 10001, сдвигаем число на 3 позиции влево 10001000, в десятичной системе это число 136. 17 << 3 =136. Заметим, что сдвиг на один разряд влево соответствует умножению на 2, на два разряда – умножению на 4, на три – умножению на 8. Таким образом, операция M << L эквивалентна M.2L.
Cдвиг вправо (M >> L). В этом случае двоичное представление числа M сдвигается вправо на L позиций, что эквивалентно целочисленному делению числа M на 2L. Например, 25 >> 1=12, 25 >> 3= 3.
21. Логические операции и операции отношения
Логические операции выполняются над логическими значениями ИСТИНА (true) и ЛОЖЬ (false). В языке С++ ложью является 0, а истина – любое значение, отличное от нуля. В С++ появился тип bool. Результатами операций отношения (<, <=, >, >=, ==, ~=) или логической операции является ИСТИНА (true, 1) или ЛОЖЬ (false, 0). В языке определены следующие логические операции ИЛИ (||), И(&&), НЕТ (!)
22. Операция?
Для организации разветвлений в простейшем случае можно использовать оператор? следующей структуры:
Условие? Выражение1: Выражение 2;
Операция работает так.
Если Условие истинно (не равно 0), то результатом будет Выражение1, в противном случае Выражение2.
Например, оператор
y=x<0? –x: x;
записывает в переменную y модуль числа х.
23. Операция явного приведения типа
Для приведения выражения к другому типу данных в С++ существует операция явного приведения типа:
(тип) выражение
Здесь тип – любой поддерживаемый в С++ тип данных.
Например,
x=5;
y=x/2;
z=(float) x/2;
В результате этого участка программы переменная y принимает значение 2 (результат целочисленного деления), а переменная z – 2.5/
24. Ввод с помощью функции scan. Вывод с помощью функции printf
Дата публикования: 2014-12-10; Прочитано: 353 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!