Си на примерах: практика, практика и только практика: [основы языка Си на практике, показательные примеры (от простейшей программы до многопоточности на Си) с разбором кода, основывается на последний стандартах (С99, С11): 12+]
معرفی کتاب «Си на примерах: практика, практика и только практика: [основы языка Си на практике, показательные примеры (от простейшей программы до многопоточности на Си) с разбором кода, основывается на последний стандартах (С99, С11): 12+]» نوشتهٔ Кольцов Д. М.، منتشرشده توسط نشر Наука и техника در سال 2019. این کتاب در فرمت pdf، زبان ru ارائه شده است.
ВВЕДЕНИЕ История языка Си Рабочая группа WG14 Как читать эту книгу? Структура программы на Си Библиотечные заголовочные файлы Си Онлайн-компиляторы ЧАСТЬ I. ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА СИ ГЛАВА 1. ВЫРАЖЕНИЯ В СИ 1.1. ОСНОВНЫЕ ТИПЫ ДАННЫХ 1.2. ИДЕНТИФИКАТОРЫ 1.3. ПЕРЕМЕННЫЕ 1.3.1. Локальные переменные 1.3.2. Формальные параметры 1.3.3. Глобальные переменные 1.3.4. Области видимости 1.3.5. Квалификаторы типа 1.3.6. Спецификаторы хранения 1.3.7. Инициализация переменных. Оператор присваивания 1.4. КОНСТАНТЫ 1.5. ОПЕРАТОРЫ 1.5.1. Оператор присваивания 1.5.2. Арифметические операторы 1.5.3. Операторы сравнения и логические операторы 1.5.4. Побитовые операторы 1.5.5. Тернарный оператор 1.5.6. Оператор получения адреса (&) и разыменования ссылки (*) 1.5.7. Статический оператор sizeof 1.5.8. Оператор последовательного вычисления или запятая 1.5.9. Оператор доступа к члену структуры 1.5.10. Операторы [] и () 1.5.11. Приоритеты операторов 1.6. ПРАКТИЧЕСКИЙ ПРИМЕР: МЕНЯЕМ МЕСТАМИ ДВА ЧИСЛА ГЛАВА 2. ОПЕРАТОРЫ В СИ 2.1. УСЛОВНЫЕ ОПЕРАТОРЫ 2.1.1. Оператор if 2.1.2. Оператор switch 2.2. ОПЕРАТОРЫ ЦИКЛА 2.2.1. Цикл for Организация бесконечного цикла 2.2.2. Цикл while 2.2.3. Цикл do-while 2.3. ОПЕРАТОРЫ ПЕРЕХОДА 2.3.1. Оператор return 2.3.2. Оператор goto 2.3.3. Операторы break и continue 2.4. ОПЕРАТОРЫ-ВЫРАЖЕНИЯ 2.5. БЛОКИ 2.6. ФУНКЦИЯ ЕХ1Т() ГЛАВА 3. МАССИВЫ И СТРОКИ В СИ 3.1. ОДНОМЕРНЫЕ МАССИВЫ 3.2. УКАЗАТЕЛЬ НА МАССИВ 3.3. РАБОТА СО СТРОКАМИ 3.3.1. Объявление строки 3.3.2. Правильное выделение памяти под строку 3.3.3. Функции для работы со строками 3.3.4. Работа со строкой как с массивом символов 3.3.5. Пример использования библиотечных функций 3.3.6. Многобайтовые строки. Работа с UTF-8 3.4. МНОГОМЕРНЫЕ МАССИВЫ 3.5. ИНДЕКСАЦИЯ УКАЗАТЕЛЕЙ 3.6. ИНИЦИАЛИЗАЦИЯ МАССИВА ГЛАВА 4. УКАЗАТЕЛИ В СИ 4.1. ЧТО ТАКОЕ УКАЗАТЕЛИ И ДЛЯ ЧЕГО ОНИ НУЖНЫ? 4.2. ОБЪЯВЛЕНИЕ УКАЗАТЕЛЕЙ И ОПЕРАТОРЫ ДЛЯ РАБОТЫ С НИМИ 4.3. АДРЕСНАЯ АРИФМЕТИКА 4.4. МАССИВЫ УКАЗАТЕЛЕЙ 4.5. ИНИЦИАЛИЗАЦИЯ УКАЗАТЕЛЕЙ 4.6. НУЛЕВОЙ УКАЗАТЕЛЬ (NULL) 4.7. УКАЗАТЕЛИ НА ФУНКЦИИ 4.8. ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ ГЛАВА 5. ФУНКЦИИ В СИ 5.1. СИНТАКСИС ОБЪЯВЛЕНИЯ ФУНКЦИИ 5.2. ОБЛАСТЬ ВИДИМОСТИ ФУНКЦИИ 5.3. ФОРМАЛЬНЫЕ ПАРАМЕТРЫ ФУНКЦИИ 5.3.1. Список параметров 5.3.2. Параметры по ссылке и по значению 5.3.3. Передача массива в качестве параметра 5.3.4. Аргументы функции main() 5.4. ОПЕРАТОР RETURN 5.5. ТИП VOID 5.6. РЕКУРСИЯ 5.7. ПРОТОТИПЫ ФУНКЦИЙ ГЛАВА 6. ПОЛЬЗОВАТЕЛЬСКИЕ ТИПЫ В СИ 6.1. СТРУКТУРЫ 6.1.1. Объявление структуры 6.1.2. Доступ к членам структуры 6.1.3. Массивы структур и динамическое выделение памяти 6.1.4. Передача структур функциям 6.1.5. Указатели на структуры 6.2. ОБЪЕДИНЕНИЯ 6.3. ПЕРЕЧИСЛЕНИЯ И TYPEDEF ГЛАВА 7. ВВОД/ВЫВОД В СИ 7.1. КОНСОЛЬНЫЙ ВВОД/ВЫВОД 7.1.1. Чтение и запись символов 7.1.2. Чтение и вывод строк 7.1.3. Форматированный вывод: функция printf() Вывод чисел Вывод адресов Модификатор минимальной ширины поля Модификатор точности Выравнивание вывода 7.1.3. Форматированный ввод: функция scanf() 7.2. ФАЙЛОВЫЙ ВВОД/ВЫВОД 7.2.1. Файлы и потоки 7.2.2. Основные функции файлового ввода/вывода 7.2.3. Открытие и закрытие файла 7.2.4. Чтение и запись символов 7.2.5. Чтение и запись строк 7.2.6. Функция ferror() 7.2.7. Сброс буфера - функция fflush() 7.2.8. Удаление файла 7.2.9. Функции fread() и fwrite() 7.2.10. Функции fprintf() и fscanf() 7.3. РАБОТА С КАТАЛОГАМИ 7.3.1. Создание каталога 7.3.2. Чтение каталога 7.3.3. Удаление каталога 7.3.4. Получение рабочего каталога 7.3.5. Пример работы с каталогом ЧАСТЬ II. АЛГОРИТМИЗАЦИЯ В СИ ГЛАВА 8. ОЧЕРЕДИ И СТЕКИ В СИ 8.1. ОЧЕРЕДИ 8.2. СТЕКИ ГЛАВА 9. СВЯЗАННЫЕ СПИСКИ И ДЕРЕВЬЯ В СИ 9.1. ОДНОСВЯЗНЫЕ СПИСКИ 9.1.1. Инициализация списка 9.1.2. Добавление узла 9.1.3. Извлечение узла 9.1.4. Реализация стека и очереди 9.1.5. Практический пример: реверс односвязного списка 9.2. ДВУСВЯЗНЫЙ СПИСОК 9.2.1. Инициализация списка 9.2.2. Добавление узла 9.2.3. Удаление узла 9.2.4. Вывод списка 9.2.5. Замена местами двух элементов 9.3. ДЕРЕВЬЯ 9.3.1. Способы обхода дерева 9.3.2. Реализация дерева 9.3.3. Бинарное дерево ГЛАВА 10. АЛГОРИТМЫ ПОИСКА И СОРТИРОВКИ В СИ 10.1. СОРТИРОВКА ВСТАВКОЙ СВЯЗНОГО СПИСКА 10.2. ПУЗЫРЬКОВАЯ СОРТИРОВКА 10.3. ПУЗЫРЬКОВАЯ СОРТИРОВКА СВЯЗНОГО СПИСКА 10.4. ПУЗЫРЬКОВАЯ СОРТИРОВКА МАССИВА СТРОК 10.5. СОРТИРОВКА КУЧЕЙ ИЛИ ПИРАМИДАЛЬНАЯ СОРТИРОВКА 10.6. СОРТИРОВКА СЛИЯНИЕМ СВЯЗНОГО СПИСКА 10.7. БЫСТРАЯ СОРТИРОВКА МАССИВА 10.8. СОРТИРОВКА С ПОМОЩЬЮ БИНАРНОГО ДЕРЕВА 10.9. БИНАРНЫЙ ПОИСК В ЦЕЛОЧИСЛЕННОМ МАССИВЕ 10.10. БИНАРНЫЙ ПОИСК ПО МАССИВУ УКАЗАТЕЛЕЙ СТРОК ГЛАВА 11. МНОГОПОТОЧНОСТЬ В СИ 11.1. ВВЕДЕНИЕ В ПОТОКИ 11.2. ТИПЫ ПОТОКОВ 11.3. МОДЕЛИ МНОГОПОТОКОВЫХ ПРИЛОЖЕНИЙ 11.3.1. Модель "Хозяин/рабочий" 11.3.2. Одноранговая модель 11.3.3. Конвейерная модель 11.4. МЕХАНИЗМЫ СИНХРОНИЗАЦИИ 11.5. ПАРАЛЛЕЛИЗМ И ФУНКЦИИ 11.6. POSIX-ФУНКЦИИ ДЛЯ ОРГАНИЗАЦИИ МНОГОПОТОЧНОСТИ 11.6.1. Подключение библиотеки и основные типы данных 11.6.2. Запуск потока 11.6.3. Завершение потока 11.6.4. Ожидание потока 11.6.5. Досрочное завершение потока 11.6.6. Отсоединение потока 11.7. ПОТОКИ С11 ЧАСТЬ III. ПРАКТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ ГЛАВА 12. РАБОТА С СЕТЬЮ В СИ 12.1. РАЗРАБОТКА ПРОГРАММЫ-СЕРВЕРА 12.2. ПРОГРАММА-КЛИЕНТ 12.3. МНОГОПОТОЧНЫЙ СЕРВЕР ГЛАВА 13. ПРАКТИЧЕСКИЙ ПРИМЕР: КОМПЬЮТЕРНАЯ ИГРА 13.1. ИДЕЯ ИГРЫ 13.2. ВЫБОР БИБЛИОТЕКИ 13.3. ОСНОВЫ GLUT 13.4. ОСНОВНАЯ ФУНКЦИЯ DISPLAY() 13.5. ОБРАБОТКА НАЖАТИЙ КЛАВИШ КЛАВИАТУРЫ И МЫШИ 13.6. ОТОБРАЖЕНИЕ МЕНЮ 13.7. ИГРОВОЙ ЭКРАН
دانلود کتاب Си на примерах: практика, практика и только практика: [основы языка Си на практике, показательные примеры (от простейшей программы до многопоточности на Си) с разбором кода, основывается на последний стандартах (С99, С11): 12+]