SlideShare a Scribd company logo
C++
Типове данни
Типове данни
Езикът C++ е изключително мощен по отношение на типовете данни, които
притежава. Най-общо, типовете му могат да бъдат разделени на: вградени и
абстрактни.
 Вградените типове са предварително дефинирани и се поддържат от
неговото ядро.
 Абстрактните типове се дефинират от програмиста. За целта се определят
съответни класове.
Типове данни
Типове данни
 Скаларни са типовете данни, които се състоят от една компонента (число,
знак и др.).
 Съставни типове са онези типове данни, компонентите на които са редици
от елементи.
 Типът указател дава средства за динамично разпределение на паметта.
Скаларни типове данни
 Целочислени типове
 Реални типове
 Логически тип: тип bool
Скаларни типове данни
Целочислени типове
Целочислени типове: тип int
•множество от допустими стойности [-32767 +32767]
Целочисленият тип данни е предназначен за обработка на цели числа.
Запазената дума за деклариране на променливи от този тип в С++ е int.
Скаларни типове данни
Целочислени типове
•аритметични операции
+ събиране
- изваждане
* умножение
/ целочислено деление
% остатък от целочислено деление
Скаларни типове данни
Целочислени типове
•операции за сравнение, логически функции
= = сравнение за равно
!= сравнение за различно
> за по-голямо
>= за по-голямо или равно
< за по – малко
<= за по-малко или равно
Скаларни типове данни
Целочислени типове
•вградени функции
abs (x) намира модул от х, където х е цял израз
примери
abs(-123) = 123
abs(0)=0
abs(22)=22
Скаларни типове данни
Реални типове
Множество от допустими стойности
тип float [ 10Е-37 до 10Е37 ]
тип double [ 10Е-307 до 10Е307 ]
Примери за деклариране на реални променливи:
float a; // реална променлива от тип float
double b=32.1; // реална променлива от тип double
За работа с реални числа трябва да се знае каква е точността при
прилагане на математически операции върху тях.
Точността на типа float е до 7 значещи цифри след десетичната точка.
float a=12.1234567;
Точността на типа double е до 14 значещи цифри след десетичната
точка.
double b=32.12345678999999;
При извеждане на реални числа, компилаторът игнорира последните
нули след десетичната точка (ако не е указано допълнително изискване
от програмиста).
Скаларни типове данни
Реални типове
•аритметични операции
+ събиране
- изваждане
* умножение
/ целочислено деление
% остатък от целочислено деление
Скаларни типове данни
Реални типове
•операции за сравнение, логически функции
= = сравнение за равно
!= сравнение за различно
> за по-голямо
>= за по-голямо или равно
< за по – малко
<= за по-малко или равно
Скаларни типове данни
Реални типове
• вградени функции
sqrt (x) намира квадратен корен от числото х
ceil(x)
Намира най-малкото цяло число >=x.
Намереното число е от тип double.
floor(x)
Намира най-голямото цяло число <=x.
Намереното число е от тип double.
Sqrt(x) Намира квадратен корен от числото x.
pow(x,n) Степенува xn
fabs(x) Намира абсолютната стойност на числото x.
sin(x) Намира sin x . Числото x се задава в радиани.
cos(x)
Намира cos x . Числото x се задава в
радиани.
tan(x) Намира tg x . Числото x се задава в радиани.
Скаларни типове данни
логически тип: тип bool
Допустими стойности true (1) и false (0)
Логическият тип в С++ се декларира със запазената дума bool. Името му
идва от името на английския математик и логик Джордж Бул.
За променливите и константите от тип bool се заделя памет от 1B.
Допустими стойности са двете константи true и false (истина и лъжа),
като true се представя с 1, а false с 0.
Скаларни типове данни
логически тип: тип bool (1b)
= = сравнение за равно логическо отрицание (not) !
!= сравнение за различно логическо умножение (and) &&
> за по-голямо логическо събиране (or) ||
>= за по-голямо или равно
< за по – малко
<= за по-малко или равно
Скаларни типове данни
Символен тип:
Символният тип в С++ се декларира със запазената дума char.
Необходимата памет за записване на стойности от този тип е 1B.
char symbol; char a,b;
В С++ символният тип използва символите от така наречената ASCII – кодова
таблица, вградена в компютъра. Броят на тези символи е 256, като на всеки символ
съответства код от 0 до 255. Първите 128 символа са стандартни и при всички
компютри те са едни и същи. докато при останалите съществуват различия.
На екрана се изобразява символ, а в паметта се разполага число, което е кода на този
символ. Всички операции, съответни на типа се извършват с кодовете на символите.
Символите биват два вида:
• графични
• управляващи
От клавиатурата се въвеждат главно графични символи. Такива са букви, цифри и
други знаци. Могат да се въвеждат също и някои управляващи символи – символ за
нов ред (клавиша Enter), символ за връщане на курсора (BackSpace) и др.
Инициализация на променлива от символен тип се задава, като й се присвои символ,
заграден в апострофи.
Скаларни типове данни
Символен тип:
За задаване на управляващи символи се използват следните специални
означения:
n знак за преминаване на нов ред
t хоризонтална табулация
v вертикална табулация
b връща курсора с един символ назад
r връща курсора в началото на реда
a издава звуков сигнал
0 нулев символ, знак за край на низ
C++ datatypes

More Related Content

What's hot

полупроводникови диоди
полупроводникови диодиполупроводникови диоди
полупроводникови диодиmtrad
 
Диелектрици в електростатично поле
  Диелектрици в електростатично поле  Диелектрици в електростатично поле
Диелектрици в електростатично полеmtrad
 
диелектрични материали
диелектрични материалидиелектрични материали
диелектрични материали
Milena Abrasheva
 
33 география на хранително вкусовата промишленост
33 география на хранително вкусовата промишленост33 география на хранително вкусовата промишленост
33 география на хранително вкусовата промишленост
Nikola Krastev
 
модификационна изменчивост
модификационна    изменчивостмодификационна    изменчивост
модификационна изменчивостdimitrow90
 
закон на кулон
закон на кулонзакон на кулон
закон на кулонmtrad
 
ИНТЕГРАЛНИ СХЕМИ
ИНТЕГРАЛНИ СХЕМИИНТЕГРАЛНИ СХЕМИ
ИНТЕГРАЛНИ СХЕМИRRADKA
 
Кислород
КислородКислород
КислородAni Vilfan
 
Електрично поле
Електрично полеЕлектрично поле
Електрично полеKrasy Mira
 
механично движение
механично движениемеханично движение
механично движениеdani_ni1
 
Строеж на електронната обвивка
Строеж на електронната обвивкаСтроеж на електронната обвивка
Строеж на електронната обвивкаmtrad
 
видове алгоритми
видове алгоритмивидове алгоритми
видове алгоритмиmtrad
 
ток в метали
ток в металиток в метали
ток в металиmtrad
 
Treptene
TrepteneTreptene
Treptene
Diana Popova
 
Радиоактивност
РадиоактивностРадиоактивност
Радиоактивностmtrad
 
ток в полупроводници
ток в полупроводнициток в полупроводници
ток в полупроводнициmtrad
 
ИТ - начален преговор за 6 клас
ИТ - начален преговор за 6 класИТ - начален преговор за 6 клас
ИТ - начален преговор за 6 клас
nad_and
 
Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++
Georgi Mirchev
 

What's hot (20)

полупроводникови диоди
полупроводникови диодиполупроводникови диоди
полупроводникови диоди
 
Диелектрици в електростатично поле
  Диелектрици в електростатично поле  Диелектрици в електростатично поле
Диелектрици в електростатично поле
 
диелектрични материали
диелектрични материалидиелектрични материали
диелектрични материали
 
33 география на хранително вкусовата промишленост
33 география на хранително вкусовата промишленост33 география на хранително вкусовата промишленост
33 география на хранително вкусовата промишленост
 
модификационна изменчивост
модификационна    изменчивостмодификационна    изменчивост
модификационна изменчивост
 
закон на кулон
закон на кулонзакон на кулон
закон на кулон
 
ИНТЕГРАЛНИ СХЕМИ
ИНТЕГРАЛНИ СХЕМИИНТЕГРАЛНИ СХЕМИ
ИНТЕГРАЛНИ СХЕМИ
 
Elektrostatika
ElektrostatikaElektrostatika
Elektrostatika
 
Кислород
КислородКислород
Кислород
 
Електрично поле
Електрично полеЕлектрично поле
Електрично поле
 
Paskal zadaci
Paskal zadaciPaskal zadaci
Paskal zadaci
 
механично движение
механично движениемеханично движение
механично движение
 
Строеж на електронната обвивка
Строеж на електронната обвивкаСтроеж на електронната обвивка
Строеж на електронната обвивка
 
видове алгоритми
видове алгоритмивидове алгоритми
видове алгоритми
 
ток в метали
ток в металиток в метали
ток в метали
 
Treptene
TrepteneTreptene
Treptene
 
Радиоактивност
РадиоактивностРадиоактивност
Радиоактивност
 
ток в полупроводници
ток в полупроводнициток в полупроводници
ток в полупроводници
 
ИТ - начален преговор за 6 клас
ИТ - начален преговор за 6 класИТ - начален преговор за 6 клас
ИТ - начален преговор за 6 клас
 
Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++Динамична памет (оператори new и delete) в C++
Динамична памет (оператори new и delete) в C++
 

Similar to C++ datatypes

Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1
DAVID Academy
 
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
DAVID Academy
 
Introduction to-RDBMS-systems
Introduction to-RDBMS-systemsIntroduction to-RDBMS-systems
Introduction to-RDBMS-systems
BG Java EE Course
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systemsRosen Spasov
 
Блокове за аритметични действия, аритметични отношения, логически оператори и...
Блокове за аритметични действия, аритметични отношения, логически оператори и...Блокове за аритметични действия, аритметични отношения, логически оператори и...
Блокове за аритметични действия, аритметични отношения, логически оператори и...
Krassimir Kosstov
 
Въведение в Python
Въведение в PythonВъведение в Python
Въведение в Python
Atelier for robotics
 

Similar to C++ datatypes (6)

Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1
 
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
 
Introduction to-RDBMS-systems
Introduction to-RDBMS-systemsIntroduction to-RDBMS-systems
Introduction to-RDBMS-systems
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systems
 
Блокове за аритметични действия, аритметични отношения, логически оператори и...
Блокове за аритметични действия, аритметични отношения, логически оператори и...Блокове за аритметични действия, аритметични отношения, логически оператори и...
Блокове за аритметични действия, аритметични отношения, логически оператори и...
 
Въведение в Python
Въведение в PythonВъведение в Python
Въведение в Python
 

More from Atelier for robotics

Учебник по роботика
Учебник по роботикаУчебник по роботика
Учебник по роботика
Atelier for robotics
 
Основни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процесОсновни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процес
Atelier for robotics
 
Using NAOqi
Using NAOqiUsing NAOqi
Python choreographe NAOqi Framework
Python choreographe NAOqi FrameworkPython choreographe NAOqi Framework
Python choreographe NAOqi Framework
Atelier for robotics
 
NAOqi framework
NAOqi frameworkNAOqi framework
NAOqi framework
Atelier for robotics
 
Cross compiling
Cross compilingCross compiling
Cross compiling
Atelier for robotics
 

More from Atelier for robotics (7)

Учебник по роботика
Учебник по роботикаУчебник по роботика
Учебник по роботика
 
Основни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процесОсновни структури за управление на изчислителния процес
Основни структури за управление на изчислителния процес
 
Using NAOqi
Using NAOqiUsing NAOqi
Using NAOqi
 
Python choreographe NAOqi Framework
Python choreographe NAOqi FrameworkPython choreographe NAOqi Framework
Python choreographe NAOqi Framework
 
NAOqi framework
NAOqi frameworkNAOqi framework
NAOqi framework
 
DCM
DCMDCM
DCM
 
Cross compiling
Cross compilingCross compiling
Cross compiling
 

C++ datatypes

  • 2. Типове данни Езикът C++ е изключително мощен по отношение на типовете данни, които притежава. Най-общо, типовете му могат да бъдат разделени на: вградени и абстрактни.  Вградените типове са предварително дефинирани и се поддържат от неговото ядро.  Абстрактните типове се дефинират от програмиста. За целта се определят съответни класове.
  • 4. Типове данни  Скаларни са типовете данни, които се състоят от една компонента (число, знак и др.).  Съставни типове са онези типове данни, компонентите на които са редици от елементи.  Типът указател дава средства за динамично разпределение на паметта.
  • 5.
  • 6. Скаларни типове данни  Целочислени типове  Реални типове  Логически тип: тип bool
  • 7. Скаларни типове данни Целочислени типове Целочислени типове: тип int •множество от допустими стойности [-32767 +32767] Целочисленият тип данни е предназначен за обработка на цели числа. Запазената дума за деклариране на променливи от този тип в С++ е int.
  • 8. Скаларни типове данни Целочислени типове •аритметични операции + събиране - изваждане * умножение / целочислено деление % остатък от целочислено деление
  • 9. Скаларни типове данни Целочислени типове •операции за сравнение, логически функции = = сравнение за равно != сравнение за различно > за по-голямо >= за по-голямо или равно < за по – малко <= за по-малко или равно
  • 10. Скаларни типове данни Целочислени типове •вградени функции abs (x) намира модул от х, където х е цял израз примери abs(-123) = 123 abs(0)=0 abs(22)=22
  • 11. Скаларни типове данни Реални типове Множество от допустими стойности тип float [ 10Е-37 до 10Е37 ] тип double [ 10Е-307 до 10Е307 ] Примери за деклариране на реални променливи: float a; // реална променлива от тип float double b=32.1; // реална променлива от тип double За работа с реални числа трябва да се знае каква е точността при прилагане на математически операции върху тях. Точността на типа float е до 7 значещи цифри след десетичната точка. float a=12.1234567; Точността на типа double е до 14 значещи цифри след десетичната точка. double b=32.12345678999999; При извеждане на реални числа, компилаторът игнорира последните нули след десетичната точка (ако не е указано допълнително изискване от програмиста).
  • 12. Скаларни типове данни Реални типове •аритметични операции + събиране - изваждане * умножение / целочислено деление % остатък от целочислено деление
  • 13. Скаларни типове данни Реални типове •операции за сравнение, логически функции = = сравнение за равно != сравнение за различно > за по-голямо >= за по-голямо или равно < за по – малко <= за по-малко или равно
  • 14. Скаларни типове данни Реални типове • вградени функции sqrt (x) намира квадратен корен от числото х ceil(x) Намира най-малкото цяло число >=x. Намереното число е от тип double. floor(x) Намира най-голямото цяло число <=x. Намереното число е от тип double. Sqrt(x) Намира квадратен корен от числото x. pow(x,n) Степенува xn fabs(x) Намира абсолютната стойност на числото x. sin(x) Намира sin x . Числото x се задава в радиани. cos(x) Намира cos x . Числото x се задава в радиани. tan(x) Намира tg x . Числото x се задава в радиани.
  • 15. Скаларни типове данни логически тип: тип bool Допустими стойности true (1) и false (0) Логическият тип в С++ се декларира със запазената дума bool. Името му идва от името на английския математик и логик Джордж Бул. За променливите и константите от тип bool се заделя памет от 1B. Допустими стойности са двете константи true и false (истина и лъжа), като true се представя с 1, а false с 0.
  • 16. Скаларни типове данни логически тип: тип bool (1b) = = сравнение за равно логическо отрицание (not) ! != сравнение за различно логическо умножение (and) && > за по-голямо логическо събиране (or) || >= за по-голямо или равно < за по – малко <= за по-малко или равно
  • 17. Скаларни типове данни Символен тип: Символният тип в С++ се декларира със запазената дума char. Необходимата памет за записване на стойности от този тип е 1B. char symbol; char a,b; В С++ символният тип използва символите от така наречената ASCII – кодова таблица, вградена в компютъра. Броят на тези символи е 256, като на всеки символ съответства код от 0 до 255. Първите 128 символа са стандартни и при всички компютри те са едни и същи. докато при останалите съществуват различия. На екрана се изобразява символ, а в паметта се разполага число, което е кода на този символ. Всички операции, съответни на типа се извършват с кодовете на символите. Символите биват два вида: • графични • управляващи От клавиатурата се въвеждат главно графични символи. Такива са букви, цифри и други знаци. Могат да се въвеждат също и някои управляващи символи – символ за нов ред (клавиша Enter), символ за връщане на курсора (BackSpace) и др. Инициализация на променлива от символен тип се задава, като й се присвои символ, заграден в апострофи.
  • 18. Скаларни типове данни Символен тип: За задаване на управляващи символи се използват следните специални означения: n знак за преминаване на нов ред t хоризонтална табулация v вертикална табулация b връща курсора с един символ назад r връща курсора в началото на реда a издава звуков сигнал 0 нулев символ, знак за край на низ