Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка С.doc
Скачиваний:
13
Добавлен:
12.11.2019
Размер:
1.94 Mб
Скачать

H.Л. Резова, Д.Н. Кузьмин

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

Красноярск

2010

Федеральное агентство по образованию гоу впо «Сибирский государственный технологический университет»

H.Л. Резова, Д.Н. Кузьмин

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

Утверждено редакционно-издательским советом в качестве учебного пособия для студентов специальностей

220301 Автоматизация технологических процессов и производств,

230201 Информационные системы и технологии,

230105 Программное обеспечение вычислительной техники и автоматизированных систем всех форм обучения Красноярск

2010

H.Л. Резова, Д.Н. Кузьмин. Программирование на С++: учебное пособие для студентов специальностей 220301 Автоматизация технологических процессов и производств, 230201 Информационные системы и технологии, 230105 Программное обеспечение вычислительной техники и автоматизированных систем всех форм обучения. - Красноярск.: СибГТУ, 2010.- 103с.

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

Рецензенты: канд. физ.-мат. наук С.С. Замай (ИВМ СО РАН);

ст. препод. Е.В. Касьянова (научно-методический совет СибГТУ)

© H.Л. Резова, Д.Н. Кузьмин, 2010

© ГОУ ВПО «Сибирский государственный технологический университет», 2010

Содержание

Введение 9

1 Состав языка 9

1.1 Алфавит языка 10

1.2 Идентификаторы 10

1.3 Ключевые слова 11

1.4 Знаки операций 11

1.5 Константы 11

1.6 Комментарии 13

2 Типы данных С++ 13

2.1 Концепция типа данных 14

2.2 Основные типы данных 14

3 Структура программы 16

4 Ввод/вывод 17

5 Переменные и выражения 24

5.1 Переменные 24

5.2 Операции 27

5.3 Выражения 31

6 Базовые конструкции структурного программирования 32

6.1 Оператор «выражение» 33

6.1.1 Задачи для решения на тему «линейные алгоритмы» 33

6.2 Операторы ветвления 35

6.2.1 Условный оператор if 35

6.2.2 Оператор switch 37

6.2.3 Задачи для решения на тему «условные алгоритмы» 38

6.3 Операторы цикла 40

6.3.1 Цикл с предусловием (while) 41

6.3.2 Цикл с постусловием (do while) 42

6.3.3 Цикл с параметром (for) 43

6.3.4 Задачи для решения на тему «сочетание цикла и разветвления» 45

6.4 Операторы передачи управления 46

6.4.1 Оператор goto 47

6.4.2 Оператор break 47

6.4.3 Оператор continue 48

6.4.4 Оператор return 48

6.4.5 Задачи для решения на тему «вложенные циклы (вычисление суммы ряда)» 48

7 Указатели и массивы 51

7.1 Указатели 51

7.1.1 Инициализация указателей 52

7.1.2 Операции с указателями 55

7.2 Ссылки 56

7.3 Массивы 57

7.3.1 Задачи для решения на тему «одномерные массивы» 61

7.3.2 Задачи для решения на тему «двумерные массивы» 64

7.4 Строки 67

7.4.1 Функции стандартной библиотеки 68

7.4.2 Задачи для решения на тему «строки» 71

8.1 Переименование типов (typedef) 71

8.2 Перечисления (enum) 72

8.3 Структуры (struct) 72

8.4 Битовые поля 74

8.5 Задачи для решения на тему «структуры» 75

9 Функции 79

9.1 Объявление и определение функций 79

9.2 Глобальные переменные 82

9.3 Возвращаемое значение 82

9.4 Параметры функции 82

9.5 Передача массивов в качестве параметров 83

9.6 Параметры со значениями по умолчанию 85

9.7 Функции с переменным числом параметров 86

9.8 Рекурсивные функции 86

9.9 Задачи для решения на тему «функции» 87

10 Директивы препроцессора 89

10.1 Директива #include 89

10.2 Директива #define 89

11 Динамические структуры данных 90

11.1 Линейные списки 91

11.2 Стеки 96

11.3 Очереди 97

11.4 Бинарные деревья 99

11.5 Задачи на тему «динамические структуры» 101

Задание на курсовую работу 103

Библиографический список 107