Операторы в C | Microsoft Docs
- Чтение занимает 2 мин
В этой статье
Операторы C являются подмножеством встроенных операторов C++.
Существуют три типа операторов. Унарное выражение состоит либо из унарного оператора, который стоит перед операндом, либо из ключевого слова sizeof
, за которым следует выражение. Выражением может быть либо имя переменной, либо выражение приведения типа. В последнем случае выражение должно быть заключено в круглые скобки. Бинарное выражение состоит из 2 операндов, соединенных бинарным оператором. Троичное выражение состоит из 3 операндов, соединенных оператором условного выражения.
В языке C имеются следующие унарные операторы:
Символ | name |
---|---|
— ~ ! | Операторы отрицания и дополнения |
* & | Операторы косвенного обращения и взятия адреса |
sizeof | Оператор определения размера |
+ | Оператор унарного сложения |
++ — | Унарные операторы инкремента и декремента |
Бинарные операторы имеют левую ассоциативность, т. е. выполняются слева направо. В языке C имеются следующие бинарные операторы:
Символ | name |
---|---|
* / % | Мультипликативные операторы |
+ — | Аддитивные операторы |
<< >> | Операторы сдвига |
< > <= >= == != | Операторы отношения |
& | ^ | Побитовые операторы |
&& || | Логические операторы |
, | Оператор последовательного вычисления |
Базовый оператор ( :> ), поддерживающийся предыдущими версиями компилятора Microsoft C для 16-разрядных систем, описывается в кратком обзоре синтаксиса языка C.
Оператор условного выражения имеет более низкий приоритет, чем бинарные выражения, и отличается от них тем, что имеет правую ассоциативность.
К выражениям с операторами также относятся выражения присваивания, в которых используются унарные или бинарные операторы присваивания. Унарные операторы присваивания — это операторы инкремента и декремента ( ++ и — соответственно). Бинарные операторы присваивания — это оператор простого присваивания ( = ) и составные операторы присваивания. Все составные операторы присваивания состоят из другого бинарного оператора и оператора простого присваивания.
См. также
Оператор нулевого слияния — JavaScript
Оператор нулевого слияния (??
) это логический оператор, который возвращает значение правого операнда когда значение левого операнда равно null
или undefined
, в противном случае будет возвращено значение левого операнда.
В отличие от логического ИЛИ (||
), левая часть оператора вычисляется и возвращается даже если его результат после приведения к логическому типу оказывается ложным, но не является null
или undefined
. Другими словами, если вы используете ||
чтобы установить значение по умолчанию, вы можете столкнуться с неожиданным поведением если считаете некоторые ложные значения пригодными для использования (например, «» или 0). Ниже приведены примеры.
The source for this interactive example is stored in a GitHub repository. If you’d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
See PR #1482 regarding the addition of this example.
Использование оператора нулевого слияния
В этом примере показано как устанавливать значения по умолчанию, оставив в покое значения отличные от null
или undefined
.
const nullValue = null;
const emptyText = "";
const someNumber = 42;
const valA = nullValue ?? "default for A";
const valB = emptyText ?? "default for B";
const valC = someNumber ?? 0;
console.log(valA);
console.log(valB);
console.log(valC);
Значение по умолчанию в присваивании переменной
Ранее, для присваивания значения по умолчанию переменной использовался оператор логического ИЛИ (||
):
let foo;
let someDummyText = foo || 'Hello!';
Однако, оператор ||
это логический оператор, левый операнд которого при сравнении неявно приводится к булевому значению, поэтому любое 0
, ''
, NaN
, null
, undefined
) не возвращается. Данное поведение может быть нежелательным если вы рассматриваете 0
, ''
, или NaN
как корректные значения.
let count = 0;
let text = "";
let qty = count || 42;
let message = text || "hi!";
console.log(qty);
console.log(message);
Оператор нулевого слияния предотвращает попадание в такую ловушку, возвращая второй операнд если первый оказывается null
or undefined
(но не любым другим ложным значением):
let myText = '';
let notFalsyText = myText || 'Hello world';
console.log(notFalsyText);
let preservingFalsy = myText ?? 'Hi neighborhood';
console.log(preservingFalsy);
Синтаксическое сокращение
Так же как при использовании логического И и ИЛИ, правое выражение не вычисляется если найдено подходящее значение в левом.
function A() { console.log('A was called'); return undefined;}
function B() { console.log('B was called'); return false;}
function C() { console.log('C was called'); return "foo";}
console.log( A() ?? C() );
console.log( B() ?? C() );
Не объединяется с И или ИЛИ операторами
Нельзя напрямую объединять И (&&
) и ИЛИ (||
) операторы с ??
. При таком выражении будет выброшен SyntaxError
.
null || undefined ?? "foo";
true || undefined ?? "foo";
Однако, при заключении в скобки выражение является корректным:
(null || undefined) ?? "foo";
Отношение к оператору опциональной последовательности (
?.
)Оператор нулевого слияния определяет undefined
и null
как специальные значения так же как и оператор опциональной последовательности (?.
), который используется для доступа к свойствам объекта, значение которого может быть null
или undefined
.
let foo = { someFooProp: "hi" };
console.log(foo.someFooProp?.toUpperCase());
console.log(foo.someBarProp?.toUpperCase());
BCD tables only load in the browser
& (Boolean And) operator—ArcGIS Pro
Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Описание
Оператор & выполняет булеву операцию And-, когда одно или несколько входных значений (операндов) являются растрами., |) выше, чем у операторов сравнения (<, <=, >, >=, ==, !=). Поэтому, если в одном выражении используются Булевы и реляционные операторы, в первую очередь выполняются булевы операторы. Чтобы изменить порядок выполнения, используйте скобки.
Если Булевы и/или реляционные операторы последовательно используются в одном выражении, в некоторых случаях его выполнение может завершиться неудачей. Во избежание потенциальных проблем, используйте соответствующие скобки в выражении, чтобы четко определить порядок выполнения операторов. Для получения более подробной информации см. Правила комплексного оператора.
Для выполнения Булевой операции необходимо наличие двух входных значений.
Для этого оператора не важен порядок входных данных.
Если входными данными служат значения с плавающей точкой, они преобразуются в целые числа путем усечения до выполнения Булевой операции. Выходные значения всегда целочисленные.
Также булеву операцию And можно выполнять a &= b, что является альтернативным способом написания a = a & b.
Если оба входных растра одноканальные либо входные данные — одноканальный растр и константа, выходной растр будет одноканальным.
Если оба входных растра многоканальные либо входные данные — многоканальный растр и константа, выходной растр будет многоканальным. Число каналов всех многоканальных растров должно быть одинаковым.
Оператор выполнит операцию для каждого канала одного входного растра и соответствующего канала другого входного растра. Если один из входных растров многоканальный, а другие входные данные — константа, оператор выполнит операцию с постоянным значением для каждого канала многоканального растра.
Операторы в C / C ++
Операторы — основа любого языка программирования. Таким образом, без использования операторов функциональность языка программирования C / C ++ будет неполной. Мы можем определять операторы как символы, которые помогают нам выполнять определенные математические и логические вычисления с операндами. Другими словами, мы можем сказать, что оператор оперирует операндами.
Например, рассмотрим следующий оператор:
c = a + b;
Здесь «+» — это оператор, известный как , оператор сложения , а «a» и «b» — операнды.Оператор сложения сообщает компилятору добавить оба операнда «a» и «b».
C / C ++ имеет много встроенных типов операторов, и они классифицируются следующим образом:
- Арифметические операторы : это операторы, используемые для выполнения арифметических / математических операций с операндами. Примеры: (+, -, *, /,%, ++, -). Арифметические операторы бывают двух типов:
- Унарные операторы : Операторы, которые работают или работают с одним операндом, являются унарными операторами.Например: (++, -)
- Бинарные операторы : Операторы, которые работают или работают с двумя операндами, являются бинарными операторами. Например: (+, -, *, /)
- Операторы отношения : Они используются для сравнения значений двух операндов. Например, проверка того, равен ли один операнд другому операнду или нет, операнд больше другого операнда или нет и т. Д. Некоторые из операторов отношения (==,> =, <=). Чтобы узнать подробнее о каждом из этих операторов, перейдите по этой ссылке.
- Логические операторы : Логические операторы используются для объединения двух или более условий / ограничений или для дополнения оценки исходного рассматриваемого условия. Результатом работы логического оператора является логическое значение true или false. Например, логический оператор
AND , представленный оператором ‘&&’ в C или C ++ , возвращает истину, если оба рассматриваемых условия удовлетворены. В противном случае возвращается false. Следовательно, a && b возвращает истину, если и a, и b истинны (т.е. ненулевое). Чтобы подробнее узнать о различных логических операторах, перейдите по этой ссылке. - Побитовые операторы : Побитовые операторы используются для выполнения операций битового уровня с операндами. Операторы сначала преобразуются на битовый уровень, а затем выполняется вычисление операндов. Математические операции, такие как сложение, вычитание, умножение и т. Д., Могут выполняться на битовом уровне для более быстрой обработки. Например, побитовое И , представленное как оператор & в C или С ++ , принимает два числа в качестве операндов и выполняет И для каждого бита двух чисел.Результатом И будет 1, только если оба бита равны 1. Чтобы узнать подробнее о побитовых операторах, перейдите по этой ссылке.
- Операторы присваивания : Операторы присваивания используются для присвоения значения переменной. Левый операнд оператора присваивания является переменной, а правый операнд оператора присваивания — значением. Значение с правой стороны должно относиться к тому же типу данных переменной с левой стороны, иначе компилятор выдаст ошибку.
Различные типы операторов присваивания показаны ниже:- «=» : это простейший оператор присваивания.Этот оператор используется для присвоения значения справа переменной слева.
Например:
- «=» : это простейший оператор присваивания.Этот оператор используется для присвоения значения справа переменной слева.
a = 10; b = 20; ch = 'y';
- «+ =» : этот оператор представляет собой комбинацию операторов «+» и «=». Этот оператор сначала добавляет текущее значение переменной слева к значению справа, а затем присваивает результат переменной слева.
(a + = b) можно записать как (a = a + b)
- Если исходное значение, сохраненное в a, равно 5.Тогда (a + = 6) = 11.
- «- =» : Этот оператор представляет собой комбинацию операторов «-» и «=». Этот оператор сначала вычитает значение справа из текущего значения переменной слева, а затем присваивает результат переменной слева.
Пример:
(a - = b) можно записать как (a = a - b)
- Если исходное значение, сохраненное в a, равно 8. Тогда (a — = 6) = 2.
- “ * = »: этот оператор представляет собой комбинацию операторов« * »и« = ».Этот оператор сначала умножает текущее значение переменной слева на значение справа, а затем присваивает результат переменной слева.
Пример:
(a * = b) можно записать как (a = a * b)
- Если исходное значение, сохраненное в a, равно 5. Тогда (a * = 6) = 30.
- “ / = »: Этот оператор представляет собой комбинацию операторов« / »и« = ». Этот оператор сначала делит текущее значение переменной слева на значение справа, а затем присваивает результат переменной слева.
Пример:
(a / = b) можно записать как (a = a / b)
- Если изначально в a хранится значение 6. Тогда (a / = 2) = 3.
- Другое Операторы : Помимо перечисленных выше операторов, в C или C ++ доступны некоторые другие операторы, используемые для выполнения некоторых конкретных задач. Некоторые из них обсуждаются здесь:
- sizeof operator : sizeof широко используется в языке программирования C / C ++. Это унарный оператор времени компиляции, который можно использовать для вычисления размера его операнда.Результат sizeof имеет целочисленный тип без знака, который обычно обозначается size_t. Обычно оператор sizeof используется для вычисления размера переменной. Чтобы узнать подробнее об операторе sizeof, перейдите по этой ссылке.
- Оператор-запятая : Оператор-запятая (представленный токеном) — это двоичный оператор, который оценивает свой первый операнд и отбрасывает результат, затем он оценивает второй операнд и возвращает это значение (и тип). Оператор запятой имеет самый низкий приоритет среди всех операторов C.Запятая действует как оператор и разделитель. Чтобы узнать подробнее о запятой, перейдите по этой ссылке.
- Условный оператор : Условный оператор имеет вид Выражение1? Выражение2: Выражение3 . Здесь Expression1 — это условие, которое необходимо оценить. Если условие (Expression1) равно True , тогда мы выполним и вернем результат Expression2, в противном случае, если условие (Expression1) равно false , тогда мы выполним и вернем результат Expression3.Мы можем заменить использование операторов if..else условными операторами. Чтобы подробнее узнать об условных операторах, перейдите по этой ссылке.
Таблица приоритетов операторов
В таблице ниже описывается порядок приоритета и ассоциативность операторов в C / C ++. Приоритет оператора уменьшается сверху вниз.
Приоритет | Оператор | Описание | Ассоциативность | |||
---|---|---|---|---|---|---|
1 | () | Круглые скобки (вызов функции) | слева направо | подстрочный индекс | ) | |
. | Выбор элемента по имени объекта | |||||
-> | Выбор элемента с помощью указателя | |||||
++ / — | Постфиксное приращение / декремент | |||||
++ 2 901 | Приращение / уменьшение префикса | справа налево | ||||
+/- | Унарный плюс / минус | |||||
! ~ | Логическое отрицание / побитовое дополнение | Приведение (преобразование значения во временное значение типа) | ||||
* | Разыменование | |||||
и | Адрес (операнда) | |||||
в размере Определить | по размеру | эта реализация | ||||
3 | *, /,% | Умножение / деление / модуль | слева направо справа | |||
4 | +/- | Сложение / вычитание | слева направо | |||
5 | <<, >> | Поразрядный сдвиг влево, Поразрядный сдвиг вправо | влево-в- справа | |||
6 | <, <= | Относительное меньше / меньше или равно | слева направо | |||
>,> = | Относительное больше / больше или равно | слева направо | ||||
7 | ==,! = | Отношение равно / не равно | слева направо | |||
8 | & | Побитовое И | слева направо | |||
9 | ^ | Побитовое исключающее ИЛИ | слева направо | |||
10 | | | Поразрядное включительное ИЛИ | слева направо | |||
11 | && | Логическое И | слева направо | |||
12 | || | Логическое ИЛИ | слева направо | |||
13 | ?: | Тройное условное | справа налево | |||
14 | = | Присвоение слева | ||||
+ =, — = | Присваивание сложения / вычитания | |||||
* =, / = | Присвоение умножения / деления | |||||
% =, & = | Побитовое присваивание ИМодуль / | |||||
^ =, | = | Поразрядное присвоение исключающее / включающее ИЛИ | |||||
<> = | Поразрядный сдвиг влево / вправо | |||||
15 | , разделитель выражений | слева направо |
? List = PLqM7alHXFySGg6GSRmE2INI4k8fPH5qVB
Статьи по теме :
Вниманию читателя! Не прекращайте учиться сейчас.Присоединяйтесь к курсу First-Step-to-DSA для учащихся 9–12 классов , , специально разработанного для ознакомления со структурами данных и алгоритмами учащихся 9–12 классов
Приоритетность оператора C — cppreference.com
В следующей таблице перечислены приоритеты и ассоциативность операторов C. Операторы перечислены сверху вниз в порядке убывания приоритета.
Приоритет | Оператор | Описание | Ассоциативность |
---|---|---|---|
1 | ++ - | Увеличение и уменьшение суффикса / постфикса | слева направо |
() | Вызов функции | ||
[] | Индекс массива | ||
. | Доступ к структуре и членам профсоюзов | ||
-> | Доступ к структуре и члену объединения через указатель | ||
( тип ) { список } | Составной литерал (C99) | ||
2 | ++ - | Увеличение и уменьшение префикса [примечание 1] | справа налево |
+ - | Унарный плюс и минус | ||
! ~ | Логическое НЕ и побитовое НЕ | ||
( тип ) | В ролях | ||
* | Косвенное обращение (разыменование) | ||
и | Адрес-оф. | ||
размер | Размер [примечание 2] | ||
_Alignof | Требование выравнивания (C11) | ||
3 | * / % | Умножение, деление и остаток | слева направо |
4 | + - | Сложение и вычитание | |
5 | << >> | Побитовый сдвиг влево и вправо | |
6 | < <= | Для операторов отношения <и ≤ соответственно | |
> > = | Для операторов отношения> и ≥ соответственно | ||
7 | == ! = | Для реляционных = и ≠ соответственно | |
8 | и | Побитовое И | |
9 | ^ | Побитовое исключающее ИЛИ (исключающее ИЛИ) | |
10 | | | Побитовое ИЛИ (включая или) | |
11 | && | Логическое И | |
12 | || | Логическое ИЛИ | |
13 | ?: | Тернарное условное [примечание 3] | справа налево |
14 [примечание 4] | = | Простое задание | |
+ = - = | Переуступка по сумме и разнице | ||
* = / = % = | Присвоение по продукту, частному и остатку | ||
<< = >> = | Присваивание с помощью побитового сдвига влево и вправо | ||
& = ^ = | = | Присваивание с помощью побитового AND, XOR и OR | ||
15 | , | запятая | слева направо |
- ↑ Операнд префикса
++
и-
не может быть приведением типа.Это правило грамматически запрещает некоторые выражения, которые в любом случае были бы семантически недопустимыми. Некоторые компиляторы игнорируют это правило и семантически обнаруживают недействительность. - ↑ Операнд
sizeof
не может быть приведением типа: выражениеsizeof (int) * p
однозначно интерпретируется как(sizeof (int)) * p
, но неsizeof ((int) * п)
. - ↑ Выражение в середине условного оператора (между
?
и:
) анализируется так, как если бы оно заключено в скобки: его приоритет относительно?:
игнорируется. - ↑ Левые операнды операторов присваивания должны быть унарными (без приведения уровня 2) выражениями. Это правило грамматически запрещает некоторые выражения, которые в любом случае были бы семантически недопустимыми. Многие компиляторы игнорируют это правило и семантически обнаруживают недействительность. Например, e = a
При синтаксическом анализе выражения оператор, который указан в некоторой строке, будет более жестко привязан (как если бы в круглые скобки) к своим аргументам, чем любой оператор, указанный в строке ниже. Например, выражение * p ++ анализируется как * (p ++), а не как (* p) ++.
Операторы, находящиеся в одной ячейке (в ячейке может быть несколько строк операторов), оцениваются с одинаковым приоритетом в заданном направлении. Например, выражение a = b = c анализируется как a = (b = c), а не как (a = b) = c из-за ассоциативности справа налево.
[править] Примечания
Приоритет и ассоциативность не зависят от порядка оценки.
Сам стандарт не определяет уровни приоритета. Они происходят из грамматики.
В C ++ условный оператор имеет тот же приоритет, что и операторы присваивания, а префиксы ++
и –
и операторы присваивания не имеют ограничений на их операнды.
Спецификация ассоциативности избыточна для унарных операторов и показана только для полноты: унарные префиксные операторы всегда связываются справа налево (sizeof ++ * p равно sizeof (++ (* p))), а унарные постфиксные операторы всегда связывают left -право (a [1] [2] ++ равно ((a [1]) [2]) ++).Обратите внимание, что ассоциативность имеет значение для операторов доступа к членам, даже если они сгруппированы с унарными постфиксными операторами: a.b ++ анализируется (a.b) ++, а не a. (B ++).
[править] Ссылки
- Стандарт C11 (ISO / IEC 9899: 2011):
- Стандарт C99 (ISO / IEC 9899: 1999):
- Стандарт C89 / C90 (ISO / IEC 9899: 1990):
[править] См. Также
Порядок оценки аргументов оператора во время выполнения.
Справка в Интернете - Origin C
Операторыподдерживают те же арифметические, логические, сравнительные и побитовые операторы, что и ANSI C.
См. Примечание ниже.3); #pragma xor (pop) // вернуть действие по умолчанию xor
По умолчанию деление целого числа на другое дает целочисленный результат. Используйте инструкцию прагмы ниже перед кодами, чтобы компилятор Origin C обрабатывал все числовые литералы как двойной тип.
out_double ("3/2 есть", 3/2); // вывод 1 #pragma numlittype (push, ИСТИНА) out_double ("3/2 есть", 3/2); // вывод 1.5 #pragma numlittype (pop) // вернуть действие по умолчанию numlittype
Оператор модуля Оператор модуля вычисляет остаток от левого операнда, деленный на правый операнд.Этот оператор может применяться только к целым операндам.
out_int («Остаток от 11 делится на 2», 11% 2);
Операторы сравнения
Операторы сравнения оценивают значение true или false, где true дает 1, а false дает 0.
Оператор | Назначение |
---|---|
> | больше чем |
> = | больше или равно |
< | меньше чем |
<= | меньше или равно |
== | равно |
! = | не равно |
если (aa> = 0) out_str ("aa больше или равно нулю"); если (12 == аа) out_str («аа равно двенадцати»); если (аа <99) out_str («аа меньше 99»);
Логические операторы
Логические операторы оценивают значение true или false, где true дает 1, а false дает 0.Операнды оцениваются слева направо. Оценка прекращается, когда можно определить все выражение.
Оператор | Назначение |
---|---|
! | НЕ |
&& | И |
|| | ИЛИ |
Рассмотрим следующие два примера:
expr1A && expr2 expr1B || expr2
expr2 не будет оцениваться, если expr1A оценивается как false или expr1B оценивается как true.Такое поведение выгодно программистам и позволяет писать эффективный код. Нижеследующее более четко демонстрирует важность заказа.
если (NULL! = Ptr && ptr-> dataValueВ приведенном выше примере все выражение if будет иметь значение false, если ptr равно NULL. Если ptr равен NULL, очень важно, чтобы dataValue не сравнивался с upperLimit, потому что чтение члена dataValue из NULL-указателя может привести к внезапному завершению работы приложения.
Побитовые операторы AND Оператор OR Оператор Оператор XOR
Побитовые операторы позволяют тестировать и устанавливать отдельные биты.
См. Примечание ниже.3); #pragma xor (поп)
Оператор | Описание | Ассоциативность |
---|---|---|
() [] . -> | Круглые скобки (группировка) Скобки (индекс массива) Выбор элемента по имени объекта Выбор элемента по указателю | слева направо |
++
- + - ! ~ ( тип ) * и размер | Унарный преинкремент / предварительный приращение Унарный плюс / минус Унарное логическое отрицание / побитовое дополнение Унарное приведение (изменение типа ) Разыменование Адрес Определить размер в байтах | справа налево |
* / % | Умножение / деление / модуль | слева направо |
+ - | Сложение / вычитание | слева направо |
<< >> | Побитовый сдвиг влево, Побитовый сдвиг вправо | слева направо |
<
<= > > = | Относительное меньше / меньше или равно Относительное больше / больше или равно | слева направо |
== ! = | Relational равно / не равно | слева направо |
и | Побитовое И | слева направо |
^ | Побитовое исключающее ИЛИ | слева направо |
| | Поразрядное ИЛИ | слева направо |
&& | логическое И | слева направо |
|| | Логическое ИЛИ | слева направо |
?: | Тернарное условное | справа налево |
= + = - = * = / = % = & = ^ = | = << = >> = | Присваивание Присваивание сложения / вычитания Присваивание умножения / деления Модуль / побитовое присваивание И Побитовое присваивание исключающее / включающее ИЛИ Присваивание побитового сдвига влево / вправо | справа налево |
, | Запятая (отдельные выражения) | слева направо |
Обучение операторов СТЮ
Обучение операторов подземного резервуара для хранения (UST)
ВАЖНОЕ ПРИМЕЧАНИЕВзаимность - Коннектикут БОЛЬШЕ НЕ принимает Сертификаты обучения операторов по программам обучения и экзаменам, утвержденным в штатах, кроме Коннектикута, для:
- Требуется переподготовка в связи с несоответствием
- Переподготовка или повышение квалификации после первичной сертификации Оператора
- Первоначальная сертификация 10 марта 2014 г. или позднее.
Переподготовка / переподготовка - ЛЮБАЯ одобренная Коннектикутом подготовка операторов ИЛИ переподготовка удовлетворяют требованиям к переподготовке, необходимой не реже одного раза в 2 года после начальной подготовки, а также требованиям к переподготовке из-за несоответствия.
- Все утвержденные Коннектикутом программы обучения и повышения квалификации перечислены в таблице «Утвержденные курсы и экзамены для операторов классов A, B и C» ниже.
- Вся информация об обучении операторов должна быть отправлена в DEEP с использованием EZFile (https: // filings.deep.ct.gov/)
- Имейте в виду, что несоблюдение требований к обучению операторов может привести к принудительным действиям, которые могут включать в себя пометку (отключение) объекта до тех пор, пока оно не будет соответствовать требованиям.
Оператор класса A несет основную законодательную и нормативную ответственность за эксплуатацию и техническое обслуживание системы подземных резервуаров. Обязанности оператора класса A включают управление ресурсами и персоналом, например, установление рабочих заданий, для достижения и поддержания соответствия нормативным требованиям.
Оператор класса B реализует применимые нормативные требования к подземным резервуарам для хранения в полевых условиях.Этот специалист реализует повседневные аспекты эксплуатации, технического обслуживания и учета подземных резервуаров для хранения на одном или нескольких объектах.
Оператор класса C является сотрудником и, как правило, первой линией реагирования на события, указывающие на аварийные условия. Это лицо отвечает за реагирование на сигналы тревоги или другие признаки чрезвычайных ситуаций, вызванных разливами или выбросами из систем подземных резервуаров. При необходимости это лицо уведомляет оператора класса B или класса A и соответствующих аварийно-спасательных служб.Не все сотрудники предприятия обязательно являются операторами класса C.
Таблица утвержденных курсов и экзаменов для операторов классов A, B и C
Утверждение программы обучения и повышения квалификации
Программы обучения и повышения квалификации находятся на рассмотрении для утверждения. Если вы хотите подать программу на утверждение, заполните соответствующий контрольный список критериев для обучения операторов или курсов повышения квалификации класса A, B или C, указав, что программа обучения учитывает все требования к эксплуатации и техническому обслуживанию UST и реагированию на чрезвычайные ситуации в поправках к правила ЕСН, раздел 22a-449 (d) -108 (b) RCSA.Также заполните квалификационный раздел инструктора или проводника курса. Как минимум, инструктор или провайдер курса должен быть сертифицирован в том классе оператора, для которого курс представляется на утверждение.Контрольные списки критериев для обучения операторов и курсов повышения квалификации
Содержание Последнее обновление: июль 2021 г.
Обучение для операторов классов A, B или C - UST
Обучение операторов класса А
Оператор класса A - несет основную ответственность за эксплуатацию и техническое обслуживание системы и оборудования UST.В обязанности оператора класса A входит управление ресурсами и персоналом, например, определение рабочих заданий для достижения и поддержания соответствия нормативным требованиям. В целом, этот человек фокусируется на более широких аспектах законодательных и нормативных требований и стандартов, необходимых для правильной эксплуатации и обслуживания системы и объекта UST (см. §6502.8).
Требуемая подготовка операторов класса A включает следующее:
(a) Предотвращение разливов и перелива
(b) Требования к обнаружению выбросов и соответствующей отчетности,
(c) Защита от коррозии
(d) Экстренное реагирование,
(e) Совместимость продукции и оборудования,
(е) Финансовая ответственность
(g) Требования к уведомлению и регистрации ЕСН,
(h) Требования к временному и постоянному закрытию ЕСН и
(i) Требования к обучению операторов классов A, B и C
Обучение операторов класса B
Оператор класса B - реализует применимые нормативные требования и стандарты системы UST в полевых условиях или на объекте UST.Этот оператор контролирует и реализует повседневные аспекты эксплуатации, технического обслуживания и ведения записей для UST на одном или нескольких объектах (см. §6502.9).
Требуемая подготовка операторов класса B включает следующее:
(a) Предотвращение разливов и перелива
(b) Требования к обнаружению выбросов и соответствующей отчетности,
(c) Защита от коррозии
(d) Экстренное реагирование,
(e) Совместимость продукции и оборудования,
(f) Требования к отчетности и ведению документации и
(g) Требования к обучению операторов класса C
Обучение операторов класса C
Оператор класса C - это первая линия реакции на события, указывающие на аварийное состояние.Это лицо отвечает за реагирование на сигналы тревоги или другие признаки аварийной ситуации, вызванные разливом или выбросом из системы UST и отказами оборудования. Оператор класса C при необходимости уведомляет оператора класса A или B и соответствующие службы экстренной помощи (см. §6502.10).
Требуемая подготовка для операторов класса C:
Операторы класса A или B могут проводить обучение операторов класса C или это может проводить внешний поставщик услуг обучения. Как минимум, обучение, предоставляемое оператором класса A или B, должно позволить оператору класса C принимать меры в случае аварийных ситуаций или сигналов тревоги, вызванных разливами или выбросами из системы UST.Обучение должно включать письменные инструкции или процедуры, которым должен следовать оператор класса C и направлять уведомление, необходимое в случае возникновения аварийных ситуаций. После начальной подготовки операторы класса C должны быть проинструктированы оператором класса A или B по этим инструкциям или процедурам не реже одного раза в год (каждые 12 месяцев).
Операторы C - w3resource
Введение
C поддерживает широкий спектр операторов, таких как +, -, *, /, &, <,> и т. Д.,
Определение
Оператор - это символ, который приказывает компьютеру выполнять определенные математические или логические операции. Операторы используются в программах для управления данными и переменными.
операторов C можно разделить на несколько категорий. Их:
- Арифметические операторы.
- Операторы отношения.
- Логические операторы.
- Операторы присваивания.
- Операторы инкремента и декремента.
- Условные операторы.
- Побитовые операторы.
- Специальные операторы.
Арифметические операторы:
Арифметические операторы включают +, -, *, /,%, которые выполняют все математические операции. Эти операторы могут работать с любым встроенным типом данных, разрешенным в C. В таблице показаны функции арифметических операторов.
Операторы | Значение |
---|---|
+ | Сложение или унарный плюс |
– | Вычитание унарного минуса |
* | Умножение |
/ | Дивизия |
% | Дивизион по модулю |
Операторы отношения:
Операторы отношения используются для сравнения двух операндов, и в зависимости от их отношения принимаются определенные решения.Например, с его помощью можно сравнить возраст двух человек, цену двух предметов и так далее. Есть 6 типов операторов отношения. Их:
Операторы | Значение |
---|---|
< | Менее |
> | больше |
<= | Меньше или равно |
> = | Больше или равно |
== | равно |
! = | не равно |
Логические операторы:
C поддерживает три логических оператора.Их:
Операторы | Значение |
---|---|
&& | логическое И |
|| | Логическое ИЛИ |
! | Логическое НЕ |
Операторы присвоения:
Операторы присваивания используются для присвоения результата выражения переменной. Обычно используется оператор «=». Есть дополнительные «сокращенные» операторы присваивания в форме
.В op = exp;
Здесь,
В = переменная
exp = выражение и
op = бинарный арифметический оператор.
Оператор op = известен как сокращенный оператор присваивания.
Сокращенные операторы присваивания
Оператор с простым оператором присваивания | Заявление с сокращенным оператором |
---|---|
а = а + 1 | а + = 1 |
а = а - 1 | а - = 1 |
а = а * (п + 1) | а * = п + 1 |
а = а / (п + 1) | а / = п + 1 |
a = a% b | a% = b |
Операторы увеличения и уменьшения:
C поддерживает два уникальных оператора, которых нет в других языках.Это: ++ и - (операторы увеличения и уменьшения соответственно).
Оператор ++ добавляет к операнду 1, а - вычитает 1. Оба являются унарными операторами и имеют следующую форму:
++ м; или m ++;
- м; или m--;
++ m эквивалентно m = m + 1;
--m эквивалентно m = m - 1;
Условный оператор:
Тернарная пара операторов «? : ”Доступен в C для построения условных выражений вида:
Exp1? Опыт2: Опыт3
Exp1, Exp2 и Exp3 - это выражения.Оператор?: Работает следующим образом:
Exp1 оценивается первым. Если оно не равно нулю (истина), тогда выражение exp2 вычисляется и становится значением выражения. Если exp1 ложно, вычисляется exp3, и его значение становится значением выражения. Здесь оценивается только одно из выражений.
Побитовые операторы:
Побитовые операторы - это специальные операторы, которые используются для обработки данных на битовом уровне. Эти операторы используются для проверки битов или их сдвига вправо или влево.
Специальные операторы:
C поддерживает некоторые специальные операторы, такие как:
- оператор запятой
- размер оператора
- операторы указателя (& и *)
- операторов выбора члена.
Предыдущая: Константы, переменные и типы данных
Следующая: C printf ()
Программирование на C: советы дня
Более эффективно использовать if-return-return или if-else-return?
Поскольку оператор return завершает выполнение текущей функции, эти две формы эквивалентны (хотя вторая форма, возможно, более читабельна, чем первая).