5.         Перечисления

 

При использовании большого количества логически взаимосвязанных целочисленных констант удобно пользоваться перечислениями.

Перечисления имеют вид:

enum Name

{

iteml[=def],

item2[=def],

……..

itemN[ = def]

};

где

enum - ключевое слово (от enumerate - перечислять),

Name - имя списка констант,

iteml...itemN - перечень целочисленных констант,

[=def] - необязательный параметр инициализации.

Предположим, нам необходимо в программе описать работу светофора. Известно, что его цвет может принимать лишь 3 значения: красный (RED), желтый (YELLOW) и зеленый (GREEN). Для обработки полученных от светофора сигналов заведем три константы с такими же именами - RED, YELLOW и GREEN, проинициализировав их любыми неповторяющимися значениями с тем, чтобы в дальнейшем проверять, какой из этих трех цветов горит.

Например, мы могли бы записать:

const int RED = 0;

const int YELLOW = 1;

const int GREEN = 2;

Используя перечисления, то же самое можно сделать в одну строку:

enum COLOR {RED, YELLOW, GREEN};


Константы перечисления обладают следующей важной особенностью: если значение константы не указано, оно на единицу больше значения предыдущей константы. По умолчанию первая константа имеет значение 0.

То же перечисление можно было проинициализировать другими значениями:

enum COLOR {RED=13, YELLOW=l, GREEN};

При этом константа GREEN по-прежнему имеет значение 2.

 

6.         Преобразования типов

В С++ существует явное и неявное преобразование типов.

В общем случае неявное преобразование типов сводится к участию в выражении переменных разного типа (так называемая арифметика смешанных типов). Если подобная операция осуществляется над переменными базовых типов (представленных в табл. 1.2), она может повлечь за собой ошибки: в случае, например, если результат занимает в памяти больше места, чем отведено под принимающую переменную, неизбежна потеря значащих разрядов.

Для явного преобразования переменной одного типа в другой перед именем переменной в скобках указывается присваиваемый ей новый тин:

#include <iostream.h>

int main()

{

int Integer = 54;

float Floating = 15.854;

Integer = (int) Floating; // явное преобразование типов

cout << "New integer: ";

cout << Integer << '\n';

return 0;

}

В приведенном листинге после объявления соответствующих переменных (целочисленной Integer и вещественной Floating) производится явное преобразование типа с плавающей запятой (Floating) к целочисленному (Integer).

Пример неявного преобразования:

#include <iostream.h>

int main()

{.

int Integer = 0;

float Floating = 15.854;

Integer = Floating; // неявное преобразование типов

cout << "New integer: ";

cout << Integer << '\n';

return 0;

}

В отличие от предыдущего варианта про1раммы, в данном случае после объявления и инициализации переменных осуществляется присваивание значения переменной с плавающей Floating целочисленной переменной Integer.

Результат работы обеих программ выглядит следующим образом:

New integer: 15

То есть произошло отсечение дробной части переменной Floating.


Выводы

 

В процессе выполнения работы мы ознакомились с типом данных С++, а именно со структурой, комментариями, переменными и типами данных, константами, перечислениями, преобразованием типов.


Список использованной литературы

1.    Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988.

2.    Довгаль С.И., Литвинов Б.Ю., Сбитнев А..И. Персональные ЭВМ: Турбо Паскаль V7.0, объектное программирование, локальные сети. – Киев: Информсиситема сервис, 1993.

3.    Епанешников А.М., Епанешникова В.А. Программирование в среде Turbo Pascal 7.0.-М.: Диалог –МИФИ,1999.

4.    Зуев Е.А. Программирование на языке Turbo Pascal 6.0,7.0. – М.: Радио и связь, Веста,1993.

5.    Кандзюба С.П., Громов В.Н. Delphi 7.Базы данных и приложения. Лекции и упражнения. – К.: Издательство "ДиаСофт", 2001.

6.    Климова Л.М. Pascal 7.0. Практическое программирование. Решение типовых задач. –М.:КУДИУ ОБРАЗ, 2000.

7.    Марченко А. И., Марченко Л.А.. Программирование в среде Turbo Pascal 7.0.-К.: Век+,1999.

8.    Фаронов В.В. Turbo Pascal 7.0. Начальный курс. - М.: Нолидж, 2000.

9.    Глушаков С.В., Коваль А.В., Смирнов С.В. Практикум по С++- Х., Фолио, 2006 – 525 с.

10.  Методические указания к выполнению курсовой работы по дисциплине "Программирование" для студентов специальностей 7.091501 "Компьютерные системы и сети" и 7.091502 «Системное программирование» дневной и заочной форм обучения. /Сост.: Н.С. Семенова, С.А. Сафонова – Северодонецк: Изд-во СТИ ВНУ, 2006. - 37с.


Информация о работе «Типы данных С++»
Раздел: Информатика, программирование
Количество знаков с пробелами: 27321
Количество таблиц: 4
Количество изображений: 0

Похожие работы

Скачать
10395
0
0

... VAR t1:T_Range_SubType; Заметим, что хороший программист всегда дает имена собственным типам, причем старается, чтобы эти имена были осмысленными. Теперь, зная об интервальных типах, мы можем говорить о массивах. Массив во всех языках программирования - это множество индексированных (пронумерованных) однотипных элементов. В Паскале описание одномерного массива имеет вид: ARRAY [тип индекса ...

Скачать
7048
1
0

... записываются либо с фиксированной точкой, например, -1.234, либо с плавающей точкой, например, -1.234E-5 или 555е12. В программе, как правило, приходится использовать переменные арифметических типов. Каждая такая переменная (и переменная любого другого типа) в языке Паскаль должна быть обязательно описана, т.е. должен быть явно указан ее тип. Описание переменных в общем случае имеет вид: VAR имя ...

Скачать
6346
7
0

... Конечное значение S2 'ЭВМ РС' Insert('IBM-', S2, 5) 'ЭВМ IBM-PC' 'Рис. 2' Insert('N', S2, 6) 'Рис. N 2' Контрольные вопросы и задания Как можно объявить величину строкового типа? К каким типам данных относятся строки? Какова максимально возможная длина строки? С величиной какого типа данных совместим по присваиванию отдельный символ строки? Расскажите об операциях, которые можно ...

Скачать
11581
5
2

, puts( ) мають тільки один параметр і виводять відповідно символи та рядки, але не забезпечують вивід числових даних. Функція printf( ) використовується для форматованого виводу на екран усіх типів даних за допомогою специфікаторів. Специфікатор формату починається із символу %, після якого стоїть символ, що вказує тип даних: %d – ціле число; %ld - довге ціле число типа long int; %u – ...

0 комментариев


Наверх