У файлі gcd.cpp
Структура програми
У файлі іо.срр
int і ;
double x;
cout << "\nВведіть число з подвійною точністю: ";
сіn >> х;
cout << "\nВведіть позитивне ціле: ";
сіn > > і;
if (і < 1)
cerr << "Помилка, і = " << і << endl;
cout << "і * x = " << і * х;
Перша інструкція (інструкція виводу) поміщає рядок на екран. Друга чекає введення з клавіатури, щоб присвоїти змінній з подвійною точністю х перетворене значення введеного рядка.
Введений рядок є вираженням, яке або має подвійну точність, або може конвертуватися при привласненні в число з подвійною точністю. Введення чого-небудь іншого викличе помилку. Зверніть увагу, як дві останні інструкції роблять множинні перенаправлення у вихідні потоки. Інструкції виконуються зліва направо. Наприклад, якщо і отримає значення - 1, на екрані з'явиться повідомлення про помилку:
Помилка, і = - 1
Ідентифікатор endl називається маніпулятором. Він очищає потік сеrr і додає новий рядок. Остання інструкція друкує рядок і * х =, а потім — значення вираження і * х.
Програма на C++ — це набір функцій і оголошень. Мова має блокову структуру; пам'ять для змінних, оголошених усередині блоків, виділяється автоматично при вході у блок. Параметри передаються за значенням (call — by — value), якщо не указано інше. Наступна програма обчислює найбільшого загального дільника для двох цілих.
//Програма для обчислення найбільшого загального дільника
//(GCD — Greatest Common Divisor)
#include <iostream.h>
#include <assert.h>
int gcd(int m, int n) //визначення функції
{ //блок
int г; //оголошення залишку
while (n != 0){ //не рівно
r = m % n; //оператор ділення із залишком
m = n; //привласнення
n = r ;
} //кінець циклу while
return m; //вихід з функції gcd зі значенням m
}
int main()
{
int x, у, g;
cout << "\nПРОГРАММА GCD HA C + +";
do {
cout << "\nВведите два цілі числа: ";
cin >> х >> у;
assert(х * у != 0); //передумова для gcd
cout << "\nGCD("<< х << ", " << у << ") = "
<< (g = gcd(x, у)) << endl;
assert(x % g == 0 && у % g = =0); //постумова
} while (x ! = у);
}
Організація програми на C++
· Уведення-виведення в C++ забезпечується зовнішньою стандартною бібліотекою. Інформація, необхідна програмі для використання цієї бібліотеки, знаходиться у файлі iostream.h.
· Перевірка тверджень (assertions) в C++ забезпечується зовнішньою стандартною бібліотекою. Інформація, необхідна програмі для використання цієї бібліотеки, знаходиться у файлі assert.h.
· Для перетворення програми з попереднього формату в чистий синтаксис C++ використовується препроцесор, оброблювальний набір директив, таких як директива include. Ці директиви упереджаються символом #.
· Програма на C++ складається з оголошень, які можуть знаходитися в різних файлах. Кожна функція розташовується на зовнішньому (глобальному) рівні; оголошення функцій не можуть бути вкладеними. Файли програми виступають модулями і можуть компілюватися окремо один від одного.
· Функція main () використовується як початкова точка входу для виконання програми. Вона підкоряється правилам C++ для оголошення функцій. Зазвичай функція main () неявно повертає ціле значення 0, що означає нормальне завершення програми. Інші повертані значення треба задавати явно (за допомогою ключового слова return); вони означають помилку.
· Макро assert перевіряє виконання умов і перериває програму, якщо «тест не зданий».
Компілятори C++ можуть обробляти програми з багатьох файлів. Великі програми готуються у вигляді декількох окремих файлів. Кожен файл — це концептуальний програмний модуль зі своїми оголошеннями і визначеннями. У багатьох системах C++ початкові файли мають розширення .с. Компілятор зазвичай викликається командою СС. Наприклад;
СС modulel.c module2.c my_main.c
Це — команда компілятора C++ в системі UNIX, оброблювальна три файли: module1.c, module2.c і my_main.c. Якщо компіляція не викличе помилок, буде створений виконуваний файл a.out.