А. Крупник
ИЗУЧАЕМ
. ос
;
.
4'ОNl n ь\о'\\:
ппTEp. Сонкт
Петербурr . Москва' Харьков' Минск
2001
Содержание
Предисловие
rлава 1. Введение в проrраммирование
Проrpаммы
Ячейки и типы 4
Проrpаммирование и трансляторы 6
Первая проrpамма на Си 9
rлава 2. Первые шаrи
Turbo С среда проrpаммирования 12
Связь с внешним миром 16
Простые вычисления 20
В чем преимущество проrpaмм 22
Массивы 26
Как это делается 34
rлава 3. Странные типы
Странные типыl 42
Странные типы2 45
Анатомия типов 47
Подбирайте выражения 53
Строки и символы 57
Указатели 62
rлава 4. Действия
Очередность 65
Условности 68
Работа с указателями 72
Битовые операции 74
Функции 80
Функции с длинными руками 84
Рекурсия или <<раз, два, три» 87
rлава 5. Функции, указатели, массивы
Функции и массивы 96
Массивы и указатели 98
Указатели и массивы 100
Динамические массивы 102
Копирование строк 105
rлава 6. Файлы
Падение железноrо занавеса
Массивы указателей
Указатели на указатели
Файлы не массивы! Открытие файла
109
114
120
123
126
rлава 7. Строки
Считалочка
Сортировка строк
Указатель на функцию
Имена функций и указатели
Функция Qsort
Иrолка, сено и лыко в строку
131
136
138
144
146
151
rлава 8. Основные типы на сборочном
конвейере
Перечисления
Двухмерные массивы и указатели на... Хранение и переработка двухмерных массивов
Записи
Записи и функции
Указатель на запись
Связанные записи
Typedef
rлава 9.
Большие nporpaMMbI
Разделяй и властвуй
Extem или «Три поросенка»
Static
rлава 10. Макросы и переходы
Макросы
Управление текстом
Напутствие или GOTO
157
163
170
174
178
182
186
191
195
199
202
210
215
218
Приложение А. Приоритеты и порядок
выполнения операторов 223
Что дальше? 224
Литература 225
Об авторе 226
Предисловие
Казалось бы, не так важно, какой язык проrpаммирования
учить первым. Зная один язык, леrко выучить любой дрyrой. Но первый язык становится «родным» и для освоения дрyrих
понадобятся лишние усилия. Так зачем же начинать с
устаревшеrо Бейсика? В этой книrе делается попытка познакомить читателя с
проrpаммированием на примере языка профессиональных
проrpаммистов Си. Этот язык не только важен сам по себе, но
и открывает дороry к дрyrим современным и очень
популярным языкам, таким как С++, JA V А, PERL и JavaScript. Язык Си считается трудным для изучения, и это отчасти так,
если ero учить после Бейсика, Фортрана или даже Паскаля. Но
если Си станет первым изучаемым языком, все будет rораздо
проще. Пусть читателя не пyrает, что после KopoTKoro введения (rлава
1 «Введение в проrpаммирование»), мы сразу перейдем к
описанию среды проrpаммирования Turbo С (rлава 2 <<Первые
шarю> ) и к простейшим проrpаммам на Си. Такой порядок
изложения только облеrчит ero первые шarи. Уже в rлаве 3
«Странные типы» начинается знакомство с указателями
трудной, но крайне важной для понимания языка темой. Это
знакомство yrлубляется на протяжении всей книrи, и к ее
концу указатели должны стать родными читателю, как
становится родным язык, который окружал человека с детства.