К преимуществам языка Си следует отнести переносимость программ на компьютеры различной архитектуры из одной операционной системы в другую, лаконичность записи алгоритмов, логическую стройность программ, а также возможность получить программный код, сравнимый по скорости выполнения с программами, написанными на языке Ассемблер. <...> Кроме того, часть строки, следующая за символами //, рассматривается как однострочный комментарий. <...> Он используется для объявления функций, которые не возвращают никакого значения, а также для объявления указателей на значение типа void. <...> 6 от 1.175494351е-38 до 3.402823466е+38 от 2.2250738585072014е-308 до 1.7976931348623158е+308 При выполнении бинарных операций производятся преобразования по умолчанию для приведения операндов к одному и тому же типу, который потом используется как тип результата: 1. если один из операндов имеет тип long double, другой тоже преобразуется в long double; • иначе, если один операнд имеет тип double, то второй операнд преобразуется к типу double; • иначе, если один операнд имеет тип float, то второй операнд преобразуется к типу float; • иначе над обоими операндами производится интегральное продвижение, а именно: значения типов char, signed char, unsigned char, short int и unsigned short int преобразуются в int, если int может представить все значения исходных типов, в противном случае они преобразуются в unsigned int; bool преобразуется в int. <...> 2. затем если один операнд имеет тип unsigned long, то второй операнд преобразуется к типу unsigned long; • иначе, если один из операндов относится к типу long int, а другой к типу unsigned int, то если long int может представить все значений типа unsigned int, unsigned int преобразуется в long int, иначе оба операнда преобразуются в unsigned long int; • иначе, если один операнд имеет тип long int, то второй операнд преобразуется к типу long int; • иначе, если один операнд имеет тип unsigned int, то второй операнд преобразуется к типу unsigned int; • иначе оба операнда имеют тип int. <...> Скрытое глобальное имя можно использовать, если квалифицировать его унарной операцией <...>
Основы_программирования_на_языке_C++_.pdf
ИНФОРМАЦИОННЫЕ СИСТЕМЫ
И ТЕХНОЛОГИИ
А. А. TOHXOHOEBA
основы
ПРОГРАММИРОВАНИЯ
НАЯЗЫКЕ С++
УЛАН-УДЭ 2015
Стр.1
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
БУРЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
А. А. Тонхоноева
ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА ЯЗЫКЕ C++
Рекомендовано Учебно-методическим советом БГУ
в качестве учебно-методического пособия
для студентов направления 09.03.02 —
Информационные системы и технологии
ИЗДАТЕЛЬСТВО
Улан-Удэ
2015
Стр.3
УДК 004.45(075.8)
ББК 32.97 я73
Т 576
Утверждено к печати
редакционно-издательским советом
Бурятского государственного университета
Р е ц е н з е н т ы
Т. Ж. Базаржапова
канд. пед. наук,
ст. преподаватель кафедры информатики
и информационных технологий
в экономике БГСХА
Т. В. Немчинова
канд. пед. наук,
доцент кафедры ВТ и информатики БГУ
Тонхоноева А. А.
Т 576 Основы программирования на языке C++ : учебнометодическое
пособие. — Улан-Удэ: Изд-во Бурятского госуниверситета,
2015. — 122 с. ISBN 978-5-9793-0744-2
В пособии изложены теоретические основы программирования на языке
C++ и представлены задачи для самостоятельной работы студентов. Сборник
составлен с учетом опыта проведения лекционных, практических и лабораторных
занятий по программированию для студентов направления
обучения 09.03.02 Информационные системы и технологии.
Сборник предназначен для студентов младших курсов, специализирующихся
в области информационных технологий, и преподавателей, ведущих
практические занятия по программированию.
УДК 004.45(075.8)
ББК 32.97 я73
ISBN 978-5-9793-0744-2
© Бурятский госуниверситет, 2014
Стр.4
ВВЕДЕНИЕ
Дисциплина «Технологии программирования» относится к базовой
части цикла профессиональных дисциплин направления подготовки
09.03.02 Информационные системы и технологии.
Данная дисциплина способствует формированию следующих
компетенций, предусмотренных ФГОС-3 по направлению ВПО
09.03.02 «Информационные системы и технологии»:
- способность проводить моделирование процессов и систем
(ПК-5);
- способность разрабатывать средства реализации информационных
технологий (методические, информационные, математические,
алгоритмические, технические и программные) (ПК-12).
В результате освоения дисциплины студент должен:
знать базовые концепции технологий программирования, основные
этапы и принципы создания программных средств, построение
и реализацию основных алгоритмов, принципы работы со
структурами данных, принципы объектно ориентированного программирования,
обработку исключений и ошибок;
уметь выбирать технологию и инструментальные средства, на
их основе разрабатывать, составлять, отлаживать, тестировать программы;
владеть
основными методами и средствами разработки алгоритмов
и программ, приемами структурного программирования, способами
записи алгоритма на языке высокого уровня, навыками проектирования
архитектуры и разработки функциональных модулей пакетов
программ.
Технологией программирования называют совокупность методов
и средств, используемых в процессе разработки программного
обеспечения. Как любая другая технология, технология программирования
представляет собой набор технологических инструкций,
включающих указание последовательности выполнения технологических
операций; перечисление условий, при которых выполняется
та или иная операция; описания самих операций, где для каждой
операции определены исходные данные, результаты.
Кроме набора операций и их последовательности технология
также определяет способ описания проектируемой системы, точнее,
модели, используемой на конкретном этапе разработки.
3
Стр.5
Одним из основных в практическом программировании является
язык Си/Си++. Данный язык можно отнести к классическим языкам,
тем не менее он остается мощным и эффективным языком программирования,
особенно в задачах системного программирования.
К преимуществам языка Си следует отнести переносимость программ
на компьютеры различной архитектуры из одной операционной
системы в другую, лаконичность записи алгоритмов, логическую
стройность программ, а также возможность получить программный
код, сравнимый по скорости выполнения с программами,
написанными на языке Ассемблер. Последнее связано с тем, что,
хотя Си является языком высокого уровня, имеющим полный набор
конструкций структурного программирования, он также обладает
набором низкоуровневых средств, обеспечивающих доступ к аппаратным
средствам компьютера.
Язык C++ сочетает в себе синтаксис языка Си и концепцию объектно-ориентированного
программирования. Ключевое понятие в
языке C++ — класс. Классы обеспечивают сокрытие информации,
гарантированную инициализацию данных, неявное преобразование
определяемых пользователем типов, динамическое определение
типа, контроль пользователя над управлением памятью и механизм
перегрузки операторов. Язык C++ предоставляет гораздо лучшие,
чем язык С, средства для проверки типов и поддержки модульного
программирования. Кроме того, язык C++ сохраняет способность
языка С эффективно работать с аппаратной частью на уровне битов,
байтов, слов, адресов и т. д. Это позволяет реализовывать пользовательские
типы с достаточной степенью эффективности.
Алфавит и основные понятия языка C++. Типы данных
1. Алфавит
Множество символов языка C включает:
• прописные буквы латинского алфавита;
• строчные буквы латинского алфавита;
• арабские цифры;
• разделители : , . ; : ? ! ' « | / \ ~ _ ^ ( ) { } [ ] < > # % & — = + *
Остальные символы могут быть использованы только в символьных
строках, символьных константах и комментариях. Язык
C++ различает большие и маленькие буквы, таким образом, name и
Name — разные идентификаторы.
4
Стр.6
СОДЕРЖАНИЕ
ВВЕДЕНИЕ...........................................................................................3
Алфавит и основные понятия языка C++. Типы данных..........4
Операторы языка С++.........................................................................9
Структура программы...................................................................... 11
Работа с величинами. Ввод-вывод. Выражения. Линейные
программы........................................................................................... 16
Контрольные вопросы......................................................................25
Задания для самостоятельной работы.......................................... 26
Ветвления............................................................................................27
Контрольные вопросы......................................................................34
Задания для самостоятельной работы...........................................34
Циклы................................................................................................... 40
Контрольные вопросы......................................................................46
Задания для самостоятельной работы.......................................... 47
Массивы............................................................................................... 55
Контрольные вопросы......................................................................66
Задания для самостоятельной работы...........................................67
Стр.122
Строки
72
Контрольные вопросы......................................................................78
Задания для самостоятельной работы...........................................80
Подрограммы..................................................................................... 83
Контрольные вопросы......................................................................93
Задания для самостоятельной работы...........................................94
Рекурсия............................................................................................. 100
Контрольные вопросы....................................................................103
Задания для самостоятельной работы.........................................103
Структуры......................................................................................... 105
Контрольные вопросы....................................................................112
Задания для самостоятельной работы.........................................112
ТЕМЫ РЕФЕРАТОВ...................................................................... 117
ГЛОССАРИЙ....................................................................................118
Стр.123
Учебное издание
Антонида Антоновна Тонхоноева
Основы программирования на языке C++
Учебно-методическое пособие
Компьютерная верстка Н. Ц. Тахинаевой
Дизайн обложки И. А. Болонев
Редактор Е. П. Евдокимова
Свидетельство о государственной аккредитации
№ 1289 от 23 декабря 2011 г.
Усл. печ. л. 7,09. Уч.-изд. л. 3,90. Тираж 100. Заказ 88.
Цена договорная.
Подписано в печать 26.02.15. Формат 60х84 1/16.
Издательство Бурятского госуниверситета
670000, г. Улан-Удэ, ул. Смолина, 24а
riobsu@gmail. com
Отпечатано в типографии Издательства БГУ
670000, г. Улан-Удэ, ул. Сухэ-Батора, 3а
Стр.124
ISBN 978-5^793^)744-2
9 785979 307442
Стр.126