Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование на С++

Покупка
Артикул: 615935.01.99
Книга рассчитана на тех, кто нуждается в понятном и доступном введении в язык C++, и может использоваться как самоучитель. Она также рассказывает о компьютерах и алгоритмическом решении задач, поэтому может служить в качестве первого учебника программирования. Авторы убедительно показывают, что темы, когда-то считавшиеся слишком сложными для вводного курса по С++ и объектно-ориентированному программированию, можно успешно объяснять на ранних стадиях обучения. Книга является удачным выбором для первого знакомства с С++. Материал излагается в строгой, но доступной для начинающего программиста форме. Авторы приводят многочисленные откомпилированные и проверенные упражнения с ответами. Все входящие в книгу программы размещены на Web-сайте издательства «ДМК» (www.dmk.ru) и легко доступны читателям. Издание предназначено для пользователей ПК (от начального до среднего уровня), начинающих программистов, школьников, студентов и преподавателей информатики.
Дейл, Н. Программирование на С++ [Электронный ресурс] / Н. Дейл, Ч. Уимз, М. Хедингтон; Пер. с англ. - Москва : ДМК Пресс, 2007. - 672 с.: ил. - (Серия «Учебник»). - ISBN 5-93700-008-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/407353 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Нейл Дейл, Чип Уимз, Марк Хедингтон

Программирование на С++

Programming in C++

Nell Dale

University of Texas, Austin

Chip Weems

University of Massachusetts, Amherst

Mark Headington

University of Wisconsin – LaCrosse

JONES AND BARTLETT PUBLISHERS

Sudbury, Massachusetts

Boston toronto London singapore

Программирование на C++

Нелл Дейл

Техасский университет, Остин

Чип Уимз

Массачусетский университет, Амхерст

Марк Хедингтон

Университет ВисконсинаЛа Кросс

Серия «Учебник»

Москва

Дейл Н., Уимз Ч., Хедингтон М.

Д94
Программирование на С++: Пер. с англ. – М.: ДМК Пресс. – 672 с.: ил., 
(Серия «Учебник»).

ISBN 5-93700-008-0

Книга рассчитана на тех, кто нуждается в понятном и доступном введении 

в язык C++, и может использоваться как самоучитель. Она также рассказывает о компьютерах и алгоритмическом решении задач, поэтому может служить 
в качестве первого учебника программирования. Авторы убедительно показывают, что темы, когда-то считавшиеся слишком сложными для вводного 
курса по С++ и объектно-ориентированному программированию, можно успешно объяснять на ранних стадиях обучения. 

Книга является удачным выбором для первого знакомства с С++. Матери
ал излагается в строгой, но доступной для начинающего программиста форме. 
Авторы приводят многочисленные откомпилированные и проверенные упражнения с ответами. Все входящие в книгу программы размещены на Web-сайте 
издательства «ДМК» (www.dmk.ru) и легко доступны читателям. 

Издание предназначено для пользователей ПК (от начального до среднего 

уровня), начинающих программистов, школьников, студентов и преподавателей информатики.

  ББК 32.973-018.1

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то 

ни было форме и какими бы то ни было средствами без письменного разрешения владельцев 
авторских прав.

Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность 

технических ошибок все равно существует, издательство не может гарантировать абсолютную 
точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

ISBN 0-7637-0537-3 (англ.)
Copyright © by Jones and Bartlett Publishers

ISBN 5-93700-008-0 (рус.)
© Перевод на русский язык, оформление. ДМК Пресс

ББК 
32.973-018.1
Д94

ORIGINAL ENGLISH LANGUAGE EDITION PUBLISHED BY
Jones and Bartlett Publishers, Inc., 40 Tall Pine Drive, Sudbury, MA  01776
COPYRIGHT Jones and Bartlett Publishers ©
ALL RIGHTS RESERVED

Содержание

Предисловие  .........................................................................................................15

Глава I. Введение в программирование и решение задач  ..........21

Введение в программирование  .......................................................................22

Как пишутся программы ..........................................................................................22

Что такое язык программирования  ...............................................................27
Устройство компьютера  .....................................................................................30
Методика решения задач  .................................................................................35

Задавайте вопросы .................................................................................................36
Находите привычные ориентиры ............................................................................36
Решайте по аналогии ..............................................................................................36
Анализ цели и средств ............................................................................................37
«Разделяй и властвуй» ............................................................................................38
Метод «строительных плит» ...................................................................................38
Слияние решений ....................................................................................................38
Мысленный барьер: страх сделать первый шаг .....................................................40
Алгоритмическое решение задачи ........................................................................40

Итоги главы  ............................................................................................................40

Глава II. Синтаксис, семантика и разработка
                   программ на C++  ..............................................................................42

Элементы программ на С++  ..............................................................................43

Структура программы .............................................................................................43
Синтаксис и семантика ...........................................................................................45
Синтаксические шаблоны .......................................................................................47

Называем элементы программ: идентификаторы .................................................49
Данные и их типы.....................................................................................................50
Описываем элементы программы: объявления ......................................................54
Начинаем действовать: выполняемые выражения .................................................58
Сверх минимума: добавляем комментарии к программе .....................................64

Построение программы  .....................................................................................65

Блоки или составные выражения ............................................................................67
Препроцессор С++ ..................................................................................................69

Пример программирования. «Автопробег»  ................................................70
Советы по тестированию и отладке  ...............................................................73
Итоги главы  ............................................................................................................73

Быстрая самопроверка ...........................................................................................74
Упражнения для подготовки к экзамену .................................................................76
Упражнения для разминки ......................................................................................80
Задачи по программированию ..............................................................................81

Глава III. Арифметические выражения, 

вызов функций и вывод  ..............................................................83

Арифметические выражения.............................................................................84

Правила приоритета ...............................................................................................84
Неявное приведение и явное преобразование типов ...........................................85

Вызов функций и библиотечные функции  ...................................................88

Функции, возвращающие значение ......................................................................88
Библиотечные функции ...........................................................................................90
Функции типа void ...................................................................................................91

Форматирование вывода  ..................................................................................92

Вставка пустых строк ...............................................................................................93
Вставка пробелов внутри строки ............................................................................94
Манипуляторы .........................................................................................................95

Пример программирования. «Измерения по карте»  ............................. 100
Советы по тестированию и отладке  ............................................................. 103
Итоги главы  .......................................................................................................... 103

Быстрая самопроверка ........................................................................................ 104
Упражнения для подготовки к экзамену .............................................................. 105
Упражнения для разминки ................................................................................... 108
Задачи по программированию ........................................................................... 110

Глава IV. Программный ввод и процесс разработки програм
много обеспечения  .................................................................... 112

Ввод данных в программу  ............................................................................. 113

Потоки ввода и операция извлечения ................................................................. 113
Маркер считывания и символ новой строки ....................................................... 116
Считывание символьных данных с помощью get ................................................ 117

Программирование на С++

Пропуск символов с помощью ignore .................................................................. 120

Интерактивный вводвывод ............................................................................ 121
Неинтерактивный вводвывод ....................................................................... 122
Файловый вводвывод ..................................................................................... 123

Что такое файл ..................................................................................................... 123
Использование файлов ........................................................................................ 124
Пример программы с использованием файлов .................................................. 127

Ошибка ввода ..................................................................................................... 128
Разработка программного обеспечения  ................................................... 130
Функциональная декомпозиция   ................................................................. 130

Программные модули........................................................................................... 132

Объектноориентированная разработка ................................................... 133
Пример программирования. «Средневзвешенное значение
экзаменационных оценок»   ........................................................................... 136
Тестирование и отладка   ................................................................................. 139

Советы по тестированию и отладке .................................................................... 141

Итоги главы ........................................................................................................... 141

Быстрая самопроверка ........................................................................................ 142
Упражнения для подготовки к экзамену .............................................................. 143
Упражнения для разминки ................................................................................... 145
Задачи по программированию ........................................................................... 147

Глава V.  Управляющие структуры: условия, логические выра
жения, выбор  ................................................................................. 149

Поток управления .............................................................................................. 150

Выбор .................................................................................................................... 150

Условия и логические выражения ................................................................. 151

Логические выражения ........................................................................................ 151
Приоритет операций ............................................................................................ 158
Операции сравнения и типы с плавающей точкой ............................................. 160

Условный оператор............................................................................................ 160

Условный оператор в форме IfThenElse ............................................................ 160
Применение блоков в условном операторе ....................................................... 162
Условный оператор в форме IfThen .................................................................... 163
Одна распространенная ошибка ........................................................................ 165

Вложенные условные операторы   ............................................................... 165

Висячее else ........................................................................................................... 168

Проверка состояния потока вводавывода ............................................... 169
Пример программирования. «Результат экзамена» .............................. 172
Тестирование и отладка ................................................................................... 175

Этап решения задачи: сквозной контроль алгоритма ....................................... 175
Этап реализации .................................................................................................. 178
Автоматическая проверка при компиляции и выполнении ................................ 182

Содержание

Советы по тестированию и отладке .................................................................... 182

Итоги главы ........................................................................................................... 184

Быстрая самопроверка ........................................................................................ 185
Упражнения для подготовки к экзамену .............................................................. 186
Упражнения для разминки ................................................................................... 189
Задачи по программированию ........................................................................... 192

Глава VI. Циклы ................................................................................................... 195

Оператор While ................................................................................................... 196
Этапы выполнения цикла................................................................................. 197
Циклы с While  ...................................................................................................... 198

Циклы, управляемые счетчиком ........................................................................... 198
Циклы, управляемые событием............................................................................ 199
Циклические подзадачи ....................................................................................... 202

Как проектировать циклы ............................................................................... 205

Проектирование потока управления  ................................................................. 205
Проектирование процесса внутри цикла ........................................................... 206
Выход из цикла  .................................................................................................... 207

Вложенная логика ............................................................................................. 207

Проектирование вложенных циклов ................................................................... 209

Пример программирования. «Средний доход мужчин и женщин» .. 210
Тестирование и отладка  .................................................................................. 214

Методика проверки циклов ................................................................................. 214
Советы по тестированию и отладке .................................................................... 215

Итоги главы ........................................................................................................... 216

Быстрая самопроверка ........................................................................................ 217
Упражнения для подготовки к экзамену .............................................................. 218
Упражнения для разминки ................................................................................... 221
Задачи по программированию ........................................................................... 222

Глава VII. Функции  ............................................................................................ 224

Функциональная декомпозиция и функции типа void .......................... 225

Запись модулей как функций типа void .............................................................. 225

Синтаксис и семантика функций типа void ................................................. 228

Вызов функции ...................................................................................................... 228
Описания и объявления функций ........................................................................ 229
Локальные переменные ....................................................................................... 231
Оператор return .................................................................................................... 232
Файлы заголовков ................................................................................................ 233

Параметры ............................................................................................................ 233

Параметры, передаваемые по значению ........................................................... 235
Параметры, передаваемые по ссылке ................................................................ 235

Разработка функций ......................................................................................... 238

Запись утверждений в виде комментариев ......................................................... 239

Программирование на С++

Документирование направления потока данных ............................................... 241

Пример программирования. «Сравнение продаж 
в мебельных магазинах» ................................................................................. 244
Тестирование и отладка ................................................................................... 250

Библиотечная функция assert ............................................................................... 251
Советы по тестированию и отладке .................................................................... 253

Итоги главы  .......................................................................................................... 254

Быстрая самопроверка   ....................................................................................... 255
Упражнения для подготовки к экзамену .............................................................. 256
Упражнения для разминки ................................................................................... 261
Задачи по программированию ........................................................................... 263

Глава VIII. Область и время действия ..................................................... 267

Область действия и время жизни ................................................................... 268

Область действия идентификаторов ................................................................... 268
Правила области действия ................................................................................... 270
Объявления и описания переменных .................................................................. 274
Время жизни переменной .................................................................................... 275

Разработка интерфейса ................................................................................... 278

Побочные эффекты ............................................................................................... 278
Глобальные константы .......................................................................................... 279

Функции, возвращающие значение  ........................................................... 280

Логические функции ............................................................................................ 283
Проектирование интерфейса функций, возвращающих значение .................. 284
Когда применяют функции, возвращающие значение ...................................... 285

Пример программирования. «Вес и балансировка самолета» ........... 286
Тестирование и отладка ................................................................................... 294
Заглушки и драйверы ....................................................................................... 294

Советы по тестированию и отладке .................................................................... 295

Итоги главы  .......................................................................................................... 296

Быстрая самопроверка ........................................................................................ 297
Упражнения для подготовки к экзамену .............................................................. 299
Упражнения для разминки ................................................................................... 302
Задачи по программированию ........................................................................... 304

Глава IX. Дополнительные управляющие структуры  .................. 307

Оператор Switch   ................................................................................................. 308
Оператор DoWhile ............................................................................................ 311
Оператор For ........................................................................................................ 313
Инструкции break и continue ........................................................................... 315
Критерии выбора циклической структуры ................................................ 318
Пример программирования. «Среднемесячное 
количество осадков» ........................................................................................... 318

Содержание

Тестирование и отладка ................................................................................... 322

Советы по тестированию и отладке .................................................................... 323

Итоги главы ........................................................................................................... 323

Быстрая самопроверка ........................................................................................ 323
Упражнения для подготовки к экзамену .............................................................. 324
Упражнения для разминки ................................................................................... 326
Задачи по программированию ........................................................................... 328

Глава X. Простые типы данных  ................................................................ 331

Встроенные простые типы  ............................................................................... 332

Целые типы ............................................................................................................ 334
Типы с плавающей точкой .................................................................................... 335

Дополнительные операторы С++ .................................................................. 336

Операторы присваивания и инструкция присваивания ..................................... 337
Операторы инкремента и декремента ................................................................ 338
Поразрядные операторы ..................................................................................... 339
Оператор преобразования ................................................................................. 339
Оператор sizeof .................................................................................................... 340
Оператор ?: .......................................................................................................... 340
Приоритет операторов ........................................................................................ 340

Обработка символьных данных .................................................................... 341

Наборы символов ................................................................................................. 342

Константы типа char в языке С++ ................................................................... 343

Методы программирования ................................................................................. 344

Подробнее о числах с плавающей точкой ................................................. 347

Представление чисел с плавающей точкой ........................................................ 347
Арифметика чисел с плавающей точкой ............................................................ 348

Простые типы, определенные пользователем ......................................... 352

Перечисляемые типы ............................................................................................ 352
Именованные и анонимные типы данных ........................................................... 357
Файлы заголовков, написанные пользователем ................................................ 359

Подробнее о приведении типов .................................................................... 359

Приведение типов в арифметических инструкциях 
и инструкциях сравнения ..................................................................................... 360
Приведение типов при присваивании, передаче параметров 
и возвращении значения функции ...................................................................... 360

Пример програмирования. «Напоминание о дне рождения» ............ 362
Тестирование и отладка  .................................................................................. 367

Данные с плавающей точкой ............................................................................... 367
Борьба с ошибками ввода ................................................................................... 367
Советы по тестированию и отладке .................................................................... 368

Итоги главы ........................................................................................................... 369

Программирование на С++