2808

Выражения как комбинация операндов и операций

Лекция

Информатика, кибернетика и программирование

Лекция 6 Выражения Выражение – это комбинация операндов и операций, задающая порядок вычисления некоторого значения и принимающая это значение. Операции – это инструкции, определяющие действия над операндами. В качестве операнда могут выст...

Русский

2012-10-19

30 KB

4 чел.

Лекция 6

Выражения

Выражение – это комбинация операндов и операций, задающая порядок вычисления некоторого значения и принимающая это значение. Операции – это инструкции, определяющие действия над операндами. В качестве операнда могут выступать:

  •  идентификатор – тип определяется объявлением идентификатора, значение идентификатора определяется типом (для целых и вещественных переменных – значение этого типа; для переменных перечислимого типа – значение одной из констант из соответствующего этому перечислению списка, тип значения - int; для структуры или объединения – совокупность всех значений структуры или объединения; для указателя – адрес некоторого объекта; для массива – массив значений специфицированного в его объявлении типа, либо константный адрес первого элемента массива; для функции – константный адрес точки входа в функцию и список её аргументов, которая возвращает значение определённого типа);
  •  константа – целочисленное значение, вещественное значение, символ (в выражениях всегда имеет тип int, значение – код символа) или строка (в выражении – константный адрес первого элемента строки);
  •  другое выражение.

Чтобы значение выражения было определено, значения всех операндов в выражении должны быть определены.

Скобочные выражения.

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

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

Пример 1.

Компилятор может вычислить выражение a*b/c для целочисленных операндов различными способами. Существует операция «унарный плюс», применение которой гарантирует, что сначала будут вычислены операции в скобках.

Для целочисленных a=30, b=4, c=3 возможные порядки вычислений:

(a*b)/c=(120)/3=40

(a*b)/c=30*(1)=30

(a*b)/c=4*(10)=40

+(a*b)/c=(30*4)/3=40

Константное выражение – это выражение, результатом которого является константа и которое вычисляется на этапе трансляции программы, то есть до её выполнения. Следовательно, операндами константного выражения могут быть только константы.

Пример 2

#define MAXLINE 1000

char line[MAXLINE+1];

int seconds = 60 * 60 ;

Неявное преобразование типов при вычислении выражений.

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

char

unsigned char

short int

unsigned short int

int                                      Повышение диапазона значений

unsigned int

long int

unsigned long int

float

double

long double

В языке C действуют следующие правила преобразования:

  •  операнды типа float преобразуются к типу double;
  •  если один операнд имеет тип long double, то второй преобразуется к типу long double;
  •  если один операнд имеет тип double, то второй преобразуется к типу double;
  •  любые операнды типа char или short преобразуются к типу int;
  •  любые операнды типа unsigned char или unsigned short преобразуются к типу unsigned int;
  •  если один операнд имеет тип unsigned long, то второй преобразуется к типу unsigned long;
  •  если один операнд имеет тип long, то второй преобразуется к типу long;
  •  если один операнд имеет тип unsigned int, то второй преобразуется к типу unsigned int.

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

Операция явного преобразования типа будет рассмотрена позднее.


 

А также другие работы, которые могут Вас заинтересовать

44338. Исследование основного комплекса вопросов, касающихся теоретико-правового осмысления основных характеристик политического режима Российской Федерации 490 KB
  Под политическим режимом понимается совокупность элементов идеологического институционального и социологического порядка способствующих формированию политической власти данной страны на определенный период. Политический режим характеристика не только государства но и всей политической системы: отношения между людьми по поводу государственной власти и отношения людей с государственной властью образующие содержание политического режима разворачиваются именно в сфере политической системы....
44339. Проектирование участка по техническому обслуживанию и текущему ремонту газобаллонной топливной аппаратуры 562.5 KB
  У сжиженного газа низкая температура кипения он полностью превращается в газообразное состояние внутри цилиндра и не сжижает масло мало образуется нагара; И так как в газ не добавляют различные присадки он не загрязняет масло нагаром и осадками очень мало содержит серы в десять раз меньше чем в бензине и почти не разрушает металл выхлопными газами. Выхлопной газ почти не имеет запаха очень мало содержит вредного газа СО в 20 раз меньше чем в бензине не дымит и мало загрязняет атмосферу. В газовом...
44340. Анализ ассортимента и оценка потребительских свойств бытовых стиральных машин 1.89 MB
  Целью данной дипломной работы является анализ ассортимента и оценка потребительских свойств бытовых стиральных машин, реализуемых в розничном торговом предприятии, и формулировка рекомендаций потенциальным покупателям по выбору бытовых стиральных машин, и по формированию ассортимента бытовых стиральных машин розничному торговому предприятию для увеличения его чистой прибыли
44341. Изучение особенностей формирования и описания личных фондов 197 KB
  Описание же и все другие виды информации о составе и содержании документальных материалов могут опираться лишь на столь же качественную экспертизу фондирование и систематизацию документов фонда. Государственное краевое учреждение Государственный архив Пермского края является крупнейшим хранилищем документов Пермского края в котором наряду с архивными фондами учреждений организаций и предприятий хранится большое количество фондов личного происхождения. Это фонды и коллекции документов деятелей науки здравоохранения образования...
44342. Монтаж противопожарных систем «Гранит-4» 908 KB
  Познание прибора. Устройство и работа прибора. Перезапуск прибора можно осуществить либо сняв все питание либо трехкратным нажатием кнопки Управление в режиме снятия с охраны.к это может привести к выходу прибора из строя.
44343. Державне управління в окремих сферах суспільного життя 20.39 KB
  Функції визначають стратегічні орієнтири інновацій у системі державного управлін- ня. Головна мета інноваційної стратегії - повне та ефективне використання наявного в органах державної влади потенціалу для забезпечення як системних змін
44344. Система санкционированного доступа 1.46 MB
  Исходя из функционального назначения устройства санкционированного доступа должна соответствовать группе по механическим воздействиям – М3 (на дверях городских квартир и на стационарных объектах, закрытых от прямого воздействия атмосферных осадков и повышенной относительной влажности).
44345. СОЦИАЛЬНАЯ РЕАБИЛИТАЦИЯ ЛИЦ С ОГРАНИЧЕННЫМИ ФИЗИЧЕСКИМИ ВОЗМОЖНОСТЯМИ 421.5 KB
  Социальная реабилитация инвалидов актуальная проблема современности. Принцип комплексного подхода в социальной реабилитации инвалидов. Социально медицинские услуги как один из факторов социальной реабилитации инвалидов. Роль социального работника в реабилитации инвалидов.