C++
CSS
HTML
Java
JavaScript
MySQL
Oracle
PERL
PHP
SQL
Unix
VBScript
XHTML
XML
Сети
Андрей Богатырев. Хрестоматия по программированию на Си в Unix
Андрей Богатырев.
Хрестоматия по программированию на Си в Unix
Напутствие в качестве вступления.
1. Простые программы и алгоритмы. Сюрпризы, советы.
1.11. Треугольник из звездочек.
1.34. Простые числа.
1.36. Целочисленный квадратный корень.
1.39. Вычисление интеграла по Симпсону.
1.49. Сортировка Шелла.
1.50. Быстрая сортировка.
1.67. Функция чтения строки.
1.84. Законен ли оператор f(x++, x++); или f(x, x++);
1.88. Перестановки элементов.
1.103. Параметры функции
1.117. Схема Горнера.
1.137. Системная функция
qsort
- формат вызова.
1.146. Процесс компиляции программ.
2. Массивы, строки, указатели.
2.22. Оператор Си, который обрубает строку
s
до длины
n
букв.
2.58. Функция
bcopy
.
2.59. Функция
strdup
.
2.61. Упрощенный аналог функции
printf
.
3.9.
_
ctype
[]
3.12. Программа транслитерации:
tr
.
3.18. Условная компиляция: #ifdef
4. Работа с файлами.
4.10. Доступ к диску
4.31. Склеивание несколько файлов в один.
4.39. Быстрый доступ к строкам файла.
4.45. Эмуляция основ библиотеки STDIO, по мотивам 4.2 BSD.
5. Структуры данных.
5.12. Отсортированный список слов.
5.16. Структуры с полями переменного размера.
5.17. Список со "старением".
6. Системные вызовы и взаимодействие с
UNIX
.
6.1. Файлы и каталоги.
6.1.1. Определение типа файла.
6.1.3. Выдача неотсортированного содержимого каталога (
ls
).
6.1.5. Рекурсивный обход каталогов и подкаталогов.
6.2. Время в UNIX.
6.2.9. Функция задержки в микросекундах.
6.3. Свободное место на диске.
6.4. Сигналы.
6.4.3. Функция
sleep
.
6.5. Жизнь процессов.
6.6. Трубы и FIFO-файлы.
6.7. Нелокальный переход.
6.8. Хозяин файла, процесса, и проверка привелегий.
6.9. Блокировка доступа к файлам.
6.10. Файлы устройств.
6.10.1. Определение текущего каталога: функция
getwd
.
6.10.2. Канонизация полного имени файла.
6.11. Мультиплексирование ввода-вывода
6.11.2. Программа
script
.
6.12. Простой интерпретатор команд.
7. Текстовая обработка.
7.12. Программа
uniq
.
7.14. Расширение табуляций в пробелы, функция
untab
.
7.15. Функция
tabify
.
7.25. Поиск методом половинного деления.
7.31. Программа печати в две полосы.
7.33. Инвертирование порядка строк в файле.
7.34. Перенос неразбиваемых блоков текста.
7.36. Двоичная сортировка строк при помощи дерева.
7.41. Функция
match
.
7.44. Алгоритм быстрого поиска подстроки в строке.
7.52. Коррекция правописания.
7.67. Калькулятор-1.
7.68. Калькулятор-2.
8. Экранные библиотеки и работа с видеопамятью.
8.1. Осыпающиеся буквы.
8.13. Использование библиотеки
termcap
.
8.17. Разбор ESC-последовательностей с клавиатуры.
9. Приложения.
9.1. Таблица приоритетов операций языка C++
9.2. Правила преобразований типов.
9.3. Таблица шестнадцатеричных чисел (HEX).
9.4. Таблица степеней двойки.
9.5. Двоичный код: внутреннее представление целых чисел.
10. Примеры.
Пример 1. Размен монет.
Пример 2. Подсчет букв в файле.
Пример 3. Центрирование строк.
Пример 4. Разметка текста для
nroff
.
Пример 5. Инвертирование порядка слов в строках.
Пример 6. Пузырьковая сортировка.
Пример 7. Хэш-таблица.
Пример 8. Простая база данных.
Пример 9. Вставка/удаление строк в файл.
Пример 10. Безопасный
free
, позволяющий обращения к автоматическим переменным.
Пример 11. Поимка ошибок при работе с динамической памятью.
Пример 12. Копирование/перемещение файла.
Пример 13. Обход поддерева каталогов в
MS DOS
при помощи
chdir
.
Пример 14. Работа с сигналами.
Пример 15. Управление скоростью обмена через линию.
Пример 16. Просмотр файлов в окнах.
Пример 17. Работа с иерархией окон в
curses
. Часть проекта
uxcom
.
Пример 18. Поддержка содержимого каталога. Часть проекта
uxcom
.
Пример 19. Роллируемое меню. Часть проекта
uxcom
.
Пример 20. Выбор в строке-меню. Часть проекта
uxcom
.
Пример 21. Редактор строки. Часть проекта
uxcom
.
Пример 22. Выбор в прямоугольной таблице. Часть проекта
uxcom
.
Пример 23.
UNIX commander
- простой визуальный Шелл. Головной модуль проекта
uxcom
.
Пример 24. Общение двух процессов через "трубу".
Пример 25. Общение процессов через FIFO-файл.
Пример 26. Общение процессов через общую память и семафоры.
Пример 28. Оценка фрагментированности файловой системы.
Пример 29. Восстановление удаленного файла в
BSD-2.9
.
Пример 30. Копирование файлов из
MS DOS
в
UNIX
.
Пример 31. Программа, печатающая свой собственный текст.
Пример 32. Форматирование текста Си-программы.
Главная