Ключевой особенностью переменных является то, что мы можем изменять их значения:
1
2
3
4
5
6
7
8
9
10
11
|
#include
int main()
{
int x = 6;
x = 8;
x = 10;
std::cout <<"X = " << x; // X = 10
return 0;
}
|
Тип данных
Тип
|
Диапазон значений
|
Размер (байт)
|
bool
|
true и false
|
1
|
signed char
|
-128 … 127
|
1
|
unsigned char
|
0 … 255
|
1
|
signed short int
|
-32 768 … 32 767
|
2
|
unsigned short int
|
0 … 65 535
|
2
|
signed long int
|
-2 147 483 648 … 2 147 483 647
|
4
|
unsigned long int
|
0 … 4 294 967 295
|
4
|
float
|
3.4e-38 … 3.4e+38
|
4
|
double
|
1.7e-308 … 1.7e+308
|
8
|
long double
|
3.4e-4932 … 3.4e+4932
|
10
|
int
|
зависит от реализации
(в последних компиляторах обычно 4 байта)
|
целые числа
|
Символьные типы
Для представления символов в приложении используются типы char, wchar_t, char16_t и char32_t.
Определим несколько переменных:
1
2
|
char c ='d';
wchar_t d ='c';
|
Переменная типа char в качестве значения принимает один символ в одинарных кавычках: char c ='d'. Также можно присвоить число из указанного выше в списке диапазона: char c = 120. В этом случае значением переменной c будет тот символ, который имеет код 120 в таблице символов ASCII.
Стоит учитывать, что для вывода на консоль символов wchar_t следует использовать не std::cout, а поток std::wcout:
1
2
3
4
5
6
7
8
9
|
#include
int main()
{
char a = 'H';
wchar_t b = 'e';
std::wcout << a << b << '\n';
return 0;
}
|
При этом поток std::wcout может работать как с char, так и с wchar_t. А поток std::cout для переменной wchar_t вместо символа будет выводить его числовой код.
В стандарте С++11 были добавлены типы char16_t и char32_t, которые ориентированы на использование Unicode. Однако на уровне ОС пока не реализованы потоки для работы с этими типами. Поэтому если потребуется вывести на консоль значения переменных этих типов, то необходимо преобразовать переменные к типам char или wchar_t:
1
2
3
4
5
6
7
8
9
10
11
|
#include
int main()
{
char a = 'H';
wchar_t b = 'e';
char16_t c = 'l';
char32_t d = 'o';
std::cout << a << (char)b << (char)c << (char)d << "\n";
return 0;
}
|
В данном случае при выводе перед переменными указывается операция приведения к типу char - (char), благодаря чему значения переменных b, c и d преобразуются в тип char и могут быть выведены на консоль с помощью потока std::cout.
Целочисленные типы
Целочисленные типы представлены следующими типами: short, unsigned short, int, unsigned int, long, unsigned long, long long и unsigned long long:
1
2
3
4
5
6
7
|
short a = -10;
unsigned short b= 10;
int c = -30;
unsigned int d = 60;
long e = -170;
unsigned long f = 45;
long long g = 89;
|
Типы чисел с плавающей точкой иили дробные числа представлены такими типами как float, double и long double:
1
2
3
|
float a = -10.45;
double b = 0.00105;
long double c = 30.890045;
|
Константы
Но кроме переменных в языке программирования C++ можно определять константы. Их значение устанавливается один раз и впоследствии мы его не можем изменить. Константа определяется практически также, как и переменная за тем исключением, что в начале определения константы идет ключевое слово const. Например:
1
2
|
const int x = 22;
std::cout << x;
|
Если же мы захотим после определения константы присвоить ей некоторое значение, то компилятор не сможет скомпилировать программу и выведет ошибку:
1
2
|
const int x = 22;
x = 78;
|
То есть такой код не будет работать. И так как нельзя изменить значения константы, то ее всегда необходимо инициализировать, если мы хотим, чтобы она имела некоторое значение.
Если константа не будет инициализирована, то компилятор также выведет ошибку и не сможет скомпилировать программу, как в следующем случае:
Константы делятся на 5 групп:
- целые;
- вещественные (с плавающей точкой);
- перечислимые;
- символьные;
- строковые.
Символьные константы – это один или два символа, заключенные в апострофы.
Символьные константы, состоящие из одного символа, имеют тип char и занимают в па-мяти один байт, символьные константы, состоящие из двух символов, имеют тип int и за-
нимают два байта. Последовательности, начинающиеся со знака \ , называются управляю-
щими, они используются:
- Для представления символов, не имеющих графического отображения, например:
\a – звуковой сигнал,
\b – возврат на один шаг,
\n – перевод строки,
\t – горизонтальная табуляция.
- Для представления символов: \ , ’ , ? , ” ( \\, \’ ,\? ,\” ).
- Для представления символов с помощью шестнадцатеричных или восьмеричных ко-
дов (\073, \0хF5).
Целые константы могут быть десятичными, восьмеричными и шестнадцатеричны-
ми. Десятичная константа определяется как последовательность десятичных цифр, начи-
нающаяся не с 0, если это число не 0 (примеры: 8, 0, 192345).
Вещественные константы имеют другую форму внутреннего представления в памя-
ти компьютера. Компилятор распознает такие константы по их виду. Вещественные
константы могут иметь две формы представления: с фиксированной точкой и с плаваю-
щей точкой. Вид константы с фиксированной точкой:[цифры].[цифры] (примеры: 5.7, .
0001, 41.).
Перечислимые константы вводятся с помощью ключевого слова enum. Это обыч-
ные целые константы, которым приписаны уникальны и удобные для использования
обозначения. Примеры: enum { one=1, two=2, three=3,four=4};
enum {zero,one,two,three}
Строковая константа – это последовательность символов, заключенная в кавычки.
Внутри строк также могут использоваться управляющие символы. Например: “\nНовая
строка”,
“\n\”Алгоритмические языки программирования высокого уровня \”” .
Выражения
Достарыңызбен бөлісу: |