Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

С++ лабы

.pdf
Скачиваний:
277
Добавлен:
01.02.2019
Размер:
944.72 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Бийский технологический институт (филиал)

федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Алтайский государственный технический университет

им. И.И. Ползунова»

А.И. Сидоренко, Е.В. Сыпин

ПРОГРАММИРОВАНИЕ НА С++ В СРЕДЕ WINDOWS

Методические рекомендации к выполнению лабораторных работ для студентов направления подготовки

09.03.02 (230400.62) «Информационные системы и технологии»

Бийск Издательство Алтайского государственного технического

университета им. И.И. Ползунова

2015

УДК 004.45(076)

Рецензент: Г.С. Ломакин, к. т. н., профессор кафедры ИУС БТИ АлтГТУ

Сидоренко, А.И.

Программирование на C++ в среде Windows: методические рекомендации к выполнению лабораторных работ для студентов направления подготовки 09.03.02 (230400.62) «Информационные системы и технологии» / А.И. Сидоренко, Е.В. Сыпин; Алт. гос. техн. ун-т, БТИ. – Бийск: Изд-во Алт. гос. техн. ун-та, 2015. –

46 с.

В методических рекомендациях приведены задания к лабораторным работам по курсу «Программирование на С++ в среде Windows» и необходимая справочная информация для выполнения этих заданий.

УДК 004.45(076)

Рассмотрены и одобрены на заседании кафедры МСИА.

Протокол № 19 от 06.02.2015 г.

© Сидоренко А.И., Сыпин Е.В., 2015

© БТИ АлтГТУ, 2015

 

СОДЕРЖАНИЕ

 

Введение .......................................................................................................

4

1

Базовые типы данных и ввод-вывод. Арифметические операции и

 

математические функции языка С++ .........................................................

5

 

1.1 Теоретическая часть ..........................................................................

5

 

1.2 Варианты заданий к лабораторной работе ....................................

14

2

Функции...................................................................................................

16

 

2.1 Теоретическая часть ........................................................................

16

 

2.2 Варианты заданий к лабораторной работе ....................................

19

3

Указатели.................................................................................................

21

 

3.1 Теоретическая часть ........................................................................

21

 

3.2 Варианты заданий к лабораторной работе ....................................

23

4

Объекты и классы ...................................................................................

24

 

4.1 Теоретическая часть ........................................................................

25

 

4.2 Варианты заданий к лабораторной работе ....................................

27

5

Перегрузка операторов...........................................................................

29

 

5.1 Теоретическая часть ........................................................................

29

 

5.2 Варианты заданий к лабораторной работе ....................................

32

6

Наследование. Виртуальные функции..................................................

33

 

6.1 Теоретическая часть ........................................................................

33

 

6.2 Варианты заданий к лабораторной работе ....................................

37

7

Шаблоны функций и классов ................................................................

41

 

7.1 Теоретическая часть ........................................................................

41

 

7.2 Варианты заданий к лабораторной работе ....................................

42

8 Требования к отчёту о лабораторной работе .......................................

43

Список рекомендуемой литературы ........................................................

45

3

ВВЕДЕНИЕ

Всоответствии с требованиями ФГОС ВПО направления подготовки 230400.62 «Информационные системы и технологии» и требованиями к результатам освоения дисциплины «Программирование на С++ в среде Windows» студенты должны уметь профессионально пользоваться компьютерной техникой и современными программными продуктами для проектирования базовых и прикладных информационных технологий и владеть навыками разработки средств автоматизированного проектирования информационных технологий.

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

Входе выполнения лабораторных работ студенты будут ознакомлены с основными элементами языка C++ и получат практические навыки использования объектно-ориентированного подхода при разработке приложений в среде Windows.

4

1 БАЗОВЫЕ ТИПЫ ДАННЫХ И ВВОД-ВЫВОД. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ И МАТЕМАТИЧЕСКИЕ ФУНКЦИИ ЯЗЫКА С++

Цель работы: освоить работу в среде разработки Visual Studio 2010 и основные элементы языка C++.

Задачи:

освоить процесс создания и компиляции нового проекта в среде

Visual Studio 2010;

изучить основные типы данных и инструкции управления языка

C++;

изучить арифметические операции и математические функции языка C++;

реализовать программу в соответствии с заданием на лабораторную работу.

1.1 Теоретическая часть 1.1.1 Создание нового проекта

Для создания нового проекта в среде разработки Visual Studio 2010 необходимо выбрать пункт «Создать проект…» на Начальной странице или выбрать пункт меню Файл/Создать/Проект. Внешний вид окна «Создать проект» представлен на рисунке 1.

Рисунок 1 – Внешний вид окна «Создать проект»

5

В данном окне необходимо указать тип создаваемого проекта – Консольное приложение Windows. Далее необходимо указать имя и расположение проекта и нажать кнопку «ОК».

После этого в Мастере приложений Win32 установить галочку «Пустой проект», как показано на рисунке 2, и нажать кнопку «Готово».

Рисунок 2 – Внешний вид окна мастера приложений Win32

Следующий шаг – создание файла исходного кода. Для этого в Обозревателе решений (Вид/Обозреватель решений) щелкнуть правой кнопкой мыши по строке Файлы исходного кода и выбрать пункт

Добавить/Создать элемент. В появившемся окне «Добавление ново-

го элемента» (рисунок 3) выбрать тип создаваемого элемента – Файл C++ (.cpp), ввести имя и нажать кнопку «Добавить».

Рисунок 3 – Внешний вид окна «Добавление нового элемента»

6

В появившемся окне пишется исходный код приложения. Для компиляции приложения используется команда Отладка/Начать отладку. Для пошаговой отладки используется механизм точки останова

(Отладка/Точка останова).

1.1.2 Основные элементы C++-программы

Минимальная программа, написанная на языке C++, выглядит следующим образом:

int main ()

{

}

С функции main () начинается выполнение любой C++- программы, независимо от расположения этой функции в исходном тексте программы. Данная функция не может быть переименована, и при ее отсутствии в исходном коде компилятор выдаст ошибку. Ключевое слово int (сокращение от слова integer), стоящее перед именем main (), означает тип данных для значения, возвращаемого функцией main (). Фигурные скобки {} являются операторными скобками (аналог begin и end в языке Pascal).

Функция main () часто завершается строкой return 0;

При ее выполнении функция main() возвращает вызывающему процессу (в роли которого обычно выступает операционная система) значение 0. Для большинства операционных систем нулевое значение, которое возвращает эта функция, свидетельствует о нормальном завершении работы программы. Другие значения могут означать завершение программы в связи с какой-нибудь ошибкой. Слово return относится к числу ключевых и используется для возврата значения из функции.

В языке C++ определен ряд заголовков (header), которые обычно содержат информацию, необходимую для программы. Данные заголовки представляют собой внешний исходный файл, помещаемый компилятором в начало программы с помощью директивы #include.

Для поддержки C++-системы ввода-вывода используется заголовок <iostream>. Некоторые другие заголовки, использование которых может понадобиться при выполнении лабораторных работ, приведены в таблице 1.1.

Таблица 1.1 – Стандартные заголовочные файлы языка C++

Название

Описание

cctype

Содержит прототипы функций для обработки символов

(ctype.h)

 

7

cmath

Содержит прототипы математических функций

(math.h)

 

cstdlib

Содержит функции для преобразования чисел в текст,

(stdlib.h)

выделения памяти, генерации случайных чисел и дру-

 

гих функций-утилит

cstring

Заголовочный файл для работы со строками

(string.h)

 

ctime

Заголовочный файл для работы с датой и временем

 

 

new

Реализует операторы new и delete, а также другие

 

функции и типы, составляющие основу работы с памя-

 

тью в C++

Для вывода данных на консоль и для ввода данных с клавиатуры используются встроенные идентификаторы cout и cin (составленные из частей слов console output и console input соответственно). Для использования указанных идентификаторов (а также всей библиотеки стандарта C++) необходимо указать компилятору используемое пространство имен. Делается это следующей строкой:

using namespace std;

Эта строка означает, что компилятор должен использовать пространство имен std. Пространство имен (namespace) создает декларативную область, в которой могут размещаться различные элементы программы. Пространство имен позволяет хранить одно множество имен относительно от другого. Другими словами, имена, объявленные в одном пространстве имен, не будут конфликтовать с такими же именами, объявленными в другом. Пространства имен позволяют упростить организацию больших программ. Ключевое слово using информирует компилятор об использовании заявленного пространства имен (в данном случае std). Именно в пространстве имен std объявлена вся библиотека стандарта C++.

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

#include <iostream> #include <locale> #include <conio.h> using namespace std;

int main ()

{

int x, y, z;

8

setlocale(LC_ALL, "rus"); cout << "Введите x: "; cin >> x;

cout << "Введите y: "; cin >> y;

z = x + y;

cout << "Сумма равна: " << z << endl; _getch();

return 0;

}

Выполнение строки setlocale(LC_ALL, "rus") в приведенном листинге предназначено для корректного отображения русских символов в консоли. Данная функция описана в заголовке <locale>. Функция _getch(), описанная в заголовочном файле <conio.h>, предназначена для считывания символа из консоли без использования буфера. В приведенной программе данная функция предназначена для ожидания нажатия любой клавиши перед завершением работы программы (чтобы можно было увидеть результат выполнения). При выполнении строки int x, y, z; объявляются локальные переменные для функции main () целочисленного типа. Основные типы данных, используемые в языке C++, приведены в таблице 1.2.

Таблица 1.2 – Основные типы данных

Тип

Размер в битах

Диапазон

 

 

 

char

8

–128–127

unsigned char

8

0–255

int

32

–2147483648–2147483647

unsigned int

32

0–4294967295

short int

16

–32768–32767

unsigned short int

16

0–65535

long int

32

–2147483648–2147483647

unsigned long int

32

0–4294967295

float

32

3,4Е–38–3,4Е+38

double

64

1,7Е–308–1,7Е+308

long double

80

3,4Е–4932–1,1Е+4932

В таблице 1.3 приведены арифметические и логические операто-

ры C++.

9

Таблица 1.3 – Арифметические и логические операторы C++

Арифметический оператор

Действие

+

Сложение

-

Вычитание, а также унарный минус

*

Умножение

/

Деление

%

Деление по модулю

--

Декремент

++

Инкремент

Операторы отношений

Значение

==

Равно

!=

Не равно

>

Больше

<

Меньше

>=

Больше или равно

<=

Меньше или равно

Логические операторы

Значение

&&

И

||

ИЛИ

!

НЕ

В C++ любое ненулевое число оценивается как true, а нуль – как

false.

1.1.3 Инструкции управления C++

Существует три категории управляющих инструкций: инструк-

ции выбора (if, switch), итерационные инструкции (состоящие из for, while и do–while-циклов) и инструкций перехода (break, continue, return, goto).

Инструкция if позволяет сделать выбор между двумя выполняемыми ветвями программы и имеет следующий формат:

if (выражение)

{

последовательность инструкций

}

else

{

последовательность инструкций

}

Инструкция switch – это инструкция многонаправленного ветвления, которая позволяет выбрать одну из множества альтернатив:

switch (выражение) {

10

Соседние файлы в предмете Программирование на C++