Программирование на С++
Покупка
Тематика:
Программирование на C и C++
Издательство:
ДМК Пресс
Год издания: 2007
Кол-во страниц: 672
Дополнительно
Вид издания:
Учебник
Уровень образования:
ВО - Бакалавриат
ISBN: 5-93700-008-0
Артикул: 615935.01.99
Книга рассчитана на тех, кто нуждается в понятном и доступном введении в язык C++, и может использоваться как самоучитель. Она также рассказывает о компьютерах и алгоритмическом решении задач, поэтому может служить в качестве первого учебника программирования. Авторы убедительно показывают, что темы, когда-то считавшиеся слишком сложными для вводного курса по С++ и объектно-ориентированному программированию, можно успешно объяснять на ранних стадиях обучения. Книга является удачным выбором для первого знакомства с С++. Материал излагается в строгой, но доступной для начинающего программиста форме. Авторы приводят многочисленные откомпилированные и проверенные упражнения с ответами. Все входящие в книгу программы размещены на Web-сайте издательства «ДМК» (www.dmk.ru) и легко доступны читателям. Издание предназначено для пользователей ПК (от начального до среднего уровня), начинающих программистов, школьников, студентов и преподавателей информатики.
Тематика:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Нейл Дейл, Чип Уимз, Марк Хедингтон Программирование на С++
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 Условный оператор в форме IfThenElse ............................................................ 160 Применение блоков в условном операторе ....................................................... 162 Условный оператор в форме IfThen .................................................................... 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 Оператор DoWhile ............................................................................................ 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 Программирование на С++