- •Этапы разработки программы и устранение ошибок
- •Показать на примере (на своей машине) процесс подготовки к написанию программы, первая Hello!
- •Объяснить программу, все детали.
- •Вывод данных с помощью cout, использование Escape-последовательностей
- •Типы данных (числовые, символьные, логические)
- •Переменные и константы (объявление и использование), правила составления имен
- •Литералы
- •Ввод данных с помощью cin
- •Виды операторов
- •Арифметические операции с числами. Инкремент. Декремент. Сокращенные арифметические формы
- •Преобразование типов
- •Логические операции (сравнения, равенства, объединения, отрицательная инверсия)
- •Операторы ветвления. Конструкция логического выбора if, тернарный оператор ?
- •Структура множественного выбора switch
Типы данных (числовые, символьные, логические)
Тип данных - понятие, определяющее максимальный размер (в байтах) и тип информации, которая будет использоваться программой.
Биты и байты
Фундаментальной единицей памяти компьютера является бит. Его можно рассматривать как электронный переключатель, который может быть установлен в одно из двух положений: "включен" и "выключен". Положение "выключен" представляет значение 0, а положение "включен" — значение 1. Порция памяти, состоящая из 8 битов, может представлять одну из 256 различных комбинаций. Число 256 получено исходя из того, что каждый бит имеет два возможных состояния, что в конечном итоге дает общую сумму комбинаций для 8 бит: 2x2x2x2x2x2x2x2, или 256. Таким образом, 8-битная структура может представлять значения от 0 до 255 или от -128 до 127. Каждый дополнительный бит удваивает количество комбинаций. Это означает, что 16-битная порция памяти позволяет представлять 65 536 разных значений, 32-битная — 4 294 672 296, а 64-битная — 18 446 744 073 709 551 616. Для сравнения: с помощью типа long без знака не удастся представить количество людей на земле или число звезд в нашей галактике, но посредством типа long long это вполне возможно.
Байт обычно означает 8-битную порцию памяти. В этом смысле байт представляет собой единицу измерения, которая описывает объем памяти в компьютере, причем 1 Кбайт составляет 1024 байта, а 1 Мбайт — 1024 Кбайт.
В настоящее время во многих системах используется минимальная гарантия: тип short имеет 16 битов(2 байта), а тип long — 32 бита (4б).
Варианты для типа int. Он может иметь ширину в 16 (2б), 24(3б) или 32(4б) бита. Он может быть даже 64 бита, предоставляя минимальную ширину long и long long.
Числовые: целые и вещественные.
Целочисленные типы short, int, long и long long
Типы без знаков
Каждый из только что рассмотренных четырех целочисленных типов имеет беззнаковую версию, которая не может хранить отрицательные значения. За счет этого можно увеличить наибольшее значение, которое способна хранить переменная. Например, если тип short представляет диапазон значений от -32 768 до 32 767, то беззнаковый вариант этого типа будет представлять диапазон от 0 до 65 535.
Типы без знаков следует использовать только для тех величин, которые никогда не будут отрицательными, например, подсчет населения, количество бобов или число участников манифестации. Создать беззнаковые версии базовых целочисленных типов можно с помощью ключевого слова unsigned:
unsigned short change; // тип short без знака
unsigned int rovert; // тип int без знака
unsigned quarterback; // тоже тип int без знака
unsigned long gone; // тип long без знака
unsigned long long lang_lang; // тип long long без знака
Типы чисел с плавающей точкой
float, double и long double.
Требования в С и C++ относительно количества значащих разрядов следующие: тип float должен иметь, как минимум, 32 бита, double — как минимум, 48 битов и естественно быть не меньше чем float, a long double должен быть минимум таким же, как и тип double. Однако обычно float занимает 32 бита, double — 64 бита, a long double — 80, 96 или 128 битов. Все три типа могут иметь одинаковый размер
Преимущества и недостатки чисел с плавающей точкой
Преимущества: они могут представлять значения, расположенные между целыми числами; поскольку у них есть масштабный коэффициент, они могут представлять более широкий диапазон значений. Операции с плавающей точкой обычно выполняются медленнее, чем целочисленные операции, и могут приводить к потере точности (недостаток).
Тип float может представлять только первые 6 или 7 цифр числа.
Символьные типы данных - Тип char: символы и короткие целые числа – 1байт
Сhar предназначен для хранения символов, таких как буквы и цифры. char является еще одним целочисленным типом.
В отличие от int, тип char по умолчанию не имеет знака!
Типа для хранения строк в С не существует
Традиционный 8-битовый тип char может представлять базовый набор символов.
Char bob = 'P';
Логический - ТИП bool – описывает логические значения – 1 байт
Логические данные могу принимать одно из двух значений: истина (true) либо ложь (false).
Ненулевые значения интерпретируются как true, a нулевые — как false. Теперь для представления истинного и ложного значений можно использовать тип bool, а предварительно определенные литералы true и false позволяют представлять эти значения. Это значит, что можно записывать операторы, подобные следующему:
bool is_ready = true;
Теперь для представления истинного и ложного значений можно использовать тип bool, а предварительно определенные литералы true и false позволяют представлять эти значения. Это значит, что можно записывать операторы, подобные следующему:
bool is_ready = true;
Линейка приоритетов (от низшего к высшему):
Bool > char > short > int > long > float > double
bool,char,short-int-unsigned int-long-unsigned long-float-double-long double
Преобразования типов
Предположим, например, что переменная so_long имеет тип long, переменная thirty — тип short, а в программе присутствует следующий оператор:
so_long = thirty; // присваивание значения типа short переменной типа long
Программа принимает значение переменной thirty (обычно 16-битное) и расширяет его до значения long (обычно 32-битное) во время присваивания.
Проблемы при преобразовании чисел:
Больший тип с плавающей точкой в меньший тип с плавающей точкой, например, double в float – Потеря точности (значащих цифр); исходное значение может превысить диапазон, допустимый для целевого типа, поэтому результат окажется неопределенным.
Тип с плавающей точкой в целочисленный тип – Потеря дробной части; исходное значение может превысить диапазон целевого типа, поэтому результат будет неопределенным.
Больший целочисленный тип в меньший целочисленный тип, например, long в short – Исходное значение может превысить диапазон, допустимый для целевого типа; обычно копируются только младшие байты.
Правила преобразования – операнд меньшего ранга преобразовывается в операнд высокого ранга!
Приведение типов
Чтобы преобразовать значение int, хранящееся в переменной по имени thorn, в тип long, можно использовать одно из следующих выражений:
(long) thorn // возвращает результат преобразования thorn в тип long
long (thorn) // возвращает результат преобразования thorn в тип long
В общих чертах можно делать следующее:
(имяТипа) значение II преобразует значение в тип имяТипа
имяТипа (значение) II преобразует значение в тип имяТипа
Первая форма представляет стиль С, а вторая — стиль C++.
Определение количества цифр после запятой в вещественном числе в выводе:
В заголовке: #include <iomanip>
В выводе: cout << setprecision(4) << a << endl; //например 10.53 – 2 знака после запятой, всего 4 знака!
а может 8.234 – тоже всего 4 знака!
Или
printf ("%.2f", ml); //указывается 2 знака после запятой! – 10.53 или 8.23 (не определяет общее число знаков)
