- •Лексемы
- •Идентификаторы
- •Константы
- •Операции
- •Знаки пунктуации
- •Основные типы данных.
- •Описание переменных
- •Оператор присваивания
- •Примеры программ
- •Форматированный ввод, вывод
- •Особенности ввода, вывода символов
- •Функции gets, puts, atoi, atol и atof
- •Занятие 2. Операторы выбора.
- •Выражения, операции
- •Логические операции
- •Условная операция
- •Условный оператор
- •Оператор перехода goto
- •Оператор выбора switch
- •Оператор цикла с предусловием (while)
- •Оператор цикла с постусловием (do - while)
- •Оператор цикла for
- •Примеры использования операторо цикла
- •Занятие 3. Указатели. Ссылки. Массивы. Работа со строками.
- •Указатели
- •Операции разыменования и взятия адреса
- •Инициализация указателей
- •Арифметические операции с указателями
- •Присваивание указателей
- •Сравнение указателей
- •Операция new
- •Операция delete
- •Примеры использования указателей
- •Одномерные массивы
- •Инициализация одномерных массивов
- •Примеры работы с одномерными массивами
- •Многомерные массивы
- •Занятие 4. Указатели и массивы.
- •Указатели и одномерные массивы
- •Размещение одномерных массивов в динамической памяти.
- •Массивы указателей
- •Занятие 5. Указатели и многомерные массивы.
- •Двухмерный массив и вспомогательный массив указателей
- •Список рекомендуемой литературы.
Занятие 2. Операторы выбора.
Теоретическая часть
Выражения, операции
Выражение представляет собой комбинацию знаков операций и операндов (операнд – это то, над чем выполняется операция). При выполнении операций производится автоматическое преобразование типов, чтобы привести операнды выражений к общему типу. Если операция выполняется над данными двух различных типов, обе величины приводятся к «высшему» из двух типов. Последовательность имен типов от «высшего» к «низшему» выглядит так: double, float, long, int, short и char. Применение ключевого слова unsigned повышает ранг соответствующего типа данных со знаком. В операторе присваивания конечный результат вычисления выражения в правой части приводится к типу переменной, которой должно быть присвоено это значение. Когда выражение содержит более, чем одну операцию, порядок их выполнения определяется приоритетом операции. Выражения с наивысшим приоритетом вычисляются первыми. Последовательность основных операций, расположенных в порядке убывания их приоритетов, выглядит так: умножение, деление и деление по модулю имеют более высокий приоритет, чем сложение и вычитание, затем идут логическое И и логическое ИЛИ.
Пример приведения значения выражения в правой части к типу присваиваемой переменной.
int a;
double b=5.7;
a=b; // В результате переменная a получит значение 5
Лучше всего избегать преобразования типов, особенно в сторону понижения ранга. Но существует способ явного преобразования типов с помощью операции приведения. Скобки и имя типа вместе образуют операцию приведения, например, (int) a (приведение переменной ‘а’ к целому типу).
Пример преобразования типа переменной с помощью операции приведения.
int a;
a=1.6+1.8; // a получает значение 3
a=int(1.6)+int(1.8); // a получает значение 2
Пример использования операции sizeof(), определяющей размер памяти, соответствующей идентификатору или типу.
int i,j;
float a;
i=sizeof(double); // Переменной i присваивается целое число, равное размеру памяти в бай- // тах, выделяемой для переменных типа double
j= sizeof(a); // Переменной j присваивается целое число, равное размеру памяти, вы- // деляемой для переменной a
Логические операции
К логическим операциям относятся:
операция логического И(&&) -
вырабатывает значение 1, если оба операнда имеют ненулевое значение,
вырабатывает значение 0, если один или оба операнда равны 0;
операция логического ИЛИ(||) -
вырабатывает значение 1, если один или оба операнда имеют ненулевое значение, вырабатывает значение 0, если оба операнда равны нулю;
операция логического отрицания ! -
вырабатывает значение 1, если операнд равен нулю,
вырабатывает значение 0, если операнд имеет ненулевое значение.
Операнды логических выражений вычисляются слева направо. Результатом логической операции является ноль или единица. Тип результата int.
Примеры использования логических операций при вычислении логических выражений.
1) 5<9 && 3<3.5 Значение выражения равно 1
2) 5<9 && 3<2 Значение выражения равно 0
3) 5<9 || 3<3.5 Значение выражения равно 1
4) 5<9 || 3<2 Значение выражения равно 1
5) !5 Значение выражения равно 0
6) !(5<1) Значение выражения равно 1