бесплатно рефераты скачать
  RSS    

Меню

Быстрый поиск

бесплатно рефераты скачать

бесплатно рефераты скачатьДипломная работа: Мова програмування С++

Дипломная работа: Мова програмування С++

Дипломна робота

Мова програмування С++


Зміст

1. Створення простих програм на С++

1.1 Структура програми

1.2 Етапи виконання програми

1.3 Порядок запуску програми

2. Форматний ввід/вивід у мові С/С++

2.1 Функції вводу/виводу мови С

2.2 Функції вводу/виводу та маніпулятори мови С++

3. Лінійні програми на С++

3.1 Стандартні типи даних мови С++

3.2. Операції мови С++

4. Основні оператори мови С++

4.1 Складові оператори

4.2 Оператори розгалуження

4.3 Оператори циклу

4.4 Оператори переходу

5. Вказівними та операції над ними

5.1 Поняття вказівника

5.2 Дії над вказівниками

6. Робота з одновимірними масивами

6.1 Статичні та динамічні масиви

6.2 Рядки, як одновимірні масиви

7. Двовимірні масиви

8. Символьна інформація та рядки

8.1 Збереження символьної інформації

8.2 Функції вводу/виводу для роботи з рядками

8.3 Спеціальні функції для роботи з рядками та символами

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

9.1 Функції: визначення, опис, виклик

9.2 Передача масивів у функцію

9.3 Перевантаження функцій у С++

9.4 Функції зі змінною кількістю параметрів

10. Структури

Список літератури


1. Створення простих програм на С++

C++ (Сі-плюс-плюс) — універсальна мова програмування високого рівня з підтримкою декількох парадигм програмування: об'єктно-орієнтованої, узагальненої та процедурної. Розроблена Б'ярном Страуструпом (англ. Bjarne Stroustrup) в AT&T Bell Laboratories (Мюррей-Хілл, Нью-Джерсі) у 1979 році та названа «Сі з класами». Страуструп перейменував мову у C++ у 1983 р. Базується на мові Сі. Визначена стандартом ISO/IEC 14882:2003.

1.1 СТРУКТУРА ПРОГРАМИ

Розглянемо програму, що виводить на екран монітора фразу “Ласкаво просимо до С++!”:

Приклад 1.

// Welcome.cpp – ім’я файла з програмою

# include <iostream.h>

void main ()

{ cout << ” Ласкаво просимо до С++! \ n”;

}

Результат виконання програми:

Ласкаво просимо до С++!

У першому рядку програми міститься однорядковий коментар, що починається з символу “//”, який вказує, що після цього символу йде однорядковий коментар. Коментарі не викликають ніяких дій комп’ютера і ігноруються компілятором С++, а лише допомагають іншим людям читати і зрозуміти Вашу програму.

У другому рядку розміщено команду (директиву) препроцесору, що забезпечує включення до програми засобів зв’язку зі стандартними потоками вводу і виводу даних. Вказані засоби містяться у файлі під назвою iostream.h (мнемоніка: “і” (input) – ввід; “output” – вивід; “stream” – потік; “head” - заголовний). Рядок, що починається з ”#”, обробляється препроцесором перед компіляцією програми. Файл iostream.h повинен бути залучений для всіх програм, що виводять дан на екран монітора або вводять дані з клавіатури.

Третій рядок є заголовком функції з іменем main. Будь-яка програма на С++ повинна містити лише одну функцію з таким менем. Саме з неї починається виконання програми. void – специфікатор типу, який вказує, що функція main в даному прикладі не повертає ніякого значення. Круглі дужки після main потрібні в зв’язку з форматом (синтаксисом) заголовка будь-якої функції. В них розміщується список параметрів. У нашому прикладі параметри не потрібні.

Тіло будь-якої функції повинно починатися закінчуватися фігурними дужками, між якими знаходиться послідовність описів, операторів і визначень. Кожен оператор, визначення чи опис повинні закінчуватися крапкою з комою.

Рядок

cout << ” Ласкаво просимо до С++! \ n”;

є командою комп’ютеру надрукувати на екрані рядок символів, що записаний у лапках. Повний рядок, включаючи cout, операцію <<”, рядок ”Ласкаво просимо до С++! \ n” і крапку з комою “;”, називається оператором. Всі вводи і виводи в С++ виконуються над потоками символів. Таким чином потік символів Ласкаво просимо до С++! спрямовується до об’єкта стандартного потоку виводу cout, який пов’язаний з екраном. Вже зараз слід відмітити одну з принципових особливостей мови С++, яку називають перевантаженням або розширенням дії стандартних операцій. Операція ”<<” називається операцією „розмістити у потік” лишень у тому випадку, коли зліва від неї знаходиться ім’я об’єкта cout. Інакше пара символів “<<” означає бінарну операцію зсуву вліво. Символи правого операнда зазвичай виводяться так само, як вони виглядають між лапками.

Слід зазначити, що символи ”\n не виводяться на екран. Комбінацію символів, що починаються з позначки оберненого Стеша (”\”), називають знаком переходу або escape-символом. Керуюча послідовність \n” означає перехід на початок нового рядка. Цей символ в лапках може знаходитися будь-де в рядку, при цьому послідовність символів, що знаходиться за ним, виводитиметься з нового рядка. Тобто результат виконання операції

cout << ” Ласкаво просимо \nдо С++! \ n”;

матиме вигляд:

Ласкаво просимо

до С++!

1.2 ЕТАПИ ВИКОНАННЯ ПРОГРАМИ

Вихідна програма, підготовлена на мов С++ у вигляді текстового файла з розширенням *.срр (welcome.cpp), проходить 3 етапи обробки:

1)   препроцесорне перетворення тексту програми;

2)   компіляція;

3)   компоновка (редагування зв¢язків чи складання).

Після цих 3 етапів формується машинний код програми, що виконується.

Задачею препроцесора є перетворення (доповнення) тексту програми до початку її компіляції. Правила препроцесорної обробки визначаються програмістом за допомогою директив препроцесора. Директива починається з ”#” (¢дієс¢, ¢шарп¢). Наприклад,

1) #define - визначає правила заміни в тексті:

#define ZERO 0.0

Це означає, що кожне використання у програм мені ZERO буде замінюватися на 0.0.

2) #include< ім¢я заголовного файла > - передбачена для залучення до тексту програми тексту файлу з каталогу “Заголовних файлів” INCLUDE, які постачаються разом зі стандартними бібліотеками. Кожна бібліотечна функція чи об¢єкт С++ має відповідний опис в одному з заголовних файлів (наприклад, iostream.h, stdio.h, conio.h, math.h). Список заголовних файлів визначається стандартом мови. Використання директиви include не під¢єднує відповідну стандартну бібліотеку, а лише дозволяє долучити до тексту програми описи із зазначеного заголовного файлу. В нашому випадку препроцесор обробляє директиву #include <iostream.h> під’єднує до вихідного тексту програми засоби для обміну з дисплеєм. Далі файл передається на компіляцію, у ньому виявляються синтаксичні помилки, які потрібно усунути програмістові. Після безпомилкової компіляції текст програми перекладається компілятором на машинну мову, далі отримуємо об’єктний файл з розширенням *.obj. Підключення об¢єктних кодів файлів з визначеннями необхідних стандартних функцій і об¢єктів з бібліотеки відбувається на етапі компоновки, тобто після компіляції. У об¢єктному коді створюваної програми ніби замуровуються дірки за допомогою кодів стандартних функцій. Хоча в заголовних файлах містяться всі описи стандартних функцій, до коду програми залучаються лише функції й об¢єкти, які використовуються в програмі.

Після компоновки утворюється модуль програми з розширенням *.ехе.

Отже, в нашому випадку, виконавши директиви, препроцесор сформує повний текст програми, компілятор створить об’єктний файл welcome.obj, за замовчуванням обравши для нього зазначене ім’я, а компоновщик (редактор зв’язків Linker) доповить програму бібліотечними функціями, наприклад, для роботи з об’єктом cout і побудує модуль welcome.exe, запустивши, який ми одержуємо на екрані бажану фразу. Схема етапів виконання програми наведена на рис. 1.1.

1.3 ПОРЯДОК ЗАПУСКУ ПРОГРАМИ

1.         Відкрийте нове вікно редагування (File > New) надайте йому ім’я Welcome (File > Save As);

2.         У новому вікні наберіть текст програми, що наводиться у Прикладі 1.

3.         Відкомпілюйте програму (Compile > Compile або (Alt+F9)). В разі повідомлень про помилку, перевірте текст програми усуньте невідповідності. Щоразу, вносячи зміни у вихідний текст програми, зберігайте файл (File > Save або F2). Після чого змінену програму слід відкомпілювати;

4.         Запуск відкомпільованої програми здійснюється за командою (Run > Run або Ctrl+F9). Якщо з моменту останньої компіляції вихідний код було модифіковано, ця команда виконає послідовно компіляцію і компоновку. Результат виконання програми можна переглянути, натиснувши комбінацію клавіш Alt+F5.


2. Форматний ввід/вивід у мові С/С++

2.1 ФУНКЦІЇ ВВОДУ/ВИВОДУ МОВИ С

У мові С++ немає вбудованих засобів вводу/виводу – вони здійснюються за допомогою функцій, типів та об’єктів, що містяться у стандартних бібліотеках. Використовується два способи: функції, успадковані з мови С та об’єкти С++.

Основні функції вводу/виводу в стил С, опис яких міститься у заголовному файлі <stdio.h>:

рrintf (<керуючий рядок>, <список аргументів>);

Керуючий рядок береться у лапки і вказу компілятору вигляд інформації, що виводиться. Вона може містити специфікації перетворення керуючи або escape-символи.

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

% <прапор> <розмір поля . точність> специфікація,

де прапор може набувати наступних значень:

- вирівнювання вліво числа, що виводиться (за замовчуванням виконується вирівнювання вправо);

+ виводиться знак додатного числа;

розмір поля задає мінімальну ширину поля, тобто довжину числа. Якщо ширини поля недостатня, автоматично виконується його розширення;

точність задає точність числа, тобто кількість цифр його дробової частини;

специфікація вказує на вигляд інформації, що виводиться. У таблиці 2.1 наведено основні формати функції друку.

Таблиця 2.1

Формат Тип інформації, що виводиться
%d десяткове ціле число
% і для виведення цілих чисел зі знаком (printf (“a=%i”, -3));
%u для виводу беззнакових цілих чисел (printf(“s=%u”, s))
%c один символ
%s рядок символів
%e число з плаваючою крапкою (експоненційний запис)
%f число з плаваючою крапкою (десятковий запис) (printf(“b=%f\n, c=%f\n, d=%f\n”, 3.55, 82.2, 0.555 ));
%u десяткове число без знака

Керуючий рядок може містити наступні керуючі символи:

\n – перехід на новий рядок;

\t – горизонтальна і \v – вертикальна табуляція;

\b – повернення назад на один символ;

\r – повернення на початок рядка;

\a – звуковий сигнал;

\” –лапки;

\? – знак питання;

\\ - зворотний слеш.

Список аргументів - об¢єкти, що друкуються (константи, змінні). Кількість аргументів та їх типи повинні відповідати специфікаціям перетворення в керуючому рядку.

Приклад 1.

#include <stdio.h>

#define PI 3.1415926

void main()

{

int number=5, cost=11000, s=-777;

float bat=255, x=12.345;

printf ("%d студентів з¢їло %f бутербродів.\n", number, bat);

printf ("Значення числа pi рівне%f.\n", pi);

printf ("Вартість цієї машини %d%s\n", cost,"у.е");

printf ("x=%-8.4f s=%5d%8.2f ", x, s, x);

}

В результаті виконання останньої функц printf() на екрані буде виведено:

х=12.3450 s= -777 12.34

Функція scanf передбачена для форматного вводу інформації довільного вигляду. Загальний вигляд функції:

scanf (<керуючий рядок>, < список адрес>);

На відміну від функції виводу printf(), scanf() використовує у списку адреси змінних, для одержання яких перед іменем змінної ставиться символ ”&”, що позначає унарну операцію одержання адреси. Для вводу значень рядкових змінних символ ”&” не використовується. При використанні формату %s рядок вводиться до першого пропуску. Вводити дані можна як в одному рядку через пропуск, так і в різних рядках.

Дану особливість ілюструє відповідна частина програми:

int course;

float grant;

char name[20];

printf ( "Вкажіть ваш курс, стипендію, м¢я \n");

scanf ( "%d%f", &course, &grant);

scanf ( "%s", name); /* ”& відсутній при зазначенні масиву символів */

Для зміни кольору тексту використовують функції із файла <conio.h>: clrscr() – очищує екран; textcolor(Колір) задає колір символів; textbackground (Колір) – встановлює колір фону. Вивід тексту на екран здійснюється за допомогою функції cprintf(), яка використовується аналогічно printf(). Зверніть увагу на те, що перехід на початок нового рядка у цій функції здійснюється за допомогою комбінації ”\n\r”.

Колір можна задати за допомогою ціло або іменованої константи, перелік яких наводиться у таблиці 2.2.


Таблиця 2.2

Колір

Константа

Значення константи

Чорний BLACK 0
Синій BLUE 1
Зелений GREEN 2
Червоний RED 4
Фіолетовий MAGENTA 5
Сірий GREY 8
Блакитний LIGHTBLUE 9
Помаранчевий LIGHTRED 12
Жовтий YELLOW 14
Білий WHITE 15

2.2 ФУНКЦІЇ ВВОДУ/ВИВОДУ ТА МАНІПУЛЯТОРИ МОВИ С++

А ось як виглядає програма вводу/виводу з використанням бібліотеки класів С++:

Приклад 2.

# include <iostream.h>

void main()

{ int i;

cout<< “Введіть ціле число\n”;

//об’єкт для вводу з клавіатури і >>розміщення у потік виводу

cin>> i;

cout<< “Ви ввели число”<< i <<”дякую!”;

}

Для форматного виводу у С++ використовуються маніпулятори, для використання яких до програми потрібно підключити заголовний файл <iomanip.h>:

setw(int) – встановлює максимальну ширину поля виводу чисел та рядків (не символів);

setprecision(int) – встановлює максимальну кількість цифр дробової частини для дійсних чисел з фіксованою крапкою;

setiosflags(ios::showpoint | ios::fixed) – вивід дійсних чисел з фіксованою крапкою;

setiosflags(ios::left) або setiosflags(ios::right) – вирівнювання по лівому або правому полю;

endl – при виводі включає у потік символ нового рядка, еквівалентний “\n” (його опис міститься у файлі iostream.h).

Маніпулятори спрямовуються в потік виводу, аналогічно тому, як це зроблено у прикладі 3:

Приклад 3.

# include<iostream.h>

#include <iomanip.h>

void main()

Результат виводу (ˆ позначає пробіл):

ˆˆˆˆˆˆ52.287

ˆˆˆˆˆ410.000

У даному прикладі маніпулятори точност та фіксації крапки спрямовуються у потік виводу одноразово, тоді як ширину поля виводу необхідно встановлювати для кожного значення.


3. Лінійні програми на С++

3.1 СТАНДАРТНІ ТИПИ ДАНИХ МОВИ С++

Всі об¢єкти (змінні, масиви тощо), з якими працює програма в С/С++, необхідно визначати або описувати. Найпростіша форма визначення змінної:

<тип> <список імен змінних>;

При оголошенні об¢єкти можна ініціалізувати (задавати початкове значення).

Наприклад: int j=10, m(3), n;

float c(-1.3), l=-10.23, f1;

Оголошення повідомляють компілятору про властивості та імена об¢єктів і функцій. Змінні можуть змінювати свої значення. При наданні значення змінній у комірці пам¢яті, яка відводиться під неї, розміщується код цього значення. Доступ до значення цієї змінної можливий через ім¢я змінної, а доступ до ділянки пам¢яті здійснюється за адресою. Розмір ділянки пам¢яті, що відводиться змінній, визначається її типом. Перелік базових типів даних наведено у таблиці 3.1.

Таблиця 3.1

Тип даних Назва Розмір, біт Діапазон значень
unsigned char Беззнаковий цілий довжиною не менше 8 біт 8 0 . . 255
сhar Цілий довжиною не менше 8 біт 8 -128 . . 127
unsigned int Без знаковий цілий 16 0 . . 65535
short int (short) Короткий цілий 16 -32768 . . 32767
unsigned short Беззнаковий короткий цілий 16 0 . . 65535
int Цілий 16 -32768 . . 32767
unsigned long Беззнаковий довгий цілий 32 0 . . 4294967295
long int (long) Довгий цілий 32 -214748348 . . 2147483647
float Дійсний одинарно точності 32 3.4Е-38 . . 3.4Е+38
double Дійсний подвійно точності 64 1.7Е-308 . . 1.7Е+308
long double Дійсний максимально точності 80 3.4Е-4932 . . 1.1Е+4932

3.2 ОПЕРАЦІЇ МОВИ С++

Страницы: 1, 2, 3, 4


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  бесплатно рефераты скачать              бесплатно рефераты скачать

Новости

бесплатно рефераты скачать

© 2010.