Эффективный C. Профессиональное программирование

Оглавление⌄
Предисловие Паскаля Куока....14 Предисловие Олли Уайтхауса....15 Благодарности....16 Введение....17 Краткая история C....18 Стандарт C....19 Стандарт программирования CERT C....20 Для кого эта книга....20 Структура книги....21 От издательства....23 Глава 1. Знакомство с C....24 Разработка вашей первой программы на C....24 Компиляция и запуск вашей программы....25 Директивы препроцессора....26 Функция main....26 Проверка возвращаемого значения функции....28 Форматированный вывод....29 Редакторы и интегрированные среды разработки....30 Компиляторы....32 GNU Compiler Collection....32 Clang....33 Microsoft Visual Studio....33 Переносимость....34 Поведение, определяемое реализацией....35 Неуточненное поведение....35 Неопределенное поведение....35 Поведение, зависящее от региональных параметров, и распространенные расширения....37 Резюме....37 Глава 2. Объекты, функции и типы....38 Объекты, функции, типы и указатели....38 Объявление переменных....39 Перестановка значений местами (первая попытка)....40 Перестановка значений местами (вторая попытка)....42 Область видимости....44 Срок хранения....45 Выравнивание....47 Объектные типы....49 Логические типы....49 Символьные типы....49 Численные типы....50 Тип void....52 Функциональные типы....52 Производные типы....54 Указатели....54 Массивы....55 Структуры....57 Объединения....58 Теги....59 Квалификаторы типов....61 Квалификатор const....62 Квалификатор volatile....62 Квалификатор restrict....63 Упражнения....64 Резюме....64 Глава 3. Арифметические типы....65 Целые числа....65 Заполнение и точность....66 Заголовочный файл ....66 Объявление целочисленных переменных....67 Беззнаковые целые....67 Знаковые целые....71 Целочисленные константы....76 Числа с плавающей запятой....77 Типы с плавающей запятой....78 Арифметические операции с плавающей запятой....80 Значения с плавающей запятой....80 Константы с плавающей запятой....82 Арифметическое преобразование....83 Ранг преобразования целочисленных типов....84 Повышение разрядности целочисленных значений....85 Обычные арифметические преобразования....86 Пример автоматического приведения типов....88 Безопасное приведение типов....89 Резюме....91 Глава 4. Выражения и операции....92 Простое присваивание....92 Оценивание....94 Вызов функции....95 Операции инкремента и декремента....96 Приоритет и ассоциативность операций....97 Порядок вычисления....100 Непоследовательные и неопределенно последовательные вычисления....101 Точки следования....102 Операция sizeof....103 Арифметические операции....104 Унарные операции + и –....104 Логическая операция отрицания....105 Мультипликативные операции....105 Аддитивные операции....107 Побитовые операции....107 Операция дополнения....107 Операции сдвига....108 Побитовое И....110 Побитовое исключающее ИЛИ....111 Побитовое включающее ИЛИ....112 Логические операции....112 Операции приведения типов....114 Условная операция....115 Операция _Alignof....116 Операции сравнения....117 Операции составного присваивания....118 Операция «запятая»....118 Арифметические операции с указателями....119 Резюме....121 Глава 5. Управляющая логика....122 Операторы-выражения....122 Составные операторы....123 Операторы выбора....124 Оператор if....124 Оператор switch....128 Операторы итерирования....131 Оператор while....131 Оператор do...while....133 Оператор for....134 Операторы перехода....136 Оператор goto....136 Оператор continue....138 Оператор break....139 Оператор return....140 Упражнения....141 Резюме....141 Глава 6. Динамически выделяемая память....142 Срок хранения....142 Куча и диспетчеры памяти....143 Когда следует использовать динамически выделяемую память....144 Функции для управления памятью....145 Функция malloc....145 Функция aligned_alloc....148 Функция calloc....149 Функция realloc....149 Функция reallocarray....152 Функция free....152 Состояния памяти....154 Структуры с гибкими массивами....155 Другие виды динамически выделяемой памяти....157 Функция alloca....157 Массивы переменной длины....159 Отладка проблем, связанных с выделением памяти....163 Библиотека dmalloc....163 Системы с повышенными требованиями к безопасности....166 Упражнения....166 Резюме....167 Глава 7. Символы и строки....168 Символы....168 ASCII....169 Unicode....169 Исходная и исполняемая кодировки....171 Типы данных....172 Символьные константы....175 Управляющие последовательности....176 Linux....177 Windows....178 Преобразование символов....180 Строки....184 Строковые литералы....186 Функции для работы со строками....188 Заголовочные файлы и ....189 Интерфейсы с проверкой ограничений из приложения K....197 POSIX....200 Microsoft....202 Резюме....203 Глава 8. Ввод/вывод....204 Стандартные потоки ввода/вывода....204 Буферизация потоков....205 Встроенные потоки....206 Направленность потоков....208 Текстовые и двоичные потоки....208 Открытие и создание файлов....209 Функция fopen....209 Функция open из стандарта POSIX....212 Закрытие файлов....214 Функция fclose....214 Функция close из стандарта POSIX....215 Чтение и запись символов и строчек....216 Сброс потока на диск....218 Установка позиции в файле....219 Удаление и переименование файлов....222 Использование временных файлов....223 Чтение потоков форматированного текста....224 Чтение из двоичных потоков и запись в них....228 Резюме....232 Глава 9. Препроцессор (в соавторстве с Аароном Баллманом)....233 Процесс компиляции....233 Подключение файлов....235 Строки подключения с кавычками и угловыми скобками....236 Условное подключение....237 Генерация ошибок....238 Использование защиты подключения....239 Определение макросов....241 Замена макросов....244 Макросы с обобщенными типами....246 Встроенные макросы....248 Резюме....249 Глава 10. Структура программы (в соавторстве с Аароном Баллманом)....250 Принципы компонентного представления....250 Связанность и слаженность....251 Повторное использование кода....252 Абстракция данных....253 Непрозрачные типы....254 Исполняемые файлы....256 Компоновка....258 Структурирование простой программы....260 Сборка кода....265 Резюме....268 Глава 11. Отладка, тестирование и анализ....269 Утверждения....269 Статические утверждения....269 Динамические утверждения....272 Параметры и флаги компиляторов....274 GCC и Clang....275 Visual C++....279 Отладка....281 Модульное тестирование....285 Статический анализ....289 Динамический анализ....292 AddressSanitizer....293 Упражнения....298 Резюме....298 Список литературы....299 Об авторе....302 О соавторе....302 О научном редакторе....303
Описание
Коротко и по делу о том, что важно знать про работает.
Книга «Эффективный C. Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java. Профессиональное программирование» восполняет этот пробел и предлагает современный взгляд на C. Издание неизбежно станет классикой, с его помощью вы научитесь писать профессиональные и надежные программы на C, которые лягут в основу устойчивых систем и решат реальные задачи. Здесь рассмотрен C17, а также потенциальные возможности C2x.
На этом основные моменты по теме закрыты.
Поделиться
Частые вопросы
Можно ли скачать «Эффективный C. Профессиональное программирование» бесплатно?
Да, «Эффективный C. Профессиональное программирование» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF.
Кто автор и когда вышла книга?
автор — Сикорд Роберт С., издательство Питер, год выпуска 2022, 304 страниц.
О чём книга «Эффективный C. Профессиональное программирование»?
Мир работает на коде, написанном на C, но в большинстве учебных заведений программированию учат на Python или Java.