Типы данных
Тип данных определяет, какие значения может хранить переменная. Пока вы использовали только int. Для начала вам хватит этих пяти типов:
#include <iostream>
#include <string>
int main() {
int students = 28;
double price = 12.5;
char group = 'B';
bool isWeekend = true;
std::string city = "Москва";
std::cout << students << "\n";
std::cout << price << "\n";
std::cout << group << "\n";
std::cout << isWeekend << "\n";
std::cout << city << "\n";
}Она выводит:
28
12.5
B
1
Москваint— целое число, положительное или отрицательное:28,-5,0.double— десятичное число, которое пишется с десятичной точкой:12.5,-0.25.std::coutвыводит его без лишних нулей:2.50как2.5, а3.0как3.char— один символ в одинарных кавычках:'B','7','?'.bool— логическое значение (по-английски Boolean): либоtrue(истина), либоfalse(ложь). Он удобен для вопросов, на которые отвечают «да» или «нет»: выходной ли сегодня? есть ли у игрока ключ?std::coutвыводитtrueкак1, аfalseкак0, поэтому в выводе выше вы видите1.std::string— текст (строка, как «строка символов») в двойных кавычках:"Москва". Он берётся из стандартной библиотеки, поэтому пишется сstd::, как иstd::cout. Ему нужна строка#include <string>в начале программы, так же какstd::coutнужна#include <iostream>.
Тип выбирают по тому, что будет хранить переменная: число учеников всегда целое, у цены могут быть копейки, а имя — это текст.
Типичные ошибки:
- Один символ в двойных кавычках:
char group = "B";заканчивается ошибкойcannot initialize a variable of type 'char' with an lvalue of type 'const char[2]'. Компилятор говорит, что текст"B"нельзя сохранить вchar. Один символ пишется в одинарных кавычках:'B'. - Десятичная запятая: в России и многих других странах пишут 12,5. В C++
double price = 12,5;заканчивается ошибкойexpected unqualified-id, потому что запятая в C++ значит другое. Десятичные числа пишите с точкой. - Десятичное число в
int:int price = 12.5;компилируется, но сохраняется только12. Десятичная часть отбрасывается. - Если забыть
std::, тоstring city = "Москва";закончится ошибкойunknown type name 'string'; did you mean 'std::string'?
Задание
- 1
Программа пока не компилируется, потому что выводит переменные, которых нет. Под комментарием создайте их, каждую с подходящим типом данных:
nameсо значением"Эмма"ageсо значением16heightсо значением1.68groupсо значением'B'isStudentсо значениемtrue
- 2
Запустите программу. Она должна вывести:
Имя: Эмма Возраст: 16 Рост: 1.68 м Группа: B Студент: 1 - 3
Под выводом создайте переменную
isAdultтипаboolсо значениемfalseи выведите её так:Взрослый: 0