C, PHP, VB, .NET

Дневникът на Филип Петров


* Операции: сравнение, логически, присвояване

Публикувано на 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 се увеличава!

 



Добави коментар

Адресът на електронната поща няма да се публикува


*