У файлі 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.