Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций -=Вычислительная техника и прог...docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.84 Mб
Скачать

3.6.8. Логические операции

Операция     &&     — операция логического И.

Операция     ||     — операция логического ИЛИ.

Пример:

a&&b ;

a||b ;

Результаты выполнения логических операций подчиняются таблице истинности логических операций (см. табл. 3.8).

Таблица 3.8 — Таблица истинности логических операций

a

b

&&

||

0

0

0

0

0

1

0

1

1

0

0

1

1

1

1

1

Примечание:

Операнды этих операций могут иметь арифметический тип или быть указателями.

Операнды в каждой операции могут быть различных типов. Результат всегда имеет тип bool.

При выполнении логических операций преобразование типов не производится.

При выполнении логических операций операнд, равный нулю, воспринимается как “false”, а операнд, отличающийся от нуля, воспринимается как “true”.

Пример:

if ((a<=b) && x)

y=a / x ;

else

{

if ((b>0) || (x!=a))

y = b * x ;

else

y = a / b ;

}

3.6.9. Операции присваивания

Операция     =     — простое присваивание.

Операции     +=  

–=  

*=  

/=  

%=  — сложное присваивание.

Примечание:

Операции присваивания могут использоваться как законченные операторы.

В одном выражении оператор присваивания может встречаться несколько раз. Вычисления в этом случае производятся справа налево. Порядок присвоения можно изменить с помощью скобок.

Пример:

a = b ; // переменной a присваивается значение b

a += b ; // a = a + b;

a –=b ; // a = a – b;

a *=b ; // a = a * b;

a /=b ; // a = a / b;

a %=b ; // a = a % b;

a = b = c = d = e ; // d = e ; c = d ; b = c ; a = b ;

a= (b=c) * d ; // b = c; a = b * d ;

3.6.10. Условная операция

Формат записи:

Выражение_1 ? Выражение_2 : Выражение_3

Условная операция вначале обрабатывает Выражение_1, если результат выражения равен ‘true’ (т.е. отличается от «0»), то затем обрабатывается Выражение_2, в противном случае обрабатывается Выражение_3.

Примеры:

max = (b>a) ? b : a ;

i = (i<n) ? i+1 : 1 ;

3.6.11. Приоритеты выполнения операций

В языке С/С++ первыми выполняются операции с высшими приоритетами. Самый высший приоритет — 1. В табл. 3.9 перечислены существующие приоритеты операций.

Таблица 3.9 — Приоритеты выполнения операций

Приоритет

Операторы

Тип операции

Порядок выполнения

1

() [] . –>

Выражение

Слева

направо

2

! = ++ – – + – * & sizeof(тип)

Унарные

Слева

направо

3

* / %

Мультипликативные

Слева

направо

4

+ –

Аддитивные

5

<< >>

Сдвиг

6

< > <= >=

Отношение

7

== !=

Отношение

8

&

Поразрядное И

9

^

Поразрядное исключающее ИЛИ

10

|

Поразрядное ИЛИ

11

&&

Логическое И

Слева

направо

12

||

Логическое ИЛИ

13

? :

Условная

14

= += –= *= /= %= &= ^= |= <<= >>=

Присваивание

Справа

налево

15

,

Последовательное вычисление

Слева

направо