Программирование на языке C++
Методические указания к выполнению лабораторного практикума
Покупка
Новинка
Тематика:
Программирование на C и C++
Год издания: 2017
Кол-во страниц: 74
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-4726-8
Артикул: 842325.01.99
Приведены краткие теоретические сведения о программировании на языке С++ и поясняющие примеры приложений, а также задания для выполнения лабораторных работ по каждой из рассматриваемых в курсе тем. Издание ориентировано на среду программирования Visual C++ 2015. Представлены полные комплекты заданий (по 25 вариантов, имеющих одинаковый уровень сложности).
Для студентов 1-го курса машино- и приборостроительных специальностей. Возможно использование преподавателями в качестве сборника заданий при проведении лабораторных работ.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.02: Информационные системы и технологии
- 12.03.01: Приборостроение
- 15.03.01: Машиностроение
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана Программирование на языке С++ Методические указания к выполнению лабораторного практикума
УДК 681.3.06 ББК 32.973-018 П78 Издание доступно в электронном виде на портале ebooks.bmstu.ru по адресу: http://ebooks.bmstu.ru/catalog/199/book1689.html Факультет «Информатика и системы управления» Кафедра «Программное обеспечение ЭВМ и информационные технологии» Рекомендовано Редакционно-издательским советом МГТУ им. Н.Э. Баумана в качестве учебно-методического пособия Авторы: С.В. Борисов, О.Б. Пащенко, И.Л. Серебрякова, В.П. Степанов Рецензент канд. техн. наук, доцент Т.М. Волосатова Программирование на языке С++. Методические указаП78 ния к выполнению лабораторного практикума / [С. В. Борисов и др.]. — Москва : Издательство МГТУ им. Н. Э. Баумана, 2017. — 70, [6] с. : ил. ISBN 978-5-7038-4726-8 Приведены краткие теоретические сведения о программировании на языке С++ и поясняющие примеры приложений, а также задания для выполнения лабораторных работ по каждой из рассматриваемых в курсе тем. Издание ориентировано на среду программирования Visual C++ 2015. Представлены полные комплекты заданий (по 25 вариантов, имеющих одинаковый уровень сложности). Для студентов 1-го курса машино- и приборостроительных специальностей. Возможно использование преподавателями в качестве сборника заданий при проведении лабораторных работ. УДК 681.3.06 ББК 32.973-018 © МГТУ им. Н.Э. Баумана, 2017 © Оформление. Издательство ISBN 978-5-7038-4726-8 МГТУ им. Н.Э. Баумана, 2017
Предисловие Издание содержит краткое изложение основ программирования на языке С++ для студентов, изучающих дисциплину «Информатика» в первом семестре. В методических указаниях рассмотрены программы разветвляющейся структуры, циклы, указатели и ссылки, функции, массивы чисел и символов, строки, массивы структур, текстовые файлы, бинарные файлы. Язык С++ имеет достаточно сложную структуру и скрытый синтаксис, поэтому данные указания призваны помочь начинающим программистам в освоении идеологии этого языка. Структура указаний построена в соответствии с содержанием и последовательностью лабораторных работ практикума. В гл. 1 изложены исходные базовые положения (основы), из которых в дальнейшем строится здание программы. Гл. 2–12 посвящены освоению одной из тем программирования и выполнению одной лабораторной работы. Каждая глава снабжена поясняющими данную тему примерами, содержит вопросы для самоконтроля и список индивидуальных вариантов заданий для выполнения текущей лабораторной работы. Задания лабораторного практикума представлены в виде конкретных указаний на то, что студенты должны выполнить и какие результаты продемонстрировать. Гл. 13 посвящена описанию инструментальных средств отладки программ. В пособии также даны требования к оформлению отчетов и защите лабораторных работ. Вся изложенная информация и приведенные примеры ориентированы на использование студентами консольного приложения визуальной среды программирования Visual С++. Методические указания предназначены для изучения фундаментальных основ программирования, в них не затрагиваются вопросы создания интерфейса. Цели и задачи лабораторного практикума соответствуют программе дисциплины «Информатика» и отражают вклад в формирование соответствующих компетенций основной образовательной программы. После практического освоения дисциплины студент должен знать: • методы представления информации в ЭВМ и выполнения арифметических и логических операций над двоичными числами; • принципы работы технических и программных средств в информационных системах; 3
• типовые алгоритмы решения задач; • язык программирования С++; • среду программирования Microsoft Visual C++; уметь: • разрабатывать алгоритмы и кодировать их на языке программирования; • использовать современные информационные технологии и инструментальные средства для решения различных задач; владеть навыками: • самостоятельной работы с учебной и справочной литературой; • использования программных комплексов и прикладных программ вычисления на компьютере; • разработки алгоритмов и кодирования приложений для решения профессиональных задач; • тестирования и отладки приложений; • представления результатов в удобном для пользователя виде, создания диалоговых и графических приложений; • оформления документации в соответствии с требованиями ЕСПД. 4
1. Основные понятия 1.1. Структура приложения Приложение, написанное на языке С++ с использованием средств процедурного программирования, в общем случае включает: • команды препроцессора; • объявления переменных, констант и типов; • прототипы функций; • определения функций. Препроцессор — это программа, которая обрабатывает исходный текст до компилятора и осуществляет его некоторую предобработку. Посредством команд препроцессора, например, определяется перечень библиотек стандартных функций, которые должны быть подключены при компиляции программы. Выполняемая часть программы на языке С++ представляет собой набор функций, которые в процессе обработки вызывают друг друга. Выполнение программы всегда начинается с функции, имеющей имя main( ) — это основная функция программы. Описание каждой функции, в свою очередь, состоит из заголовка и тела функции: <тип результата> <имя функции> (<список параметров>) { <локальные описания> <операторы> } Данный шаблон интерпретирует структуру программы. 1.2. Скалярные типы данных Типы данных имеют следующие диапазоны и форматы (в битах) представления числовых значений (табл. 1.1). Таблица 1.1 Скалярные типы данных, реализованные в языке С++ Интервал Тип данных Обозначение Длина, байт изменения Короткое целое signed short int 2 -32768..32767 Целое signed long int 4 -2147483648.. ..2147483647 5
Окончание табл. 1.1 Интервал Тип данных Обозначение Длина, байт изменения Символьный char 1 -128..127 Символьный без знака unsigned char 1 0..255 Целое длинное без знака unsigned long int 4 0..4294967295 Целое короткое без знака unsigned short int 2 0..65535 Вещественное float 4 ± 3,4 Е + 38 Вещественное двойной точности double 8 ± 1,7 Е + 308 Таблица раскрывает информационную емкость основных числовых типов данных, что важно для экономного использования оперативной памяти. 1.3. Описание переменных и констант. Инициализация скалярных переменных. Перечисляемый тип. Оператор объявления типа Объявление переменных программы выполняется следующим образом: <описатели> <список переменных>; В качестве описателей используют: • описатель типа, например int, float и т. д. (если описатель типа отсутствует, то по умолчанию считается, что тип int); • описатель класса памяти, определяющего видимость переменной и время хранения ее значения, например auto, static, extern, register; • для указателей могут быть объявлены описатели типа near (ближний адрес) и far (дальний адрес). Переменные можно определять в любом месте программы, например: for (s=0, int i=1; i<n; i++) s+=i; (переменная i объявлена внутри оператора). 6
Объявляемую переменную можно сразу инициализировать, указав после идентификатора и знака равенства ее значение, например: int a=3, x=8; При объявлении константы приводят описатель const, например: сonst int con1=45; При использовании описателя const следует различать: а) указатель на неизменяемый объект: const char *pc=″asdf″; (объявлен неизменяемый объект, следовательно, можно записать pc=“cvbn”;, т. е. изменить значение указателя, но нельзя записать pc[3]=‘k’;, т. е. изменить объект); б) неизменяемый указатель на объект: char *const pc=″asdf″; (объявлен неизменяемый указатель, следовательно, можно записать pc[3]=‘k’;, т. е. изменить объект, но нельзя записать pc=″cvbn″;, т. е. изменить значение указателя). В языке С ++ появилась возможность определять новые типы: typedef <описание типа> <имя типа>; Например: typedef unsigned char byte; (объявление нового типа byte как беззнакового символьного); typedef enum {un,mon,tues,wed,thur,fri,sat} days; (объявление нового тип days, переменные данного типа будут принимать значения от нуля до шести). Описание переменных, констант и типов определяет формат потока входной информации. 1.4. Ввод-вывод данных скалярных типов и строк Для ввода-вывода данных скалярных типов и строк можно использовать стандартные функции ввода-вывода, описанные в библиотеке stdio.h. 7
Функция форматного вывода: int printf(<форматная строка>, <список выводимых результатов>); где <форматная строка> — переменная типа «символьная строка» или строковая константа, содержащая спецификации формата и символы, непосредственно выводимые на экран; <список выводимых результатов> — список, состоящий из выражений, результаты которых необходимо вывести. Спецификации формата определяют форму выводимой информации. Их задают в следующем виде: %[-] [<ширина поля вывода>] [.<длина дробной части>] <форма> где символ «-» означает выравнивание по левой границе, а форма обозначена латинской буквой: d — целое десятичное число; u — целое десятичное число без знака; o — целое число в восьмеричной системе счисления; x — целое число в шестнадцатеричной системе счисления (% 4x — без гашения незначащих нулей); f — вещественное число; e — вещественное число в экспоненциальной форме; c — символ; p — указатель (адрес); s — символьная строка. Кроме того, форматная строка может содержать: \n — переход на следующую строку; \n hhh — вставку символа с кодом ASCII hhh (код задается в шестнадцатеричной системе счисления); %% — печать знака %. Например, при выполнении фрагмента программы i=26; printf (″%-6d∪∪∪%%∪ %o∪ %x\n″, i, i, i); произойдет вывод на экран следующей строки: 26∪∪∪∪∪∪∪%∪32∪1A Функция int printf() возвращает количество выведенных байтов. 8