Этот курс лекций построен на основе учебника автора "C/C++. Программирование на
В этот комплекс входят также практикум по C/C++ [19] и учебники по языкам C# и
Целью этого курса является краткое и четкое изложение основных особенностей языка С++ в соответствии со стандартом
Доброжелательную и конструктивную критику, а также предложения по улучшению курса направляйте автору по адресу pta-
Презентацию к лекции Вы можете скачать здесь.
В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова,
Все тексты на языке пишутся с помощью его алфавита. C++ включает:
Из символов базового набора составляются лексемы языка и директивы препроцессора. Символы из набора реализации используются для написания комментариев. Компилятор комментарии игнорирует.
Существуют следующие виды лексем:
Границы лексем определяются другими
Vasia, ключевое слово и знак операции
a + b задает правило вычисления суммы величин a и b.Операторы делят на исполняемые и неисполняемые, простые и составные. Исполняемые операторы задают действия над данными. Неисполняемые операторы служат для описания данных, поэтому их часто называют ; - это a.
Составной оператор или блок - это группа операторов, заключенная в
Каждый
Объединенная единым алгоритмом совокупность описаний и операторов образует программу.
Чтобы выполнить программу, требуется перевести ее на язык, понятный процессору - в машинные коды. Этот процесс состоит из нескольких этапов.
Сначала исходный текст программы обрабатывается
Обработанный С++ он называется "единица
На фазе .
Если ошибок в программе не обнаружено, выполняется фаза генерации кода.Конкретный вид кода зависит от того, приложение какого типа мы создаем: Windows или . NET. Если это обычное приложение Windows, то строится объектный модуль - заготовка исполняемой программы в машинных кодах. Для приложения . NET формируется код на системно-независимом языке CIL.
Дальнейшая судьба этого кода также зависит от типа создаваемого приложения. Для обычного приложения Windows компоновщик (синонимы - линкер, exe и запускается на выполнение обычным образом.
Приложение . NET собирается в . При создании . NET -приложений также имеется возможность компилировать отдельно несколько модулей программы, собирая их потом в одну
Для описания языка здесь используется неформальный способ, при котором необязательные части синтаксических конструкций заключаются в квадратные скобки, текст, который необходимо заменить конкретным значением, пишется по-русски, а выбор одного из нескольких элементов обозначается вертикальной чертой. Например:
[ { void | int } ] имя();
Фигурные скобки используются для группировки элементов, из которых требуется выбрать только один.
Рассмотрим С++.
Идентификатор - это имя программного объекта. В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются. Первым символом идентификатора может быть буква или знак подчеркивания.
Длина идентификатора по стандарту не ограничена. Идентификатор создается на этапе
СОВЕТ
Не жалейте времени на придумывание подходящих имен. Имя должно отражать смысл хранимой величины, отвечать принятой L и прописная i ).
Ключевые слова - это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Далее приведен список ключевых слов С++.
|
do |
if |
return |
typedef |
|
double |
|
|
typeid |
bool |
_ |
|
|
typename |
|
else |
long |
sizeof |
|
|
|
mutable |
|
|
|
|
|
|
using |
|
|
new |
struct |
|
class |
|
|
|
|
|
false |
|
|
|
|
|
|
this |
wchar_t |
|
for |
public |
|
while |
default |
|
|
true |
Знак операции - это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Символы, составляющие знак операции, могут быть как специальными, например, , | и <, так и буквенными, такими как reinterpret_cast или new.
Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них
Константами называют неизменяемые величины. Есть логические, целые, вещественные, символьные и
Форматы констант, соответствующие каждому типу, приведены в таблице 1.1.
| Константа | Формат | Примеры |
|---|---|---|
| Логическая | Обозначается ключевым словом true или false |
true, false |
| Целая | последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль | 8, 0, 199226 |
| Восьмеричный: нуль, за которым следуют восьмеричные цифры (0, 1, 2, 3, 4, 5, 6, 7) | 01, 020, 07155 | |
| Шестнадцатеричный: 0х или 0Х, за которым следуют шестнадцатеричные цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) | 0xA, 0x1B8, 0X00FF, 0X00ff | |
| Вещественная | Десятичный: [цифры].[цифры] | 5.7, 0.001, 35 |
| Экспоненциальный: [цифры][.][цифры]{E|e}[+|-][цифры] | 0.2E6, .11e-3, 5E10, 1.22E-10 | |
| Символьная | Один или более символов, заключенных в |
'A', 'ю', '*', ' |
| Последовательность символов, заключенная в кавычки | "Здесь был Vasia", "\tСумма =\xF5\n" |
Допустимые диапазоны значений целых и вещественных констант приведены в таблице 1.2.
| Тип | Диапазон значений | Размер (байт) |
|---|---|---|
bool |
true и false |
1 |
|
-128 … 127 | 1 |
|
0 … 255 | 1 |
|
-32 768 … 32 767 | 2 |
|
0 … 65 535 | 2 |
|
-2 147 483 648 … 2 147 483 647 | 4 |
|
0 … 4 294 967 295 | 4 |
|
-2 147 483 648 … 2 147 483 647 | 4 |
|
0 … 4 294 967 295 | 4 |
|
3.4e-38 … 3.4e+38 | 4 |
double |
1.7e-308 … 1.7e+308 | 8 |
long double |
3.4e-4932 … 3.4e+4932 | 10 |
Если требуется сформировать отрицательную целую или вещественную константу, то перед ней ставится знак
Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка. Значение константы определяется как произведение
Символьный литерал - это один или более символов, заключенных в одиночные кавычки (
Если перед символьным литералом указан символ L, то L отсутствует, , широкий - тип wchar_t (о типах - далее в этой лекции).
Некоторые символы набора реализации являются непечатаемыми.Они предназначены для ) -последовательность символов, начинающаяся с обратной косой черты \ ( ).
Кроме того, символы ' (апостроф), " (кавычки), ? (вопрос) и сама обратная косая черта являются специальными символами и также представляются в виде
В общем виде
\000
\xhhh
Здесь 000 представляет собой последовательность от одной до трех восьмеричных цифр, а hhh - последовательность от одной до трех шестнадцатеричных цифр, которая задает код символа. При выводе
Допустимые значения кодов ( hhh ) определяются реализацией. Коды обычных символов и широких символов различаются. Нулевой символ '\0' (L'\0' для широких) является обязательным в составе набора символов реализации, поскольку играет особую роль в представлении
В строковых литералах также допускается задавать любые символы из набора символов реализации, в том числе и управляющие последовательности. Например, если внутри строки требуется записать кавычку, ее предваряют косой чертой, по которой компилятор отличает ее от кавычки, ограничивающей строку:
"Издательский дом \"Питер\""
Тем не менее, апостроф разрешается задавать без обратной косой черты, например:
"Издательский дом 'Питер'"
Длинную строковую константу можно разместить на нескольких строках программы, используя в качестве знака переноса обратную косую черту, за которой следует
"Никто не доволен своей \
внешностью, но каждый доволен \
своим умом"
эквивалентна строке
"Никто не доволен своей внешностью, но каждый доволен своим умом"
Кавычки пишутся только в начале и в конце многострочного литерала.
Директивы препроцессора предназначены для обработки исходного текста программы перед компиляцией. Любая директива должна начинаться с символа #. На каждой строке может располагаться только одна директива. Например, по директиве
#include "myfile"
в текст программы будет вставлено содержимое так называемого заголовочного файла с именем myfile.
Комментарии предназначены для записи пояснений к программе. В С++ есть два вида комментариев: однострочные и многострочные. Первый вид начинается с двух символов // ("прямая косая черта") и занимает одну строку. Второй вид комментариев начинается с двух символов /* и завершается двумя символами */.
Внутри комментария можно использовать любые символы из набора реализации. Внутри многострочного комментария можно размещать однострочный комментарий.
Основная цель любой программы состоит в обработке данных. Данные, с которыми работают машинные команды, хранятся в оперативной памяти. Компилятору для формирования команд необходимо точно знать, сколько места занимают данные, как именно закодированы и какие действия с ними можно выполнять. Все это задается при описании данных с помощью типа. Каждая константа, переменная, результат
Тип данных однозначно определяет:
Программист задает тип каждой величины, используемой в программе, исходя из характеристик реальных объектов, которые представляют эти величины. Обязательное
Объем памяти, выделяемый для величин, тоже зависит от типа. По стандарту единицей памяти в С++ является
Типы языка С++ делятся на элементарные (базовые, основные) и составные.
Рисунок 1.1 помогает окинуть взглядом все разнообразие типов данных, определенных в
(рис 1.1) Типы данных стандартного С++Элементарные типы данных, если исключить из них тип , часто называют арифметическими,поскольку их можно использовать в
bool (логический);char (символьный);wchar_t (широкий символьный);int (целый);float (вещественный);double (вещественный с двойной точностью).Первые четыре типа называют интегральными (целыми), последние два - типами с плавающей точкой. Код, который формирует компилятор для обработки целых величин, отличается от кода для величин с плавающей точкой.
Существует четыре ключевых слова, уточняющих внутреннее представление и диапазон значений стандартных типов:
short (короткий);long (длинный);signed (знаковый);unsigned (беззнаковый).Сочетания перечисленных ключевых слов формируют 14 различных арифметических типов, приведенных на рис. 1.1. Например, , и - это три равноправных различных типа.
ПРИМЕЧАНИЕ
Во многих других языках символьные типы более четко отделены от арифметических. В С++ символы фактически являются подмножеством целых величин и могут участвовать в и встречаются на рисунке дважды: как символьные и как целые типы. Это соответствует описанному в стандарте.
Величины логического типа могут принимать только значения true и false, являющиеся ключевыми словами. Величины логического типа могут участвовать в true имеет значение 1, false - нуль. Размер логического типа в стандарте не определен и зависит от реализации.
В , и . Внутренним представлением символа является его код - целое число. Под величину любого символьного типа отводится одна единица памяти -
sizeof(char) = sizeof(signed char) = sizeof(unsigned char) = 1
Размер байта зависит от реализации, однако этот размер должен быть достаточен, чтобы вместить код любого символа из набора символов реализации для данного компьютера. Наличие знака у типа тоже зависит от реализации: он может совпадать либо с , либо с .
Величины символьных типов применяются также для хранения целых чисел, не превышающих границы указанных диапазонов, и могут участвовать в
В языке С++ определено 8 типов для хранения целочисленных величин: четыре знаковых ( ) и четыре беззнаковых ( ). По умолчанию все целочисленные типы считаются знаковыми, поэтому спецификатор можно не указывать. Ключевое слово позволяет представлять неотрицательные целые числа.
ПРИМЕЧАНИЕ
Типы и можно сокращать до и соответственно.
Целым константам, встречающимся в программе, по умолчанию приписывается тип . Если он по каким-либо причинам не устраивает программиста, можно явно указать требуемый тип с помощью суффиксов L, l ( long ) и U, u ( ). Например,
константа 32L будет иметь тип long и занимать 4 байта. Можно использовать суффиксы L и U одновременно, например, 0x22UL или 05Lu.
Размеры и диапазоны целых типов зависят от реализации. Все, что определяет стандарт по поводу размера этих типов - каждый последующий тип в каждой четверке занимает не меньше памяти, чем предыдущий:
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long).
При этом сказано, что тип должен иметь естественный размер, обеспечиваемый архитектурой компьютера. Диапазоны значений величин целых типов для -совместимых компьютеров приведены в таблице 1.2.
Visual С++.NET 2005 предоставляет несколько нестандартных целых типов. Например, тип long long определяет целые числа в диапазоне от -9 223 372 036 854 775 808 до +9 223 372 036 854 775 807 и занимает в памяти 8
Стандарт С++ определяет три типа данных для хранения вещественных значений: , double и long double. Все они имеют знак.
Внутреннее представление
Константы с плавающей точкой имеют по умолчанию тип double. Можно явно указать тип константы с помощью суффиксов F, f ( ) и L, l ( long ). Например, константа 2E+6L имеет тип long double.
Для вещественных типов в таблице приведены абсолютные величины минимальных и максимальных значений.
Тип используется для определения функций, которые не возвращают значения, для указания пустого списка аргументов функции, как базовый тип для указателей и в операции приведения типов.
Этот курс лекций построен на основе учебника автора "C/C++. Программирование на
В этот комплекс входят также практикум по C/C++ [19] и учебники по языкам C# и
Целью этого курса является краткое и четкое изложение основных особенностей языка С++ в соответствии со стандартом
Доброжелательную и конструктивную критику, а также предложения по улучшению курса направляйте автору по адресу pta-
Презентацию к лекции Вы можете скачать здесь.
В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова,
Все тексты на языке пишутся с помощью его алфавита. C++ включает:
Из символов базового набора составляются лексемы языка и директивы препроцессора. Символы из набора реализации используются для написания комментариев. Компилятор комментарии игнорирует.
Существуют следующие виды лексем:
Границы лексем определяются другими
Vasia, ключевое слово и знак операции
a + b задает правило вычисления суммы величин a и b.Операторы делят на исполняемые и неисполняемые, простые и составные. Исполняемые операторы задают действия над данными. Неисполняемые операторы служат для описания данных, поэтому их часто называют ; - это a.
Составной оператор или блок - это группа операторов, заключенная в
Каждый
Объединенная единым алгоритмом совокупность описаний и операторов образует программу.
Чтобы выполнить программу, требуется перевести ее на язык, понятный процессору - в машинные коды. Этот процесс состоит из нескольких этапов.
Сначала исходный текст программы обрабатывается
Обработанный С++ он называется "единица
На фазе .
Если ошибок в программе не обнаружено, выполняется фаза генерации кода.Конкретный вид кода зависит от того, приложение какого типа мы создаем: Windows или . NET. Если это обычное приложение Windows, то строится объектный модуль - заготовка исполняемой программы в машинных кодах. Для приложения . NET формируется код на системно-независимом языке CIL.
Дальнейшая судьба этого кода также зависит от типа создаваемого приложения. Для обычного приложения Windows компоновщик (синонимы - линкер, exe и запускается на выполнение обычным образом.
Приложение . NET собирается в . При создании . NET -приложений также имеется возможность компилировать отдельно несколько модулей программы, собирая их потом в одну
Для описания языка здесь используется неформальный способ, при котором необязательные части синтаксических конструкций заключаются в квадратные скобки, текст, который необходимо заменить конкретным значением, пишется по-русски, а выбор одного из нескольких элементов обозначается вертикальной чертой. Например:
[ { void | int } ] имя();
Фигурные скобки используются для группировки элементов, из которых требуется выбрать только один.
Рассмотрим С++.
Идентификатор - это имя программного объекта. В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются. Первым символом идентификатора может быть буква или знак подчеркивания.
Длина идентификатора по стандарту не ограничена. Идентификатор создается на этапе
СОВЕТ
Не жалейте времени на придумывание подходящих имен. Имя должно отражать смысл хранимой величины, отвечать принятой L и прописная i ).
Ключевые слова - это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Далее приведен список ключевых слов С++.
|
do |
if |
return |
typedef |
|
double |
|
|
typeid |
bool |
_ |
|
|
typename |
|
else |
long |
sizeof |
|
|
|
mutable |
|
|
|
|
|
|
using |
|
|
new |
struct |
|
class |
|
|
|
|
|
false |
|
|
|
|
|
|
this |
wchar_t |
|
for |
public |
|
while |
default |
|
|
true |
Знак операции - это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Символы, составляющие знак операции, могут быть как специальными, например, , | и <, так и буквенными, такими как reinterpret_cast или new.
Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них
Константами называют неизменяемые величины. Есть логические, целые, вещественные, символьные и
Форматы констант, соответствующие каждому типу, приведены в таблице 1.1.
| Константа | Формат | Примеры |
|---|---|---|
| Логическая | Обозначается ключевым словом true или false |
true, false |
| Целая | последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль | 8, 0, 199226 |
| Восьмеричный: нуль, за которым следуют восьмеричные цифры (0, 1, 2, 3, 4, 5, 6, 7) | 01, 020, 07155 | |
| Шестнадцатеричный: 0х или 0Х, за которым следуют шестнадцатеричные цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) | 0xA, 0x1B8, 0X00FF, 0X00ff | |
| Вещественная | Десятичный: [цифры].[цифры] | 5.7, 0.001, 35 |
| Экспоненциальный: [цифры][.][цифры]{E|e}[+|-][цифры] | 0.2E6, .11e-3, 5E10, 1.22E-10 | |
| Символьная | Один или более символов, заключенных в |
'A', 'ю', '*', ' |
| Последовательность символов, заключенная в кавычки | "Здесь был Vasia", "\tСумма =\xF5\n" |
Допустимые диапазоны значений целых и вещественных констант приведены в таблице 1.2.
| Тип | Диапазон значений | Размер (байт) |
|---|---|---|
bool |
true и false |
1 |
|
-128 … 127 | 1 |
|
0 … 255 | 1 |
|
-32 768 … 32 767 | 2 |
|
0 … 65 535 | 2 |
|
-2 147 483 648 … 2 147 483 647 | 4 |
|
0 … 4 294 967 295 | 4 |
|
-2 147 483 648 … 2 147 483 647 | 4 |
|
0 … 4 294 967 295 | 4 |
|
3.4e-38 … 3.4e+38 | 4 |
double |
1.7e-308 … 1.7e+308 | 8 |
long double |
3.4e-4932 … 3.4e+4932 | 10 |
Если требуется сформировать отрицательную целую или вещественную константу, то перед ней ставится знак
Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка. Значение константы определяется как произведение
Символьный литерал - это один или более символов, заключенных в одиночные кавычки (
Если перед символьным литералом указан символ L, то L отсутствует, , широкий - тип wchar_t (о типах - далее в этой лекции).
Некоторые символы набора реализации являются непечатаемыми.Они предназначены для ) -последовательность символов, начинающаяся с обратной косой черты \ ( ).
Кроме того, символы ' (апостроф), " (кавычки), ? (вопрос) и сама обратная косая черта являются специальными символами и также представляются в виде
В общем виде
\000
\xhhh
Здесь 000 представляет собой последовательность от одной до трех восьмеричных цифр, а hhh - последовательность от одной до трех шестнадцатеричных цифр, которая задает код символа. При выводе
Допустимые значения кодов ( hhh ) определяются реализацией. Коды обычных символов и широких символов различаются. Нулевой символ '\0' (L'\0' для широких) является обязательным в составе набора символов реализации, поскольку играет особую роль в представлении
В строковых литералах также допускается задавать любые символы из набора символов реализации, в том числе и управляющие последовательности. Например, если внутри строки требуется записать кавычку, ее предваряют косой чертой, по которой компилятор отличает ее от кавычки, ограничивающей строку:
"Издательский дом \"Питер\""
Тем не менее, апостроф разрешается задавать без обратной косой черты, например:
"Издательский дом 'Питер'"
Длинную строковую константу можно разместить на нескольких строках программы, используя в качестве знака переноса обратную косую черту, за которой следует
"Никто не доволен своей \
внешностью, но каждый доволен \
своим умом"
эквивалентна строке
"Никто не доволен своей внешностью, но каждый доволен своим умом"
Кавычки пишутся только в начале и в конце многострочного литерала.
Директивы препроцессора предназначены для обработки исходного текста программы перед компиляцией. Любая директива должна начинаться с символа #. На каждой строке может располагаться только одна директива. Например, по директиве
#include "myfile"
в текст программы будет вставлено содержимое так называемого заголовочного файла с именем myfile.
Комментарии предназначены для записи пояснений к программе. В С++ есть два вида комментариев: однострочные и многострочные. Первый вид начинается с двух символов // ("прямая косая черта") и занимает одну строку. Второй вид комментариев начинается с двух символов /* и завершается двумя символами */.
Внутри комментария можно использовать любые символы из набора реализации. Внутри многострочного комментария можно размещать однострочный комментарий.
Основная цель любой программы состоит в обработке данных. Данные, с которыми работают машинные команды, хранятся в оперативной памяти. Компилятору для формирования команд необходимо точно знать, сколько места занимают данные, как именно закодированы и какие действия с ними можно выполнять. Все это задается при описании данных с помощью типа. Каждая константа, переменная, результат
Тип данных однозначно определяет:
Программист задает тип каждой величины, используемой в программе, исходя из характеристик реальных объектов, которые представляют эти величины. Обязательное
Объем памяти, выделяемый для величин, тоже зависит от типа. По стандарту единицей памяти в С++ является
Типы языка С++ делятся на элементарные (базовые, основные) и составные.
Рисунок 1.1 помогает окинуть взглядом все разнообразие типов данных, определенных в
(рис 1.1) Типы данных стандартного С++Элементарные типы данных, если исключить из них тип , часто называют арифметическими,поскольку их можно использовать в
bool (логический);char (символьный);wchar_t (широкий символьный);int (целый);float (вещественный);double (вещественный с двойной точностью).Первые четыре типа называют интегральными (целыми), последние два - типами с плавающей точкой. Код, который формирует компилятор для обработки целых величин, отличается от кода для величин с плавающей точкой.
Существует четыре ключевых слова, уточняющих внутреннее представление и диапазон значений стандартных типов:
short (короткий);long (длинный);signed (знаковый);unsigned (беззнаковый).Сочетания перечисленных ключевых слов формируют 14 различных арифметических типов, приведенных на рис. 1.1. Например, , и - это три равноправных различных типа.
ПРИМЕЧАНИЕ
Во многих других языках символьные типы более четко отделены от арифметических. В С++ символы фактически являются подмножеством целых величин и могут участвовать в и встречаются на рисунке дважды: как символьные и как целые типы. Это соответствует описанному в стандарте.
Величины логического типа могут принимать только значения true и false, являющиеся ключевыми словами. Величины логического типа могут участвовать в true имеет значение 1, false - нуль. Размер логического типа в стандарте не определен и зависит от реализации.
В , и . Внутренним представлением символа является его код - целое число. Под величину любого символьного типа отводится одна единица памяти -
sizeof(char) = sizeof(signed char) = sizeof(unsigned char) = 1
Размер байта зависит от реализации, однако этот размер должен быть достаточен, чтобы вместить код любого символа из набора символов реализации для данного компьютера. Наличие знака у типа тоже зависит от реализации: он может совпадать либо с , либо с .
Величины символьных типов применяются также для хранения целых чисел, не превышающих границы указанных диапазонов, и могут участвовать в
В языке С++ определено 8 типов для хранения целочисленных величин: четыре знаковых ( ) и четыре беззнаковых ( ). По умолчанию все целочисленные типы считаются знаковыми, поэтому спецификатор можно не указывать. Ключевое слово позволяет представлять неотрицательные целые числа.
ПРИМЕЧАНИЕ
Типы и можно сокращать до и соответственно.
Целым константам, встречающимся в программе, по умолчанию приписывается тип . Если он по каким-либо причинам не устраивает программиста, можно явно указать требуемый тип с помощью суффиксов L, l ( long ) и U, u ( ). Например,
константа 32L будет иметь тип long и занимать 4 байта. Можно использовать суффиксы L и U одновременно, например, 0x22UL или 05Lu.
Размеры и диапазоны целых типов зависят от реализации. Все, что определяет стандарт по поводу размера этих типов - каждый последующий тип в каждой четверке занимает не меньше памяти, чем предыдущий:
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long).
При этом сказано, что тип должен иметь естественный размер, обеспечиваемый архитектурой компьютера. Диапазоны значений величин целых типов для -совместимых компьютеров приведены в таблице 1.2.
Visual С++.NET 2005 предоставляет несколько нестандартных целых типов. Например, тип long long определяет целые числа в диапазоне от -9 223 372 036 854 775 808 до +9 223 372 036 854 775 807 и занимает в памяти 8
Стандарт С++ определяет три типа данных для хранения вещественных значений: , double и long double. Все они имеют знак.
Внутреннее представление
Константы с плавающей точкой имеют по умолчанию тип double. Можно явно указать тип константы с помощью суффиксов F, f ( ) и L, l ( long ). Например, константа 2E+6L имеет тип long double.
Для вещественных типов в таблице приведены абсолютные величины минимальных и максимальных значений.
Тип используется для определения функций, которые не возвращают значения, для указания пустого списка аргументов функции, как базовый тип для указателей и в операции приведения типов.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.