С. Прата - Язык программирования C++. Лекции и упражнения
Описание файла
PDF-файл из архива "С. Прата - Язык программирования C++. Лекции и упражнения", который расположен в категории "". Всё это находится в предмете "практикум (прикладное программное обеспечение и системы программирования)" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
С.ПратаЯЗЫК ПРОГРАММИРОВАНИЯ C++. ЛЕКЦИИ И УПРАЖНЕНИЯИзучение языка программирования C++ является приключением, ведущим коткрытиям. Это связано с тем, что C++ непрерывно развивается. В этой книгерассказывается о стандартном языке C++ без привязки к какому-либо одному видукомпьютера, операционной системы или компилятора. Здесь вы найдетеподробнейшее описание синтаксиса языка, сопровождаемое многочисленнымипрактическими примерами. Цель книги - научить читателя создавать эффективныепрограммы и получать от этого удовольствие.Издание рассчитано на пользователей с любым уровнем подготовки. Дляначинающих эта книга послужит превосходным учебником, а опытныепрограммисты смогут воспользоваться ею в качестве справочника, облегчающегоих ежедневный труд.Учитывая уровень рассмотрения теоретических вопросов и наличие тщательноподобранных упражнений, книгу можно рекомендовать как методическое пособиепреподавателям высших и средних учебных заведений, а также в качествеучебника для студентов.Краткое оглавлениеГлава 1.
Готовимся изучать язык C++Глава 2. Приступаем к изучению языка C++Глава 3. Представление данныхГлава 4. Производные типы данныхГлава 5. Циклы и выражения сравненияГлава 6. Операторы ветвления и логические операцииГлава 7. Функции языка C++Глава 8. Работа с функциямиГлава 9. Объекты и классыГлава 10. Работа с классамиГлава 11.
Классы и динамическое распределение памятиГлава 12. Наследование классовГлава 13. Повторное использование программного кода в C++Глава 14. Дружественные конструкции, исключения и прочееГлава 15. Класс string и стандартная библиотека шаблоновГлава 16. Ввод/вывод данных и работа с файламиПриложение А. Системы счисленияПриложение В. Ключевые слова языка C++Приложение С. Таблица кодов ASCIIПриложение D. Приоритет операцийПриложение Е. Другие операцииПриложение F. Класс шаблона STRINGПриложение G. Методы и функции библиотеки STLПриложение Н.
Рекомендуемая литератураПриложение I. Преобразование программного кодав соответствии со стандартом ANSI/ISO C++21325279115145164196245274306345381424465516568570571575578583594615617Приложение J. Ответы на вопросы для повторенияПредметный указатель622634ОглавлениеГлава 1. Готовимся изучать язык C++Изучение языка C++Немного историиЯзык СФилософия программирования, заложенная в языке СОбъектно-ориентированное программированиеОбобщенное программированиеЯзык C++Переносимость и стандартыМетодика создания программСоздание исходного кодаКомпиляция и компоновкаКомпиляция и компоновка в операционной системе UNIXРеализации Turbo C++ 2.0 и Borland C++ 3.1 (DOS)Компиляторы для операционной системы WindowsКомпиляторы для компьютеров MacintoshСоглашения, используемые в этой книгеНаша системаГлава 2.
Приступаем к изучению языка C++Начальные сведения о языке C++Функция main()Заголовок функции в роли интерфейсаКогда функция main() не соответствует своему названию?Комментарии в языке C++Препроцессор C++ и файл iostreamИмена заголовочных файловОбласти именВывод данных в языке C++ с использованием объекта coutСимвол новой строки (\n)Форматирование исходного кода C++Формат исходного кода программ C++Краткие сведения об операторах языка C++Операторы объявления и переменныеОператор присваиванияВажный момент, связанный с объектом coutЕще несколько операторов языка C++Применение объекта cinИ снова объект coutНесколько слов о классахФункцииПрименение функций с возвращаемым значением2121222223232424252627282829293031313232333435353636363738394040404141424243434444Разновидности функцийФункции, определяемые пользователемФормат определения функцииЗаголовки функцийОпределяемая пользователем функция с возвращаемым значениемИтак, операторыРезюмеВопросы для повторенияУпражнения по программированиюГлава 3.
Представление данныхПростые переменныеИмена переменныхЦелочисленные типы данныхТипы даных short, int и longПримечания к программеТипы данных без знакаКакой тип выбрать?Целочисленные константыОпределение типа константы в C++Тип данных char: символы и малые целые числаПримечания к программеФункция-элемент: cout.put()Константы типа charТипы данных signed char и unsigned charТип данных wchar_tНовый тип данных boolКвалификатор constЧисла с плавающей точкойЗапись чисел с плавающей точкойТипы данных с плавающей точкойПримечания к программеКонстанты с плавающей точкойПреимущества и недостатки типов данных с плавающей точкойАрифметические операции языка C++Приоритет операций и ассоциативностьРазновидности операции деленияОперация деления по модулюПреобразования типов данныхПреобразование при присваиванииПреобразования данных в выраженияхПреобразования данных при передаче аргументовПриведение типовРезюмеВопросы для повторенияУпражнения по программированию464747484950505151525253545456575859606061626264646565666667696969707171727373747575777778Глава 4.
Производные типы данныхКраткий обзор массивовПримечания к программеЕще об инициализации массиваСтрокиКонкатенация строкИспользование строк в массивеПримечания к программеВозможные нюансы при строковом вводеСтрочно-ориентированный ввод: getline() и get()Пустые строки и другие проблемыСмешанный строчно-числовой вводКраткий обзор структурПримечания к программеДругие свойства структурыМассивы структурРазрядные поляОбъединенияПеречисленияУстановка значений перечислителяДиапазоны значений для перечисленийУказатели и свободная памятьОбъявление и инициализация указателейУказатели и числаРаспределение памяти с помощью оператора newПримечания к программеОсвобождение памяти с помощьюоператора deleteИспользование оператора new для создания динамических массивовСоздание динамического массива с помощью оператора newИспользование динамического массиваУказатели, массивы и арифметика указателейПримечания к программеОсновные сведения об указателяхУказатели и строкиПримечания к программеИспользование оператора new для создания динамических структурПример использования операторов new и deleteПримечания к программеАвтоматическая, статическая и свободная памятьАвтоматические переменныеСтатическая памятьСвободная памятьРезюмеВопросы для повторения79798181828383848485878788909091929293949495979899100100101101102103104105106106109110111111112112112112113Упражнения по программированиюГлава 5.
Циклы и выражения сравненияОбзор возможностей цикла forСоставные элементы цикла forВыражения и операторыОператоры и выраженияНезначительное нарушение правилСнова о цикле forПримечания к программеИзменение шага циклаДоступ к символам строки с помощью цикла forОператоры инкремента (++) и декремента (--)Комбинированные операторы присваиванияСоставные операторы или блокиОператор "запятая" (или дополнительные синтаксические приемы)Примечания к программеОсобенности применения оператора "запятая"Выражения сравненияТипичная ошибка программированияСравнение строкПримечания к программеЦикл whileПримечания к программеСравнение циклов for и whileНебольшая паузаЦикл do whileЦиклы и ввод текстаПрименение простого оператора cin для ввода данныхПримечания к программеНа помощь приходит функция cin.get(char)Выбор функции cin.get()Условие конца файлаКонец файла означает конец вводаРаспространенные идиомыЕще одна разновидность функции cin.get()Вложенные циклы и двумерные массивыИнициализация двумерного массиваРезюмеВопросы для повторенияУпражнения по программированиюГлава 6.
Операторы ветвления и логические операцииОператор ifОператор if elseФорматирование операторов if elseКонструкция if else if else114115115116117119119120120121121122123123124125126126126128129129130131132133134134135135136136137138138140141142143143145145146147147Логические выраженияОперация логического ИЛИ: ||Операция логического И: &&Примечания к программеОпределение диапазонов с помощью операции &&Примечания к программеОперация логического НЕ: !Примечания к программеНемного о логических операцияхБиблиотека символьных функций cctypeОператор ?:Оператор switchИспользование перечислителей в качестве метокОператоры switch и if elseОператоры break и continueПримечания к программеЦиклы считывания чиселПримечания к программеРезюмеВопросы для повторенияУпражнения по программированиюГлава 7.
Функции языка C++Обзор функцийОпределение функцииПрототипирование и вызов функцийПочему именно прототипы?Синтаксис прототипаПольза прототиповАргументы функции и передача по значениюФункции с несколькими аргументамиПримечания к программеЕще одна функция с двумя аргументамиПримечания к программеФункции и массивыМассивы и указатели (продолжение)Трудности, возникающие при использовании массивов в качествеаргументовПримечания к программеДругие виды функций, выполняющих обработку массивовЗаполнение массиваОтображение массива и его защита с помощью спецификатораconstМодификация элементов массиваОбъединение частей в единое целоеПримечания к программе148148149150150151151152152153154155157157158158159161161161162164164165166167167168169169171171172172173174175176176177177178179Указатели и спецификатор constФункции и строки в стиле СПримечания к программеФункции, возвращающие строкиПримечания к программеФункции и структурыПередача и возврат структурЕще один примерПримечания к программеПередача адресов структурРекурсияПримечания к программеУказатели на функцииНазначение указателя на функциюПолучение адреса функцииОбъявление указателя на функциюИспользование указателя для вызова функцииРезюмеВопросы для повторенияУпражнения по программированиюГлава 8.
Работа с функциямиВстроенные функцииСсылочные переменныеСоздание ссылочных переменныхСсылки в роли параметров функцииПримечания к программеСвойства и особенности ссылокВременные переменные, ссылочные аргументы и модификаторconstИспользование ссылок при работе со структурамиПримечание к программеНекоторые соображения по вопросу о том, когда возвращатьссылку или указательКогда имеет смысл пользоваться ссылочными аргументамиАргументы, заданные по умолчаниюПримечания к программеПолиморфизм функций (перегрузка функции)Пример перегрузкиКогда целесообразно использоватьперегрузку функцииШаблоны функцийПерегруженные шаблоныЯвная специализацияМетод первой генерацииВторая генерация179180181182182183183184186187188189189190190190191192193193196196198198200202202203204205206207207209209211212212214215216216Третья генерацияПримерОбразование шаблонов и специализацияВыбор функцийТочное соответствие и наилучшее соответствиеФункции со многими аргументамиРаздельная компиляцияКлассы памяти, диапазоны доступа и связываниеДиапазон доступа и связываниеАвтоматическая памятьАвтоматические переменные и работа со стекомПеременные типа registerСтатический класс памятиВнешние переменныеПримечания к программеМодификатор static (локальные переменные)Связывание и внешние переменныеСпецификаторы классов памяти:const, volatile и mutableБолее подробно о спецификаторе constКлассы памяти и функцииЯзыковое связываниеКлассы памяти и динамическое распределениеПространства именТрадиционные пространства имен языка C++Новые свойства пространства именОбъявления использования и директивы usingНемного больше о свойствах пространства именНеименованные пространства именПространства имен и будущееРезюмеВопросы для повторенияУпражнения по программированиюГлава 9.