Типове данни C++

Класификация:

Запознаване със скаларни ТД, операции с тях(C++):

1. Целочислен ТД- цели положителни и отрицателни стойности, както и 0.

a)  Дефиниране- Int, памет- 2В

b) Допустими стойности- ограничение на стойностите(според ограничението за запаметяване на числа от този тип)

  • за Int допустимите стойносоти са в интервала [-32768;32767]
  • величина от този тип заема 2В в паметта

Пр: Const int a=4 ;    int w,h=-2 ;

c) Допустими операции +, -, *, /,(целочислено деление), %(остатък от делението), сравнения(<, <=,>,>=, ==, !=)

d) Вградени функции(включване на библиотека math.h):

  • abs(х) –> |x|
  • рow(x,n) –> xn

2. Реален ТД- компютърът работи само с десетични дробни числа. Към реалния тип данни спадат дробните и целите положителни и отрицателни стойности, както и 0.

a) Дефиниране- float(4B), double(8B)

Пр: const float p=3.123 ;   double x,y=234.23 ;

b) Експоненциален вид: 1.456е+3= 1.456*103

c) Допустими операции: + – * / сравнения

d) Специфични числови операции ++  –, за увеличаване с 1, за намаляване с 1(напр. а=а+1 е идентично на а++, но второто се изпълнява по- бързо)

e) Вградени функции:

  • fabs(x) –> |x|
  • Pow(x,n) –> xn
  • Sin(x), cos(x), където x е в радиани
  • Sqrt(x)–>корен втори от х
  • Ceil(x) –>  най- близкото цяло число, по- голямо от х
  • Floor(х) –> най- близкото цяло число, по- малко от х

3. Логически тип:

a) Дефиниране- bool

Пр: bool a, c=true;

b) Допустими стойности- True, False, представят се като 1 и 0

c) Допустими операции

–   !- отрицание- едноаргументна функция

Ако Х=0, то !Х=1

Ако Х=1, то !Х=0

–  &&- логическо И, логическо умножение

Х У Х&&У
0 0 0
0 1 0
1 0 0
1 1 1

Свойства:

  • X&&Y=Y&&X
  • X&&X=X
  • X&&0=0
  • X&&1=X
  • X&&!X=0

–  || логическо ИЛИ, логическо събиране

Х У Х||У
0 0 0
0 1 1
1 0 1
1 1 1

Свойства:

  • Х||У= У||Х
  • Х||Х=Х
  • X||0=X
  • X||1=1
  • X||!X=1

–  приоритет: !, &&, |

4. Символен тип:

a)  Дефиниране- char

Пр: char а, b=’A’;

b) Допустими стойности- символи от ASCII- таблицата. На всеки символ съответства код [0;255]

c) Допустими операции

  • Аритметични +,- извършват действията с кодовете на символите
  • Преобразувания в символен тип или в числов тип:
  • (int) символ àкода на символа
  • (char) число є [0;255] –> символа с този код

5. Преобразувания между типовете:

a)  Неявно преобразуване- когато в израз участват различни типове данни

  • Логически –>числен(true–>1, false–>0)

символен(символи с код 0 и 1)

  • Числов –>логически(0–> false,число различно от 0–> true): 24&&0
  • Символен –>логически(‘’–>false, всички останали символи –> true)

числен(съответния код на символа): ’5’+2

  • Целочислен –> реален (без загуба на данни): 3*1.2
  • Реален –> целочислен (със загуба на данни) int c=1.23;

b)      Явно преобразуване (<тип>)<израз>;

Пр: (int) 2.5–>2, (bool)2–> true

Езици за програмиране C++

I. Формалните езици представляват изкуствено създадени езици, които имат следните елементи-

  1. азбука(допустимите за езика символи)
  2. синтаксис(правила за изграждане на изречения, изрази)
  3. семантика(смисъла на изреченията, изразите)

За такива формални езици могат да се приемат писането на ноти, изписването на химични формули, езика Есперанто(който също е изкуствено създаден) и др.

II. Езиците за програмиране от високо ниво също представляват формални езици за описание на данните и алгоритмите.

Програма– последователност от команди, реализиращи алгоритъм, записани на ЕП. Програмата става изпълнима от компютъра след като бъде преведена на машинен език. Това вършат транслаторите, които биват интерпретатори и компилатори, спред начина по който превеждат.

Средите за програмиране включват следните елементи: текстов редактор(за въвеждане текста на програмата), транслатор(ако е компилатор, след изпълнение на програмата следва…), превод на програмата в обектен код(obj), свързващ редактор(свързва всички необходими файлове за нашата задача, напр. библиотеките(файлове с готови програмни части))

ep1

III. Общо описание на езика С++:

  1. Предимства на езика С++, развитие на езика С:

a)      поддръжка на абстрактни типове данни

b)      поддръжка на обектноориентирано програмиране

c)      надграждащо програмиране

2. Елементи на езика С++:

a)      Азбука- малки и големи лат. букви, цифри, знаци

b)      Думи- запазени думи, стандартни думи- използват се с определена семантика.

c)      Идентификатори- потребителски имена на величини и конструкции- могат да започват с лат. Буква, да съдържат лат. букви, цифри, долна черта. Запазените думи не могат да се използват за идентификатори.

d)     Оператори- основни структурни единици, последователност от елементи, които водят до изпълнението на команди от процесора. Операторът е еквивалентен на изречение в говоримите езици(завършена конструкция). Операторите биват за:

  • Описание на програмни обекти
  • Аритметични и логически операции
  • Управление на изчислителния процес

3. Структура на програма:

str

Пример:

#include <iostream.h>

int main()

{

int a,b;

cout<<„Въведи страни на правоъгълник“<<„\n“;

/*Страните трябва да са цели положителни числа*/

cin>>a>>b;

cout<<„Лицето на правоъгълника е:“<<a*b;

return o;

}