* Операции: сравнение, логически, присвояване
Публикувано на 18 септември 2008 в раздел С/С++.
В основата на тези операции стои идеята за истина (TRUE) и неистина (FALSE). В езика за програмиране С TRUE е всяка стойност, различна от 0, а FALSE е всяка стойност равна на 0. Възприето е при изчисляването на стойности със операции за отношение или логически операции да се използват резултати равни на 1 за TRUE и 0 за FALSE. При C++ съществува и специален булев тип данни.
1. Операциите за сравнение са известни в математиката и се използват в почти всички езици за програмиране:
> по-голямо
>= по-голямо или равно
< по-малко
<= по-малко или равно
== равно
!= различно от
2. Логическите операции се използват за свързване на операции за отношение и за оценяването им от гледна точка на логиката. Тези операции също връщат резултати със стойности 1 или 0:
&& логическо И (AND)
|| логическо ИЛИ (OR)
! логическо НЕ (NOT)
Примери:
x > y
x >= 2
(x == 3) && (y <= 2)
(x != y) || (x == 0)
x != y
!(x < y)
Логическите операции имат по-нисък приоритет от операциите за сравнение. Въпреки това се препоръчва да се използват скоби за пригледност.
3. Операцията присвояване е най-често използваната в програмирането. Тя позволява присвояването на стойности на променливи. Операцията се означава със символа "=" и основната форма е:
<име на променлива> = <операнд>;
Примери:
int x1, x2, x3;
x1 = 5;
x2 = x1 + 10*2;
x3 = x1/x2 + (x1-x2)*10;
x1 = x2 = 100;
Специално обръщаме внимание, че операцията за сравнение равно (==) е коренно различна от операцията за присвояване (=)!
Съществуват и следните съкратени записи:
x1 += x2; // Еквивалентно на x1 = x1 + x2
x1 -= x2; // Еквивалентно на x1 = x1 - x2
x1 *= x2; // Еквивалентно на x1 = x1 * x2
x1 /= x2; // Еквивалентно на x1 = x1 / x2
x1++; // Еквивалентно на x1 = x1 + 1
x1--; // Еквивалентно на x1 = x1 - 1
x2 = ++x1; // Първо се увеличава x1 и след това се присвоява на x2
x2 = x1++; // Първо се извършва присвояването и след това x1 се увеличава!
Добави коментар