Базови Типове Данни

Кирил Иларионов

k.ilarionov at gmail.com

Тип на данните (I)

Тип на данните (II)

Примитивни типове данни (I)

Примитивни типове данни (II)

Data Type Size


Функцията sizeof дава възможност да се провери размера
примерно за типа int за Вашия конкретен процесор.

За целта въведете, компилирайте и изпълнете следната програма:

Data Type Size (II)

/* sizeofBaseTypes.cpp
   Name: ILARIONOV,	Fac. Num. 55331,      16-Aug-2010      
--------
   The programm checks and prints the sizes of C/C++ base types 
related to current PC architecture. */

#include <iostream>

using namespace std ;

main ()
{
   cout <<"The size of type char\t is\t"  <<sizeof(char)   <<" Byte/s\n" ;
   cout <<"The size of type bool\t is\t"  <<sizeof(bool)   <<" Byte/s\n" ;
   cout <<"The size of type int\t is\t"   <<sizeof(int)    <<" Byte/s\n" ;
   cout <<"The size of type float\t is\t" <<sizeof(float)  <<" Byte/s\n" ;
   cout <<"The size of type double\t is\t"<<sizeof(double) <<" Byte/s\n" ;
 }	// main () ends here.
Изход

Data Properties


Деклариране на променливи (I)

Деклариране на променливи (II)

ПРЕПОРЪЧИТЕЛНО Е:

Деклариране на променливи (III)

Примерни декларации (I)

Примерни декларации (II)

НЕПРАВИЛНИ декларации (I)

НЕПРАВИЛНИ декларирации (II)

НЕПРАВИЛНИ декларации (III)

Изход

ЦЕЛОЧИСЛЕНИ Променливи (I)

ЦЕЛОЧИСЛЕНИ Променливи (II)

С ключовата дума int се декларират променливи, чиито стойности са цели числа.
Пред int може да се изпише short, long или unsigned.
Това е начин да използваме цели числа с толкова значещи цифри, колкото са ни необходими за решаването на конкретната задача.

ЦЕЛОЧИСЛЕНИ Променливи (III)

Ключовата дума int често се изпуска, можем да пишем само:

ЦЕЛОЧИСЛЕНИ Променливи (IV)

ЦЕЛОЧИСЛЕНИ Променливи - ПРИМЕР

/*   intVarsEx1.cpp
   Name: ILARIONOV,	Fac. Num. 55331,      22-Aug-2010      
---   That is an example 1 about type int.
The example shows how to declare, to initialize and 
how to do some base calculations. */

#include <iostream>

using namespace std ;

main ()
{ int a=7, b=2 ;  // Declares two int variables and initializes them.
  cout <<"\n\ta=" <<a <<"\tb=" <<b ; // Отпечатва a и b
  cout <<"\n\na+b="  <<(a+b) ;  // СЪБИРАНЕ
  cout <<"\n\na-b="  <<(a-b) ;  // ИЗВАЖДАНЕ
  cout <<"\n\na*b="  <<(a*b) ;  // УМНОЖЕНИЕ
  cout <<"\n\na%b="  <<(a%b) ;  // ОСТАТЪК при Деление на ЦЕЛИ числа
  cout <<"\n\na/b="  <<(a/b) ;  // ЦЕЛОЧИСЛЕНО Деление - ЧАСТНО
  cout <<"\n\n\t-b=" <<(-b) <<"\t- -b="<<(- -b);  // Промяна на знак
  cout <<"\n\n\t+b=" <<(+b) <<"\t+ -b="<<(+ -b);  // Просто ЗНАКА +
 }	// ends main()
Изход

ЦЕЛОЧИСЛЕНИ Константи

Целите числа могат да се използват от програмата чрез целочислени променливи, както се убедихме от предишния пример.

Когато числата не се променят можем можем просто да изпишем стойностите им. В този случай казваме че работим с литерално зададени константи.

В примера вече използвахме константите 7 и 2 при инициализирането на променливите a и b съответно.

ЦЕЛОЧИСЛЕНИ Константи (II)

ЦЕЛОЧИСЛЕНИ Константи (III)

Целочислените константи се представят като тип int. Представянето им може да се прецизира като:

ЦЕЛОЧИСЛЕНИ Константи - Примери

Изход

Аритметични операции с цели числа

Видове:

Аритметични операции с цели числа

УНАРНИ Операции:

Аритметични операции с цели числа (II)

МУТИПЛИКАТИВНИ Операции:

Аритметични операции с цели числа (III)

АДИТИВНИ Операции: Изход

АРИТМЕТИЧНИ Изрази

АРИТМЕТИЧНИ Изрази - ПРЕСМЯТАНЕ

  1. пресмята се стойността на изразите заградени в скоби. Скобите могат да се влагат;
  2. извършват се знаковите операции;
  3. променливите се инкрементират/декрементират ако операцията е записана преди името на променливата, префиксна операция;
  4. от ляво на дясно в реда в които са записани се извършват: първо всички мултипликативни операции а след това всички адитивни операции.
  5. променливите се инкрементират/декрементират ако операцията е записана след името на променливата, постфиксна операция;

Аритметични изрази - Примери (I)

В програмата е декларирано:
int a=6, c=4, d=5 ;
Пресметнете изразите:

Аритметични изрази - Примери (II)

В програмата е декларирано: int a=6, b=9, c=4, d=5 ;
Пресметнете изразите:

Аритметични изрази, Упражнение (I)

Аритметични изрази, Упражнение (II)

/* intVarsEx2.cpp
   Name: ILARIONOV,	Fac. Num. 55331,      24-Aug-2010      
--------
   That is an example 2 about int type.
The example shows how to evaluate expressions. */

#include <iostream>

using namespace std ;

main ()
{ int a=7, b=-2, c=3, d=5 ;
  cout <<"\na=" <<a <<"\tb=" b <<"\tc=" <<c <<"\td=" <<d <<"\n\n";  
  cout <<(a*b+c%d) <<"\t" <<"a*b+c%d\n\n" ;
  cout <<(a*(b+c)%d) <<"\t" <<"a*(b+c)%d\n\n" ;
  cout <<((a*b+c)%d) <<"\t" <<"(a*b+c)%d\n\n";
  cout <<(a*(b+c%d)) <<"\t" <<"\ta*(b+c%d)\n\n" ;
  cout <<(a*b+ - -c%d) <<"\t" <<"a*b+ - -c%d\n\n" ;
  cout <<(++a*b+++ - -c%d--) <<"\t" <<"++a*b+++ - -c%d--\n\n" ;
  cout <<"a=" <<a <<"\tb=" <<b <<"\tc=" <<c <<"\td=" <<d <<"\n\n" ;
 }

Съставяне на аритметични изрази

Зад. 1: Намерете последната цифра от целочислената променлива k
k%10 и k/10%10 става за въпроси от тест

Съставяне на аритметични изрази

Зад. 2: Намерете предпоследната цифра от целочислената променлива k
k%10 и k/10%10 става за въпроси от тест

Сгрешени изрази

Зад. 3:
SUM AVERAGE ERROR
Изход

Линеен запис за аритметичен израз

Зад. 4: Пресметнете дробите
formula 1   и
formula 2   , като:
Изход

РЕАЛНИ Променливи (I)

РЕАЛНИ променливи, известни още като числа с десетична точка, с плаваща запетая

РЕАЛНИ Променливи (II)

РЕАЛНИ Променливи (III)

РЕАЛНИ Променливи (IV)

Изход

Символен тип (I)

Символен тип (II)

Символен тип - Упражнение

Декларирали сме char a = 'f' ;

Символни Променливи - Пример

/*	charVarEx1.cpp
	Name: ILARIONOV,	Fac. Num. 55331,  27-Aug-2010
--------
   That is an example 1 about char type.
The example shows char basics. */

#include <iostream>

using	namespace std ;

main ()
{
    char    ch = 'c', nextChar = ch+1, prevChar = ch-1;
    cout    <<"\nprevChar is " <<prevChar ;
    cout    <<"\t\t ch is " <<ch ;
    cout    <<"\t\t nextChar is " <<nextChar ;
    cout    <<'\n'  ; // New Line
    cout    <<'\a'  ; // Bell
    cout    <<"\t++ch is "   <<(++ch) <<'\n' ;
    cout    <<"\\120 is " <<'\120' <<'\n' ;
}
Изход

Escape Sequences (I)

Символите ползвани от програмата ни са подредени в кодова таблица. В тази таблица са както символите с които пишем/четем, така и символи за управление работата на компютърната система, т.е. управляващи символи.

Escape Sequences (II)

Escape Sequences (III)

Изход

Операции за сравнение (I)

Операции за сравнение (II)

Операции за сравнение, Пример

/*	compOpEx1.cpp
	Name: ILARIONOV,	Fac. Num. 55331,  29-Aug-2010
--------
   That is an example 1 about 
HOW TO COMPARE ARITHMETIC EXPRESSIONS. */

#include <iostream>

using	namespace std ;

main ()
{   int a=5, b=11 ;
    cout    <<"\na=" <<a <<"\tb=" <<b <<'\n' ;
    cout    <<"\na-b>b-a is\t" <<(a-b>b-a) ;
    cout    <<"\na-b<b-a is\t" <<(a-b<b-a) <<'\n' ;
    cout    <<"\na!=b is\t\t" <<(a!=b) ;
    cout    <<"\na==b is\t\t" <<(a==b) <<'\n' ;
}
Изход

Логически тип

Логически Тип - Операции

ЛОГИЧЕСКИ ОПЕРАЦИИ
! НЕ (Отрицание, NOT) || ИЛИ (Дизюнкция, Лог. събиране, OR) && И (Конюнкция, Лог. умножение, AND)
!A
false
false
true
true
ABA || B
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse
A && B
true
false
false
false
Изход