Оператор (информатика)

редактировать

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

Во многих императивных языках (например, C ) проводится различие между операторами и определениями, причем оператор содержит только исполняемый код, а определение создает экземпляр идентификатор , в то время как выражение оценивает только значение. Также можно различать простые и составные утверждения; последние могут содержать операторы как компоненты.

Содержание
  • 1 Виды операторов
    • 1.1 Простые операторы
    • 1.2 Составные операторы
  • 2 Синтаксис
  • 3 Семантика
  • 4 Выражения
  • 5 Расширяемость
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Виды операторов

Ниже приведены некоторые из основных общих типов операторов, псевдокодированных. Эти псевдокодированные операторы имеют непосредственный соответствующий синтаксис в любом типичном императивном языке, таком как Паскаль, C, Фортран и т.д.:

Простые операторы

  • assertion
    • в C: assert (ptr! = NULL) ;
  • присвоение
    • в Pascal: A :=A + 5
    • в C и Fortran: A =A + 5
  • goto
    • в C и Fortran: goto label ;
  • return
    • в C и Fortran: return value ;
    • в Pascal: result: = value ;
  • call
    • в C и Pascal : CLEARSCREEN ()
    • в Fortran: вызов CLEARSCREEN ()

Составные операторы

  • блок :
    • в Паскале: begin... конец
    • в C: {...}
  • do-loop : do {вычисление (i); } while (i < 10);
  • for-loop : для A: = от 1 до 10 do WRITELN (A) end
  • if-statement : if A>3 then WRITELN (A) else WRITELN ("ЕЩЕ НЕ "); конец
  • оператор-переключатель : switch (c) {case 'a': alert (); break; case 'q': quit (); break;}
  • while-loop : в то время как НЕ EOF начинаются READLN end
  • with-statement : с open (filename) как f: use (f)
Синтаксис

Внешний вид операторов формирует внешний вид Программы. Языки программирования характеризуются типом используемых в них операторов (например, семейство языков с фигурными скобками ). Многие операторы представлены идентификаторами, например if, while или repeat. Часто оператор ключевые слова зарезервированы, поэтому их нельзя использовать в качестве имен переменных или функций. Императивные языки обычно используют специальный синтаксис для каждого оператора, который выглядит совершенно иначе, чем вызовы функций. Распространенными методами описания синтаксиса операторов являются форма Бэкуса – Наура и синтаксические диаграммы.

Семантика

Семантика. Очень многие операторы отличаются от вызовов подпрограммы тем, что они обрабатывают параметры. Обычно фактический параметр подпрограммы оценивается один раз перед вызовом подпрограммы. Это контрастирует со многими параметрами оператора, которые могут оцениваться несколько раз (например, условие цикла while ) или не оцениваться вообще (например, тело цикла цикла while). Технически такими параметрами оператора являются параметры поименного вызова. Параметры вызова по имени оцениваются при необходимости (см. Также отложенное вычисление ). Когда доступны параметры вызова по имени, такое поведение может быть реализовано с помощью подпрограмм (см. Lisp ). Для языков без параметров вызова по имени семантическое описание цикла loop или условного обычно выходит за рамки возможностей языка. Поэтому стандартные документы часто ссылаются на семантические описания на естественном языке.

Выражения

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

Например:

  • Оператор
    • print ('Hello, World.')
  • Выражение:
    • X = ваши данные
    • print (X)

Среди императивные языки программирования, Algol 68 - один из немногих, в которых оператор может возвращать результат. В языках, которые смешивают императивный и функциональный стили, таких как семейство Lisp, различие между выражениями и операторами не проводится: даже выражения, выполняемые в последовательных контекстах исключительно из-за их побочных эффектов и чьи возвращаемые значения не используются, считаются «выражениями». В чисто функциональном программировании нет операторов; все есть выражение.

Это различие часто наблюдается в формулировках: оператор выполняется, а выражение оценивается. Это можно найти в функциях execи eval , обнаруженных в некоторых языках: в Python есть обе функции, причем execприменяется к операторам и evalприменяется к выражениям.

. Оператор - это инструкция, которую может выполнить интерпретатор Python. Пока мы видели только оператор присваивания. Некоторые другие типы операторов, которые мы вскоре увидим, - это операторы while, операторы for, операторы if и операторы импорта. (Есть и другие виды!)

Выражение - это комбинация значений, переменных, операторов и вызовов функций. Выражения нужно оценивать. Если вы попросите Python напечатать выражение, интерпретатор оценит выражение и отобразит результат.

Расширяемость

В большинстве языков есть фиксированный набор операторов, определенных языком, но были эксперименты с расширяемыми языками, которые позволяют программисту определять новые операторы.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-09 09:59:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте