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

Int main(){

int n,m,i=3,j=3;

cout <<"At the beginning: \n" ;

cout <<"i = " << i <<"\n";

cout << "j = " << j << "\n";

cout <<"After command n=i++ :\n";

n=i++;// Теперь n=3, a i=4

cout << "n = " << n <<"\n";

cout << "i = " << i << "\n";

cout << " After command m=++j :\n";

m=++j;// Значение переменных m=4 и j =4

cout << "m = " << m <<"\n";

cout << "j = " << j << "\n";

cout << " After command n= (--i)*(i--) :\n";

n=(--i)*(i--);// Теперь n=9, a i=2

cout << "n = " << n << "\n";

cout << "i = " << i << "\n";

cout << " After command m=(--j)*(--j) :\n";

m=( --j)*(--j);// Теперь m=4, a j=2

cout << "m = " << m << "\n";

cout << "j = " << j << "\n";

cout <<" After command n= (--i) * (i++) :\n";

n=( --i)*(i++);// Теперь n=l, a i=2

cout << "n = " << n << "\n";

cout << "i = " << i << "\n";

cout << " After command m= (j--) * ( ++j ) :\n" ;

m= (j-- )*(++j);// Теперь m=9, a j=2

cout << "m = " << m << "\n";

cout << "j = " << j << "\n";

cout << " After command n= ( --i) * (++i) :\n";

n=( --i)*(++i);// Теперь n=4, a i=2

cout << "n = " << n << "\n";

cout << "i = " << i << "\n";

cin >> j;

return 0;

}

8. Операторы отношения (сравнения) и логические

В выражениях оператор отношения и логический оператор слово oтношение обозначает взаимоотношение двух величин, т. е. результат их сравнения, а слово логический обозначает способ, которым объединяются истинное и ложное значения. Поскольку операторы отношения образуют истинный или ложный результат, они часто используются совместно с логическими операторами. Именно по этой причине они обсуждаются здесь вместе.

Операторы отношения и логические перечислены в табл. 3.1. Обратите внимание на отношения равенства и неравенства: в С++ не равно обозначается знаками !=, а равно - двойным знаком равенства, ==. В С++ результат операции отношения или логической образует результат типа bool. Другими словами, результат операции отношения или логической всегда равен либо true, либо false.

Таблица 3.1. Операторы отношения и логические в С++

Операторы отношения

Оператор

Значение

>

Больше чем

>=

Больше чем или равно

<

Меньше чем

<=

Меньше чем или равно

==

Равно

!=

Не равно

Операторы логические

Оператор

Значение

&&

И

!!

ИЛИ

!

НЕ

Замечание

Для старых компиляторов результат операции отношения и логической может быть целым числом, принимающим значение 0 или 1. Это различие носит в основном академический характер, потому что С++, как это уже отмечалось, автоматически преобразует true в 1, a false в 0 и наоборот.

Операнды, участвующие в операции отношения, могут принадлежать почти любому типу; необходимо только, чтобы их сравнение имело смысл. Операнды логической операции должны образовывать истинный или ложный результат. Поскольку ненулевое значение истинно, а нулевое ложно, это означает, что логические операторы допустимо использовать с любым выражением, дающим нулевой или ненулевой результат. Логические операторы используются для поддержки базовых логических операций И (AND), ИЛИ (OR) и НЕ (NOT), согласно следующей таблице истинности:

Р

q

p И q

p ИЛИ q

НЕ р

Ложь

Ложь

Ложь

Ложь

Истина

Ложь

Истина

Ложь

Истина

Истина

Истина

Истина

Истина

Истина

Ложь

Истина

Ложь

Ложь

Истина

Ложь

Оба типа операторов, и логические, и отношения, имеют более низкий приоритет, чем арифметические операторы. Это означает, что выражение вроде 10 > 1 + 12 дает тот же результат, что и вариант 10 > (1 + 12). Результат, разумеется, ложен.

С помощью логических операторов можно объединять любое количество операторов отношения. Например, в этом выражении объединены три оператора отношения:var > 15 || !(10< count) && 3 <= item

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