Выражения

Из констант, переменных, разделителей и знаков операций можно конструировать выражения. Каждое выражение представляет собой правило вычисления нового значения.. Если выражение формирует целое или вещественное число, то оно называется арифметическим. Пара арифметических выражений, объединенная операцией сравнения, называется отношением. Если отношение имеет ненулевое значение, то оно – истинно, иначе – ложно.

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

Ранг Операции
( ) [ ] -> .
! ~ - ++ -- & * (тип) sizeof тип( )
* / % (мультипликативные бинарные)
  + - (аддитивные бинарные)
<< >> (поразрядного сдвига)
< > <= >= (отношения)
== != (отношения)
& (поразрядная конъюнкция «И»)
^ (поразрядное исключающее «ИЛИ»)
| (поразрядная дизъюнкция «ИЛИ»)
&& (конъюнкция «И»)
|| (дизъюнкция «ИЛИ»)
?: (условная операция)
= *= /= %= -= &= ^= |= <<= >>= (операция присваивания)
, (операция запятая)

 

 

Контрольные вопросы

1. Из каких элементов состоит естественный язык? Что является аналогами этих элементов в С++?

2. Что такое лексема? Привести примеры лексем в языке С++.

3. Что такое идентификатор? Правила записи идентификаторов.

4. Что такое константа? Как константа обрабатывается компилятором?

5. Какие типы констант существуют в С++. Привести примеры констант разных типов.

6. К какому типу относятся константы 192345, 0х56, 0хСВ, 016, 0.7865, .0045, ‘c’, “x”, one, “one”, 5 , 5.?

7. Что такое тип данных?

8. Чем отличаются типы данных: float и double, char и wchar_t, int и short int?

9. Чем отличаются типы данных int и unsigned int?

10. Перечислить все типы данных, которые существуют в C++. Сколько места в памяти занимают данные каждого типа?

11. На что влияет количество памяти, выделяемое для данных определенного типа?

12. Что такое переменная? Чем объявление переменой отличается от ее определения? Привести примеры определений и объявлений.

13. Что такое класс памяти? Какие классы памяти существуют в С++? Привести примеры объявлений и определений переменных разных классов памяти.

14. Что такое выражение? Из чего состоит выражение?

15. Что такое операнд?

16. Какие операции можно применять к целочисленным данным? К вещественным данным? К символьным данным?

17. Что такое отношение?

18. В каком случае отношение считается ложным, а в каком – истинным?

19. Какие операции называются унарными? Привести примеры.

20. Какие операции называются бинарными? Привести примеры.

21. Что такое тернарная операция? Привести пример.

22. Какая разница между постфиксной и префиксной операцией инкремента (декремента)?

23. Какие операции присваивания существуют в С++?

24. Привести примеры выражений, содержащих операции присваивания, операции инкремента (декремента), аддитивные и мультипликативные операции. Пояснить, как они будут выполняться.

25. Что такое леводопустимое значение? Привести пример.

26. Чему будет равно значение выражений:

int z=x/y++; если int x=1, y=2;

int w=x%++y, если int x=1, y=2;

int a=++m+n++*sizeof(int); если int m=1, n=2;

float a=4*m/0.3*n; если float m=1.5; int n=5;

int ok=int(0.5*y)<short(x)++; если int x=10, y=3;