- •Красноярск
- •Федеральное агентство по образованию гоу впо «Сибирский государственный технологический университет»
- •220301 Автоматизация технологических процессов и производств,
- •230201 Информационные системы и технологии,
- •230105 Программное обеспечение вычислительной техники и автоматизированных систем всех форм обучения Красноярск
- •Содержание
- •Введение
- •1 Состав языка
- •1.1 Алфавит языка
- •1.2 Идентификаторы
- •1.3 Ключевые слова
- •1.4 Знаки операций
- •1.5 Константы
- •1.6 Комментарии
- •2.1 Концепция типа данных
- •2.2 Основные типы данных
- •3 Структура программы
- •4 Ввод/вывод
- •5 Переменные и выражения
- •5.1 Переменные
- •5.2 Операции
- •5.3 Выражения
- •6 Базовые конструкции структурного программирования
- •6.1 Оператор «выражение»
- •6.1.1 Задачи для решения на тему «линейные алгоритмы»
- •6.2 Операторы ветвления
- •6.2.1 Условный оператор if
- •6.2.2 Оператор switch
- •6.2.3 Задачи для решения на тему «условные алгоритмы»
- •6.3 Операторы цикла
- •6.3.1 Цикл с предусловием (while)
- •6.3.2 Цикл с постусловием (do while)
- •6.3.3 Цикл с параметром (for)
- •6.3.4 Задачи для решения на тему «сочетание цикла и разветвления»
- •6.4 Операторы передачи управления
- •6.4.1 Оператор goto
- •6.4.2 Оператор break
- •6.4.3 Оператор continue
- •6.4.4 Оператор return
- •6.4.5 Задачи для решения на тему «вложенные циклы (вычисление суммы ряда)»
- •7 Указатели и массивы
- •7.1 Указатели
- •7.1.1 Инициализация указателей
- •7.1.2 Операции с указателями
- •7.2 Ссылки
- •7.3 Массивы
- •7.3.1 Задачи для решения на тему «одномерные массивы»
- •7.3.2 Задачи для решения на тему «двумерные массивы»
- •7.4 Строки
- •7.4.1 Функции стандартной библиотеки
- •7.4.2 Задачи для решения на тему «строки»
- •8.1 Переименование типов (typedef)
- •8.2 Перечисления (enum)
- •8.3 Структуры (struct)
- •8.4 Битовые поля
- •8.5 Задачи для решения на тему «структуры»
- •9 Функции
- •9.1 Объявление и определение функций
- •9.2 Глобальные переменные
- •9.3 Возвращаемое значение
- •9.4 Параметры функции
- •9.5 Передача массивов в качестве параметров
- •9.6 Параметры со значениями по умолчанию
- •9.7 Функции с переменным числом параметров
- •9.8 Рекурсивные функции
- •9.9 Задачи для решения на тему «функции»
- •10 Директивы препроцессора
- •10.1 Директива #include
- •10.2 Директива #define
- •11 Динамические структуры данных
- •11.1 Линейные списки
- •11.2 Стеки
- •11.3 Очереди
- •11.4 Бинарные деревья
- •11.5 Задачи на тему «динамические структуры»
- •Задание на курсовую работу
- •Библиографический список
- •660049, Красноярск, пр. Мира, 82
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