Private-Bookers
Язык Си - руководство для начинающих
вернуться

Д. МАРТИН

Шрифт:

enum feline {cat = 20, tiger, lion, puma};

присваивает переменной tiger значение 21, переменной lion– значение 22 и puma– значение 23.

Операции

Теперь рассмотрим, что можно и нельзя делать с величинами типа enum.

Вы можете присвоить константу типа enum переменной того же типа

enum feline pet;

pet = tiger;

Нельзя использовать другие операции присваивания:

pet += cat; /* недопустимо */

Можно провести сравнение с целью выявления равенства или неравенства:

if ( per = = cat) ...

if ( color ! = violet)...

Нельзя использовать другие операции отношения:

if(color > yellow) /* недопустимо */

Можно применять арифметические операции к константам типа enum:

color = red + blue;

pet = puma * lion;

Имеют ли такие выражения какой-то смысл - это уже другой вопрос.

Нельзя использовать арифметическиe операции для переменных типа enum:

color = color + green; /* недопустимо */

Нельзя использовать операции yвеличения и уменьшения:

color++ ; /* недопустимо */

Нельзя использовать константу типа enum для индекса массива:

marbles[red] = 23; /* недопустимо */ 

ПРИМЕНЕНИЕ

Основная причина использования типа enum заключается в улучшении читаемости программ. Если вы имеете дело с некоторым видом цветовых кодов, то использование red и blue что обычно типы enum предназначены для использования внутри программы, а не для ввода-вывода. Например, если вы хотите ввести значение для переменной color типа spectrum, то должны были бы ввести, скажем, целое число 1, а не слово orange. (Конечно, можно было бы создать функцию ввода, которая восприняла бы строку "orange" и затем преобразовала бы ее в целое число orange.)

ПРИЛОЖЕНИЕ К. ТАБЛИЦА КОДОВ ASCII

Числовые преобразования

Числовые преобразования десятичное - шестнадцатеричное - восьмеричное - двоичное - ASCII

Десятеричное Шестнадцатеричное Восьмеричное Двоичное ASCII Ключ*
X10 X16 X8 PXx
0 0 0 0 NUL CTRL/I
1 1 1 10000001 SOH CTRL/A
2 2 2 10000010 STX CTRL/B
3 3 3 11 ЕТХ CTRL/C
4 4 4 10000100 EOT CTRL/D
5 5 5 101 ENQ CTRL/E
6 6 6 110 АСК CTRL/F
7 7 7 10000111 BEL CTRL/G
8 8 10 10001000 BS СTRL/H,возврат
9 9 11 1001 HT CTRL/I,табуляция
10 0А 12 1010 LF CTRL/J,новая строка
11 0B 13 10001011 VT CTRL/K
12 0С 14 1100 FF CTRL/L
13 0D 15 10001101 CR CTRL/M,возврат
14 0E 16 10001110 SO CTRL/N
15 0F 17 1111 SI CTRL/O
16 10 20 10010000 DLE CTRL/P
17 11 21 10001 C1 CTRL/Q
18 12 22 10010 DC2 CTRL/R
19 13 23 10010011 DC3 CTRL/S
20 14 24 10100 DC4 CTRL/T
21 15 25 10010101 NAK CTRL/U
22 16 26 10010110 SYN CTRL/V
23 17 27 10111 TB CTRL/W
24 18 30 11000 CAN CTRL/X
25 19 31 10011001 EM CTRL/Y
26 1A 32 10011010 SUB CTRL/Z
27 1B 33 11011 ESC ESC,возврат
28 1С 34 10011100 FS СТRL<
29 1D 35 11101 GS CTRL/
30 1E 36 11110 RS CTRL/=
31 1F 37 10011111 US СTRL/-
32 20 40 10100000 SP Пробел
33 21 41 100001 ! !
34 22 42 100010 " "
35 23 43 10100011 # #
36 24 44 100100 $ $
37 25 45 10100101 ½ ½
38 26 46 10100110 & &
39 27 47 100111 ' '
40 28 50 101000 ( (
41 29 51 10101001 ) )
42 2А 52 10101010 * *
43 2В 53 101011 + +
44 2С 54 10101100 ' '
45 2D 55 101101 – –
46 2Е 56 101110 . .
47 2F 57 10101111 / /
48 30 60 110000 0 0
49 31 61 10110001 1 1
50 32 62 10110010 2 2
51 33 63 110011 3 3
52 34 64 10110100 4 4
53 35 65 110101 5 5
54 36 66 110110 6 6
55 37 67 10110111 7 7
56 38 70 10111000 8 8
57 39 71 111001 9 9
58 3А 72 111010 : :
59 3В 73 10111011 ; ;
60 3С 74 111100 <  < 
61 3D 75 10111101 = =
62 3Е 76 10111110 >  > 
63 3F 77 111111 ? ?
64 40 100 11000000 @ @
65 41 101 1000001 А А
66 42 102 1000010 в в
67 43 103 11000011 с с
68 44 104 1000100 D D
69 45 105 11000101 Е Е
70 46 106 11000110 F F
71 47 107 1000111 G G
72 48 110 1001000 н Н
73 49 111 11001001 I I
74 4A 112 11001010 J J
75 4В 113 1001011 к К
76 4С 114 11001100 L L
77 4D 115 1001101 M M
78 4Н 116 1001110 N N
79 4F 117 11001111 0 0
80 50 120 1010000 P Р
81 51 121 11010001 Q Q
82 52 122 11010010 R R
83 53 123 1010011 S S
84 53 124 11010100 T Т
85 55 125 1010101 U U
86 56 126 1010110 V V
87 57 127 11010111 W W
88 58 130 11011000 X X
89 59 131 1011001 Y Y
90 5А 132 1011010 Z Z
91 5В 133 11011011 [ [
92 5С 134 1011100 / /
93 5D 135 11011101 ] ]
94 5Е 136 11011110 ^ ^
95 5F 137 1011111 – –
96 60 140 1100000 . .
97 61 141 11100001 a a
98 62 142 11100010 b b
99 63 143 1100011 с c
100 64 144 11100100 d d
101 65 145 1100101 е е
102 66 146 1100110 f f
103 67 147 11100111 g g
104 68 150 11101000 h h
105 69 151 1101001 i I
106 6А 152 1101010 j j
107 6В 153 11101011 k k
108 6С 154 1101100 l 1
109 6D 155 11101101 m m
110 6Е 156 11101110 n n
111 6F 157 1101111 o о
112 70 160 11110000 p p
113 71 161 1110001 q q
114 72 162 1110010 r r
115 73 163 11110011 s s
116 74 164 1110100 t t
117 75 165 11110101 u u
118 76 166 11110110 v v
119 77 167 1110111 w w
120 78 170 1111000 x x
121 79 171 11111001 y y
122 7A 172 11111010 z z
123 7B 173 1111011 R R
124 7С 174 11111100 / /
125 7D 175 1111101 T T
126 7Е 176 1111110 ~ ~
127 7F 177 11111111 DEL DEL,отмена символа
  • 1
  • ...
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182

Private-Bookers - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка