ЛЕКЦИЯ 1
ОСНОВНИ ТИПОВЕ ДАННИ
И ОПЕРАЦИИ ВЪРХУ ТЯХ. ПРЕОБРАЗУВАНЕ
НА ТИПОВЕТЕ
? Обзор на езика C++
? Синтаксис на езика C++
? Азбука на езика C++
? Лексика на езика
? Основни типове данни
? Аритметични операции
ОБЗОР НА ЕЗИКА C++
С++ е обектно ориентиран език за програмиране. Той е създаден на основата на езика С от Bjarne Stroustrop през 80-те години. Всички
принципи и синтактични конструкции на езика С са запазени в С++, така че повечето програми, написани на С, могат да бъдат
компилирани и от компилаторите на С++. Независимо от това, някои автори определят С++ като нов език, тъй като той поддържа
развити средства за обектно-ориентирано програмиране – абстрактни типове данни, производни типове, наследяване и полиморфизъм.
ОБЗОР НА ЕЗИКА C++
Успешното съчетание на добрите страни на езика С и средствата за обектно-ориентирано програмиране са причините за голямата
популярност и широкото разпространение на езика С++, който само за няколко години се утвърди като безспорен фаворит сред
използваните в момента езици.
СИНТАКСИС НА ЕЗИКА C++
Синтаксисът на формалните езици, каквито са езиците за програмиране, включва три елемента: азбука, лексика и граматика.
Азбуката на един език е множеството от допустимите символи. Това множество е крайно и предварително фиксирано. От азбуката на
езика по определени правила (лексически правила) се формират думите на езика, които се наричат лексеми. От лексемите, съгласно
правилата на граматиката, се образуват изреченията на езика (statements). В езика С++ изреченията завършват с ;
АЗБУКА НА ЕЗИКА C++
Азбуката на езика С++ включва буквите на латиница (малки и големи), цифрите (от 0 до 9) и множество специални символи, което
съдържа следните елементи:
~ ! @ # $ % ^ & * ( ) – + | { } [ ] : ; “ „ < , ? > . = _
ЛЕКСИКА НА ЕЗИКА C++
От азбуката на езика по определени правила се образуват думите на езика, които се наричат лексеми. Лексемите в С++ са няколко вида:
ключови думи, числени и символни константи, идентификатори, числени и символни низове, операции и препинателни знаци.
КЛЮЧОВИ ДУМИ
Ключовите думи са резервираните думи в езика. Чрез тях се означават различни оператори, модификатори, декларации и др.
short, auto, else, signed, break, enum, long, sizeof, case, static, extern, new, struct, switch, char, float, const, for, typedef, continue, union, goto,
register, delete, if, return, void, do, inline, double, int, while и др.
ОСНОВНИ
ТИПОВЕ ДАННИ В C++
Основна характеристика на всеки език за програмиране са типовете данни, които той поддържа. В това отношение С++ е много мощен
език. Той позволява да бъдат дефинирани абстрактни типове данни, наречени класове.
ОСНОВНИ
ТИПОВЕ ДАННИ В C++
Основните типове са аритметичните типове char, int, float, double, типа void и функционалния тип. Тези типове са предварително
дефинирани в езика и се поддържат от неговото ядро. Чрез аритметичните типове int, char, float и double се представят числените данни
(цели и дробни).
ОСНОВНИ
ТИПОВЕ ДАННИ В C++
Тези типове могат да се използват в комбинация с някой от модификаторите signed, unsigned, short и long. При използването на
модификаторите short, long и unsigned името на типа може да бъде пропуснато, като се подразбира типа int.
ОСНОВНИ
ТИПОВЕ ДАННИ В C++
Типът void има смисъл на “неопределен тип”, а функционалният тип се използва за представяне на данни, които се интерпретират като
функции, или по-точно като начални адреси на функции.
КОНСТАНТИ
Константите в С++ са три вида – числени константи, символни константи и символни низове. Техните стойности не могат да се
променят по време на изпълнение на програмите. При опит за промяна на стойността на константа компилаторът ще регистрира
съобщение за грешка.
ЧИСЛЕНИ КОНСТАНТИ
Числените константи са целите и дробните числа със знак или без знак. Целите числа могат да бъдат десетични, осмични и
шестнадесетични. Осмичните числа започват с 0 (нула), а шестнадесетичните с 0х. След цифрите на целите константи могат да се
добавят суфиксите L (или l) и U (или u), които означават съответно long и unsigned. Ако една константа е без суфикс, нейният тип е
първият от изброените, чрез който може да се представи нейната стойност:
ЧИСЛЕНИ КОНСТАНТИ
ЧИСЛЕНИ КОНСТАНТИ
– Ако е използван суфикс U или u, типът на константата е първият от типовете unsigned int и unsigned long int, чрез който може да се
представи нейната стойност.
– Ако е използван суфикс L или l, типът на константата е първият от типовете long int и unsigned long int, чрез който може да се
представи нейната стойност.
– Ако са използвани и двата суфикса u и l (UL, Ul, uL, ul), типът на константата е unsigned long int.
ЧИСЛЕНИ КОНСТАНТИ
Дробните числа (константи) могат да бъдат записвани във формат с фиксирана точка (F – формат) и в експоненциален формат (E –
формат). Типът на дробната константа зависи от нейната стойност.
123 – цяло без знак
–245 – цяло със знак
35.4 – дробно в f формат
6.37е–23 – дробно в e формат
ЧИСЛЕНИ КОНСТАНТИ
0.12Е3 – дробно в е формат
4567L – константа от тип long
23u – константа от тип unsigned
45UL – константа от тип unsigned long
017 – осмична константа (15 десетично)
0х0f – шестнадесетична константа (15 десетично)
СИМВОЛНИ КОНСТАНТИ
Символните константи са от тип char (1 байт). В повечето компилатори символните константи са елементите на ASCII таблицата
(числата от 0 до 255).
Примери:
„х" – ASCII кода на х
„z" – ASCII кода на z
„1" – ASCII кода на 1 (не числото 1)
ЧИСЛЕНИ КОНСТАНТИ
Стойностите (ASCII кодовете) се записват чрез десетични, осмични или шестнадесетични числа, предшествани от знака , като цялата
комбинация от символи се огражда в единични кавички, например „007", „