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

C++

Конспект лекций (часть 1) Оглавление

Оглавление 2

Введение 4

1. Этапы и проблемы решения задач с использованием компьютера 4

2. Общие сведения о языке программирования C++ и системе программирования 4

2.1. История создания языка C++ 4

2.2. Краткая характеристика языка C++ 5

Алфавит языка 5

Ключевые слова 6

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

Знаки операций 7

Константы 7

Комментарии 7

2.3. Структура и основные элементы программы 7

2.4. Трансляция программ и их выполнение 9

3. Стандартные (базовые) типы данных, операции и выражения 11

3.1. Типы данных, переменные и константы 12

Понятие типов данных 12

Классификация простых предопределенных типов данных 13

Переменные, константы 13

3.2. Целочисленные типы данных 15

3.3. Вещественные типы данных 16

3.4. Логический тип данных 17

3.5. Символьный тип данных 17

3.6. Операции и выражения 19

Преобразования типов данных 21

Операция присваивания 23

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

Операции отношения 30

Логические операции 30

Поразрядные (битовые) операции 31

Операции составного присваивания 35

Условная операция 36

Операция sizeof 36

Приоритеты рассмотренных операций 37

3.7. Ввод и вывод простых типов данных 38

Вывод текстовых строк 39

Ввод/вывод арифметических типов данных 41

Форматирование ввода / вывода 42

4. Основные управляющие структуры программирования и управляющие конструкции в языке С++ 48

4.1. Идеи структурного программирования 49

4.2. Управляющие структуры и инструкции языка C++ 52

Условная инструкция (if) 52

52

Инструкция множественного выбора (switch) 56

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

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

Итерационный цикл (for) 61

Инструкции перехода 63

5. Приемы программирования циклов 64

5.1. Рекуррентные вычисления 65

5.2. Инвариант цикла 69

6. Массивы и указатели 71

6.1. Понятие массива 71

6.2. Объявление массивов 72

Объявление одномерных массивов 72

Объявление многомерных массивов 73

6.3. Ввод-вывод массивов 74

6.4. Текстовые строки как массивы символов 75

6.5. Массивы и указатели 75

7. Разработка программ при работе с массивами 75

8. Функции и структура программы 75

9. Организация ввода/вывода и работа с файлами 76

Заключение 76

Приложение. Некоторые полезные примеры и иллюстрации к разделам конспекта 77

Примеры к разделу 5 77

Вычисление факториала числа 77

Быстрое возведение чисел в целую степень 78

Нахождение наибольшего общего делителя (алгоритм Евклида) 79

Введение

Предмет дисциплины и ее задачи. Содержание и форма проведения занятий. Связь с другими дисциплинами учебного плана.

1. Этапы и проблемы решения задач с использованием компьютера

Решение задач на компьютере. Уровни вычислительных систем: архитектура компьютера, операционные системы, методы и технологии программирования, прикладные технологии, информационные системы. Виды программного обеспечения (ПО): программа, программный комплекс, программный продукт (изделие), программная система. Основные показатели качества ПО. Жизненный цикл ПО: основные этапы и процессы, их соотношение с содержанием и видами занятий учебной дисциплины.

2. Общие сведения о языке программированияC++ и системе программирования

Языки программирования и системы программирования. История создания языков C и C++. Краткая характеристика языка C++. Структура и основные элементы программы. Классификация действий и данных. Пример программы на языке C++. Система программирования. Трансляция программ и выполнение программы. Стандарты C и C++. Системы программирования C/C++ для различных вычислительных платформ и операционных сред.

2.1. История создания языкаC++

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

Язык Cбыл разработан Дэнисом Ритчи как "надстройка" над ассемблером в начале 70-х годов прошлого столетия. ЯзыкCбыл предназначен для поддержки технологии структурного программирования. В 1983 году был учрежден комитет по созданию ANSI-стандарта, для обеспечения единства в различных реализациях этого языка. Конечная версия этого стандарта стала доступной для желающих в начале 1990 годов. Эта версия языкаCполучила название С89, и именно она явилась фундаментом, на котором был построен языкC++. ЯзыкCмногие относят к языкам "среднего" уровня, который позволяет программисту достаточно просто делать практически все, что он хочет, но за последствия этих действий в большинстве случаев ответственность ложится именно на программиста, а не на язык программирования.

Усложнение программ в конце 70-х годов привело к появлению новых технологий программирования, одной из которых является объектно-ориентированное программирование. Язык Cне поддерживал эту технологию, что, в конечном итоге, и привело к разработке языкаC++.

Дату рождения языка C++ относят к 1979 году, когда Бьерн Страуструп создал язык "Сcклассам". Свое современное название (C++) он получил в 1983 году. ЯзыкC++ полностью включает в себя все элементы языкаC, то есть программы, написанные на языкеC, практически без изменений могут быть откомпилированы в системахC++. Основные новшества языкаC++ связаны с поддержкой технологий объектно-ориентированного программирования.

В 1994 году был предложен стандарт языка C++. Однако вскоре, в связи с созданием Александром Степановым стандартной библиотеки шаблонов (STL), стандарт был пересмотрен в сторону существенного расширения и усложнения. Этот стандарт появился в свет в 1998 году и основным стандартом языкаC++ до настоящего времени и поддерживается всеми основными современнымиC++ - компиляторами.

C++ является родительским по отношению к таким языкам, какJavaиC#. Эти языки очень похожи, хотя и предназначены для решения задач различных категорий. ЯзыкиJavaиC# предназначены, в первую очередь, для решения задач ориентированных на сильно распределенные сетевые среды. Но благодаря своей способности поддерживать многоплатформные среды эти языки теряют в своей эффективности (например, в быстродействии) по сравнению с языкомC++.

2.2. Краткая характеристика языка C++

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]