Това помагало е издадено по проект 2011-1-BG1-LEO01-4579
1.Общи сведения
C++ е език за обектно-ориентирано програмиране. Професорът от Тексаския A&M университет Бярне Страустреп, съобразно новите тенденции в програмирането, през 1983 г. разработва  езика С++.
Той е  усъвършенстваната версия на С и е напълно съвместим с него. C++ е пример за език, който с времето расте и се развива. Всеки път, когато потребителите му са забелязвали някакви пропуски или недостатъци, те са го обогатявали със съответните нови
възможности.
Езикът С++ е алгоритмичен език от високо ниво и като всеки един формален език притежава нужните характеристики: азбука, лексика, граматика.
2.Азбука на езика
Азбуката на езика С++ включва:главни и малки латински букви;цифрите от 0 до 9; символи и разделители.
Дума на езика
Думи на езика са идентификатори, запазени и стандартни думи,константи, оператори и препинателни знаци.
  • Идентификатори - Редица от букви, цифри и знака за подчертаване (долна черта),започваща с буква или знака за подчертаване, се нарича идентификатор.
Примери:
Редиците от знаци
A12 help Help double int15_12 rat_number INT1213 Int15_12
са идентификатори, а редиците 1ba ab+1 a(1) a’b не са идентификатори. В първия случай редицата започва със цифра, а в останалите – редиците съдържат недопустими за идентификатор
знаци.Идентификаторите могат да са с произволна дължина. В съвременните компилатори максималният брой знаци на идентификаторите може да се задава, като подразбиращата се стойност
е 32.
Забележка: При идентификаторите се прави разлика между малки и главни букви, така help, Help, HELP, HeLp и HElp са различни идентификатори.
Идентификаторите се използват за означаване на имена на променливи, константи, типове, функции, класове, обекти и други компоненти на програмите.

  • Запазени думи - това са такива идентификатори, които се използват в програмите по стандартен, по предварително определен начин и които не могат да бъдат използвани по друг начин. Чрез тях се означават декларации, дефиниции, оператори, модификатори и други конструкции.

  • Стандартни думи - това са такива идентификатори, които се използват в програмите по стандартен, по предварително определен начин. Тези идентификатори могат да се използват и по други начини, например като обикновени идентификатори.
  • Константи - данни, които не може да бъдат променяни, се наричат константи. Има числови, знакови, низови и др. видове константи.Целите и реалните числа са числови константи. Целите числа се записват както в математиката и могат да бъдат задавани в десетична, шестнадесетична или осмична бройна система. Реалните числа се записват по два начина: във формат с фиксирана точка
  • Оператори
В C++ има три групи оператори: аритметично - логически,управляващи и оператори за управление на динамичната памет.
- аритметично-логически оператори(наричани още аритметично-логически операции) реализират основните аритметични и логически операции като: събиране (+), изваждане (-), умножение (*), деление (/), логическо И (&&, and),логическо ИЛИ (||, or) и др.
- управляващи оператори - това са конструкции, които управляват изчислителния процес.Такива са условния оператор, оператора за цикъл, за безусловен
преход и др.
- операторите за управление на динамичната памет - Те позволяват по време на изпълнение на програмата да бъде заделяна и съответно освобождавана динамична памет.
3. Коментари
Коментарите са текстове, които не се обработват от компилатора,а служат само като пояснения за програмистите. В C++ има два начина за означаване на коментари. Единият начин е, текстът да се огради с /* и */. Тези коментари не могат да бъдат влагани. Другият начин са коментарите, които започват с // и завършват с края на текущия ред.Коментарите са допустими навсякъде, където е допустим разделител.

Структура на програма на С++

Структурата на една програма на езика С++ се състои от отделни програмни единици,наречени функции(модули).Всяка функция представлява съвкупност от оператори, описващи последователност от дейстивия и представляващи едно лигическо цяло. Задължително условие е наличието на така наречената главна функция - тя реализира връзката на програмата с операционната система. Името й е фиксирано - main(). Функциите могат да бъдат описани в отделни библиотечни файлове, но за да се използват различните библиотечни файлове, е необходимо да бъдат обявени бибилиотеките в началото на програмата.

Заглавни файлове(библиотеки)

В тази част на модула са изброени всички необходими заглавни файлове.С помощта на предпроцесорната директива #include се прави обръщение към стандартни или потребителски библиотечни файлове. Може да се направи обръщение към няколко библиотеки, като всяко от тях се указва на нов ред.

Например: #include #include

Глобални декларации

Тук се декларират всички променливи, които са общи за самостоятелните програмни единици (функции), изграждащи потребителската програма.

Потребителски функции

В този модул се декларират потребителски функции, които се използват в главната програма.

Основна финкуция main()

Това представлява същинската програма със задължителното име main(). С нея започва изпълнението на всяка програма на С++. Структурата на главната функция се описва по един от следните начини:

int main ( )main ( )void main ( )
{{{
<тяло на функцията><тяло на функцията> <тяло на функцията>
return 0;return 0; return 0;
}}}

Примерна програма на С++

/* first.cpp
Това е моята първа програма*/                                       - коментар;
#include <iostream.h>                                                - предпроцесорна директива, за зареждане на нужните библиотеки;
int main ( )                                                                   - започва изпълнението на програмата;
{                                                                                   - фигурна скоба, която отваря блок;
cout <<"This is my first program">> endl;                        - операторът cout  изпраща текста в кавичките към монитора, а endl премества курсора на нов ред;
return 0;                                                                       - операторът return  прекъсва изпълнението на главната функция; 
}                                                                                   - фигурна скоба, която затваря блока.
Изпълнение на програма на езика C++
За целта се използва някаква среда за програмиране на C++. 
Изпълнението се осъществява чрез преминаване през следните
стъпки:
1. Създаване на изходен код - ч
рез текстовия редактор на средата, текстът на програмата се 
записва във файл. Неговото име се състои от две части – име и
разширение. Разширението подсказва предназначението на файла. 
Различно е за отделните реализации на езика. Често срещано 
разширение за изходни файлове е ".cpp” или ".c”. 
Примерната програма е записана във файла first.cpp.
2. Компилиране - 
Тази стъпка се изпълнява от компилатора на езика. Първата част 
от работата на компилатора на C++ е откриването на грешки –
синтактични и грешки, свързани с типа на данните. Съобщението за 
грешка съдържа номера на реда, където е открита грешка и кратко
описание на предполагаемата причина за нея. Добре е грешките да се 
корегират в последователността, в която са обявени, защото една
грешка може да доведе до т. нар. "каскаден ефект”, при който 
компилаторът открива повече грешки, отколкото реално съществуват.
Коригираният текст на програмата трябва да се компилира отново. 
Втората част от работата на компилатора е превеждане (транслиране)
на изходния (sourse) код на програмата в т. нар. обектен код. 
Обектният код се състои от машинни инструкции и информация за това,
как да се зареди програмата в ОП, преди да започне изпълнението й. 
Обектният код се записва в отделен файл, обикновено със старото
име, но с разширение ".obj” или ".o”. 
Обектният файл съдържа само "превода” на програмата, а не и на 
библиотеките, които са декларирани в нея (в случая на програмата 
first.cpp файлът first .obj не съдържа обектния код на iostream.h). 
Авторите на пакета iostream.h са описали всички необходими
действия и са записали нужния машинен код в библиотеката 
iostream.h.
3. Свързване -
Обектният файл и необходимите части от библиотеки се свързват в
т. нар. изпълним файл. Това се извършва от специална програма,
наречена свързваща програма или свързващ редактор (linker).
Изпълнимият файл има името на изходния файл, но разширението му
обикновено е ".exe”. Той съдържа целия машинен код, необходим за
изпълнението на програмата. Този файл може да се изпълни и извън
средата за програмиране на езика C++.