Нина Урумова
преподава по Програмиране
в град Варна
Големина на текста:
ЛЕКЦИЯ 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", „xff", „40". По този начин могат да се обозначават всички
символни константи, включително и тези, които нямат графично представяне.
Пример: „n" – нов ред.
СИМВОЛНИ НИЗОВЕ
Символният низ представлява множество от символи, оградени с двойни кавички. Например,
“Това е низ”
Елементите на низа могат да се представят и чрез техните ASCII кодове (осмични или шестнадесетични цифри, предшествани от
обратна черта).
Пример:
“Низ1 n 07xfd a xyz
СИМВОЛНИ КОНСТАНТИ
Последният символ на всеки низ е символът „0", който се добавя автоматично от компилатора и представлява индикатор за край на
низа.
Има разлика между символната константа „х" и низа “х”:
„х" –> 1 байт
“х” –> 2 байта, низ от един символ
ДЕКЛАРИРАНЕ НА ИМЕНА НА КОНСТАНТИ
const int N=2;
const float PI=3.14;
const Y=3;
#define N 2
#define PI 3.14
#define Y 3
ПРОМЕНЛИВИ
Общият вид на дефиницията на една променлива е следният:
<тип> <име на променлива> [=<стойност>];
Задължителните елементи на дефиницията са типа и името на променливата:
int x;
int y, z=2;
float pi=3.14;
double d;
ИЗБРОИМ ТИП ДАННИ (enum)
Изброимият тип данни се състои от множество имена, които съответстват на константи от тип int. Общият вид на декларацията на
изброим тип данни изглежда така:
<enum> [<име на тип>] {<име – 1> [=<стойност>],
ме – 2> [=<стойност>],
...
<име – n> [=<стойност>]
};
ИЗБРОИМ ТИП ДАННИ (enum)
Пример:
enum color {red,blue, white, black};
red, blue, white, black съответстват на числата 0, 1, 2, 3.
Пример:
enum color {red,blue=2, white, black=5};
color x;
int y;
x=red;
y=blue;
cout<<x<<“ “<<y; // изчисляват се техните числови стойности
ИЗБРОИМ ТИП ДАННИ (enum)
Дефиницията на един изброим тип може да не съдържа име на типа. В този случай типът се нарича анонимен изброим тип.
Пример:
enum {red,blue=2, white, black=5} x, y, z;
АРИТМЕТИЧНИ
ОПЕРАЦИИ
(унарен минус), + (събиране), – (изваждане),
* (умножение), / (деление), % (деление по модул), ++ (инкрементиране),
(декрементиране).
Унарните операции ++ (инкрементиране) и
(декрементиране) реализират съответно добавяне на 1 към стойността на променлива и изваждане на единица от стойността на
променлива.
АРИТМЕТИЧНИ
ОПЕРАЦИИ
При ++х (префиксна форма) най-напред се прилага операцията и след това се използва стойността на променливата, докато при
използване на постфиксна форма става обратното.
Пример:
int x=1;
int y=2;
d=y+ x++;
e=y+ ++x;
ОПЕРАЦИЯ
ЗА ПРИСВОЯВАНЕ
Чрез операцията за присвояване се задават стойности на променливи, масиви, елементи на структури и други компоненти на
програмите, известни под общия термин “модифицируеми обекти”.
Достъпът до паметта на обектите се осъществява чрез техните локатори.
ОПЕРАЦИЯ
ЗА ПРИСВОЯВАНЕ
Операцията за присвояване има следният синтаксис:
<локатор на модифицируем обект>=<израз>;
Много често се използва и друга форма на запис, която изглежда така:
<лява стойност>=<дясна стойност>;
Под “лява стойност” се разбира израз, чийто резултат е локатор на модифицируем обект.
х+3=2;
Понятието “дясна стойност” се свързва с израз, чийто резултат може да бъде стойност на модифицируем обект.
ОПЕРАЦИЯ
ЗА ПРИСВОЯВАНЕ
Изпълнението на операцията за присвояване протича по следния начин: изчислява се лявата част (определя се локатора на обекта),
изчислява се дясната част (определя се дясната стойност) и изчислената дясна стойност се зарежда в паметта, определена чрез локатора.
В повечето езици за програмиране лява стойност могат да бъдат само идентификаторите на различните модифицируеми обекти. Езикът
С++ обаче поддържа псевдоними, което дава възможност лява стойност да бъдат и изрази, чиито стойности са псевдоними на
модифицируеми обекти.
СЪКРАТЕНА ФОРМА НА ОПЕРАЦИЯТА ЗА ПРИСВОЯВАНЕ
Когато лявата част на операцията за присвояване участва като елемент в неговата дясна част х=х+2; е еквивалентно на х+=2;
Ако е1 и е2 са изрази, то е1 ор =е2 е еквивалентно на е1=(е1) ор (е2), където ор е някоя от операциите
+, , *, /, %, <<, >>, &, |, ^ .
Пример:
х*=у+1;
се изчислява като х=х*(у+1), а не като х=х*у+1.
ОТНОШЕНИЯ
И ЛОГИЧЕСКИ ОПЕРАЦИИ
Знаковете, чрез които се задават отношенията са:
> (по-голямо), >= (по-голямо или равно), < (по-малко), <= (по-малко или равно), = = (равно), != (различно).
Логически операции
&& (логическо И), || (логическо ИЛИ) и ! (логическо отрицание).
Т (true) всяка стойност различна от нула;
F (false) нула.
Пример:
i<j && ((ch=getchar())!=„q"); не е същото като
((ch=getchar())!=„q")&& i<j;
ПОРАЗРЯДНИ ОПЕРАЦИИ
Тези операции могат да се прилагат само върху данни от тип int и неговите модификации short, long, char и unsigned. Операциите са
следните:
<< преместване наляво със зададен брой позиции (битове)

Това е само предварителен преглед

За да разгледате всички страници от този документ натиснете тук.
Последно свалили материала:
ДАТА ИНФОРМАЦИЯ ЗА ПОТРЕБИТЕЛЯ
29 дек 2020 в 19:11 ученик на 23 години от София - 101 СОУ "Бачо Киро", випуск 2016
04 ное 2020 в 18:56 в момента не учи на 19 години
20 юни 2020 в 17:52 учител на 42 години от Кайнарджа - ОУ "Черноризец Храбър", випуск 2018
25 окт 2019 в 10:32 потребител
13 мар 2017 в 18:59 ученичка на 28 години от София - 003 СОУ "Марин Дринов", випуск 2012
06 яну 2017 в 16:48 студент на 27 години от Пловдив - ПУ "Паисий Хилендарски", факулетет - Педагогически факултет, специалност - Обрзователен мениджмънт, випуск 2018
21 дек 2016 в 20:57 родител на 40 години от Пловдив
05 фев 2016 в 18:07 студентка на 30 години от Пловдив - ПУ "Паисий Хилендарски", факулетет - Филологически факултет, специалност - Българска филология, випуск 2013
12 ное 2015 в 16:12 в момента не учи от Пловдив
06 сеп 2015 в 16:29 студент на 31 години от Бургас - Бургаски университет "Проф. Асен Златаров", факулетет - Факултет по технически науки, специалност - Електроника, випуск 2016
 
Подобни материали
 

Задача по C++

24 окт 2006
·
615
·
1
·
208
·
208
·
1

Урок по програмиране на Английски език.
 

Програмиране - C и C++

12 дек 2007
·
1,131
·
155
·
36,823
·
830
·
1
·
1
·

С и С++ са най - важните световни програмни езици . Всъщност, за да бъдете професионален програмист днес означава опитност в тези два езика.Те са основата, върху която е изградено модерното програмиране. С беше изобретен от Денис Ричи през 1970г...
 

Създаване на програма

11 мар 2006
·
700
·
3
·
216
·
177
·
1

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

Проследяване изпълнението и настройване на програми на C/C++ с Turbo Debugger

16 мар 2006
·
152
·
8
·
690
·
50

Проследяване изпълнението и настройване на програми на C/C++ с Turbo Debugger - задачи с решения към тях.
 

Как да си направим сайт на РНР

18 мар 2006
·
1,806
·
6
·
491
·
104
·
1
·
1

Избор на хостинг.. Настройки.. Попълване..снабдяване с FTP Програма..Тестване...
1 2 3 4 5 » 11
 
Онлайн тестове по Програмиране
Програмиране С++
изпитен тест по Програмиране за Студенти от 3 курс
Тестът включва въпроси върху указатели, програмиране С++, структури от данни. Всички въпроси са затворени и изискват само един верен отговор.
(Труден)
20
13
1
4 мин
02.10.2014
Централен процесор и памет
междинен тест по Програмиране за Неучащи от 1 клас
Тестът включва въпроси относно програмирането и използването на компютрите. Всички въпроси са затворени и изискват само един верен отговор.
(Труден)
20
7
1
2 мин
12.11.2014
» виж всички онлайн тестове по програмиране

Основни типове данни

Материал № 634449, от 07 мар 2011
Свален: 51 пъти
Прегледан: 86 пъти
Предмет: Програмиране, Информатика, ИТ
Тип: Лекция
Брой страници: 5
Брой думи: 936
Брой символи: 5,501

Потърси помощ за своята домашна:

Имаш домашна за "Основни типове данни"?
Намери бързо решение, с помощтта на потребители на Pomagalo.com:

Намери частен учител

Виторио Белоречки
преподава по Програмиране
в град София
с опит от  4 години
293 33

Нина Урумова
преподава по Програмиране
в град Варна
с опит от  15 години
308 80

виж още преподаватели...
Последно видяха материала