C/C++. Процедурное программирование

В наличии Цена за шт.

1500

Количество
Купить

Акции и скидки Поделиться


📍
🚚
✉️
Почта России
Отправка товара по почте
🏢
Транспортные компании
Деловые Линии для юридических лиц
Подробнее о доставке
  • Артикул:00-01098453
  • Автор: Полубенцева М.М.
  • ISBN: 978-5-9775-0936-7
  • Тираж: 500 экз.
  • Обложка: Мягкая обложка
  • Издательство: BHV (все книги издательства)
  • Город: Москва
  • Страниц: 432
  • Формат: 70х100 1/16
  • Год: 2020
  • Вес: 1081 г
Развернуть ▼

В книге подробно рассмотрены процедурные возможности языков программирования С/С++. Изложены основные принципы строения программы на языке С/С++: раздельная компиляция, функциональная декомпозиция, блоки кода. Описаны синтаксические конструкции языка и показана специфика их использования. Подробно излагаются понятия, связанные с представлением данных: виды данных, их представление в тексте программы, размещение в памяти, время существования и области видимости. Описано назначение и принцип работы препроцессора. Детально рассмотрены указатели и массивы, а также их взаимосвязь в языке С/С++. Приведена сравнительная характеристика ссылок С++ и указателей. Обсуждаются сложные программные элементы. Рассмотрены агрегатные пользовательские типы данных языка С: структуры, объединения.

Содержание
Введение
Предисловие
Особенности изложения
Благодарности
Глава 1. Общие принципы процедурного программирования
1.1. О современном программировании в целом
1.1.1. Историческая справка
1.1.2. Этапы создания программного продукта
1.1.3. Памятка программисту
1.1.4. Критерии хорошего программного продукта
1.2. Структура программы
1.2.1. Разбиение на файлы (модульность) и связанные с этим понятия С/С++
1.2.2. Функциональная декомпозиция и связанные с ней понятия
1.2.3. Блоки кода
1.2.4. Оформление текста программы. Комментарии и отступы
Глава 2. Базовые понятия С/С++
2.1. Ключевые слова
2.2. Идентификаторы (имена)
2.3. Понятия lvalue и rvalue
2.4. Операторы
2.4.1. Арифметические операторы
2.4.2. Операторы присваивания
2.4.3. Побитовые операторы
2.4.4. Логические операторы и операторы отношения
2.4.5. Тернарный оператор ?
2.4.6. Оператор
Глава 3. Данные
3.1. Виды данных
3.2. Константы (литералы)
3.2.1. Целые литералы
3.2.2. Литералы с плавающей точкой
3.2.3. Символьные литералы
3.2.4. Строковые литералы
3.3. Перечисление enum
3.4. Переменные
3.4.1. Что такое тип переменной
3.4.2. Фундаментальные (базовые, встроенные) типы С/С++
3.4.3. Оператор sizeof и размеры переменных
3.4.4. Знаковость переменной
3.4.5. Приведение типов
3.4.6. Wchar_t
3.4.7. Тип bool и ВООL
3.5. Понятия объявления и определения
3.5.1. Объявление переменной
3.6. Способы использования переменных и типы компоновки
3.6.1. Безопасная сборка проекта type-safe linkage)
3.7. Размещение и время существования переменных
3.7.1. Ключевое слово static
3.8. Область видимости переменной (sсоре)
3.8.1. Скрытие (замещение) имени переменной
3.8.2. Пространства имен - namespace
3.9. Инициализация переменных
3.9.1. Явная инициализация переменных (программистом)
3.9.2. Неявная инициализация переменных (компилятором)
3.10. Модификаторы const и volatile
3.10.1. Ключевое слово const
3.10.2. Ключевое слово volatile
Глава 4. Инструкции (state) С/С++
4.1. Общая информация об инструкциях
4.2. Инструкции выбора (условия)
4.2.1. Инструкции if, if...еlse
4.2.2. Переключатель - switch
4.3. Инструкции цикла
4.3.1. Инструкция и while
4.3.2. Инструкция do... while
4.3.3. Инструкция for
4.4. Инструкции безусловного перехода: brеаk, соntinuе, return, goto
Глава 5. Препроцессор. Заголовочные файлы
5.1. Директивы препроцессора
5.2. Директива #define
5.2.1. Использование директивы #define
5.2.2. Предопределенные макросы
5.2.3. Диагностический макрос assert
5.2.4. Рекомендации
5.3 Директива #undef
5.4 Директивы #ifdef, #ifndef, #еlse и #endif
5.5 Директивы #if, #elif, #еlse, #endif/\. Оператор препроцессора defined
5.6 Директива #include. Заголовочные файлы
5.6.1. Концепция разделения на интерфейс и реализацию. Механизм подключения заголовочных файлов
5.6.2. Формы директивы #include
5.6.3. Вложенные включения заголовочных файлов (стратегии включения)
5.6.4. Предкомпиляция заголовочных файлов
5.6.5. Заголовочные файлы стандартной библиотеки
5.6.6. Защита от повторных включений заголовочных файлов
5.6.7. Что может быть в заголовочных файлах и чего там быть не должно
5.7. Директива #pragma
5.8. Директива #error
Глава 6. Указатели и массивы
6.1. Указатели
6.1.1. Объявление н определение переменной-указателя
6.1.2. Инициализация указателя и оператор получения адреса объекта - &
6.1.3. Получение значения объекта посредством указателя: оператор разыменования - *
6.1.4. Арифметика указателей
6.1.5. Указатель типа VOID*
6.1.6. Нулевой указатель (NULL-pointer)
6.1.7. Указатель на указатель
6.1.8. Указатель и ключевые слова const и valatile
6.1.9. Явное преобразование типа указателя
6.2. Массивы
6.2.1. Объявление массива
6.2.2. Обращение к элементу массива - оператор []
6.2.3. Инициализация массива
6.2.4. Массивы и оператор sizeof
6.3. Связь массивов и указателей
6.3.1. Одномерные массивы
6.3.2. Двухмерные массивы более подробно
6.3.3. Многомерные массивы
6.3.4. Массивы указателей
6.4. Динамические массивы
6.4.1. Управление памятью. Низкоуровневые функции языка Си
6.4.2. Управление памятью. Операторы С++ new- и delete
6.4.3. Сборщик мусора (garbage соllector)
6.4.4. Операторы new [] и delete [] и массивы
6.4.5. Инициализация динамических массивов
Глава 7. Ссылки
7.1. Понятие ссылки
7.2. Сравнение ссылок и указателей
Глава 8. Функции
8.1. Понятия, связанные с функциями
8.1.1. Объявление (прототип) функции
8.1.2. Определение функции (реализация)
8.1.3. Вызов функции
8.1.4. Вызов inline-функции
8.1.5. Соглашения о вызове функции
8.2. Способы передачи параметров в функцию
8.2.1. Передача параметров по значению (Саll-Ву- Value)
8.2.2. Передача параметров по адресу
8.2.3. Специфика передачи параметров
8.2.4. Переменное число параметров
8.3. Возвращаемое значение
8.3.1. Виды возвращаемых значений и механизмы их формирования
8.3.2. Проблемы при возвращении ссылки или указателя
8.4. Ключевое слово const и функции
8.4.1. Передача функции константных параметров
8.4.2. Возвращение функцией константных значений
8.5. Перегрузка имен функций
8.5.1. Возможные конфликты при использовании параметров по умолчанию
8.6. Рекурсивные функции
8.7. Указатель на функцию
8.7.1. Определение указателя на функцию
8.7.2. Инициализация указателя на функцию
8.7.3. Вызов функции посредством указателя
8.7.4. Использование указателей на функции в качестве параметров
8.7.5. Использование указателя на функцию в качестве возвращаемого значения
8.7.6. Массивы указателей на функции
8.8. Ключевое слово typedef сложные указатели
8.8.1. Ключевое слово typedef и указатели на функции
8.8.2. Функции, возвращающие сложные указатели
Глава 9. Структуры
9.1. Зачем нужны структуры
9.2. Объявление структуры
9.3. Создание экземпляров структуры и присваивание значений полям структуры
9.4. Ключевое слово typedef и структуры
9.5. Совмещение объявления и определения. Анонимные структуры
9.6. Инициализация структурных переменных
9.7. Действия со структурами
9.8. Поля структуры пользовательского типа
9.9. Вложенные (nested) структуры
9.10. Указатели и структуры
9.11. Упаковка полей структуры компилятором. Оператор sizeof применительно к структурам
9.12. Структуры и функции
9.12.1. Передача структуры в функцию в качестве параметра
9.12.2. Возврат структуры по значению
9.13. Что можно использовать в качестве поля структуры
9.14. Поля битов
Глава 10. Объединения (union)
10.1. Понятие объединений
10.2. Использование объединений
10.3. Размер объединения.
10.4. Инициализация объединений
Анонимные объединения (специфика Microsoft)
Приложения
Приложение 1. Представление данных
П1.1. О системах счисления и изображении количеств
П1.2. Перевод чисел из одной системы счисления в другую
П1.3. Использование различных систем счисления при технической реализации средств цифровой вычислительной техники
П1.4. Особенности выполнения арифметических операций в ограниченной разрядной сетке
П1.5. Изображение знакопеременных величин
П1.6. Выявление переполнений при выполнении сложения и вычитания
П1.7. Смена знака целого знакопеременного числа
П1.8. Действия с повышенной разрядностью
П1.9. Особенности умножения и деления целых двоичных чисел
П1.10. Приведение типов данных
П1.11. Числа с плавающей точкой
П1.11.1. Неоднозначность представления и нормализованная форма.
П1.11.2. Форматы представления чисел ПТ двоичным кодом
П1.11.3. Стандарт на числа ПТ ANSI/IEEE 754-1985
П1.12. О понятии старшинства арифметических типов данных
П1.13. Битовые поля и операции над ними
П1.13.1. Подробнее об операциях сдвига
Приложение 2. Язык Си и низкоуровневое программирование
П2.1. Низкоуровневая (регистровая) модель вычислительного ядра
П2.1.1. Оптимизация фрагмента кода по скорости
П2.1.2. Определение положения программы в пространстве адресов
П2.1.3. Использование средств уровня языка Ассемблера в программах на Си
П2.1.4. Работа с регистрами периферийных устройств
П2.1.5. Синхронизация программы с внешним событием
П2.2. Программирование обработчиков прерываний
П2.2.1. Запрет/разрешение прерываний процессору
П2.2.2. Приоритеты и управление ими
П2.3. Программирование без операционной системы
Предметный указатель


5.0
0 отзывов
Оставить отзыв
Пока нет отзывов. Будьте первым, кто оставит отзыв.