Как вы уже знаете, переменные типа int содержат целые величины, у которых нет дробных частей. Переменные этого типа часто используются для управления циклами и условными предложениями, а также для счета. Операции с величинами типа int, поскольку у них отсутствуют дробные части, выполняются значительно быстрее, чем для типов с плавающей точкой.
По умолчанию типы int рассматриваются как числа со знаком. Таким образом, использование описателя signed является избыточным (хотя и разрешенным), потому что объявление по умолчанию предполагает значение со знаком. Целые без знака могут содержать только положительные значения. Чтобы создать целое без знака, используйте модификатор unsigned.
В С++ предусмотрены сокращенные обозначения для объявления целых чисел unsigned, short и long. Вы можете просто использовать unsigned, short и longбез int. Тип int в этом случае предполагается по умолчанию. Таким образом, оба следующие предложения объявляют целые переменные без знака:
insigned х;
insigned int у;
Переменные типа char содержат 8-битовые коды ASCII символов, например, А, z или G, или любое 8-битовое число. Для того, чтобы задать в программе символ, его следует заключить в одиночные кавычки. В следующем примере переменной chприсваивается код символа X:
char ch;
ch = ‘X’;
Значение переменной типа char можно вывести на экран с помощью предложения cout. Так, следующая строка выводит значение переменной ch:
cout << "Это ch: " << ch;
При выполнении этого предложения на экран будет выведено:
Это ch: X
Тип char можно модифицировать с помощью модификаторов signed или unsigned. Вообще говоря, будет ли тип char по умолчанию со знаком или без знака, зависит от реализации. Однако для большинства компиляторов char считается типом со знаком. В таких средах использование с char модификатора signed является избыточным. В этой книге будет предполагаться, что переменные типа char - это переменные со знаком.
Тип wchar_t содержит символы, входящие в расширенный набор. Как вы, возможно, знаете, многие человеческие языки, например, китайский, используют большое число символов, больше, чем помещаются в 8 бит, предоставляемых типом char. Тип wchar_t и был добавлен в С++ для поддержки этих языков. Мы не будем использовать тип wchar__t.
Переменные типов float и double используются либо при необходимости иметь дробные числа, либо когда ваше приложение имеет дело с очень большими или, наоборот, очень маленькими числами. Типы float и double различаются значением наибольшего (наименьшего) числа, которое может содержаться в переменных этих типов. Обычно тип double может хранить число, приблизительно на 10 порядков большее, чем float.
Из этих двух типов чаще используется double. Одна из причин этого заключается в том, что многие математические функции из библиотеки функций С++ используют значения типа double.
Тип long double позволяет работать с очень большими или очень маленькими числами. Наиболее полезен этот тип в программах для научных исследований.