Интернет-магазин My-shop.ru
Акции   
Персональный раздел v
   Доставка    Оплата    Скидки    Форум    Помощь
для Москвы  +7 (495) 638-53-38
бесплатно для РФ  +7 (800) 100-53-38
 
0
• 
Книги (690922)
• 
Компьютерная литература (3947)
• 
Разработка ПО (1263)
• 
Языки и среды программирования, технологии и т.п. (788)
• 
C, C++ (136)



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

Полубенцева М.И. (найти все товары)

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

Издательство: БХВ-Петербург
Серия: Внесерийная

Рейтинг: 5.0 (голосов: 2)
Ваша оценка: 1 2 3 4 5  

дата выпуска: 2008 г. 
язык: русский
количество томов: 1
количество страниц: 448 стр.
переплет: твердый
формат: 70x100/16 (170x240 мм)
тираж: 2000 экз.
стандарт: 6 шт.
возрастная категория: 18+ (нет данных)
код системы скидок: 25
код в My-shop.ru: 330250

ISBN: 978-5-9775-0145-3


Полубенцева М.И.автор/составительПолубенцева М.И., найти все товары


Содержание:

Оглавление Введение 1
Предисловие 2
Особенности изложения 3
Благодарности 5

Глава 1. Общие принципы процедурного программирования

7
1.1. О современном программировании в целом 7
1.1.1. Историческая справка 7
1.1.2. Этапы создания программного продукта 8
1.1.3. Памятка программисту 9
1.1.4. Критерии хорошего программного продукта 11
1.2. Структура программы 11
1.2.1. Разбиение на файлы (модульность) и связанные с этим понятия С/С++ 13
1.2.2. Функциональная декомпозиция и связанные с ней понятия 18
1.2.3. Блоки кода 24
1.2.4. Оформление текста программы. Комментарии и отступы 26

Глава 2. Базовые понятия С/С++

29
2.1. Ключевые слова 29
2.2. Идентификаторы (имена) 29
2.3. Понятия lvalue и rvalue 30
2.4. Операторы 31
2.4.1. Арифметические операторы 36
2.4.2. Операторы присваивания 38
2.4.3. Побитовые операторы 39
2.4.4. Логические операторы и операторы отношения 43
2.4.5. Тернарный оператор "?:" 45
2.4.6. Оператор "," 47

Глава 3. Данные

49
3.1. Виды данных 49
3.2. Константы (литералы) 51
3.2.1. Целые литералы 52
3.2.2. Литералы с плавающей точкой 54
3.2.3. Символьные литералы 55
3.2.4. Строковые литералы 61
3.3. Перечисление enum 62
3.4. Переменные 65
3.4.1. Что такое тип переменной 66
3.4.2. Фундаментальные (базовые, встроенные) типы С/С++ 67
3.4.3. Оператор sizeof и размеры переменных 69
3.4.4. Знаковость переменной 71
3.4.5. Приведение типов 73
3.4.6. Тип wchar_t 81
3.4.7. Тип bool и BOOL 81
3.5. Понятия объявления и определения 82
3.5.1. Объявление переменной 83
3.6. Способы использования переменных и типы компоновки 86
3.6.1. Безопасная сборка проекта (type-safe linkage) 88
3.7. Размещение и время существования переменных 89
3.7.1. Ключевое слово static 91
3.8. Область видимости переменной (scope) 94
3.8.1. Скрытие (замещение) имени переменной 95
3.8.2. Пространства имен — namespace 97
3.9. Инициализация переменных 108
3.9.1. Явная инициализация переменных (программистом) 108
3.9.2. Неявная инициализация переменных (компилятором) 108
3.10. Модификаторы const и volatile 109
3.10.1. Ключевое слово const 109
3.10.2. Ключевое слово volatile 110

Глава 4. Инструкции (statements) С/С++

113
4.1. Общая информация об инструкциях 113
4.2. Инструкции выбора (условия) 115
4.2.1. Инструкции if, if…else 115
4.2.2. Переключатель — switch 118
4.3. Инструкции цикла 122
4.3.1. Инструкция while 123
4.3.2. Инструкция do...while 127
4.3.3. Инструкция for 129
4.4. Инструкции безусловного перехода: break, continue, return, goto 134

Глава 5. Препроцессор. Заголовочные файлы

137
5.1. Директивы препроцессора 137
5.2. Директива #define 138
5.2.1. Использование директивы #define 139
5.2.2. Предопределенные макросы 143
5.2.3. Диагностический макрос assert 144
5.2.4. Рекомендации 145
5.3. Директива #undef 145
5.4. Директивы #ifdef, #ifndef, #else и #endif 147
5.5. Директивы #if, #elif, #else, #endif. Оператор препроцессора defined 149
5.6. Директива #include. Заголовочные файлы 152
5.6.1. Концепция разделения на интерфейс и реализацию. Механизм подключения заголовочных файлов 153
5.6.2. Формы директивы #include 156
5.6.3. Вложенные включения заголовочных файлов (стратегии включения) 157
5.6.4. Предкомпиляция заголовочных файлов 159
5.6.5. Заголовочные файлы стандартной библиотеки 162
5.6.6. Защита от повторных включений заголовочных файлов 166
5.6.7. Что может быть в заголовочных файлах и чего там быть не должно 167
5.7. Директива #pragma 170
5.8. Директива #error 171

Глава 6. Указатели и массивы

173
6.1. Указатели 173
6.1.1. Объявление и определение переменной-указателя 175
6.1.2. Инициализация указателя и оператор получения адреса объекта — & 177
6.1.3. Получение значения объекта посредством указателя: оператор разыменования — * 179
6.1.4. Арифметика указателей 180
6.1.5. Указатель типа void* 182
6.1.6. Нулевой указатель (NULL-pointer) 184
6.1.7. Указатель на указатель 186
6.1.8. Указатель и ключевые слова const и volatile 187
6.1.9. Явное преобразование типа указателя 192
6.2. Массивы 196
6.2.1. Объявление массива 196
6.2.2. Обращение к элементу массива — оператор [] 198
6.2.3. Инициализация массива 200
6.2.4. Массивы и оператор sizeof 206
6.3. Связь массивов и указателей 207
6.3.1. Одномерные массивы 207
6.3.2. Двухмерные массивы более подробно 210
6.3.3. Многомерные массивы 214
6.3.4. Массивы указателей 216
6.4. Динамические массивы 218
6.4.1. Управление памятью. Низкоуровневые функции языка Си 219
6.4.2. Управление памятью. Операторы С++ new и delete 222
6.4.3. Сборщик мусора (garbage collector) 225
6.4.4. Операторы new[] и delete[] и массивы 225
6.4.5. Инициализация динамических массивов 234

Глава 7. Ссылки

235
7.1. Понятие ссылки 235
7.2. Сравнение ссылок и указателей 236

Глава 8. Функции

241
8.1. Понятия, связанные с функциями 241
8.1.1. Объявление (прототип) функции 244
8.1.2. Определение функции (реализация) 246
8.1.3. Вызов функции 248
8.1.4. Вызов inline-функции 252
8.1.5. Соглашения о вызове функции 254
8.2. Способы передачи параметров в функцию 259
8.2.1. Передача параметров по значению (Call-By-Value) 259
8.2.2. Передача параметров по адресу 260
8.2.3. Специфика передачи параметров 264
8.2.4. Переменное число параметров 272
8.3. Возвращаемое значение 287
8.3.1. Виды возвращаемых значений и механизмы их формирования 287
8.3.2. Проблемы при возвращении ссылки или указателя 290
8.4. Ключевое слово const и функции 292
8.4.1. Передача функции константных параметров 293
8.4.2. Возвращение функцией константных значений 294
8.5. Перегрузка имен функций 295
8.5.1. Возможные конфликты при использовании параметров по умолчанию 298
8.6. Рекурсивные функции 298
8.7. Указатель на функцию 301
8.7.1. Определение указателя на функцию 301
8.7.2. Инициализация указателя на функцию 302
8.7.3. Вызов функции посредством указателя 302
8.7.4. Использование указателей на функции в качестве параметров 303
8.7.5. Использование указателя на функцию в качестве возвращаемого значения 305
8.7.6. Массивы указателей на функции 306
8.8. Ключевое слово typedef и сложные указатели 308
8.8.1. Ключевое слово typedef и указатели на функции 308
8.8.2. Функции, возвращающие сложные указатели 308

Глава 9. Структуры

313
9.1. Зачем нужны структуры 313
9.2. Объявление структуры 314
9.3. Создание экземпляров структуры и присваивание значений полям структуры 316
9.4. Ключевое слово typedef и структуры 318
9.5. Совмещение объявления и определения. Анонимные структуры 319
9.6. Инициализация структурных переменных 320
9.7. Действия со структурами 321
9.8. Поля структуры пользовательского типа 322
9.9. Вложенные (nested) структуры 323
9.10. Указатели и структуры 324
9.11. Упаковка полей структуры компилятором. Оператор sizeof применительно к структурам 326
9.12. Структуры и функции 329
9.12.1. Передача структуры в функцию в качестве параметра 329
9.12.2. Возврат структуры по значению 332
9.13. Что можно использовать в качестве поля структуры 333
9.14. Поля битов 334

Глава 10. Объединения (union)

345
10.1. Понятие объединения 345
10.2. Использование объединений 346
10.3. Размер объединения 349
10.4. Инициализация объединений 350
10.5. Анонимные объединения (специфика Microsoft) 351
ПРИЛОЖЕНИЯ 353
Приложение 1. Представление данных 355
П1.1. О системах счисления и изображении количеств 355
П1.2. Перевод чисел из одной системы счисления в другую 357
П1.3. Использование различных систем счисления при технической реализации средств цифровой вычислительной техники 361
П1.4. Особенности выполнения арифметических операций в ограниченной разрядной сетке 362
П1.5. Изображение знакопеременных величин 363
П1.6. Выявление переполнений при выполнении сложения и вычитания 367
П1.7. Смена знака целого знакопеременного числа 370
П1.8. Действия с повышенной разрядностью 370
П1.9. Особенности умножения и деления целых двоичных чисел 371
П1.10. Приведение типов данных 372
П1.11. Числа с плавающей точкой 375
П1.11.1. Неоднозначность представления и нормализованная форма 376
П1.11.2. Форматы представления чисел ПТ двоичным кодом 380
П1.11.3. Стандарт на числа ПТ ANSI/IEEE 754-1985 381
П1.12. О понятии старшинства арифметических типов данных 384
П1.13. Битовые поля и операции над ними 385
П1.13.1. Подробнее об операциях сдвига 390
Приложение 2. Язык Си и низкоуровневое программирование 392
П2.1. Низкоуровневая (регистровая) модель вычислительного ядра 398
П2.1.1. Оптимизация фрагмента кода по скорости 399
П2.1.2. Определение положения программы в пространстве адресов 401
П2.1.3. Использование средств уровня языка Ассемблера в программах на Си 401
П2.1.4. Работа с регистрами периферийных устройств 404
П2.1.5. Синхронизация программы с внешним событием 406
П2.2. Программирование обработчиков прерываний 408
П2.2.1. Запрет/разрешение прерываний процессору 409
П2.2.2. Приоритеты и управление ими 410
П2.3. Программирование без операционной системы 412
Предметный указатель 415

 



нет в наличии
сообщить о поступлении в продажу

|