LibKing » Книги » comp-programming » M. УЭИТ - Язык Си - руководство для начинающих

M. УЭИТ - Язык Си - руководство для начинающих

Тут можно читать онлайн M. УЭИТ - Язык Си - руководство для начинающих - бесплатно полную версию книги (целиком). Жанр: comp-programming, издательство "Мир", год 1988. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Язык Си - руководство для начинающих
  • Автор:
  • Жанр:
  • Издательство:
    "Мир"
  • Год:
    1988
  • ISBN:
    5-03-001309-1 /русск./
  • Рейтинг:
    3.55/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

M. УЭИТ - Язык Си - руководство для начинающих краткое содержание

Язык Си - руководство для начинающих - описание и краткое содержание, автор M. УЭИТ, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
M. УЭИТ   С. ПРАТА    Д. МАРТИНЯзык Си — руководство для начинающих

Язык Си - руководство для начинающих - читать онлайн бесплатно полную версию (весь текст целиком)

Язык Си - руководство для начинающих - читать книгу онлайн бесплатно, автор M. УЭИТ
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

color = green;

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

Рассмотрим характер этих новых констант и операций, которые можно выполнять с использованием переменных типа

enum константы

Как компьютер запоминает что-нибудь подобное red? Он может рассматривать это как символьную строку, но у нее нет кавычек. И действительно, redи другие enumконстанты запоминаются как целые числа. Например, попробуйте выполнить

printf("red = %d, orange = %d\n", red, orange);

и с учетом вышеуказанных описании вы получите такой результат:

red = 0, orange = 1

По существу переменная redи ее "сестры" действуют как синонимы целых чисел от 0 до 5. Результат подобен использованию

#define red 0

за исключением того, что соответствие, установленное при помощи оператора enumболее ограниченно. Например, если indexявляется переменной типа int, то оба нижеследующих оператора недопустимы:

index = blue; /* несоответствие типа */

color = 3; /* несоответствие типа */

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

Значения по умолчанию

Наш пример проиллюстрировал присваивание константам значений по умолчанию. Константам, появляющимся в описании enum, присваиваются целые числа 0, 1, 2 и т. д. в порядке их расположения. Так, описание

enum kids {nippy, slats, skip, nana, liz};

присваивает nаnазначение 3.

Присвоенные значения

Можно выбирать значения, которые вы хотите присвоить константам, но они должны быть целого типа (включая char). Для этого включите желаемыe значения в описание:

enum levels {low = 100, medium = 500, high = 2000};

Если вы присваиваете какое-либо значение одной константе и не присваиваете ничего константам, следующим за ней, то им будут присвоены последовательные значения, идущие за явно присвоенным значением. Например,

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 Ключ*
X 10 X 16 X 8 PX x
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 12 1010 LF CTRL/J,новая строка
11 0B 13 10001011 VT CTRL/K
12 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 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 52 10101010 * *
43 53 101011 + +
44 54 10101100 ' '
45 2D 55 101101 - -
46 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 72 111010 : :
59 73 10111011 ; ;
60 74 111100 < <
61 3D 75 10111101 = =
62 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 113 1001011 к К
76 114 11001100 L L
77 4D 115 1001101 M M
78 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 132 1011010 Z Z
91 133 11011011 [ [
92 134 1011100 / /
93 5D 135 11011101 ] ]
94 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 152 1101010 j j
107 153 11101011 k k
108 154 1101100 l 1
109 6D 155 11101101 m m
110 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 174 11111100 / /
125 7D 175 1111101 T T
126 176 1111110 ~ ~
127 7F 177 11111111 DEL DEL,отмена символа
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


M. УЭИТ читать все книги автора по порядку

M. УЭИТ - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Язык Си - руководство для начинающих, автор: M. УЭИТ. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img