- •Информатика и программирование
- •Лабораторная работа № 04
- •Лабораторная работа № 04
- •1. Краткие теоретические сведения
- •1.1. Операции
- •1.2. Порядок (старшинство) выполнения операций
- •1.4. Разделители
- •1.5. Переменные
- •1.5.1. Объявление переменных
- •1.5.2. Смысловые имена переменных
- •1.5.3. Таблица идентификаторов
- •1.5.4. Слова, которые нельзя использовать для имен переменных
- •1.5.5. Присваивание значения переменной
- •1.5.6. Присваивание значения при объявлении
- •1.5.7. Использование значения переменной
- •1.5.8. Превышение диапазона значений переменной
- •1.5.9. Представление о точности
- •1.5.10. Следите за ошибками переполнения при арифметических операциях
- •1.6. Константы
- •1.7. Перечисления
- •1.8. Выражения
- •1.9. Правила записи выражений
- •1.10. Преобразования типов
- •1.11. Операции (операторы) инкремента и декремента
- •1.11.1. Увеличение значения переменной на 1
- •1.11.2. Представление о префиксной (до) и постфиксной (после) операциях увеличения
- •2. Задание
- •2.11. Задания
- •Варианты задания приведены в табл. 4.14. Вариант соответствует номеру в журнале группы.
- •Варианты задания приведены в табл. 4.15. Вариант соответствует номеру в журнале группы.
- •2.11.3. Задание 3. (Домашнее).
- •2.11.3.1. Содержание работы
- •2.11.3.2. Теоретические сведения
- •2.11.3.3. Варианты задания 3
- •Варианты задания приведены в табл. 4.15. Вариант соответствует номеру в журнале группы.
- •2.11.3.4. Пример программы
- •2.11.3.5. Программа
- •2.11.3.6. Результаты работы программы.
- •2.11.3.7. Типичные ошибки при выполнении работы
- •3. Выводы
- •4. Требование к отчету
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
1.10. Преобразования типов
В С++ существует явное и неявное преобразование типов.
В общем случае неявное преобразование типов сводится к участию в выражении переменных разного типа (так называемая арифметика смешанных типов). Если подобная операция осуществляется над переменными базовых типов (представленных в табл. 4.5), она может повлечь за собой ошибки: в случае, например, если результат занимает в памяти больше места, чем отведено под принимающую переменную, неизбежна потеря значащих разрядов.
Для явного преобразования переменной одного типа в другой перед именем переменной в скобках указывается присваиваемый ей новый тип:
Пример 4.18.
#include <iostream.h>
int main ()
{
int Integer = 54;
float Floating = 15.854;
Integer = (int) Floating; // явное преобразование
cout << "New integer: ";
cout << Integer << ' \n';
return 0
}
В приведенном листинге после объявления соответствующих переменных (целочисленной integer и вещественной Floating) производится явное преобразование типа с плавающей запятой (Floating) к целочисленному (Integer). Пример неявного преобразования:
Пример 4.19.
#include <iostream.h>
int main ()
{
int Integer = 0;
float Floating = 15.854;
Integer = Floating; // неявное преобразование
cout << "New integer: ";
cout << Integer << '\n';
return 0;
}
В отличие от предыдущего варианта программы, в данном случае после объявления и инициализации переменных осуществляется присваивание значения переменной с плавающей запятой Floating целочисленной переменной Integer.
Результат работы обеих программ выглядит следующим образом:
New integer: 15
То есть произошло отсечение дробной части переменной Floating.
1.11. Операции (операторы) инкремента и декремента
1.11.1. Увеличение значения переменной на 1
Обычной операцией, которую вы будете выполнять при программировании, является прибавление 1 к значению целой переменной. Например, предположим, что ваша программа использует переменную с именем count, чтобы сохранить данные о количестве напечатанных файлов. Каждый раз, когда программа печатает файл, 1 будет добавляться к текущему значению count. Используя оператор присваивания C++, ваша программа может увеличивать значение count, как показано ниже:
count = count + 1;
В данном случае программа сначала выбирает значение count, а затем добавляет к нему единицу. Далее программа записывает результат сложения обратно в переменную count. Программа в примере 4.20 использует оператор присваивания для увеличения переменной count (которая первоначально содержит значение 1000) на единицу (присваивая переменной результат 1001):
Пример 4.20
#include <iostream.h>
void main(void)
{ int count = 1000; cout << "начальное значение count равно" << count << endl; count = count + 1; cout << "конечное значение count равно" << count << endl; }
Когда вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод:
начальное значение count равно 1000
конечное значение count равно 1001
Так как увеличение значения переменной представляет собой обычную операцию в программах, в C++ есть операция увеличения — двойной знак плюс (++). Операция увеличения обеспечивает быстрый способ прибавления единицы к значению переменной. Следующие операторы, например, увеличивают значение переменной count на 1:
count = count + 1; count++;
Программа в примере 4.21 использует операцию увеличения для наращивания значения переменной count на 1:
Пример 4.21
#include <iostream.h>
void main(void)
{ int count = 1000; cout << "начальное значение count равно " << count << endl; count++; cout << "конечное значение count равно " << count << endl; }
Эта программа работает так же, как программа примера 4.8, которая использовала оператор присваивания для увеличения значения переменной. Когда C++ встречает операцию увеличения, он сначала выбирает значение переменной, добавляет к этому значению единицу, а затем записывает результат обратно в переменную.