Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Основные операции в языке Си



Над объектами в языке Си могут выполняться различные операции:

· операции присваивания;

· арифметические;

· логические;

· операции отношения;

· операции сдвига.

 

Результатом выполнения операции является число. Операции могут быть бинарными или унарными. Бинарные операции выполняются над двумя объектами, унарные — над одним.

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

Операция присваивания обозначается символом = и выполняется в 2 этапа:

1) вычисляется выражение в правой части;

2) результат присваивается операнду, стоящему в левой части:

 

объект = < выражение>;

 

Пример:

int a = 4; // переменной a присваивается значение 4

int b;

b = a+2; // переменной b присваивается значение 6, вычисленное в правой части

 

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

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

· умножение — *;

· деление — /;

· сложение — +;

· вычитание — -;

· остаток от целочисленного деления — %.

 

Основные унарные операции:

· инкрементирование (увеличение на 1) — ++;

· декрементирование (уменьшение на 1) — --;

· изменение знака — -.

 

Результат вычисления выражения, содержащего операции инкрементирования или декрементирования, зависит от того, где расположен знак операции (до объекта или после него). Если операция расположена до объекта, то сначала происходит изменение значения переменной на 1, а потом это значение используется для выполнения следующих операций. Если операция ++ или -- расположена после переменной, то сначала выполняется операция, а потом значение переменной изменяется на 1.

 

Пример:

int a=2; int b=3; int c, d;

c = a*++b; // c=8, поскольку в операции умножения уже b=4

d = a*b++; // d=6, поскольку в операции умножения b=3

Операции отношения

 

 

Основные побитовые логические операции в языке Си:

· конъюнкция (логическое И) — & - бинарная операция, результат которой равен 1 только когда оба операнда единичны (в общем случае - когда все операнды единичны);

· дизъюнкция (логическое ИЛИ) — | - бинарная операция, результат которой равен 1 когда хотя бы один из операндов равен 1;

· инверсия (логическое НЕ) — ~ - унарная операция, результат которой равен 0 если операнд единичный, и равен 1, если операнд нулевой;

· исключающее ИЛИ — ^ - бинарная операция, результат которой равен 1, если только один из двух операндов равен 1 (в общем случае если во входном наборе операндов нечетное число единиц).

 

a b a & b a | b ~a a ^ b
0 0 0 0 1 0
0 1 0 1 1 1
1 0 0 1 0 1
1 1 1 1 0 0

 

Пример:

unsigned char a = 14; // a = 0000 1110

unsigned char b = 9;   // b = 0000 1001

unsigned char c, d, e, f;

c = a & b;                    // c = 8 = 0000 1000

d = a | b;                     // d = 15 = 0000 1111

e = ~a;                       // e = 241 = 1111 0001

f = a ^ b;                  // f = 7 = 0000 0111

 

Операции отношения

Основные операции отношения:

· эквивалентно — == (проверка на равенство);

· не равно —! = (проверка на неравенство);

· меньше — <;

· больше — >;

· меньше или равно — < =;

· больше или равно — > =.

 

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

 

 

Ввод-вывод информации

Операции ввода/вывода в языке Си организованы посредством библиотечных функций.

Самый простой механизм ввода - чтение по одному символу из стандартного входного потока (с клавиатуры) с помощью функции getchar( ).

Другая функция - putchar(х) выдает значение переменной x в стандартный выходной поток (на экран дисплея).

Объявления getchar( ) и putchar( ) сделаны в заголовочном файле stdio.h, содержащем описания заголовков библиотечных функций стандартного ввода/вывода. Чтобы библиотечные функции стали доступны программе, к ней необходимо подключить данный файл. Подключение осуществляется с помощью директивы препроцессора, помещаемой в начало программы:

#include < stdio.h>


Поделиться:



Последнее изменение этой страницы: 2019-06-08; Просмотров: 269; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь