Зачем нужны операторы присваивания
Оператор — это отдельное предложение на языке программирования, имеющее законченный смысл. На языке C++ любой оператор заканчивается символом ; (точка с запятой). При этом надо учитывать один нюанс: если в языках типа Паскаль точка с запятой — разделитель между операторами, то в C++ и других C-подобных языках — это обязательная часть оператора.
Операторы условно можно подразделить на две категории: исполняемые — с их помощью реализуется алгоритм решаемой задачи, и описательные , необходимые для определения типов пользователя и объявления объектов программы, например, переменных.
Рассмотрим подробнее исполняемые операторы.
Классификация исполняемых операторов
Исполняемые операторы также можно разбить на две группы: простые и структурированные . Как не сложно понять из названий, в структурированных операторах можно выделить части, которые сами могут выступать в качестве отдельных операторов, а простые операторы на более элементарные разложить не удастся.
К простым операторам относятся: оператор присваивания, оператор-выражение, пустой оператор, операторы перехода ( goto , continue , break , return ), вызов функции как отдельного оператора.
Структурированные операторы — это операторы ветвление ( if ), выбора ( switch ), цикла ( for , while , do ).
Теперь перейдём к рассмотрению отдельных операторов.
Оператор присваивания
Оператор присваивания — это самый употребительный оператор. Его назначение — присвоить новое значение какой-либо переменной. В C++ имеется три формы этого оператора.
1) Простой оператор присваивания записывается так:
Данный оператор работает следующим образом: вначале вычисляется выражение, записанное справа от символа операции = (равно), затем полученный результат присваивается переменной, стоящей слева от знака = . Тип результата должен совпадать с типом переменной, записанной слева, или быть к нему приводимым.
Слева от знака = может быть только переменная, справа же можно записать и константу, и переменную и вообще выражение любой сложности.
2) Множественное присваивание — в таком операторе последовательно справа налево нескольким переменным присваивается одно и то же значение, например:
Так можно сразу определить, к примеру, что в равностороннем треугольнике все стороны равны одному и тому же числу 1. Приведенный выше оператор эквивалентен последовательному выполнению трёх операторов:
Естественно, нам проще записать один оператор, а не три. Программа получается короче, более естественно смотрится текст, и работает такая конструкция немного быстрее.
3) Присваивание с одновременным выполнением какой-либо операции в общем виде записывается так:
переменная знак_операции = выражение;
и равносильно записи
переменная = переменная знак_операции выражение ;
s += 5; // 1-й вариант
делает то же самое, что и оператор
s = s + 5; // 2-й вариант
а именно: взять старое значение из переменной s , прибавить к нему число 5 и полученное значение снова записать в переменную s .
Как видим, запись 1-го варианта короче записи 2-го варианта, да и выполняется быстрее, так как в 1-м варианте адрес переменной s вычисляется 1 раз, а во 2-м варианте — дважды.
Оператор-выражение
В языке C++ любое выражение (арифметическое, логическое, и т.д.), которое заканчивается символом ; (точка с запятой), считается законченным предложением, т.е. оператором. Примеры:
1)Выполняется префиксная операция автоуменьшения:
2)Выполняется постфиксная операция автоувеличения:
3)Выполняется перегруженная операция вывода
4)Вызывается функция вывода данных на дисплей монитора (выводится текст «Test»):
5)Вычисляется сумма двух чисел, но её значение не присваивается ни какой переменной. Оператор бессмысленный, но возможный:
Пустой оператор
Пустой оператор — это оператор, который ничего не выполняет. Зачем нужен «бесполезный» оператор?
Пустой оператор используется в тех случаях, когда по синтаксису языка требуется записать какой-либо оператор, а по логике программы мы не собираемся что-либо делать. Так, пустой оператор может потребоваться в операторе ветвления, когда по какой-либо ветви ничего не требуется выполнять, так же для того, чтобы определить метку для перехода в тексте программы, а иногда — для пустого тела цикла.
Пустой оператор — это одиночный символ ; (точка с запятой), например:
Здесь первый символ ; (точка с запятой) завершает оператор присваивания, а второй символ как раз и даёт нам пустой оператор. В данной ситуации пустой оператор совсем не нужен (но и не является синтаксической ошибкой!), приведен только для пояснения. Более «разумные» примеры использования пустого оператора будут приведены позже в соответствующих темах.
Операторы перехода
Для изменения последовательного выполнения операторов используются операторы перехода. Это операторы goto , continue , break , return. Рассмотрим их подробнее.
Этот оператор позволяет сделать переход в пределах текущей функции. Переход возможен как по ходу выполнения программы, так и в обратном направлении. Пример:
Здесь Metka — это идентификатор (метка), обозначающий то место в тексте программы, куда делается переход. Такая метка не требует описания (её и нельзя описывать!), задается по общим правилам и не может совпадать ни с ключевыми словами, ни с именами объектов программы.
В языке C++ этот оператор используется редко. Необдуманное применение goto приводит к затруднению понимания текста программы. Как правило, если в тексте программы требуется использование этого оператора, то это означает слабую логику в проектировании алгоритма программы.
На мой взгляд, оператор goto есть смысл использовать только для принудительного выхода из вложенных циклов.
Данный оператор применяется для выхода из операторов циклов ( for , while , do ) или оператора выбора switch . При использовании этого оператора метки не нужны, как как управление передаётся на оператор, следующий за оператором цикла или выбора.
Вот этот оператор в программах на C++ применяется очень часто! А оператор switch вообще без break не используют. Примеры применения оператора break рассмотрим в соответствующих темах.
Позволяет передать управление в конец цикла. Применяется гораздо реже, чем оператор break . Как правило, всегда можно построить алгоритм решаемой задачи без использования оператора continue . Пример применения оператора continue рассмотрим в теме «Циклы».
Обеспечивает выход из функции. Управление передаётся оператору, следующему за вызовом функции. Примеры применения оператора return рассмотрим в темах, связанных с использованием функций.
Оператор в программировании
Оператор в программировании — это команда, обозначающая определенное математическое или логическое действие, выполняемое с данными (операндами). Является минимальным автономным элементом компьютерной программы. По сути любая компьютерная программа представляет собой последовательность операторов. Близким аналогом операторов в естественных языках являются фразы или предложения, из которых состоит текст.

«IT-специалист с нуля» наш лучший курс для старта в IT
Каждый оператор имеет свое написание (синтаксис) и семантику (содержание, смысл). В зависимости от конкретного языка синтаксис оператора может существенно различаться, хотя в целом для обозначения той или иной операции используются символы, имеющие аналогичное или похожее значение в математике или формальной логике.
Профессия / 8 месяцев
IT-специалист с нуля
Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

Зачем нужны операторы в программировании?
Компьютерная программа представляет собой алгоритм, то есть последовательность определенных действий с данными. Ее создает человек, но исполняет компьютер, поэтому она должна быть понятна им обоим. Поэтому просто описать определенную операцию, скажем, присваивания значения переменной обычным (естественным) языком, хоть и теоретически возможно, на практике очень неудобно. Для человека такой код будет очень громоздким и сложно воспринимаемым настолько, что написание сколько-нибудь большой программы станет невозможным. А чтобы код воспринимался компьютером, придется разработать сложный компилятор для его перевода на машинный язык.
Поэтому для обозначения операций в программировании были взяты символы, используемые в аналогичных языках в математических выражениях и формальной логике. Именно они стали основой для синтаксиса операторов в абсолютном большинстве современных ЯП. Таким образом, операторы в программировании выполняют следующие функции:
- упрощают и сокращают код, делают его более понятным человеческому восприятию;
- обозначают определенную операцию с данными таким образом, чтобы ее можно было легко перевести на машинный код.
Среди дополнительных преимуществ использования операторов можно выделить простое восприятие программы человеком независимо от того, носителем какого естественного языка он является. Это достигается за счет универсальности математических и логических символов.
Общее свойство операторов
Все операторы в программировании имеют одно общее свойство — они исполняются. То есть по своей сути они являются инструкциями, которым должен следовать компьютер, чтобы определенным образом обработать данные и выполнить программу. При этом сам оператор является чистой математической или логической абстракцией, под ним не подразумевается каких-либо конкретных объектов вроде ячеек памяти. На протяжении всего исполнения программы он остается в неизменном виде — зато изменяются данные, содержащиеся в памяти компьютера. Иными словами, эти изменения информации и являются исполнением команды, обозначенной оператором.
Виды операторов в программировании
В различных языках программирования имеются свои системы операторов и операций. Но в целом их можно классифицировать, разделив на несколько основных типов.
Оператор присваивания. Он используется в том случае, когда необходимо присвоить определенное значение переменной. То есть показать программе, что в данной ячейке памяти, обозначенной именем, лежат конкретные данные, которые нужно будет использовать в процессе исполнения кода. В большинстве языков программирования алгоритм присваивания использует знак равенства. Например, на языке Python данная операция выглядит следующим образом:
х = 365, где х — это имя переменной, 365 — ее значение, а «=» — знак присваивания.

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить
Арифметические операторы. Это группа операторов, обозначающих математические действия с данными. В большинстве языков программирования они обозначаются символами, использующимися в том же значении в обычных арифметических управлениях, хотя некоторые из них могут иметь собственное обозначение — например:
- «-» — вычитание;
- «+» — сложение;
- «*» — умножение;
- «/» — деление без остатка;
- «—» — уменьшение;
- «++» — увеличение.
Два последних оператора из этого списка используются в языке С и обозначают уменьшение или увеличение операнды на 1. В других ЯП эта операция записывается, например, следующим образом: х = х + 1 или х = х – 1.
Логические операторы. Они помогают установить отношения между различными данными и/или обозначить условия, при которых будут выполняться какие-либо действия. Ключевой концепцией для их понимания является соотношение «правда/ложь» (true/false). Логические операторы по своей семантике и синтаксису базируются на формальной логике. В различных языках программирования их обозначение бывает разным, причем не только символьным, но и буквенным — например:
- Оператор «И» сравнивает несколько значений друг с другом и выдает результат «истина/ложь», от которого зависит дальнейшее выполнение программы. Результат «истина» возможен только в том случае, когда все значения истинны. Обозначается словом «and» или знаками &, &&.
- Оператор «ИЛИ» также сравнивает несколько значений друг с другом. Отличается от предыдущего тем, что выдает результат «ложь» только в том случае, когда все сравниваемые значения ложные. Обозначается словом «or», знаком ||.
- Оператор «НЕ» предназначен для замены значения на противоположное, то есть «истина» на «ложь» и наоборот. В программировании обозначается восклицательным знаком «!».
Операторы сравнения. Они часто используются в связке с логическими операторами для сравнения различных значений друг с другом, результатом чего является результат «истина/ложь». Например, в языке С они обозначаются следующими символами:
Помимо этих основных операторов в программировании используются и другие, причем в зависимости от языка их набор может существенно различаться, что влияет на возможности ЯП и гибкость написанного на нем кода. Часто в одном и том же языке сосуществуют операторы, обозначаемые словом или символом. Например, в языке Pascal наряду с символьным оператором присваивания «:=» присутствует оператор безусловного перехода «goto», записанный буквами латинского алфавита.
Все указанные выше команды являются простыми, то есть обозначающими одну конкретную операцию с данными. Помимо них в программировании используются составные операторы, то есть состоящие из нескольких простых. Соответственно, они имеют специальные обозначения для корректного написания в программе:
- Границы составного оператора могут обозначаться в различных языках фигурными скобками (в С или С++), словами «begin» и «end».
- Разделителем, отделяющим друг от друга простые операторы, входящие в состав сложного.
Составные операторы впервые появились в языке Алгол, из которого были унаследованы многими другими ЯП, такими как Pascal, C, C++ и т. д. Они позволяют использовать несколько операторов там, где ожидается применение одного — например, в операциях ветвления. Составные операторы позволяют упростить программный код и упорядочить его исполнение. Пример написания составного условного оператора «switch» (заменяющего множество простых операторов «if» на языке С:
switch(ii)
case 1: Buf_1[Pok-f+i]= Prognoz; break;
case 2: Buf_2[Pok-f+i]= Prognoz; break;
case 3: Buf_3[Pok-f+i]= Prognoz; break;
>
По своему назначению в структуре программы операторы можно разделить на следующие основные типы:
Операторы выбора. Они используются в тех случаях, когда программа подразумевает выбор из некоторого числа значений, в зависимости от которых происходит ее дальнейшее исполнение или неисполнение. Иными словами, они обозначают ветвление алгоритма. Типичным примером является оператор «if» в языке С, который разделяет программу на два сценария в зависимости от того, исполняется или нет указанное в нем условие.
Операторы цикла. С помощью таких операторов в программе обозначаются операции, выполняемые многократно (циклы). Они тоже содержат условия или параметры, при соблюдении которых цикл повторяется. В языке Pascal таким оператором является «while». Например, конструкция «while B do S» в переводе на естественный язык означает, что пока значение логического выражения (условия) B истинно, программа будет исполнять цикл S до тех пор пока B не станет ложным. В зависимости от того, как используется условие, операторы цикла можно разделить на 3 группы:
- с предусловием — то есть условием, соблюдение которого необходимо для осуществления цикла;
- В операторе с постусловием ситуация обратная — при выполнении условия цикл завершится;
- В операторе с параметром (переменной) вводится изменяемое значение, которое определяет конечное количество повторений цикла.
Операторы вызова процедуры. Под процедурами в программировании подразумевается подпрограмма (функциональный блок, входящий в основную программу). Фактически оператор вызова процедуры инициирует ее начало и определяет завершение по достижении нужных результатов. Таким образом, он позволяет сделать программу более понятной, а ее исполнение — последовательным и безошибочным.
Операторы перехода. Они перенаправляют исполнение программы к определенному фрагменту кода, помеченному специальной меткой. Операторы перехода позволяют создавать работающие алгоритмы со сложной структурой. Типичным примером такого оператора в языке Pascal является безусловный оператор «goto». Помимо него есть также оператор прерывания цикла «break» или досрочного завершения его текущей операции «continue», прерывания всей программы «exit» и т. д. Подобные операторы присутствуют и в других языках программирования, таких как С, С++, Java и т. д.
Порядок исполнения операторов
Для правильного использования операторов в программировании важно правильно задать последовательность их исполнения. Стандартным является вариант, когда простые и сложные операторы исполняются последовательно сверху вниз (если они расположены на разных строках) и справа налево (в одной строке). Так они и должны быть отражены в коде программы. Простые операторы, входящие в состав сложного (множественного), исполняются по тому же принципу. Однако такой принцип последовательности не единственный: в некоторых языках программирования есть возможность настроить его более гибко. Это зачастую ведет к усложнению структуры программы.
Таким образом, операторы в программировании являются одной из важнейших составляющих кода, минимальной функциональной единицей, без которой невозможно исполнение даже самой простой программы. Для их эффективного применения необходимо четко соблюдать правила синтаксиса, предусмотренные в конкретном языке, понимать смысл выполняемых операций и правильно задавать последовательность их исполнения.
IT-специалист с нуля
Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.
Pascal — Оператор присваивания
Первый оператор, с которым мы познакомимся, – оператор присваивания. Оператор присваивания — основной оператор любого языка программирования. Общая форма записи оператора:
имя величины := выражение
Например, V:=A; или V:=A+1 ;
При помощи оператора присваивания переменной могут присваиваться константы и выражения, значения переменных любого типа.
Как только в программе встречается переменная, для неё в памяти отводится место. Оператор присваивания помещает значение переменной или значение выражения в отведённое место.
Если в процессе выполнения программы встречается пере присваивание (т.е. та же самая переменная принимает другое значение), то старое значение переменной стирается, на свободное место записывается новое значение. Команда присваивания позволяет лучше понять смысл слова переменная (т.е. меняющая своё значение по ходу программы).
Выражение может быть арифметическим, логическим или литерным. Важно, чтобы тип величины был согласован с видом выражения.
Арифметические выражения должны быть записаны в так называемой линейной записи согласно следующим правилам:
- выражение должно быть записано в виде линейной цепочки символов;
- используемые операции приведены в таблице:
- нельзя опускать знаки операций, например писать 5b. Для записи произведения чисел 5 и b надо писать 5*b;
- аргументы функций (sin, cos и др.) как и аргументы вспомогательных алгоритмов, записываются в круглых скобках, например sin(x), cos(4*x).
Порядок выполнения операций
Порядок выполнения операций при вычислении арифметических выражений можно регулировать при помощи скобок по обычным правилам. Там, где скобки отсутствуют, ЭВМ выполняет операции в следующем порядке:
- вычисляет значение всех алгоритмов-функций и стандартных функций;
- выполняет справа налево все операции возведения в степень;
- выполняет слева направо все операции умножения и деления;
- выполняет слева направо все операции сложения и вычитания.
Пример:
Program Summa2;
number2,
rezult : integer;
number1 := 3;
number2 := 4;
rezult := number1 + number2;
Write (number1, ‘+’, number2,’=’,rezult);
В нашем случае сначала переменной number1 присваивается значение равное 3 и переменной number2 присваивается значение равное 4, затем вычисляется значение выражения ( number1 + number2 ) и оно присваивается переменной rezult . Сумма чисел посчитана.
Теперь надо вывести ее значение на экран. Для этого используют оператор Write – записать (вывести) на экран значение переменной, записанной в скобках. В нашем случае значение переменной number1, затем символ + , далее значение переменной number2, символ = и, наконец, значение результата rezult .
И, наконец, в конце раздела операторов стоит служебное слово End , после которого стоит точка.
5. Оператор присваивания
![]()
Выполняя первую команду переменной \(a\) присваивается значение \(2\) и это значение записывается в ячейку оперативной памяти.
Далее переменной \(b\) присваивается значение \(4\), оно также записывается в оперативную память.
В третье строке переменной \(а\) присваивается новое значение, вычислим:
Теперь в оперативной памяти хранится значение переменной \(a=14\). Предыдущее значение \(2\) из памяти стёрлось.
Выполним последнюю строку данного нам алгоритма. (Помним о том, что на данный момент в оперативной памяти хранятся данные \(a=14\), \(b=4\).)