Что такое операторы в информатике кратко

Обновлено: 28.03.2024

Операторы и выражения - запись действия в программе.

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

Понятие оператора¶

Существуют операторы преобразования данных и операторы управления работой программы.

Операции¶

Характеристики операций¶

  • Ассоциативность (левоассоциативные, правоассоциативные)
  • Количество аргументов (унарные, бинарные, тернарные)
  • Приоритет
  • Префиксная и постфиксная форма (для ++, — —)

Приоритет операций¶

Результат операций¶

В языке Си у операций могут быть следующие результаты:

  • Числовая константа, означающая результат присвоения, математического выражения, адрес ячейки памяти.
  • Числовая константа, означающая логическое значение (0 - ложь, 1 - истина).
  • Ссылка на область памяти.

В Си не имеется встроенного логического типа со значениями true и false, но любое ненулевое целое значение означает истину, а нулевое - ложь.

Арифметические операции¶

Знак / всегда означает деление. Однако если с обеих сторон от этого знака стоят целые величины (константы, переменные или их комбинации), он означает целочисленное деление. Если в результате такого деления получается остаток, С++ его отбрасывает.

Знак % означает выделение остатка при целочисленном делении. Эта операция требует, чтобы с обеих сторон от ее знака стояли целые величины

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

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

Существуют два класса выражений:

l-value (левостороннее выражение. Может стоять слева от присваивания)

r-value (правостороннее выражение. Может стоять справа от присваивания)

Составное присваивание¶

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

Преобразование типов¶

В различных выражениях могут встречаться данные как одного, так и разных типов. Компилятор может выполнять операцию приведения типов по-умолчанию, действуя согласно простого правила: короткие типы приводятся к длинным. Если необходимо изменить стандартное преобразование, то вводят явное приведение типов.

Сравнение¶

Операции сравнения являются бинарными и используются для сравнения двух значений

Значения операций¶

Пример выражения Результат
-4+6 2
c=3+8 11
5>3 1
6+(c=3+8) 17
6+c=3+8 Ошибка!

Инкремент и декремент¶

Данные операции могум использоваться в префиксной и постфиксной формах. основная разница - изменение приоритета.

будет эквивалентен следующему

будет эквивалентен следующему

  1. Постфиксная форма
  2. СНАЧАЛА переменная изменяется на 1;
  3. и только после этого используется в выражении.
  4. Префиксная форма
  5. старое значение переменной сохраняется для использования в дальнейшем выражении, в котором встретилась эта переменная;
  6. и только ПОСЛЕ этого ее значение СРАЗУ ЖЕ изменяется на 1.

Операции инкремента/декремента¶

Что можно сказать о следующей программе?

Ошибка компиляции: l-value required as left operand of assignment

Неопределенное поведение¶

Определение (см. Википедию)

Неопределённое поведение (англ. undefined behaviour) — свойство некоторых языков программирования (наиболее заметно в Си), программных библиотек и аппаратного обеспечения в определённых маргинальных ситуациях выдавать результат, зависящий от реализации компилятора (библиотеки, микросхемы) и случайных параметров

Неопределенность в языке C/C++ связана с тем, что согласно стандартам С и С++ побочные эффекты (то есть инкремент в данном случае) могут быть применены в любой удобный для компилятора момент между двумя точками следования (см. раздел Дополнительная информация).

Операторы¶

Основные алгоритмические конструкции¶

Основная теорема структурного программирования

Программа для решения любой задачи может быть составлена из комбинации следования, ветвления и цикла (Бойм-Якопини, 1966).

Классификация операторов¶

  • простые
  • составные
  • прочие (оператор-выражение)

Оператор if¶

Оператор if¶

Примеры if¶

Несколько версий одной и той же программы

Удачные/неудачные конструкции¶

Удачные и неудачные конструкции¶

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

Если необходимо сравнить значение переменной с набором констант, то лучше отказаться от if в пользу switch

Сложные выражения¶

С позволяет конструировать очень сложные выражения. Эта сложность должна быть оправдана.

Оператор switch¶

Оператор switch¶

Вопрос: Чему будут равны значения переменных, если строка: babah!?

Оператор while¶

Операторы цикла¶

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

  • Циклы с предусловием: while(), for()
  • Циклы с постусловием: do..while()

Оператор while¶

Ошибки при организации while¶

В чем состоит ошибка?

Оператор do while¶

Оператор do while¶

Это цикл с постусловием. Тело цикла выполняется как минимум 1 раз

Оператор for¶

Оператор for¶

Оператор for¶

Операторы управления¶

  • goto - безусловный переход на метку.
  • return - возвращение из функции.
  • break - прерывание тела цикла и switch
  • continue - переход на следующую итерацию цикла.

Оператор goto усложняет отладку программы и сильно портит стиль разработчика (‘’спагетти-код’‘)!

Спагетти-код¶

Пример спагетти кода на языке BASIC:

Оператор break¶

Назначение break - прерывать цикл или тело switch:

Оператор continue¶

Дополнительная информация¶

Точка следования (англ. Sequence point) — в программировании любая точка программы, в которой гарантируется, что все побочные эффекты предыдущих вычислений уже проявились, а побочные эффекты последующих еще отсутствуют.

Оператор в языке программирования — это символ, который указывает компилятору или интерпретатору выполнить определенную математическую, реляционную или логическую операцию и получить конечный результат. В этой главе будет объяснено понятие операторов, и вы познакомитесь с важными арифметическими и реляционными операторами, доступными в C, Java и Python.

Арифметические Операторы

Компьютерные программы широко используются для математических расчетов. Мы можем написать компьютерную программу, которая может выполнять простые вычисления, такие как сложение двух чисел (2 + 3), и мы также можем написать программу, которая может решить сложное уравнение, такое как P (x) = x 4 + 7x 3 — 5x + 9. Если вы даже были плохим учеником, вы должны знать, что в первом выражении 2 и 3 — операнды, а + — оператор. Подобные понятия существуют в компьютерном программировании.

Взгляните на следующие два примера —

Эти два утверждения называются арифметическими выражениями на языке программирования, и плюс , минус, используемый в этих выражениях, называется арифметическими операторами, а значения, используемые в этих выражениях, такие как 2, 3 и x и т. Д., Называются операндами. В простейшем виде такие выражения дают численные результаты.

Точно так же язык программирования предоставляет различные арифметические операторы. В следующей таблице перечислены некоторые важные арифметические операторы, доступные на языке программирования Си. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

оператор Описание пример
+ Добавляет два операнда А + Б даст 30
Вычитает второй операнд из первого A — B даст -10
* Умножает оба операнда А * Б даст 200
/ Делит числитель на числитель Б / у даст 2
% Это дает остаток от целочисленного деления B% A даст 0

Ниже приведен простой пример программирования на C для понимания вышеприведенных математических операторов:

Когда вышеуказанная программа выполняется, она дает следующий результат —

Операторы отношений

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

Здесь очевидно, что переменная A больше, чем B по значениям. Итак, нам нужна помощь некоторых символов для написания таких выражений, которые называются реляционными выражениями. Если мы используем язык программирования C, то он будет записан следующим образом:

Здесь мы использовали символ>, и он называется реляционным оператором, и в простейшей форме они выдают логические результаты, что означает, что результат будет либо истинным, либо ложным. Аналогично, язык программирования предоставляет различные реляционные операторы. В следующей таблице перечислены некоторые важные реляционные операторы, доступные в языке программирования C. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

То же, что и в алгебре.
Вот операторы: +, -*, /. Вы можете объяснить, что они делают?

Операторы в информатике просто обрабатывают данные. Есть 3 и 4. Сложим эти числа с помощью оператора сложения "+": 3+4.
Вот ещё пример. В информатике есть такой оператор, как присваивание. Часто он обозначается знаком равенства " h-title">

Оператор — это символ, который сообщает компилятору о необходимости выполнения некоторых математических или логических действий.

Инструкция или оператор (англ. statement) — наименьшая автономная часть языка программирования; команда. Программа обычно представляет собой последовательность инструкций.

Многие языки (например, Си) различают инструкцию и определение. Различие в том, что инструкция исполняет код, а определение создаёт идентификатор (то есть можно рассматривать определение как инструкцию присваивания).

Ниже приведены основные общие инструкции языков программирования [источник не указан 443 дня].

Определение типа
TYPE SALARY = INTEGER
Объявление
VAR A:INTEGER
Объявление
A dd ?
Объявление
int A;
Присваивание
A := A + 1
Последовательность инструкций
A := A + 1;
WRITELN(A)
Блок инструкций
BEGIN
WRITE('Number? ');
READLN(NUMBER);
END
Условная инструкция
IF A > 3 THEN
WRITELN(A)
ELSE
WRITELN('NOT YET')
END
Переключатель
switch (c) <
case 'a':
alert();
break;
case 'q':
quit();
break;
>
Цикл со счетчиком
(цикл For, цикл For..Next)
FOR A:=1 TO 10 DO
WRITELN(A)
Цикл с постусловием (цикл Repeat..Until, цикл Do..While)
do <
computation(&i);
> while (i

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Как вы уже знаете, исходный код программы на языке высокого уровня - это текст, который состоит из специальных зарезервированных слов, переменных, констант и т.п. Однако, это упрощённое объяснение. Сегодня мы попробуем приблизиться к более правильным формулировкам. Потому что терминология и правильное её понимание - это очень важная часть любой профессии.

Итак, начнём с выражений.

Выражение - это самый важный элемент практически любого языка программирования. Практически все, что мы пишем в программе - это выражения. Иными словами, любая часть исходного кода, любая комбинация из переменных, констант, функций, которая выполняет какие-то вычисления (действия) - это выражение. Например,

Это выражение, которое записывает в переменную х число 100.

Оператор - это элемент программного кода, который описывает то или иное действие в выражении (операцию). В большинстве языков программирования высокого уровня оператор - это символ, благодаря которому могут производиться различные виды вычислений, сравнений или присваиваний с участием одного или нескольких значений.

Операнд - это значение, переменная или выражение, которое расположено слева или справа от оператора. Например

Здесь 1 и 2 - это операнды, а знак ПЛЮС (+) - это оператор.

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

вызовет ошибку во время компиляции, и программа не будет создана. Все похожие типы (например, все целочисленные) можно использовать в качестве операндов. Например, такой код

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

Основные виды операторов: арифметические, операторы присваивания, сравнения, логические и поразрядные (побитовые).

Также разделяются операторы по количеству операндов:

  • Унарные: когда с оператором используется только один операнд
  • Бинарные: когда с оператором используется два операнда

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

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

Кроме того, я вас буду иногда путать, называя операторы операциями. В общем то, это достаточно близкие понятия. Разница лишь в том, что оператор - это символ в языке программирования, а операция - это действие, которое выполняется с помощью этого символа. Например,

Оператор + выполняет операцию сложения
Оператор * выполняет операцию умножения

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

Читайте также: