Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Основы программирования на C++.doc
Скачиваний:
147
Добавлен:
02.05.2014
Размер:
872.96 Кб
Скачать

1.Переменные и операции языка С++ 3

ИЗУЧАЕМЫЕ ПОНЯТИЯ 3

Буквы и цифры 4

Пробельные символы 5

Знаки пунктуации и специальные символы 5

ESC- последовательности 6

Операции 7

Константы 8

Целые константы 9

Константы с плавающей точкой 10

Константа-символ 11

Строковые литералы 11

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

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

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

Лексемы 14

ИСХОДНЫЕ ТЕКСТЫ ПРИМЕРОВ 14

2.Конструкции принятия решений и циклы 20

ВОПРОСЫ И ОТВЕТЫ 21

СТРУКТУРА ПРОГРАММЫ 23

Исходная программа 23

ОБЪЯВЛЕНИЯ 24

Спецификаторы типов 25

Деклараторы 27

Деклараторы массивов, функций и указателей 27

Составные деклараторы 28

Об"явления переменной 30

Объявление простой переменной 31

Объявление перечисления 32

Объявления структур 33

Битовые поля 34

Об"явление совмещений 35

Об"явление массива 37

Об"явление функций 40

Классы памяти 42

Об"явления переменной на внешнем уровне 43

Об"явление переменной на внутреннем уровне 45

Об"явление функции на внешнем и внутреннем уровнях 47

Инициализация 47

Базовые типы и типы указателей 48

Составные типы 48

Строковые инициализаторы 51

Об"явления типов 51

Типы структур, совмещений и перечислений 51

Об"явления typedef 52

Имена типов 53

КОНТРОЛЬНЫЕ ВОПРОСЫ: 54

Функции 55

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

ТИПОВЫЕ ВОПРОСЫ С ОТВЕТАМИ 59

ПРАКТИКУМ 59

Контрольные вопросы 59

Массивы 62

СОРТИРОВКА массива - ПРИМЕР в файле list6_4cpp. 65

ПОИСК в массиве 65

БИБЛИОТЕЧНЫЕ ФУНКЦИИ ПОИСКА и СОРТИРОВКИ в непрерывных массивах: 65

Строки и управление вводом/выводом 66

Форматированный потоковый вывод 67

Листинг 1. Исходный текст программы OUT1.CPP 67

Функция printf 69

Функция printf 69

Таблица 1. Еsс - последовательности 69

Таблица 7.2. Значения флагов строки формата функции printf 70

Таблица 3. Символы типов данных строки формата функции printf 70

Листинг 3. Исходный текст программы OUT2.CPP в файле List7-3.CPP 71

Таблица 4. Результат действия спецификаций форматирования в функции printf из строки 13 72

Ввод строк 73

Функция getline 73

Присвоение значений строкам 74

Инициализация строки 74

Функция strcpy 74

Функция strdup 75

Функция strncpy 75

Определение длины строки 75

Функция strlen 75

Функция strcat 76

Функция strncat 76

Сравнение строк 76

Функция strcmp 77

Пример 77

Функция stricmp 77

Пример 77

Функция strncmp 77

Пример 78

Пример 78

(см. List7_5.cpp - Исходный текст программы STRING2.CPP) 78

Преобразование строк 78

Функция strlwr 78

Пример 78

Функция strupr 79

Пример 79

Обращение строк 79

Функция strrev 79

Поиск символов 79

Функция strchr 79

Функция strrchr 80

Пример 80

Функция Strspn 80

Пример 80

Функция strcspn 80

Пример 81

Функция strpbrk 81

Пример 81

Поиск строк 81

Функция strstr 81

Пример 81

Функция strtok 82

Пример 82

Основы объектно-ориентированного программирования СИНТАКСИС ОСНОВНЫХ КОНСТРУКЦИЙ 83

Объявление базовых классов 83

Конструкторы 85

Деструкторы 88

Объявление иерархии классов 88

Виртуальные функции 89

Дружественные функции 92

Операции и дружественные операции 93

Виртуальные функции 95

Правило виртуальной функции 96

Операции и дружественные операции 99

ИСХОДНЫЕ ТЕКСТЫ ПРИМЕРОВ 100

ВОПРОСЫ И ОТВЕТЫ 100

Контрольные вопросы 101

ФАЙЛОВЫЕ ОПЕРАЦИИ ВВОДА/ВЫВОДА 102

Stream-библиотека C++ 103

ОБЩИЕ ФУНКЦИИ ПОТОКОВОГО ВВОДА/ВЫВОДА 103

Функция-компонент open 103

Функция-компонент close 104

ПОСЛЕДОВАТЕЛЬНЫЙ ТЕКСТОВЫЙ ПОТОК ВВОДА/ВЫВОДА 105

Функция-элемент getline 105

ПОСЛЕДОВАТЕЛЬНЫЙ ДВОИЧНЫЙ ФАЙЛОВЫЙ ВВОД/ВЫВОД 107

Функция-элемент write 107

Функция-элемент read 107

Файловый ввод/вывод с прямым доступом 110

Функция-элемент seekg 111

Заключение 112

Вопросы и ответы 113

Практикум 113

Контрольные вопросы 113

Упражнение 113

  1. Переменные и операции языка С++

Здесь представлены базовые компоненты программ на С++. В их число

входят типы данных, переменные, константы и выражения.

Изучаемые понятия

- Предопределенные типы данных в С++ включают в себя типы int, char,

float, double и void. В языке С++ гибкость типов данных увеличивается

благодаря применению модификаторов типов. Эти модификаторы изменяют

точность представления и диапазон значений переменных. Модификаторами

типа являются signed, unsigned, short и long.

- Идентификаторы в С++ могут иметь длину до 32 символов и

должны начинаться с буквы или подчеркивания. Последующие символы

идентификатора могут быть буквой, цифрой или подчеркиванием. Иден-

тификаторы С++ чувствительны к регистру. Ограничение на 32 символа

может быть, однако, изменено путем установки опций компилятора.

- Директива #include является специальной командой компилятора. Она

предписывает компилятору включить в программу содержимое опреде-

ленного файла, как если бы вы сами ввели его в текущий исходный

файл.

- Объявление констант предусматривает использование директивы #define

для объявления констант, определенных при помощи макросов, или ис-

пользование ключевого слова const для объявления формальных кон-

стант. Формальные константы требуют от вас определения их типа

(значением по умолчанию является int), имени и ассоциированного с

ними значения.

- Объявление переменной требует, чтобы вы задали ее тип и имя, С++

дает вам возможность инициализировать переменную при ее объявлении.

Вы можете объявить несколько переменных в одном операторе объявле-

ния.

- Арифметическими операциями являются +, -, *, / и % (деление по

модулю).

- Арифметические выражения различаются по сложности. Самое простое

выражение содержит единственный элемент данных (литерал, константу

или переменную). Сложные выражения включают набор операций, функ-

ции, литералы, константы и переменные.

- Операции инкремента и декремента используются в префиксной и пост-

фиксной формах. Язык С++ дает вам возможность применять эти опе-

рации к переменным, в которых хранятся символы, целые числа и даже

числа с плавающей точкой.

- Арифметические операции присваивания дают вам возможность записы-

вать более короткие арифметические выражения, в которых первый опе-

ранд является также переменной, принимающей результат вычислений.

- Оператор sizeof возвращает как для типов данных, так и для переменных

их размер в байтах.

- Механизм приведения типа дает вам возможность форсировать преобра-

зование типа выражения.

- Операции отношений и логические операции дают вам возможность стро-

ить логические выражения.

- Булевы выражения объединяют операции отношений и логические опе-

рации для формулирования нетривиальных условий. Эти выражения позволяют

программе принимать сложные решения.

- Условное выражение предлагает вам короткую форму для простого опе-

ратора if-else с двумя альтернативами.

- Операции манипулирования битами выполняют поразрядные операции

AND, OR, XOR и NOT. Кроме того, в С++ поддерживаются поразрядные

операции сдвига << и >>.

- Операции манипулирования битами с присваиванием предлагают корот-

кие формы для простых операций манипулирования битами.