- •1. Кроки для створення виконання програми
- •2. Змінні та константи
- •3. Символьні масиви і рядки
- •4. Директиви препроцесора
- •Тема 2: введення-виведення даних план
- •Аргументи для setiosflags і resetiosflags
- •2. Функція printf
- •2. Операції відношення
- •3. Логічні операції
- •4. Додаткові операції
- •5. Порозрядні операції
- •Тема 4: організація циклів план
- •1. Організація циклів за допомогою while і do...While
- •2. Організація циклів із використанням оператора for
- •3. Оператори switch і goto
- •Тема 5: створення функцій план
- •1. Створення функцій
- •2. Видимість змінних
- •3. Передача значень
- •4. Повертаємі значення і прототипи функцій
- •Тема 6: зовнішні пристрої і символьне введення/виведення план
- •1. Загальна концепція
- •2. Функції символьного введення-виведення
- •3. Символьні функції
- •4. Рядкові функції
- •5. Числові функції
- •6. Функції роботи з датою та часом
- •Тема 7: масиви план
- •1. Одномірні масиви, їхня ініціалізація
- •2. Сортування масивів
- •3. Розміщення одномірного масиву в пам’яті
- •4. Багатомірні масиви і їхнє розміщення в пам’яті
- •Тема 8. Вказівки і посилання план
- •1. Вказівки
- •2. Масиви і вказівки
- •Тема 9: робота з файлами план
- •1. Загальна характеристика роботи з файлами
- •2. Послідовні файли
- •Можливі режими доступу
- •3. Файли довільного доступу (із випадковим доступом)
- •Тема 10. Структури план
- •1. Загальна характеристика структури
- •2. Масиви структур
- •3. Використання масивів, як елементів структур
- •2. Робота зі структурами є універсальною, передбачено додавання записів до файлу (флаг ios:app). Для підрахунку кількості структур на диску приведемо наступні рядки програми:
- •Список літератури
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
“КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ
ІМЕНІ ВАДИМА ГЕТЬМАНА”
КРИВОРІЗЬКИЙ ЕКОНОМІЧНИЙ ІНСТИТУТ
Кафедра інформатики та інформаційних технологій
МЕТОДИЧНI ВКАЗІВКИ
до самостійного вивчення основ класичного програмування на мові С++,
з дисциплін "Інструментальні засоби прикладного програмування",
"Об’єктно-орієнтоване програмування", "Прикладне програмне забезпечення"
ЗАТВЕРДЖЕНО
на засіданні кафедри інформатики та інформаційних технологій
протокол № 8 від 13.05.2008
Зав. кафедри _______ О.С. Зеленський
Кривий Ріг
2008
Методичні вказівки призначені для самостійного вивчення основ класичного програмування на мові С++ з дисциплін "Інструментальні засоби прикладного програмування", "Об’єктно-орієнтоване програмування", "Прикладне програмне забезпечення". /Укладачі: Зеленський О.С., Лисенко В.С.-Кривий Ріг: Криворізький економічний інститут Державного вищого навчального закладу “Київський національний економічний університет імені Вадима Гетьмана”, 2008.-94с.
Укладачі:
Зеленський О.С., д.т.н., професор
Лисенко В.С., к.е.н., доцент
Рецензент:
Астаф’єв О.Ю., к.т.н., декан
ЗМІСТ
ВСТУП |
5 |
Тема 1. Основні відомості C++
|
6 6 7 9 11 |
Тема 2. Введення-виведення даних
|
13 13 15 17 |
Тема 3. Операції в С++
|
17 17 18 19 20 21 |
Тема 4. Організація циклів
|
24 24 26 28 |
Тема 5. Створення функцій
|
30 30 32 34 36 |
Тема 6. Зовнішні пристрої та символьне введення/виведення
|
37 37 39 43 44 45 46 |
Тема 7. Масиви
|
49 50 52 53 55 |
Тема 8. Вказівки та посилання
|
58 58 64 68 |
Тема 9. Робота з файлами
|
69 69 70 74 |
Тема 10. Структури
|
79 79 82 85 |
СПИСОК ЛІТЕРАТУРИ |
90 |
ВСТУП
Програми – це набір інструментів, за допомогою яких комп’ютер працює з даними. Мова програмування дозволяє створювати ці інструменти. Спочатку програмування виконувалося з використанням команд, що розуміються комп’ютером безпосередньо. Це повільно й утомливо, що програмісти стали створювати мови програмування високого рівня, якими було простіше користуватися. Такі мови не могли сприйматися машиною прямо, тому були створені спеціальні програми, які назвали компіляторами, для перекладу цих нових мов у систему команд комп’ютера. C++ є середовищем для розробки програм, що містить у собі як компілятор, так і деякі інші інструменти. На виході компілятора утворюється файл із розширенням obj, це розширення позначає об’єкт. Використовуваний файл є файлом, що містить відкомпільовану і готову до виконання програму. Іноді комп’ютерні файли, що виконуються називають завантажувальним модулем або просто програмою.
Оператори мов низького рівня дуже схожі на систему команд самого комп’ютера. Ці програми можуть бути дуже ефективними. Вони важкі для сприйняття, декілька рядків тексту можуть виконувати таку операцію як друк символу. Вони специфічні для конкретного процесора. Сильна залежність між мовою і комп’ютером. Мови низького рівня часто називають мовами асемблера.
Мови високого рівня набагато зручніше для сприйняття людиною. Написати таку програму простіше. Вони практично не залежать від апаратної платформи. Багато мов високого рівня сертифіковані міжнародними організаціями, такими як ANSI (Американський національний інститут стандартів). Така стандартизація робить мову переносною. Приклади: FORTRAN, COBOL, PASCAL, C++.
В даних методичних вказівках приведені основи класичного програмування на мовах Borland C++, Visual C++. Треба відмітити, що деякі типові функції, які мають місце в Borland C++, у середовищі Visual C++ відсутні. Це наступні функції: clrscr(), gotoxy(). Для очищення екрану у Visual C++ можна скористатися функцією system("cls"), що виконує будь-яку системну команду. Для її роботи необхідно підключити хайдер stdlib.h
Для організації переходу на будь-який рядок замість gotoxy() у Visual C++ можна скористуватися функціями консолі. Треба включити хайдер window.h до програми і написати наступні рядки:
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {10, 10};
SetConsoleCursorPosition(hStdOut,coord);
Спочатку у змінну hStdOut повертається вказівка на консольне вікно. Потім за домомогою функції SetConsoleCursorPosition() встановлюємо курсор на задану позицію за допомогою координат, що встановлюються у структурі типу COORD. У нашому випадку це координати 10, 10.
ТЕМА 1. ОСНОВНІ ВІДОМОСТІ C++
ПЛАН
Кроки для створення виконання програми.
Змінні та константи.
Символьні масиви і рядки.
Директиви препроцесора.
1. Кроки для створення виконання програми
Кроки для створення та виконання програми продемонстровані на рис.1.
Рис.1. Процес створення та виконання програми
Розглянемо програму First.cpp.
// Файл First. cpp
// Програма на С++ для починаючих
// демонструє коментар і показує
// декілька оголошень і представлень
#include <iostream.h>
void main()
{
int i, j;char c;
float x;
i=4;j=i+7;
c=’A’; //Символьні константи містяться
//в одиночні лапки
x= 9.087; //Плаваюча точка
x=x*4.5;
cout<< i << j << c << x;
}
Програма має вбудовані ключові слова, наприклад: int, char, return. По суті справи C складається з набору функцій (функціонально закінчених частин коду) і функції main(). Весь код між фігурними дужками називають блоком. У нашому прикладі функція main() має один блок.
Оператори повинні закінчуватися “;”. Рядки з main() і фігурними дужками не закінчуються “;”.
Коментарі використовуються в такий спосіб. Якщо коментар займає 1 рядок, то - “//”. Якщо коментар займає більш 1 рядку, то початок коментарю виділяють символами “/*”, а кінець “*/”.
Основні математичні операції:
+ - * /
2. Змінні та константи
Змінні характеризуються атрибутами:
адреса в пам’яті;
ім’я;
тип;
значення.
Першою буквою змінної повинна бути буква латинського алфавіту, або знак підкреслення (_), потім букви і цифри або додаткові знаки підкреслення.
Заголовні і малі літери в змінній мають різноманітний зміст.
У таблиці 1 розглянемо типи змінних
Таблиця 1
Типи змінних мови програмування C++
Ім’я оголошення |
Тип |
Кількість байтів |
Діапазон |
Значність |
char |
Символьний |
1 |
-128 - 127 |
– |
unsigned char |
Беззнаковий символьний |
1 |
0 - 255 |
– |
signed char |
Символьний |
1 |
-128 - 127 |
– |
int |
Цілий |
2 |
32767 - 32768 |
– |
unsigned int |
Беззнаковй цілий |
2 |
0 – 65535 |
– |
signed int |
Цілий |
2 |
-32768 - 32767 |
– |
short int |
Короткий цілий |
2 |
-32768 - 32767 |
– |
unsigned short int |
Беззнаковий короткий цілий |
2 |
0 - 65535 |
– |
signed short int |
Короткий цілий |
2 |
-32768 - 32767 |
– |
long int |
Довгий цілий |
4 |
-2147483648- 2147483647 |
– |
signed long int |
Довгий цілий |
4 |
-2147483648- 2147483647 |
– |
unsigned long int |
Беззнаковий довгий цілий |
4 |
0 - 4294967295 |
– |
float |
З плаваючою точкою. |
4 |
-3.4Е+38 - 3.4Е+38 |
7 |
double |
Довгий із плаваючою точкою |
8 |
-1.7Е+308 ‑ 1.7Е+308 |
16 |
long double |
Довгий із плаваючою точкою |
10 |
-1.1Е+4932 – 1.1Е+4932 |
18 |
Тип може бути перевизначений:
typedef int CARDINAL;
CARDINAL pp;
У C++ цілі та символьні змінні можуть зберігати чисельні значення. Для присвоювання значень змінній використовується знак “=”.
Змінна = < вираз >
Можна одночасно привласнювати і повідомляти змінні:
int age = 30;
char first = ’G’, m = ’H’;
Константи.
Цілі константи не мають десяткових точок; числа з плаваючою точкою (речовинні) повинні мати десяткову точку.
Цілі константи можуть задаватися 16-річними константами – префікс 0х.
Приклад:
0х10; 0х2С4; 0xFFFF
unsigned int t = 0xFFFF; //65535
int t = 0xFFFF; //-1
Строкові константи.
Вони містяться у лапки, наприклад:
“С++ Програма”, “123”.
Усі строкові константи закінчуються ASCII нулем. Він є обмеженням рядка в пам’яті. Не треба плутати ASCII нуль із звичайним нулем, що має код 48. Наприклад, рядок “А760” у пам’яті ЕОМ має вид:
’А’ |
01000001 |
’7’ |
00000111 |
’6’ |
00000110 |
’0’ |
00110000 |
’\n’ |
00000000 |
Довжина строкової константи визначається числом символів без ASCII нуля.
Символьні константи.
Символьні константи повинні бути замкнуті в одинарні лапки.
При запровадженні спеціальних символів (Escape-послідовності) вимагаються спеціальні позначення, що можна представити наступною таблицею (табл.2.).
Таблиця 2
Символи Escape-послідовності
Керуюча послідовність |
Значення |
\а |
Звуковий сигнал |
\b |
Повернення на одну позицію |
\f |
Переведення сторінки (для принтера) |
\n |
Новий рядок (переведення рядка, вертання каретки) |
\r |
Вертання каретки |
\t |
Табуляція |
\\ |
Ліва похила риса |
\? |
Знак питання |
\’ |
Одиночні лапки |
\” |
Подвійні лапки |
\0 |
ASCII – нуль |
Приклади
char c;
c = ’T’+5; //T - ASCII - 84
cout << c; //Y - ASCII - 89
cout << “Привіт”<< ’\n’<< “Вася”;
Привіт
Вася
#include <iostream.h>
void main()
{
char bell = ’\a’;
cout<<bell; // Звук
}