18. Добавить в конец файла MyExp.cpp еще один блок, код которого приведен в листинге 4.8. Листинг 4.8

// Блок 15

void f3(){

mm[0] = \0;

sprintf(nn, «%d», (sizeof(char)));

strcat(mm, " Size of type char = ");

strcat(mm, nn);

strcat(mm, «\n»);

sprintf(nn, «%d», (sizeof(wchar_t)));

strcat(mm, " Size of type wchar_t = ");

strcat(mm, nn);

strcat(mm, «\n»);

sprintf(nn, «%d», (sizeof «Hello, Word!»));

strcat(mm, « Size of string \»Hello, Word!\" = ");

strcat(mm, nn);

strcat(mm, «\n»);

mbstowcs(mstr, mm, 256);

szStr = mstr;

}

Результат работы этого блока выводится на экран при нажатии клавиши 3.

Литералы

Литералы – это символьные значения переменных и констант, которые записываются в тексте программы. Для типа bool литералами будут выражения true и false, для типа char литералом будет символ, заключенный в одинарные кавычки.

Литералы для целых чисел различаются по системе счисления и могут иметь десятеричную, восьмеричную и шестнадцатеричную форму записи. Десятеричная форма записи выглядит наиболее привычно. И в качестве литералов используются обычные числа. Восьмеричный литерал обязательно начинается с нуля – 00, 02, 077. Шестнадцатеричный литерал начинается с префикса Ох – 0x0, 0x2, 0x3f.

Для явной записи беззнаковых литералов можно использовать суффикс U – 23U, а суффикс L можно использовать для явной записи литерала типа long – 23L. Рекомендуется для записи числовых значений использовать десятеричные литералы, а восьмеричные и шестнадцатеричные литералы применять для записи цепочек битов.

Для записи значений с плавающей точкой используются следующие формы:

? 1.23

? 23

? 0.23

? 1.

? 1.0

? 1.2e10

? 1.23e-10

В записи литералов с плавающей точкой не должно быть пробелов. По умолчанию, литералы с плавающей точкой имеют значение типа double. Если необходимо определить литерал типа float, это можно сделать при помощи суффикса f – 2.9999f.

Void Это фундаментальный тип, который никогда не используется самостоятельно. Не бывает объектов типа void. Этот тип указывает на то, что другой тип, в сочетании с которым он используется, не имеет значения, имеет неопределенное значение или неизвестное значение. В следующем фрагменте кода приводятся примеры применения этого фундаментального типа.

void f(); //эта функция не возвращает значение

void* pnt; //это указатель на объект неизвестного типа

void х; //эта запись неверна, объектов типа void не существует

Перечисления При помощи перечислений устанавливается некоторый набор значений, определяемых пользователем. Перечисление объявляется при помощи ключевого слова enum. В качестве элементов перечисления можно определить именованные целые константы:

enum {DEC, JAN, FEB};

В этом случае определены три целые константы. Если константы не инициализируются явно, то по умолчанию им присваиваются значения, начинающиеся с нуля и увеличивающиеся на единицу для каждой следующей константы. Таким образом значение DEC будет равно 0, JAN – 1, а FEB – 2. Перечислению можно присвоить имя, как это показано в следующем фрагменте:

enum year{JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC};

Константы в перечислении можно инициализировать значениями, отличными от индексных, которые присваиваются по умолчанию:

enum times{SAVE=10,SLEEP=20,STOP=30};

Перейти на страницу:

Похожие книги