Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ СИ. Лабораторный практикум доцента кафедры «Системы управления и компьютерные технологии» Пановой Т.В. БГТУ «ВОЕНМЕХ».doc
Скачиваний:
78
Добавлен:
09.03.2016
Размер:
866.3 Кб
Скачать

6.1. Знаки операций.

Операции (в порядке уменьшения приоритета)

Назначение операций

( ) [ ] . ->

операции наивысшего приоритета, которые используются при вызове функций, индексировании элементов массива, операции выбора компонентов структурированного объекта (прямой и косвенный)

! + - ++ -- & *

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

* / %

мультипликативные бинарные операции: умножение, деление, получение остатка от деления целочисленных операндов

+ -

аддитивные бинарные операции: сложение, вычитание

<< >>

операции поразрядного сдвига: влево, вправо

< <= >= > == !=

операции отношения: меньше, меньше или равно, больше или равно, больше, равно, не равно

& ^ |

логические бинарные операции: поразрядные конъюнкция, исключающее ИЛИ, дизъюнкция

&& ||

логические бинарные операции: конъюнкция, дизъюнкция

?:

условная тернарная операция (три операнда)

= *= /= %= += -= &= ^= |= <<= >>=

операции присваивания: простое, после соответствующей операции

,

операция группирует вычисления слева направо

6.2. Операции присваивания.

К операциям присваивания относятся все операции, которые меняют значение одного из операндов.

Группы операций присваивания:

  • обычное присваивание (=);

  • присваивание, соединенное с одной из бинарных операций (+=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=);

  • операции инкремента (++) и декремента (--) – увеличение и уменьшение на единицу.

Например, если объявить переменные:

int a,b,c;

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

a=b=c; // эквивалентно: b=c; a=b;

a +=c; // эквивалентно: a=a+c;

b++; // получить с и увеличить на 1 после использования: b=b+1

++с; // увеличить с на 1 до использования: с=с+1

b--; // получить с и уменьшить на 1 после использования: b=b-1

--a; // уменьшить c на 1 до использования: a=a-1

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

Арифметические операции: *, /, % (остаток от деления), +, -

Например,

a=(a+5)%3; // a присвоить остаток от деления a+5 на 3

b=a--;

d=b/а;

6.4. Операции сравнения и логические операции.

В языке Си отсутствует базовый тип данных для представления логических значений (false, true), поэтому используются целочисленные значения: 0 всегда является ложью, 1 истиной. Такие значения дают операции отношения и логические операции.

Операции сравнения: <, <=, >, >=

Логические операции: ==, !=, &&, ||

Все операции сравнения дают в качестве результата значения 1 или 0, поэтому их можно использовать совместно с арифметическими и другими операциями:

a=b<c; // запомнить результат сравнения

a=(b<c)*3 // принимает значения 0 или 3

6.5. Условная операция.

Условная операция позволяет встроить в любое выражение некоторое подобие условного оператора, обозначается как ? : и означает:

<условие> ? <выражение_для_истины> : <выражение_для_лжи>

Если объявить

int a,b,c,d;

тогда

c=d-a>b?a:b; // с=а, если d-а>b, иначе, с=b

Соседние файлы в предмете Программирование