
- •Введение
- •1.1. Компиляторы и интерпретаторы
- •1.2. Языки программирования
- •2.1. Состав языка
- •2.2.2. Тип char
- •2.2.3. Тип wchar_t
- •2.2.4. Тип bool
- •2.2.5. Типы с плавающей точкой.
- •2.2.6. Тип void
- •2.3. Переменные
- •2.5. Выражения
- •3. Ввод и вывод данных
- •4.1. Базовые конструкции структурного программирования
- •4.2. Оператор «выражение»
- •4.3. Составные операторы
- •4.4. Операторы выбора
- •4.5. Операторы циклов
- •4.6. Операторы перехода
- •5.1. Программирование ветвлений
- •5.2. Программирование арифметических циклов.
- •5.3. Итерационные циклы
- •5.4. Вложенные циклы
- •6. Массивы
- •6.2. Обработка одномерных массивов
- •6.2.1. Перебор массива по одному элементу
- •6.2.2 Формирование псевдо динамических массивов
- •6.2.3. Использование датчика случайных чисел для формирования массива.
- •Найти максимальный элемент массива.
- •6.2.4. Перебор массива по два элемента
- •6.3. Классы задач по обработке массивов
- •6.3.1. Задачи 1-ого класса
- •6.3.2. Задачи 2-ого класса
- •6.3.3. Задачи 3-ого класса
- •6.3.4. Задачи 4-ого класса
- •6.4. Сортировка массивов
- •6.4.1. Сортировка методом простого включения (вставки)
- •6.4.2. Сортировка методом простого выбора
- •6.4.3. Сортировка методом простого обмена
- •6.5. Поиск в отсортированном массиве
- •7. Указатели
- •7.1. Понятии указателя
- •7.2. Динамические переменные
- •7.3. Операции с указателями
- •8. Ссылки
- •8.1. Понятие ссылки
- •8.1. Правила работы со ссылками:
- •9. Указатели и массивы
- •9.1. Одномерные массивы и указатели
- •9.2. Многомерные массивы и указатели
- •19.3. Динамические массивы
- •10. Символьная информация и строки
- •11. 1. Объявление и определение функций
- •11.2. Прототип функции
- •11.3.Параметры функции
- •11.4. Локальные и глобальные переменные
- •11.5. Функции и массивы
- •11.5.1. Передача одномерных массивов как параметров функции
- •11.5.2. Передача строк в качестве параметров функций
- •11.5.3. Передача многомерных массивов в функцию
2.5. Выражения
Из констант, переменных, разделителей и знаков операций можно конструировать выражения. Каждое выражение представляет собой правило вычисления нового значения. Если выражение формирует целое или вещественное число, то оно называется арифметическим. Пара арифметических выражений, объединенная операцией сравнения, называется отношением. Если отношение имеет ненулевое значение, то оно – истинно, иначе – ложно.
Приоритеты операций в выражениях
Ранг |
Операции |
1 |
( ) [ ] -> . |
2 |
! ~ - ++ -- & * (тип) sizeof тип( ) |
3 |
* / % (мультипликативные бинарные) |
|
+ - (аддитивные бинарные) |
5 |
<< >> (поразрядного сдвига) |
6 |
< > <= >= (отношения) |
7 |
== != (отношения) |
8 |
& (поразрядная конъюнкция «И») |
9 |
^ (поразрядное исключающее «ИЛИ») |
10 |
| (поразрядная дизъюнкция «ИЛИ») |
11 |
&& (конъюнкция «И») |
12 |
|| (дизъюнкция «ИЛИ») |
13 |
?: (условная операция) |
14 |
= *= /= %= -= &= ^= |= <<= >>= (операция присваивания) |
15 |
, (операция запятая) |
Контрольные вопросы
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;