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

16) Логические операции. Инкремент и декремент. Арифметические операции.

В С++ существует три логические операции:

  1. Логическая операция И &&

  2. Логическая операция ИЛИ ||;

  3. Логическая операция НЕ ! или логическое отрицание.

Логические операции образуют сложное (составное) условие из нескольких простых (два или более) условий. Эти операции упрощают структуру программного кода в несколько раз. Да, можно обойтись и без них, но тогда количество ифов увеличивается в несколько раз, в зависимости от условия. В следующей таблице  кратко охарактеризованы все логические операции в языке программирования С++, для построения логических условий.

Инкремент ++ – это  увеличение на единицу. Декремент -- – это уменьшение на единицу. Операции декремента и инкремента с лёгкостью заменяются арифметическими операциями или операциями присваивания. Но использовать операции инкремента и декремента намного удобнее.

1

2

3

4

5

//синтаксис операций инкремента и декремента

++/*имя переменной*/;  // префиксный инкремент (преинкремент)

/*имя переменной*/++; // постфиксный инкремент (постинкремент)

--/*имя переменной*/;  // префиксный декремент (предекремент)

/*имя переменной*/--; // постфиксный декремент (постдекремент)

Синтаксис использования операций инкремента и декремента таков, что перед или после имени переменной ставится операция инкремента или декремента. Когда операция инкремента или декремента ставится перед именем переменной, то такая операция называется префиксным инкрементом (сокращённо — преинкрементом) или префиксным декрементом  (сокращённо — предекрементом). А если операция инкремента или декремента ставится после имени переменной, то такая операция называется операцией постфиксного инкремента (сокращённо — постинкремент) или постфиксного декремента (сокращённо — постдекремент). При использовании операции преинкремента значение переменной, сначала, увеличивается на 1, а затем используется в выражении. При использовании операции постинкремента значение переменной сначала используется в выражении, а потом увеличивается на 1. При использовании операции предекремента, значение переменной, сначала, уменьшается на 1, а затем используется в выражении. При использовании операции постдекремента, значение переменной, сначала, используется в выражении, а потом уменьшается на 1. В таблице 1 показаны примеры выражений с использованием операций инкремента и декремента, а также приведена их краткая характеристика.

Таблица: Арифметические операторы

Оператор

Действие

-

Вычитание, а также унарный минус

+

Сложение

*

Умножение

/

Деление

%

 Взятие по модулю (остаток)

Приоритет этих операции такой же как и в математике. Операции умножения, деления выполняются раньше чем операции суммы, вычитания.

Для операции умножения в C++ используется знак *.

Кроме того сюда же относится операция взятия остатка %. Данная операция делит первый операнд на второй и берёт остаток от деления:

int x = 3;

int y = 10;

int z;

z = x % y; // z = 3

Мы делим три на десять. Результат - 0,3. Отбрасываем ноль и берём остаток. Результат - 3.

Данная операция хоть и не так распространена как например другие арифметические операции, но тем не менее используется довольно часто. И иногда бывает просто незаменима.

18) Объекты стандартного предопределенного потокового ввода-вывода cin, cout, cerr, clog.

Выполнение любой программы С++ начинаются с четырьмя предопределенными открытыми потоками, объявленными как объекты классов _withassign в iostream.h следующим образом:

extern istream_withassign cin; extern ostream_withassign cout; extern ostream_withassign cerr; extern ostream_withassign clog;

Их конструкторы вызываются всякий раз при включении iostream.h, но фактическая инициализация выполняется только один раз.

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

Четыре стандартных потока предназначены для:

cin - стандартного ввода;       cout - стандартного вывода;       cerr - стандартного вывода ошибок;       clog - полностью буферизованного вывода ошибок.

В табл. 5 приведено назначение классов потокового ввода-вывода.

Таблица 5

Назначение классов потокового ввода-вывода

ios

Потоковый базовый класс

Потоковые классы ввода

istream

Потоковый класс общего назначения для ввода, являющийся базовым классом для других потоков ввода

ifstream

Потоковый класс для ввода из файла

istream with assign

Потоковый класс ввода для cin

istrstream

Потоковый класс для ввода строк

Потоковые классы вывода

ostream

Потоковый класс общего назначения для вывода, являющийся базовым классом для других потоков вывода

ofstream

Потоковый класс для вывода в файл

ostream_withassign

Потоковый класс ввода для cout, cerr, and clog

ostrstream

Потоковый класс для вывода строк

Потоковые классы ввода-вывода

iostream

Потоковый класс общего назначения для ввода-вывода, являющийся базовым классом для других потоков ввода-вывода

fstream

Потоковый класс для ввода-вывода в файл

strstream

Потоковый класс для ввода-вывода строк

stdiostream

Класс для ввода-вывода в стандартные файлы ввода-вывода