Приклади.
1) Визначити значення змінних a,b після виконання операцій
а =1;
b = 5 + а++;
Після виконання а=2, b=6
2) Визначити значення змінних a,b після виконання операцій
a=1;
b = 5 + (++а);
Після виконання в=7, а=2
Логичні операції
Операндами логічних операцій є логічні значення. Результатом логічної операції є логічне значення правда чи неправда. В Borland С++ правда має значення 1, а неправда - 0. Перелік операцій приведено в таблиці.
Позначення операції | Операція |
! | Логічне „не” |
&& | Логічне „і” |
|| | Логічне „або” |
Операції відношень
Результатом операції відношення є логічне значення правда чи неправда.
Перелік операцій приведено в таблиці.
Позначення операції | Операція |
== | Перевірка на рівність |
!= | Перевірка на не рівність |
> | Більше |
< | Менше |
>= | Не менше |
<= | Не більше |
Операції присвоєння
С++ має кілька операцій присвоювання, які дозволяють скорочувати запис виразів, що присвоюються. Наприклад, оператор с=с+3; може бути скорочений завдяки використанню складеної операції додавання += : с +=3; Такі операції виконуються швидше.
Формат складених операцій присвоєння:
<змінна> <операція>= <вираз>;
Перелік складених операцій присвоєння приведено в таблиці:
Позначення операції | Операція |
+= | Присвоєння з додаванням |
-= | Присвоєння з відніманням |
*= | Присвоєння з множенням |
/= | Присвоєння з діленням |
%= | Присвоєння залишку цілочисельного ділення |
<= | Присвоєння з зсувом вліво |
>= | Присвоєння з зсувом вправо |
&= | Присвоєння з порозрядною операцією „AND” |
^= | Присвоєння з порозрядною операцією „XOR” |
|= | Присвоєння з порозрядною операцією „OR” |
Складені операції присвоєння присвоюють першому операнду результат примінення відповідної простої операції, що вказана перед символом „=”, до першого і другого операндів. Операція присвоєння повертає як результат присвоєне значення. Завдяки цьому вони допускають сцеплення. Наприклад, можна записати:
А = (В = 1) + 2;
Спочатку визначається значення в дужках. Тобто змінній В присвоюється значення 1. Ця операція поверне значення 1, до цього результату додається 2, отримане значення присвоюється змінній А, значить А=3.
С++ допускає запис в одному реченні кілька операцій присвоювання
А=В=С=Ø;
Спеціальні операції
1) Операція умови
2) Операція визначення розміру операнду
3) Операція слідування
Операція умови
Це єдина операція, яка має три операнди.
Формат запису операції:
<умова> ? <вираз_1> : <вираз_2>;
Якщо значення <умова> є правда, то операція повертає в якості результату значення <вираз_1>, інакше - <вираз_2>.
Наприклад,
a=1; b=3;
C=a>b ? a+b : 0;
Якщо a>b, то С буде дорівнювати сумі a+b, в іншому випадку С буде дорівнювати 0(нулю). В нашому прикладі С=0.
Операція визначення розміру операнду
Операція sizeof визначає в байтах розмір свого операнду, яким може бути змінна або тип.
Операція має дві форми. Формат запису операції:
Sizeof <вираз>
Sizeof (<ім¢я типу>)
Наприклад, С= sizeof (int); Результат - С=2
double a; С= sizeof а; Результат - С=8
Операція слідування
Операція (,), що называється операцією слідування, об¢єднує два довільних вирази, які обчислюються зліва направо. Спочатку обчислюється значення лівого операнду. Тип його результату визначається як void. Потім обчислюється значення правого операнду. Значення і тип результату операції слідування вважається рівним значенню і типу правого операнду. Наприклад,
С= (а=4, в=а+5)+7;
Результат в дужках дорівнює 9, в=9, С=16,
Приоритети операцій
! - + ++ -- sizeof |
* / % |
+ - |
< <= > >= |
= = != |
&& |
|| |
?: |
= *= /= %= += -= |
, |
Питання для самоперевірки
1) Записати на мові C++ вираз, що є істиною ,якщо всі числа x,y,z - додатні
2) Які значення будуть мати змінні a, b після виконання операції
a= (b=5) +7;
3) Визначити значення змінної a :
a=2;
a+=6;
4) Визначити значення змінних a, b після виконання операцій:
а=3;
b=2*(a++)+7;
5) Визначити значення змінних a, b після виконання операцій:
a=2;
b=5+2*(--a)+3;
6) Визначити значення a
a=15/2;
7) Визначити значення b
b=7 % 3;
8) Визначити значення b
b=25.0/2;
9) Який символ ставиться в кінці кожного оператора і опису?
10) За правилами С++ записати вираз, значення якого є правда, якщо a=b і неправда в протилежному випадку.
11) За правилами С++ записати вираз, значення якого є правда, якщо a#b і a позитивне, і неправда в протилежному випадку.
12) Визначити значення змінної а
a=7;
a++;
13) За правилами С++ записати вираз, значення якого є правда, якщо a лежить в проміжку [-2, 5]і неправда в протилежному випадку.
14) Визначити значення змінних a, b після виконання операцій
a=3;
b=(a>7) ? 10 : 12;
15) Визначити значення змінних a, b після виконання операцій
b=(a=2, a+=2)+3;
16) Визначити значення змінної a після виконання операції
a=sizeof char;
17) Визначити значення змінної a після виконання операції
a=2;
a+=7;
18) Визначити значення змінних a, b після виконання операцій
a=3;
b=2*a++ ;
a*=2;
19) Записати вираз значення якого буде правда якщо значення змінної а лежить в проміжку (5, 15)
20) Записати вираз значення якого буде правда якщо значення змінної а не лежить в проміжку (-8,25)
21) Яке значення буде мати змінна с після виконання операторів
a=1; b=3;
C=a>b ? a+b : 0;
22) Визначити значення змінної а після виконання операторів
a=15;
a%=2;
23) Визначити значення змінної а після виконання операторів
a=5;
a/=2;
24) Записати вираз, що є правда якщо а не дорівнює b і неправда в протилежному випадку.
25) Визначити значення змінних a,b після виконання операторів
a=7;
b=(a+=2, --a)+12;
Дата добавления: 2015-08-26; просмотров: 765;