Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab3.doc
Скачиваний:
6
Добавлен:
21.09.2019
Размер:
120.83 Кб
Скачать

Лабораторна робота №3

Лабораторна робота №3 Оператори та операції.

Керуючі структури С/C++

Мета роботи:

1. Вивчення арифметичних, логічних операцій, операцій відношення і присвоювання.

2. Вивчення прийомів використання операторів розгалуження й операторів циклів у С/C++.

Теоретичні відомості

Основу мови С/C++ складають оператори. Операторами-виразами називають вирази, слідом за яким стоїть крапка з комою. У С/C++ крапка з комою використовуються для розділення операторів. Прийнято групувати всі оператори в такі класи: присвоювання, виклик функції, розгалуження і циклу.

У операторах присвоювання використовується операція присвоювання = ,

наприклад:

c = a * b;

Дію такого оператора можна описати такими словами: “с присвоюється значення а, помножене на b”. Значення, що присвоюється змінний с, рівне добуткові поточних значень змінних а і b.

Оператори часто відносяться більш ніж до одного з чотирьох класів.

Наприклад: оператор:

if ( ( c = cube( a * b ) ) > d )

складений із представників таких класів: присвоювання, виклик функції і розгалуження.

До поняття оператора впритул примикає поняття операції.

Розрізняють такі групи операцій С/C++: арифметичні операції, операції відношення, операції присвоювання, логічні операції, побітові операції, операція обчислення розміру (sizeof) і операція послідовності (кома).

Арифметичні операції

До арифметичних операцій відносять: додавання (+), віднімання (-), ділення (/), множення (*) і залишок (%). Всі операції (за винятком залишку) визначені для змінних типу int, char, float. Залишок не визначений для змінного типу float. Всі арифметичні операції з плаваючою комою відбуваються над операндами подвійної точності.

Операції відношення

У мові визначені такі операції відношення: перевірка на рівність (==), перевірка на нерівність (!=), менше (<), менше або дорівнює (<=), більше (>), більше або дорівнює (>=).

Всі перераховані операції дають результат типу int. Якщо дане відношення між операндами істинне, то значення цього цілого - одиниця, а якщо неістинне – нуль.

Операції < , <= , > , >= типу менше мають рівний пріоритет, причому він вищий, ніж пріоритет операцій == і != . Пріоритет операції присвоювання нижче пріоритету всіх операцій відношень. Для того, щоб задати правильний порядок обчислень використовуються дужки.

Логічні і побітові операції

Операція C++

Зміст

Приклад

&&

Логічне І (and)

c<1 && c>11

||

Логічне АБО(or)

c<1 || c>11

!

Логічне HI(not)

!(c<1 && c>11)

&

Побітне І (and)

1 & c

|

Побітне АБО(or)

c|3

~

Побітне заперечення (not)

~c

^

Побітне виключне АБО (xor)

255^K

<

Менше ніж

K<0

>

Більше ніж

K>44

<=

Менше або рівно

K<=22

>=

Більше або рівно

K>=77

==

Рівно

K==11

!=

Не рівно

K!=11

?:

Умовне присвоювання

K=(k>0)? 1:k

<<

Зсув вліво

K<<i

>>

Зсув вправо

K>>i

Аргументами логічних операцій можуть бути будь-які числа, включаючи ті, що задаються аргументами типу char. Результат логічної операції одиниця – істинна, або нуль, якщо умова не істинна. Взагалі всі значення, відмінні від нуля, інтерпретуються як істинні.

Обчислення виразів, що містять логічні операції, відбувається зліва направо і припиняється, як тільки вдасться визначити результат. Якщо вираз складений із логічних тверджень (тобто виразів, що виробляють значення типу int), сполучених між собою операцією І (&&), то обчислення виразу припиняється, як тільки хоча б в одному логічному твердженні виробляється значення нуль. Якщо вираз складений із логічних тверджень, сполучених між собою операцією АБО (||), то обчислення виразу припиняється, як тільки хоча б в одному логічному твердженні виробляється ненульове значення.

Декілька прикладів, у яких використовуються логічні операції:

if( i > 50 && j == 24)

...

if( value1 < value2 && (value3 > 50 || value4 < 20) )

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