Опера́ция — конструкция в языках программирования, аналогичная по записи математическим операциям, то есть специальный способ записи некоторых действий.
Наиболее часто применяются арифметические, логические и строковые операции. В отличие от функций, операции часто являются базовыми элементами языка и обозначаются различными символами пунктуации, а не алфавитно-цифровыми; они имеют специальный и нестандартные правила передачи аргументов. Терминология, однако, несколько отличается от языка к языку.
Операция и инструкция
Английское слово operator, соответствующее термину «операция», иногда ошибочно переводят как «оператор». На самом деле (по историческим причинам) русский термин «оператор» обозначает то же, что и «инструкция», которой соответствует английское statement. Путаница усугубилась тем, что в C присваивание и инкремент/декремент являются и операторами, и операциями.
Операция и функция
Фактически, операция — это та же функция, но записываемая особым образом. По этой причине логично иметь возможность определять операции для произвольных типов таким же образом, как и — чтобы можно было работать с ними точно так же, как и с элементарными типами. Эта возможность называется «» и присутствует в большинстве языков 4—5 (поколений). В таких языках транслятор фактически подставляет вместо выполнения операции вызов соответствующей ей функции.
Типы операций
Операции делятся по количеству принимаемых аргументов на:
Синтаксис операций
Поскольку операции аналогичны по записи алгебраическим выражениям, для них, как и для последних, существует 3 варианта синтаксиса:
- префиксная (польская) (+ab) нотация;
- инфиксная (a+b) нотация;
- постфиксная (обратная польская) (ab+) нотация.
Для бинарных и тернарных (с 3 операндами) операций в подавляющем большинстве случаев используют инфиксную нотацию — по той простой причине, что она принята в математике и наиболее привычна большинству людей. Для унарных операций инфиксной нотации не существует, и, как правило, используется префиксная.
Список типовых операций
Операции обычно переходят из языков в родственные — например, операции языка С присутствуют в языках , Java, JavaScript и многих других.
Знак | Выполняемая операция | Языки программирования |
---|---|---|
a = b или a := b | (присваивание) | практически все |
Арифметические | ||
a + b | сложение аргументов | практически все |
a - b | вычитание | практически все |
-a | изменение знака | практически все |
a / b , a div b | деление | практически все |
a % b , a mod b | остаток от деления (деление по модулю) | практически все |
a++ | увеличение на 1 с присваиванием ((инкремент)) уменьшение на 1 с присваиванием (декремент) | С, Java, PHP |
a ^ b или a ^^ b или a ** b | возведение в степень | BASIC, (Fortran), Ruby, Python, Haskell (все 3) |
Логические | ||
a & b , или a && b , или a and b | конъюнкция (логическое умножение) | практически все |
a | b , или a || b , или a or b | дизъюнкция (логическое сложение) | |
~a , или !a , или not a | инверсия (логическое отрицание) | |
a = b или a == b
| проверка на равенство проверка на неравенство | |
a > b , a >= b
| больше, больше или равно меньше, меньше или равно | |
a ? b : c | (тернарная условная операция) (если условие a истинно, всё выражение равно b, иначе c) | С, C++, Java, PHP |
Строковые | ||
a + b или a & b или a.b (PHP) или a..b (Lua) или a ++ b (Haskell) | конкатенация (слияние) | практически все |
Битовые | ||
a & b, a and b (Pascal, Kotlin), a /\ b (Prolog), a .&. b (Haskell) | Побитовая конъюнкция | C/, Java, C#, Ruby, Python, Pascal, (Kotlin), Prolog, Haskell |
a | b, a or b (Pascal, Kotlin), a \/ b (Prolog), a .|. (Haskell) | Побитовая дизъюнкция | |
~a, not a (Pascal), inv a (Kotlin), \a (Prolog) | Побитовое отрицание | C/, Java, C#, Ruby, Python, Pascal, (Kotlin), Prolog |
a ^ b, xor (Pascal, Kotlin) | (Исключающее ИЛИ) | C/, Java, C#, Ruby, Python, Pascal, (Kotlin) |
a << b, a shl b (Pascal, Kotlin)
| Побитовый сдвиг влево
|
См. также
- Логическое выражение
- (Битовые операции)
- Операнд
Примечания
- Перевод компьютерных терминов. Часть 1. Процессор . Дата обращения: 7 декабря 2010. 23 сентября 2013 года.
В статье не хватает (см. ). |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер