Константы и перечисления

План лекции

Лекция 3.2. Константы, перечисления, синонимы типа

 

 

 

1. Константы и перечисления

2. Особенности использования констант

3. Использование заголовка limits.h

4. Использование констант в библиотеках

5. Синонимы типов

6. Использование синонимов типов в системных заголовках

7. Особенности использования типа char

8. Таблица символов

9. Функции ввода одиночных символов

10. Расширенные символы wchar_t

 

 

 

Для определения именованных констант лучше использовать операторы С++ const и enum (перечисления) вместо директивы препроцессора #define.

 

// Пример 3.2.1

// Объявление констант с помощью директивы #define - язык С

#define MAX 1000

#define PI 3.14

#define Qe -1.6e-19

#define str "Программа завершила работу."

// Объявление констант с помощью оператора const - язык С++

const int MAX=1000;

const float PI=3.14;

const double Qe -1.6e-19;

const char str[]="Программ завершила работу.";

// Перечисляемые константы заданы с помощью директивы #define - язык С

// названия цветов и их условные номера

#define BLACK 0

#define RED 1

#define GREEN 2

#define YELLOW 3

#define BLUE 4

#define MAGENTA 5

#define CYAN 6

#define WHITE 7

// названия кнопок клавиатуры их стандарные номера

#define LEFT 75

#define RIGHT 77

#define UP 72

#define DOWN 80

#define ENTER 13

#define ESC 27

#define BLANK 32

// Перечисляемые константы определены с помощью оператора enum

// язык С++

enum COLOR {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE};

enum Keys {LEFT=75, RIGHT=77, UP=72, DOWN=80, ENTER=13, ESC=27, BLANK=32};

// Примеры перечисляемых констант заданых с помощью оператора enum

// язык С++

enum BOOL {FALSE,TRUE};

enum ERROR {NOERROR,WARNING=8,SMALLERR,HARDERR=16};

enum DaysOfWeek {Sunday, Monday};

enum MonthOfYear {Jan=1,Feb,Mar, Apr};

enum Shape {Circle, Rectangle, Square, Triangle};

enum Disks {HARD, FLOPPY, CDR, CDRW};

enum WindowStyle { Sizeable, Single, Dialog};

enum Figura { Ocrugnost, Priamougolnic, Kvadrat, Treugolnic};