Эффективный C. Профессиональное программирование
Book information
Description
Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Книга «Эффективный C. Профессиональное программирование» восполняет этот пробел и предлагает современный взгляд на C. Здесь рассмотрен C17, а также потенциальные возможности C2x. Издание неизбежно станет классикой, с его помощью вы научитесь писать профессиональные и надежные программы на C, которые лягут в основу устойчивых систем и решат реальные задачи. Предисловие Паскаля Куока Предисловие Олли Уайтхауса Благодарности Введение Краткая история C Стандарт C Стандарт программирования CERT C Для кого эта книга Структура книги От издательства Глава 1. Знакомство с C Разработка вашей первой программы на C Компиляция и запуск вашей программы Директивы препроцессора Функция main Проверка возвращаемого значения функции Форматированный вывод Редакторы и интегрированные среды разработки Компиляторы GNU Compiler Collection Clang Microsoft Visual Studio Переносимость Поведение, определяемое реализацией Неуточненное поведение Неопределенное поведение Поведение, зависящее от региональных параметров, и распространенные расширения Резюме Глава 2. Объекты, функции и типы Объекты, функции, типы и указатели Объявление переменных Перестановка значений местами (первая попытка) Перестановка значений местами (вторая попытка) Область видимости Срок хранения Выравнивание Объектные типы Логические типы Символьные типы Численные типы Тип void Функциональные типы Производные типы Указатели Массивы Структуры Объединения Теги Квалификаторы типов Квалификатор const Квалификатор volatile Квалификатор restrict Упражнения Резюме Глава 3. Арифметические типы Целые числа Заполнение и точность Заголовочный файл Объявление целочисленных переменных Беззнаковые целые Знаковые целые Целочисленные константы Числа с плавающей запятой Типы с плавающей запятой Арифметические операции с плавающей запятой Значения с плавающей запятой Константы с плавающей запятой Арифметическое преобразование Ранг преобразования целочисленных типов Повышение разрядности целочисленных значений Обычные арифметические преобразования Пример автоматического приведения типов Безопасное приведение типов Резюме Глава 4. Выражения и операции Простое присваивание Оценивание Вызов функции Операции инкремента и декремента Приоритет и ассоциативность операций Порядок вычисления Непоследовательные и неопределенно последовательные вычисления Точки следования Операция sizeof Арифметические операции Унарные операции + и – Логическая операция отрицания Мультипликативные операции Аддитивные операции Побитовые операции Операция дополнения Операции сдвига Побитовое И Побитовое исключающее ИЛИ Побитовое включающее ИЛИ Логические операции Операции приведения типов Условная операция Операция _Alignof Операции сравнения Операции составного присваивания Операция «запятая» Арифметические операции с указателями Резюме Глава 5. Управляющая логика Операторы-выражения Составные операторы Операторы выбора Оператор if Оператор switch Операторы итерирования Оператор while Оператор do...while Оператор for Операторы перехода Оператор goto Оператор continue Оператор break Оператор return Упражнения Резюме Глава 6. Динамически выделяемая память Срок хранения Куча и диспетчеры памяти Когда следует использовать динамически выделяемую память Функции для управления памятью Функция malloc Функция aligned_alloc Функция calloc Функция realloc Функция reallocarray Функция free Состояния памяти Структуры с гибкими массивами Другие виды динамически выделяемой памяти Функция alloca Массивы переменной длины Отладка проблем, связанных с выделением памяти Библиотека dmalloc Системы с повышенными требованиями к безопасности Упражнения Резюме Глава 7. Символы и строки Символы ASCII Unicode Исходная и исполняемая кодировки Типы данных Символьные константы Управляющие последовательности Linux Windows Преобразование символов Строки Строковые литералы Функции для работы со строками Заголовочные файлы и Интерфейсы с проверкой ограничений из приложения K POSIX Microsoft Резюме Глава 8. Ввод/вывод Стандартные потоки ввода/вывода Буферизация потоков Встроенные потоки Направленность потоков Текстовые и двоичные потоки Открытие и создание файлов Функция fopen Функция open из стандарта POSIX Закрытие файлов Функция fclose Функция close из стандарта POSIX Чтение и запись символов и строчек Сброс потока на диск Установка позиции в файле Удаление и переименование файлов Использование временных файлов Чтение потоков форматированного текста Чтение из двоичных потоков и запись в них Резюме Глава 9. Препроцессор (в соавторстве с Аароном Баллманом) Процесс компиляции Подключение файлов Строки подключения с кавычками и угловыми скобками Условное подключение Генерация ошибок Использование защиты подключения Определение макросов Замена макросов Макросы с обобщенными типами Встроенные макросы Резюме Глава 10. Структура программы (в соавторстве с Аароном Баллманом) Принципы компонентного представления Связанность и слаженность Повторное использование кода Абстракция данных Непрозрачные типы Исполняемые файлы Компоновка Структурирование простой программы Сборка кода Резюме Глава 11. Отладка, тестирование и анализ Утверждения Статические утверждения Динамические утверждения Параметры и флаги компиляторов GCC и Clang Visual C++ Отладка Модульное тестирование Статический анализ Динамический анализ AddressSanitizer Упражнения Резюме Список литературы Об авторе О соавторе О научном редакторе
Similar books
Effective C: An Introduction to Professional C Programming
2025 · MOBI
Effective C: An Introduction to Professional C Programming
2025 · PDF
Effective C: An Introduction to Professional C Programming
2020 · PDF
Безопасное программирование на C и C++
2014 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF