Вы находитесь на странице: 1из 5

ОСНОВЫ ПРОГРАММИРОВАНИЯ

НА ЯЗЫКЕ C++
Лапшун Татьяна Степановна

Тема 8
ТЕРНАРНЫЙ ОПЕРАТОР. СОСТАВНЫЕ УСЛОВИЯ.

СОДЕРЖАНИЕ ЗАНЯТИЯ

 Конструкции логического выбора. Операторы ветвлений.


1. Тернарный оператор.
 Логические операторы
1. Знакомство с логическими операциями.
2. Таблица результатов применения логических операций.
3. «Логическое отрицание». Оператор ! .
4. «Логическое И». Оператор && .
5. «Логическое ИЛИ». Оператор || .
 Таблица приоритетов операторов.

ТЕРНАРНЫЙ ОПЕРАТОР

В С есть тернарный оператор(у оператора три операнда), который


позволяет в зависимости от некоторого условия(первый операнд) выполнять
различные действия(второй и третий операнды).
Синтаксис вызова оператора таков:
условие?выражение1:выражение2.
Фактически тернарный оператор представляет собой сокращенную
форму условного оператора

В следующем примере вычисляется минимальное из чисел a и b:


int a = 5, b = 2;
double min = (a < b) ? a : b;
cout << min << endl;
ЛОГИЧЕСКИЕ ОПЕРАТОРЫ

Составное условие – это условие,


содержащее более одной проверки
его выполнения.
Каждое решение принималось на
основе одного условия. Если мы
хотим в процессе принятия
решения проверять несколько
условий, мы вынуждены были бы
реализовывать эти проверки
отдельными операторами.

Чтобы избежать подобных


вложений, С предоставляет нам
логические операции, которые могут использоваться для формирования
сложных условий путем комбинирования простых.
Существует три логические операции:
 Логическая операция И &&;
 Логическая операция ИЛИ ||;
 Логическая операция НЕ ! или логическое отрицание.
Логические операции С

Опер. Обознач. Условие Краткое описание

И && a == 3 && b > 4 Составное условие истинно,


если истинны оба простых
условия

ИЛИ || a == 3 || b > 4 Составное условие истинно,


если истинно, хотя бы одно из
простых условий

НЕ ! !( a == 3) Условие истинно, если a не


равно 3

Сейчас следует понять разницу между логической операцией И и


логической операцией ИЛИ , чтобы в дальнейшем не путаться. Пришло
время познакомиться с типом данных bool –логический тип данных. Данный
тип данных может принимать два значения: true (истина, 1 ) и false (ложь,
0 ). Проверяемое условие в операторах выбора имеет тип данных bool.
1) ЛОГИЧЕСКОЕ “И” &&:

Логическое И - это составное


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

Обозначение: F = A && B.

2) ЛОГИЧЕСКОЕ “ИЛИ” ||:

Логическое ИЛИ - это составное


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

Обозначение: F = A || B.

3) ЛОГИЧЕСКОЕ “НЕ” !:

Инверсия - это составное логическое


выражение, если исходное логическое выражение
истинно, то результат отрицания будет ложным, и
наоборот, если исходное логическое выражение
ложно, то результат отрицания будет истинным.
Другими простыми слова, данная операция означает,
что к исходному логическому выражению добавляется частица НЕ или слова
НЕВЕРНО, ЧТО.
Обозначение: F = ! A

ПОРЯДОК ВЫПОЛНЕНИЯ ЛОГИЧЕСКИХ ОПЕРАЦИЙ В


СЛОЖНОМ ЛОГИЧЕСКОМ ВЫРАЖЕНИИ:
1. Инверсия НЕ, !;
2. Логическое И, &&;
3. Логическое ИЛИ, ||.

#include <iostream>
#include <locale.h>
#include <stdlib.h>
using namespace std;
void main()
{
setlocale(0, "");
//будем вводить числа
int n1, n2;
//Предлагаем пользователю ввести данные
cout << "Введите 1 два раза" << endl;
//Запоминаем введенные данные в памяти
cin >> n1 >> n2;

//Проверяем введенные данные с соответствием нужного условия И


if (n1 == 1 && n2 == 1)
{
//Если первое число = 1 и Второе число = 1, выводим Верно
cout << "Верно" << endl;
}
else
{
//Если же какое-то из чисел не равно единице - Ввод неверный
cout << "Вы ввели не то, что вас просили\n";
}

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


//Проверяем введенные данные с соответствием нужного условия ИЛИ
//Предлагаем пользователю ввести 1 или 5
cout << endl << "Введите 1 или 5" << endl;
//Запоминаем вводимое число в память
cin >> n1;
if (n1 == 1 || n1 == 5)
{
//Если введенное число равно 1 или 5 выводим на экран Верно
cout << "Верно" << endl;
}
else
{
//Если же какое-то из чисел не равно единице - Ввод неверный
cout << "Вы ввели не то, что вас просили\n";
}

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


//Проверяем введенные данные с соответствием нужного условия НЕ
//Предлагаем пользователю ввести любое число кроме 7
cout << endl << "Введите любое число кроме 7" << endl;
//Запоминаем вводимое число в память
cin >> n1;
if (n1 != 7)
{
//Если введенное число не равно 7 выводим на экран Верно
cout << "Верно" << endl;
}
else
{
//Если же введенное число равно 7 - Ввод неверный
cout << "Вы ввели не то, что вас просили\n";
}

system("pause");
}

Вам также может понравиться