Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Цикл For



В мові С++ цикл for має дещо інший синтаксис, ніж цикл For в мові VB, але концепція залишається тою ж самою, якщо не зважати на те, що операція, яка виконується в кінці кожної ітерації, має бути вказана явно. Розглянемо наступний фрагмент програми на VB (знак одиночної лапки на початку рядка на VB означає рядок – коментар):

For i = 1 to 100

' Деякі дії

Next i

В С++ цей фрагмент виглядатиме так:

for (int i = 0; i < 10; i++)

{

// Деякі дії

}

10.3.4.3 Інструкція For Each

Аналог інструкції For Each мови VB є тільки в новій мові програмування С# і забезпечується інструкцією foreach, яка використовується для масивів, класів-колекцій та інших класів, що реалізують необхідний для цієї інструкції інтерфейс нумерації.

10.3.4.4 Інструкція Do Loop

В мові С++ існують дві циклічні конструкції, які замінюють інструкцію Do Loop мови VB. При використанні інструкції while цикл виконується, поки умова залишається істинною, а інструкція do while працює аналогічно за винятком того, що одноразове виконання циклу гарантовано навіть у тому випадку, коли умова хибна. Розглянемо наступний фрагмент програми на VB:

I = 1

fact = 1

Do While I <= n

fact = fact * I

I = I + 1

Loop

В С++ цей фрагмент приймає такий вигляд:

int I = 1;

int fact =1;

while (I <= n)

{

fact = fact * I;

I++;

}

10.3.4.5 Інструкція Select Case

Інструкція switch в мові С++ аналогічна інструкції Select Case в мові VB. Розглянемо наступний фрагмент програми на VB:

Select Case x

Case 1

F1

Case 2

F2

Case 3

F2

Case Else

F3

End Select

В С++ цей фрагмент виглядатиме так:

switch (x)

{

case 1:

F1();

break;

case 2:

case 3:

F2();

break;

default:

F3();

break;

}

10.3.4.6 Інструкція On Error

В мові С++ не існує аналога інструкції On Error, яка задає спосіб обробки виключень в програмах на мові VB.

РЕКОМЕНДОВАНА ЛИТЕРАТУРА

1. Б. Страуструп. Язык программирования С++. Специальное издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2004 г. 1104 с.

2. Харви Дейтел, Пол Дейтел. Как программировать на C++: Третье издание. Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2001. – 1152 с.

3. Шилдт, Герберт. Полный справочник по C++. 4-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 800 с.

4. Глушаков С. В., Коваль А. В., Смирнов С. В. Язык программирования C++. – Харьков: Фолио, 2002. – 500 с.

5. К. Паппас, У. Мюррей. Эффективная работа: Visual C++.NET. – СПб.: Питер, 2002. – 816 с.

6. Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си / Пер. с англ. Д. Б. Подшивалова и В. А. Иващенко. – М.: Финансы и статистика, 1985. – 279 с.

7. Г. Шилдт. Самоучитель C++ / Пер. с англ. 3-е изд. – СПб.:БХВ – Петербург, 2002. – 688 с.

8. Шефферд Джордж. Программирование на Microsoft Visual C++.NET /Пер. с англ. – М.: Издательско-торговый дом «Русская редакция», 2003. – 928 с.

9. Черносвитов А. Visual C++ 7: учебный курс. – СПб.: Питер, 2001. – 528 с.

10. Плаугер П., Степанов А., Ли М., Массер Д. STL – стандартная библиотека шаблонов C++ / Пер. с англ.. – СПб.: БХВ-Петербург, 2004. – 656 с.

11. Троелсен Э. C# и платформа.NET. Библиотека программиста. – СПб.: Питер, 2002. – 800 с.

12. Корнелл Г., Моррисон Дж. Программирование на VB.NET: учебный курс. – СПб.: Питер, 2002. – 400 с.


ВСТУП.. 2

1 БАЗОВІ ЕЛЕМЕНТИ МОВИ СИСТЕМНОГО ПРОГРАМУВАННЯ 4

1.1 Функції 5

1.2 Коментарі 5

1.3 Змінні і типи даних.. 6

1.4 Вказівники і масиви.. 8

1.5 Літерали.. 9

1.5.1 Логічні літерали. 9

1.5.2 Символьні літерали. 9

1.5.3 Цілі літерали. 10

1.5.4 Літерали з плаваючою крапкою.. 10

1.5.5 Рядкові літерали. 11

1.6 Вирази.. 11

1.7 Оператори.. 12

1.7.1 Оператори вводу – виводу. 18

1.7.1.1 Оператор вводу. 18

1.7.1.2 Оператор виводу. 19

1.8 Інструкції 20

2 РОБОТА З ДАНИМИ.. 23

2.1 Оголошення. 23

2.1.1 Синтаксис оголошення. 24

2.1.2 Оголошення декількох імен. 25

2.1.3 Ідентифікатори. 25

2.1.4 Область видимості імен. 27

2.1.5 Час життя об'єктів. 28

2.1.6 Ініціалізація об'єктів. 29

2.1.7 Специфікатори сталості змінних. 30

2.1.7.1 Специфікатор const 30

2.1.7.2 Специфікатор volatile. 30

2.1.8 Розміщення іменованих об'єктів в пам'яті 31

2.1.8.1 Регістрова пам'ять. Специфікатор register 31

2.1.8.2 Локальна пам'ять. Специфікатор auto. 32

2.1.8.3 Статична пам'ять. Специфікатор static. 32

2.1.8.4 Специфікатор extern. 33

2.1.9 Динамічна пам'ять. 35

2.1.9.1 Оператори new і delete. 35

2.1.9.2 Оператори new[] і delete[] 36

2.1.9.3 Обробка помилок виділення пам'яті 37

2.1.9.4 Автоматичне збирання сміття. 38

2.1.9.5 Фрагментація пам'яті 39

2.2 Вказівники.. 40

2.2.1 Вказівники та константи. 42

2.2.2 Вказівник на void. 43

2.3 Посилання. 44

2.4 Масиви.. 45

2.4.1 Ініціалізація масивів. 47

2.4.2 Вказівники й масиви. 48

2.4.3 Доступ до елементів масиву. 49

2.5 Типи даних користувача.. 51

2.5.1 Переліки. 51

2.5.2 Структури мови C.. 53

2.5.2.1 Вибір члена структури по імені об'єкту. 56

2.5.2.2 Вибір члена структури через вказівник на структурний об'єкт 57

2.5.2.3 Еквівалентність структурних типів. 57

2.5.2.4 Поля. 57

2.5.3 Об'єднання. 59

2.5.4 Оголошення typedef 61

2.6 Неявні приведення типів. 62

2.7 Явні приведення типів. 63

2.7.1 Традиційний стиль явного приведення типів. 63

2.7.2 Приведення типів в стилі мови C++.. 64

2.7.2.1 Оператор dynamic_cast 64

2.7.2.2 Оператор static_cast 65

2.7.2.3 Оператор reinterpret_cast 66

2.7.2.4 Оператор const_cast 66

3 ФУНКЦІЇ. ПРОЦЕДУРНЕ ПРОГРАМУВАННЯ.. 68

3.1 Оголошення функцій.. 68

3.2 Визначення функцій.. 69

3.2.1 Вмонтовані (inline) функції 70

3.3 Передача аргументів при виклику функції 71

3.3.1 Використання посилань як аргументів. 72

3.3.2 Масиви як аргументи. 73

3.3.3 Аргументи за умовчанням.. 74

3.3.4 Неоголошені аргументи. 75

3.4 Значення, що повертається функцією... 76

3.5 Рекурсивні функції 77

3.6 Перевантаження функцій.. 78

3.7 Вказівники на функцію... 81

3.8 Функція main() 83

3.8.1 Перехід від main() до _tmain() 84

3.9 Внутрішня реалізація викликів і повернень з функцій.. 84

3.9.1 Ключові слова __cdecl, __stdcall та __fastcall 85

3.9.2 Макрос WINAPI 86

3.10 Функції вводу – виводу мови C.. 86

3.10.1 Форматний ввід - вивід для стандартних потоків вводу і виводу 86

3.10.1.1 Функція printf() 87

3.10.1.2 Функція scanf() 91

3.10.2 Форматні перетворення в пам'яті. 93

3.10.3 Функції роботи з файлами. 93

3.10.3.1 Форматний ввід - вивід для файлів. 94

3.10.4 Функції посимвольного вводу – виводу. 94

4 ПРОГРАМУВАННЯ ВИКЛЮЧЕНЬ.. 96

4.1 Загальна схема обробки виключень. 96

4.1.1 Інструкція throw.. 96

4.1.2 Блоки try і catch. 97

4.1.3 Установка опції для включення механізму обробки виключень в програмах на Visual C++ 98

4.1.4 Приклад використання всіх інструкцій обробки виключень 98

4.1.5 Управління декількома різнотипними виключеннями. 100

4.2 Виключення Win32. 101

4.2.1 Обробка виключень Win32. 103

5 МОДУЛЬНЕ ПРОГРАМУВАННЯ.. 104

5.1 Простори імен.. 104

5.1.1 Інструкція namespace. Оператор розширення області видимості (::) 105

5.1.2 Інструкція using. 107

5.2 Роздільна компіляція. 108

5.2.1 Директива #include. 109

6 МАКРОЗАСОБИ. ПРОГРАМУВАННЯ НА АСЕМБЛЕРІ. 112

6.1 Директиви препроцесора.. 112

6.2 Директива #define. 113

6.2.1 Іменовані літерали. 113

6.2.2 Макроси. 114

6.3 Директива #undef. 116

6.4 Директиви умовної компіляції #if, #ifdef, #ifndef, #elif, #else і #endif 117

6.4.1 Оператор defined. 117

6.4.2 Використання директив умовної компіляції 118

6.5 Директива #error. 119

6.6 Директива #import. 120

6.7 Директива #line. 120

6.8 Директива #pragma.. 120

6.9 Директива #using.. 121

6.10 Програмування на Асемблері 122

6.10.1 Інструкція __asm.. 122

7 ОБ'ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ.. 124

7.1 Класи. Інкапсуляція. 124

7.1.1 Створення об'єктів класу. 127

7.1.2 Доступ до членів класу. 128

7.1.3 Інкапсуляція. 130

7.1.3.1 Переваги інкапсуляції 133

7.1.4 Конструктори. 134

7.1.4.1 Конструктори за умовчанням.. 136

7.1.4.2 Перевантажені конструктори. 137

7.1.4.3 Списки ініціалізації 138

7.1.5 Деструктори. 139

7.1.6 Виклики конструкторів і деструкторів. 141

7.1.7 Константні об'єкти і функції-члени класу. 141

7.1.8 Статичні члени класу. 143

7.1.9 Вбудовані функції-члени класу. 146

7.1.10 Вказівник this. 148

7.1.11 Масиви об'єктів. 150

7.1.12 Ієрархії об'єктів. 151

7.1.13 Структури і об'єднання в мові C++.. 152

7.2 Похідні класи. Спадкування. 153

7.2.1 Похідні класи. 153

7.2.2 Конструктори похідних класів. 156

7.2.3 Порядок виклику конструкторів і деструкторів. 157

7.2.4 Успадковані змінні 158

7.2.5 Правила спадкування. 160

7.2.6 Ієрархії класів. 161

7.2.7 Переваги спадкування. 162

7.2.8 Приклади бібліотек класів і множинне спадкування. 163

7.3 Віртуальні функції. Поліморфізм.. 163

7.3.1 Вказівники на базові класи. 164

7.3.2 Віртуальні функції 164

7.3.3 Поліморфізм.. 168

7.3.4 Застосування віртуальних функцій для управління об'єктами різних класів 168

7.3.5 Застосування віртуальних функцій для модифікації базових класів 170

7.3.6 Механізм перевизначення базових класів. 172

7.3.7 Конкретні й абстрактні класи. 173

7.3.8 Внутрішня реалізація віртуальних функцій та поліморфізму 175

7.4 Перевантаження операторів. 177

7.4.1 Приклад перевантаження оператора. 177

7.4.2 Визначення перевантажених функцій-операторів. 180

7.4.3 Дружні функції і класи. 181

7.4.4 Загальні принципи перевантаження операторів. 183

7.4.5 Конструктори копіювання і приведення. 184

7.4.6 Конструктори копіювання. 185

7.4.7 Конструктори приведення. 188

7.5 Динамічна ідентифікація типу.. 191

8 УЗАГАЛЬНЕНЕ ПРОГРАМУВАННЯ.. 194

8.1 Шаблони функцій.. 194

8.1.1 Створення екземпляра функції за шаблоном.. 196

8.1.2 Спеціалізація шаблонів функцій. 198

8.2 шаблони класів. 199

8.2.1 Роздільна реалізація функцій – членів шаблонів. 202

8.2.2 Створення об'єктів за шаблоном класів. 202

8.2.3 Конструктори та деструктори шаблонів класів. 204

8.2.4 Конкретизація і спеціалізація шаблонів класів. 207

8.3 Клас string.. 207

8.3.1 Основні конструктори. 210

8.3.2 Основні оператори. 210

8.4 STL - стандартна бібліотека шаблонів мови C++. 212

8.4.1 Контейнери. 212

8.4.2 Послідовності та ітератори. 214

8.4.3 Узагальнені алгоритми. 215

9 СИСТЕМА ВВОДУ-ВИВОДУ МОВИ C++. 218

9.1 Потоки вводу - виводу.. 218

9.2 Класи потокового вводу - виводу.. 219

9.3 Форматний ввід - вивід.. 220

9.3.1 Прапори формату. 220

9.3.2 Функції установки і очистки прапорів формату setf() та unsetf() 221

9.3.3 Функція читання і установки всіх прапорів формату flags() 223

9.3.4 Функції width(), precision() і fill() 224

9.3.5 Маніпулятори вводу - виводу. 226

9.4 Файловий ввід – вивід.. 229

9.4.1 Відкриття файлу. 230

9.4.2 Закриття файлу. 232

9.4.3 Функція eof() 233

9.4.4 Операції читання і запису для файлів. 233

9.5 Двійковий неформатний ввід - вивід.. 234

9.5.1 Основні функції двійкового вводу - виводу. 234

9.5.2 Додаткові функції двійкового вводу - виводу. 236

9.6 Довільний доступ.. 239

9.7 Контроль стану вводу - виводу.. 241

9.8 Системи вводу – виводу користувача.. 243

9.8.1 Функції виводу користувача. 243

9.8.2 Функції вводу користувача. 245

9.8.3 Маніпулятори користувача. 247

9.8.4 Ввід – вивід користувача і файли. 249

10 КЕРОВАНА МОВА C++ ТА ІНШІ МОВИ ПРОГРАМУВАННЯ ПЛАТФОРМИ MICROSOFT.NET 250

10.1 Керований C++. 250

10.2 Мова програмування C#. 252

10.2.1 Робота з об'єктами. 252

10.2.2 Інструкції 252

10.2.3 Атрибути. 253

10.2.4 Робота з версіями. 253

10.2.5 Організація програм.. 254

10.2.6 Відсутні в мові C# елементи. 254

10.3 Мова програмування Visual Basic.NET. 254

10.3.1 Інструкції мови VB.. 254

10.3.2 Типи даних та змінні 255

10.3.3 Оператори та вирази. 255

10.3.4 Управління послідовністю виконання інструкцій програми 256

10.3.4.1 Інструкція If Then. 256

10.3.4.2 Цикл For 257

10.3.4.3 Інструкція For Each. 257

10.3.4.4 Інструкція Do Loop. 257

10.3.4.5 Інструкція Select Case. 258

10.3.4.6 Інструкція On Error 259

РЕКОМЕНДОВАНА ЛИТЕРАТУРА.. 260





Дата публикования: 2014-11-03; Прочитано: 819 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.022 с)...