Мегаобучалка Главная | О нас | Обратная связь


Выражения в операторах языка программирования



2015-11-07 1433 Обсуждений (0)
Выражения в операторах языка программирования 0.00 из 5.00 0 оценок




C-51

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

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

Операндом в выражении может быть переменная, числовая константа, подпрограмма-функция или указатель. Любой операнд, который имеет константное значение, называется константным выражением. Каждый операнд имеет тип.

Если в качестве операнда используется константа, то ему соответствует значение и тип представляющей его константы. Целая константа может быть типа int, long, unsigned int, unsigned long, в зависимости от ее значения и от формы записи. Символьная константа имеет тип int. Константа с плавающей точкой всегда имеет тип float.

При вычислении выражений тип каждого операнда может быть преобразован к другому типу. Преобразования типов могут быть неявными, при выполнении операций и вызовов функций, или явными, при выполнении операций приведения типов.

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

В языке программирования C-51 используются арифметические операции, результат которых зависит от типа операндов:

· + суммирование

· - вычитание

· умножение

· / деление

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

В языке программирования C-51 также определено несколько одноместных арифметических операций:

· '-' изменение знака операнда на противоположное значение

· '+' знак плюс не влияет на значение операнда

· ++ увеличение значения операнда на единицу

· -- уменьшение значения операнда на единицу

· Над операндами можно осуществлять логические операции:

· '&&' логическое "и"

· '&' побитовое логическое "и"

· '||' логическое "или"

· '|' побитовое логическое "или"

· '^' "исключающее или" (суммирование по модулю два)

Здесь следует объяснить различие между логическими и побитовыми логическими операциями. Дело в том, что в стандартном языке ANSI C не существует битовых переменных. Для хранения битовых значений истина '1' и ложь '0' используются стандартные целые типы переменных. В простейшем случае это байт. При этом все значения переменной, отличающиеся от 0 считаются 1

В языке программирования C-51 также определено несколько одноместных логических операций:

· '!' инверсия операнда

· '~' побитовая инверсия операнда

В условном операторе и операторах цикла используются операции отношения:

· < меньше

· больше

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

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

· == равно

· != не равно

Над переменными-указателями возможно проведение адресных операций.

· '*' операция косвенной адресации

· '&' вычисление адреса переменной

Операция косвенной адресации '*' осуществляет доступ к переменной при помощи указателя. Результатом операции является значение переменной, на которую указывает операнд. Типом результата является тип переменной, адресуемой указателем.

Операция вычисления адреса переменной '&' дает адрес ячейки памяти своего операнда. Операндом может быть любой идентификатор. Имя функции или массива также может быть операндом операции вычисления адреса переменной, хотя в этом случае знак операции вычисления адреса переменной является лишним, так как имена массивов и функций и так являются адресами. Операция вычисления адреса переменной не может применятся к элементам структуры, являющимися полями битов, и к объектам с классом памяти register.

Приоритеты выполнения операций

В языке С-51 операции с высшими приоритетами вычисляются первыми. Наивысшим приоритетом является приоритет равный 1. Приоритеты и порядок операций приведены в табл. 5.6. Порядок вычисления выражения следующий: сначала выполняются операторы в круглых скобках, в них от старшего приоритета к младшему, а среди равнозначных операторов - слева направо.

Таблица 5.6

Приоритет Знак операции Типы операции Порядок выполнения
() [] . -> Выражение Слева направо
- ~ ! * & ++ -- sizeof приведение типов Унарные Справа налево
* / % Мультипликативные Слева направо
+ - Аддитивные  
<< >> Сдвиг  
< > <= >= Отношение  
== != Отношение (равенство)  
& Поразрядное И  
^ Поразрядное исключающее ИЛИ  
| Поразрядное ИЛИ  
&& Логическое И  
|| Логическое ИЛИ  
? : Условная  
= *= /= %= += -= &= |= >>= <<= ^= Простое и составное присваивание Справа налево
, Последовательное вычисление Слева направо


2015-11-07 1433 Обсуждений (0)
Выражения в операторах языка программирования 0.00 из 5.00 0 оценок









Обсуждение в статье: Выражения в операторах языка программирования

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1433)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)