- •Часть 2
- •Раздел 3. Основы программирования
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.2.Структура программы
- •3.3.Имена и зарезервированные слова
- •3.4.Специальные символы
- •3.5.Константы и переменные
- •3.6.Оператор присваивания
- •Листинг 3.4. Пример множественного присваивания
- •3.7.Комментарии
- •4.Задание
- •Лабораторная работа №2 Арифметические операции и функции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Типы целых чисел
- •3.2.Типы вещественных чисел
- •3.3.Арифметические выражения
- •3.4.Функции
- •3.5.Преобразование типов
- •4.Задание
- •Лабораторная работа №3 Ввод и вывод данных
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Ввод и вывод
- •3.2.Дополнительные возможности ввода/вывода
- •3.3.Форматированный ввод/вывод
- •4.Задание
- •Лабораторная работа №4 Логические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Условный оператор
- •3.2.Условная операция
- •3.3.Оператор выбора
- •3.4.Составной оператор
- •3.5.Сложные условия
- •3.6.Тип bool(логический)
- •3.7.Особенности работы условного оператора
- •4.Задание
- •Лабораторная работа №5 Циклические операции
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Оператор цикла while (цикл с предусловием)
- •3.2.Оператор цикла do (цикл с постусловием)
- •3.3.Оператор цикла for (счетный цикл)
- •3.4.Вложенные циклы
- •3.5.Операторы прерывания цикла
- •4.Задание
- •Лабораторная работа №6 Указатели и массивы
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1. Указатели
- •3.2.Константные указатели и указатели-константы
- •3.3.Операции над указателями
- •3.4.Массивы
- •3.5.Одномерные массивы
- •3.6.Указатели на массивы
- •3.7.Инициализация массивов
- •3.8.Операция sizeof
- •3.9.Определение новых типов
- •3.10.Многомерные массивы
- •4.Задание
- •Лабораторная работа №7 Функции и процедуры
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Описание функций
- •3.2.Процедуры
- •3.3.Параметр-ссылка
- •3.4.Область видимости переменных
- •4.Задание
- •Лабораторная работа №8 Перегрузка функций
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Полиморфизм
- •3.2.Перегрузка функций
- •3.3.Особенности перегрузки функций
- •3.4.Использование параметров по умолчанию
- •4.Задание
- •Лабораторная работа №9 Перечисления
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •4.Задание
- •Лабораторная работа №10 Строки символов
- •1.Цель работы
- •2.Контрольные вопросы
- •3.Методические указания
- •3.1.Данные типа char
- •3.2.Строковый тип string
- •4.Задание
Лабораторная работа №2 Арифметические операции и функции
1.Цель работы
Целью работы является изучение типов целых и вещественных чисел, арифметических выражений и функций.
2.Контрольные вопросы
2.1.Какие допустимы операции над целыми и вещественными числами?
2.2.Запишите числа 65421.44 и 0.00022 в показательной форме.
2.3.Из каких элементов строятся арифметические выражения?
2.4. Какой стандартный модуль необходимо подключить для использования математических функций в программе?
3.Методические указания
3.1.Типы целых чисел
Как и Pascal, язык C++ является типизированным языком программирования, т.е. каждая переменная (или константа) имеет строго определенный тип. Язык C++ имеет широкий перечень базовых типов целых чисел (Таблица 3.2):
Название |
Минимальное значение |
Максимальное значение |
Размер, байт |
char |
-128 |
127 |
1 |
unsigned char |
0 |
255 |
1 |
short |
-32768 |
32767 |
2 |
unsigned short |
0 |
65535 |
2 |
int |
-2147483648 |
2147483647 |
4 |
unsigned int |
0 |
4294967295 |
4 |
long |
-2147483648 |
2147483647 |
4 |
unsigned long |
0 |
4294967295 |
4 |
Таблица 3.2. Типы целых чисел языка C++
Как уже было сказано, переменные могут быть описаны в любой части программы, например (Листинг 3.6):
Листинг 3.6. Пример декларирования переменных целых типов
Константы типа int отличаются от переменных типа long - для их идентификации добавляется суффикс L, например:
Над величинами целого типа допустимы арифметические операции: + (сложение), (вычитание), * (умножение), / (деление нацело), % (остаток отделения), ++ (инкремент - увеличение значения на единицу), -- (декремент - уменьшение значения на единицу).
Все операции вырабатывают результат целого типа, например:
15/4 = 3, 25%4 = 1.
Операции инкремента и декремента различаются на префиксные и постфиксные. Чтобы понять, что это такое, рассмотрим приведенный ниже пример (Листинг 3.8):
Листинг 3.8. Пример использования операций инкремента и декремента
Инкремент и декремент позволяют существенно улучшить читаемость кода и записать в одну строку то, на что обычными средствами потребовалось бы несколько строк (Таблица 3.3):
Операции с использованием инкремента и декремента |
Аналог обычных арифметических действий |
с = --а; |
а = а-1; с = а |
с = а- -; |
с = а; а = а -1 |
с = + +а; |
а = а+1; с = а |
с =а++; |
с = а; а = а + 1 |
Таблица 3.3. Расшифровка операций инкремента и декремента
3.2.Типы вещественных чисел
В языке C++ существует несколько типов вещественных чисел
(Таблица 3.4):
Название |
Минимальное значение |
Максимальное значение |
Число значащих цифр |
float |
2.9*10-39 |
1.7*1038 |
11-12 |
double |
5.0*10 -324 |
1.7*10308 |
15-16 |
lоng double |
3.4*10-4932 |
1.1*104932 |
19-20 |
Таблица 3.4. Типы вещественных чисел языка C++
Константы вещественного типа (числа с дробной частью) изображаются с десятичной точкой:
12.3, -1.5, -0.75
или в показательной форме:
-0.45Е5 = -0.45*10 5,
6.7Е-10 = 6.7*10-10 ,
0.355Е6 - 0.355*10 6
Константы типа float отличаются от переменных типа double - для их идентификации добавляется суффикс f; например:
Над величинами вещественного типа допустимы арифметические операции: + (сложение), - (вычитание), * (умножение), / (деление).
