Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Программирование C++ 2014n.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
979.32 Кб
Скачать

Операция &&

Логическую операцию && (и) используют, если нужно, чтобы одновременно выполнялись два условия. C++ это записывается так:

(условие1) && (условие2)

На практике эта логическая операция часто применяется для создания условия принадлежности некоторой переменной указанному промежутку. Например, составим условие, которое будет истинно тогда и только тогда, когда переменная х принадлежит промежутку от 10 до 20: 10 < x < 20. Т.е., когда х >10 и x < 20. На языке С++ это записывается так: (x > 10) && (x < 20).

Операция ||

Логическую операцию || (или) используют, когда хотят сформулировать условие, которое будет истинно в том случае, когда верно хотя бы одно условие из двух. В C++ эта операция используется так:

(условие1) || (условие2)

Операция !

Логическую операцию ! (не – логическое отрицание) используют, если нужно проверить условие (выражение) на ложность. Эта операция делает ложным истинное условие и истинным ложное. Запись операции:

! (условие)

В таблице 6 приводятся результаты применения логических операторов к операндам логического типа. Для наглядности вместо значения false используется 0, true – 1.

Таблица 6 – Логические операции

a

b

a && b

a || b

! a

0

0

0

0

1

0

1

0

1

1

1

0

0

1

0

1

1

1

1

0

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

3.2. Составной оператор

К составным операторам относятся собственно составные операторы и блоки.

Составной оператор – последовательность операторов, заключенная в операторные скобки. Операторы, входящие в него, должны выполняться в том порядке, в котором они записаны.

Формат оператора:

{

оператор1;

оператор2;

...

операторN;

}

Блок отличается тем, что в его состав входят описания каких-либо объектов программы. Например:

{// Это составной оператор

n ++;

S += n;

}

{// Это блок

int  n = 0;

n ++;

S += n;

}

Блоки, чаще всего, используются в качестве тела функции. Составной оператор используется в любом случае, когда несколько операторов следует объединить в один. Это необходимо в условных операторах и операторах цикла, согласно синтаксису которых, исполнимым является только один оператор. Чаще всего, составной оператор формирует ветвь условного оператора или тело цикла в операторах цикла.

3.3. Условная операция (?:)

Эта операция тернарная, то есть имеет три операнда.

Формат операции:

операнд_1 ? операнд_2 : операнд_3

Первый операнд может иметь арифметический тип или быть указателем. Он оценивается с точки зрения его эквивалентности нулю (операнд, равный нулю, рассматривается как false, не равный нулю – как true). Если результат вычисления операнда 1 равен true, то результатом условной операции будет значение второго операнда, иначе – третьего операнда. Вычисляется всегда либо второй операнд, либо третий. Их тип может различаться. Условная операция является сокращенной формой условного оператора if.

Пример: Вывести на экран минимальное из двух значений.

#include <stdio.h>

int main ( )

{

int a = 10, b = 5, min;

min = (b < a) ? b : a ;

printf(“Наименьшее число: %d”, min);

return 0;

}

Результат работы программы:

Наибольшее число: 5

Другой пример применения условной операции. Требуется, чтобы некоторая целая величина увеличивалась на 1, если ее значение не превышает n, а иначе принимала значение 1:

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