Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / KonspLkStrukturnoe_programmirovanie_na_C__311.doc
Скачиваний:
42
Добавлен:
10.04.2015
Размер:
559.1 Кб
Скачать

54

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

РЫБИНСКАЯ

ГОСУДАРСТВЕННАЯ АВИАЦИОННАЯ

ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ

имени П.А. СОЛОВЬЕВА

В.Г.Шаров

Структурное

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

(Конспект лекций)

Рыбинск 2007

Структурное программирование на C++

Общие сведения о языке C++ 4

Типы данных в C++ 5

Скалярные типы 5

Перечисляемый тип 7

Определение типа пользователя 8

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

Константы и переменные 8

Объявление переменных и констант 9

Переменные 9

Именованные константы 9

Блоки. Область видимости переменных. 10

Выражения 11

Преобразование типов в выражениях 13

Операторы C++. 13

Оператор (операция) присваивания 13

Ввод-вывод в Си++ 14

Ввод с клавиатуры 15

Вывод на дисплей 15

Условный оператор 15

Оператор выбора 17

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

Цикл с предусловием 18

Цикл с постусловием 19

Цикл с параметром ( цикл for) 20

Структура программы на C++. Функции. 21

Структурированные типы данных в C++ 22

Массивы. 22

Символьные строки. 24

Структуры. 25

Передача параметров функции. Перегрузка функций 26

Текстовые файлы в C++. Файловые потоки ввода-вывода. 28

Создание потока ввода-вывода 29

Открытие и закрытие файла 29

Обработка ошибок 30

Чтение-запись символов в файл 31

Ввод-вывод с преобразованием типов 32

Чтение символьных строк из потока ввода 33

Указатели 34

Объявление указателей 34

Операции над указателями 35

Динамические переменные 36

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

Передача массивов в качестве параметров функции. 38

Связь указателей и массивов. Операции над указателями 40

Динамические массивы 41

Работа со списочными структурами 42

Линейный однонаправленный список 42

Динамический стек 45

Оценка алгоритмов 47

Рекурсия 48

Поиск 50

Линейный поиск 50

Двоичный поиск (дихотомия) 51

Сортировка 52

Общие сведения о языке C++

Прямым предшественником языка C++ является структурный язык программирования C, который был предложен Дэнисом Ритчи (Dennis Ritchie) в начале 70-х годов ХХ века для операционной системы Unix. Впервые детальное описание языка C было выполнено в 1978 году в книге Брайана Кернигана (Brian Kernighan) и Дэниса Ритчи, в 1998 году вышел первый стандарт языка. Особенность языка C состоит в том, что он соединил в себе все основные признаки структурного языка высокого уровня (блок, переменная, операторы присваивания, ветвления, цикла) с низкоуровневыми средствами манипулирования с битами, байтами, адресами. Таким образом, язык C представляет собой мощный инструмент, который позволяет программисту иметь практически полную власть над компьютером. Однако следствием этого является невозможность поддерживать жесткий контроль за корректностью действий, инициируемых программным кодом, поэтому ответственность за последствия выполняемых программой действий возлагается на программиста.

К концу 70-х годов прошлого века стала ощущаться ограниченность структурных языков и структурной технологии программирования при работе над крупными проектами. Одним из новых технологических направлений, призванных разрешить эту проблему, явилось объектно-ориентированное программирование. В 1979 году Бьерн Страуструп (Bjarne Stroustrup) предложил объектно-ориентированное расширение расширение языка C – язык программирования, который сначала получил название «C с классами» (класс – одно из базовых понятий объектно-ориентированного программирования), а с 1983 года стал называться C++. Страуструп в качестве прямых предшественников созданного им языка называет язык C и объектно-ориентированный язык программирования Simula67. Язык C++ - высокоуровневое расширение C, объектно-ориентированный язык высокого уровня, сохранивший все основные структурные и низкоуровневые возможности языка С. С одной стороны объектно-ориентированные средства существенно расширили возможности языка при реализации крупных программных проектов, с другой стороны наличие низкоуровневых средств сохраняет за программистом основную долю ответственности за корректность программного кода. Первый стандарт языка C++, который существенно упорядочил и улучшил язык, был принят в 1998 году.

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

Типы данных вC++

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

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

Соседние файлы в папке госы