Promenjiva – variable je lokacija u memoriji računara na kojoj čuvate određenu vrednost i iz koje možete da menjate ili preuzmete vrednost. Jednostavno memoriju računara zamislite kao niz memorijski lokacija. Memorijske lokacije su numerisane i njih nazivamo memorijske adrese. Jedna promenjiva rezerviše jednu ili više memorijski lokacija u kojoj će se čuvati neka vrednost. Sve vaše promenjive se kreiraju u RAM - Random Access Memory; memoriji. Kad vi promenjivoj zadate ime promenjive, vi ne morate znati stvarnu memorijsku adresu promenjive. Vi promenjivoj pristupate preko njenog imena i njena memorijska adresa ostaje ista tokom trajanja promenjive. Ali ukoliko bi ste pokrenuli vaš program i ugasili ga, zatim ga ponovo pokrenuli; vaša promenjiva bi imala drugu memorijsku adresu. Promenjive koristimo da uzmemo podatke od korisnika ili sami možemo definisati njihove vrednosti u kodu. Da bi ste napravili i koristili neku promenjivu vi je prvo morate deklarisati. Iako računar tretira sve promenjive i čuva ih kao brojeve, programeri promenjive dele prema potrebama u 3 osnovna formata.
Promenjive delimo pre svega na formate, celi broj – Integer, broj sa pokretnim zarezom – Floating Point i tekstualni string – Text String. Pored osnovnih formata promenjivih; postoje i mnoštvo tipova promenjivih koji su u principu izvedeni od već navedenih formata. Svaki format promenjivih ima više tipova promenjivi. Vi čak možete definisati i praviti svoje vlastite tipove promenjivih, iako za tim nećete imati potrebe. Najvažnije je da shvatite da svaka vrednost ima prvo svoj format, zatim i svoj tip promenjive. Na primer, decimalne brojeve ćete stavljati u promenjivu formata Floating Point, u tip podataka Float ili Double dok ćete tekst stavljati u format promenjivih String. Međutim vaš računar će prevesti svaku vašu promenjivu i čuvati kao binarni broj bez obzira koji ćete format i tip podataka koristiti. Osnovni tipovi u C++ programskom jeziku su:
char 1 bajt 256 znakova
unsigned short int 2 bajta od 0 do 65 535
short int 2 bajta od – 32 768 do 32 767
unsigned int (16 bitova) 2 bajta od 0 do 65 535
unsigned int (32 bitova) 4 bajta od 0 do 4 294 967 295
int (16 bitova) 2 bajta od – 32 768 do 32 767
int (32 bita) 4 bajta od – 2 147 483 648 do 2 147 647
unsigned long int 4 bajta od 0 do 4 294 967 295
long int 4 bajta od – 2 147 483 648 do 2 147 483 647
float 4 bajta od 1,2e-38 do 3,4e38
double 8 bajtova od 2,2e-308 do 1,8e308
Imajte u vidu da ove vrednosti na vašem računaru mogu da variraju u zavisnosti
od vašeg računara i kompajlera. Da bi ste napravili i koristili promenjivu prvo
je potrebno da je deklarišete.
Kako da deklarišem neku promenjivu?
Kad kažemo da
deklarišemo neku promenjivu to znači da rezervišemo memoriju za vrednost koju
hoćemo da dodelimo promenjivoj. Promenjiva se deklariše navodeći prvo tip
promenjive, zatim ime promenjive. Npr.
int brojRadnihDana;
Vi možete dodeliti i vrednost vašoj promenjivoj prilikom deklarisanja iste
koristeći operator dodeljivanja „ = “:
int brojRadnihDana = 26;
Vi možete kreirati i više promenjivih u istom redu ukoliko ih odvojite zarezom:
int brojRadnihDana, brojRadnihSati;
Prilikom naziva vaših promenjivi, obratite pažnju da je C++ case-sensitive programski jezik. To znači da C++ programski
jezik razlikuje mala i velika slova. Jednostavno brojradnihdana i brojRadnihDana nisu promenjive.Drugo ne možete da nazivate imena vaših promenjivi tako što će
početi brojem; 2brojRadnihDana.
Naziv promenjivih ne može sadržavati praznine ili specijalne simbole i ne
možete koristiti ključne reči C++ jezika,
poput int, do, case, while itd.
Kako da kreiram svoj tip podataka?
Vi u suštini u C++ programskom jeziku
ne kreirate svoj tip podataka, već više pseudonimom na tip podatka, strukturu,
klasu, objekat itd. Npr. ako često deklarišete vašu promenjivu unsigned
long int; vi ćete sa ključnom reči typedef definisati
vašu promenjivu koja će vam skratiti kucanje. Npr.
typedef unsigned long int MYLNG;
onda možete deklarisati vašu promenjivu umesto unsigned
long int ovako:
MYLNG brojRadnihSati;
Kad ćete koristiti tip podataka short a
kad int ili neki drugi tip podataka zavisi od
veličine broja koja promenjiva treba da čuva. Npr. Ukoliko obračunavate radne
dane u mesecu i sigurni ste da broj dana nikad neće prelaziti 31 dan,
onda treba da koristite unsigned char ( od
0 do 255 ) pre nego int ( od – 2 147 483 648 do 2 147 647 ).
Šta su konstante?
Konstante su vam isto što i promenjive samo što u njima držite vrednosti koje
nećete menjati. Konstante ne možete menjati, jedino ako prepravljate program.
Tad su korisne jer onda prepravljate podatak na samo jednom mestu, inače bi ste
morali izvrnuti čitav kod programa i prepravljati svugde gde se pojavljuje
vrednost koju hoćete da promenite. Konstantu možete definisati na stari način i
bez tipa podatka:
#define timA 24;
Međutim mnogo bolje je da konstante definišete sa ključnom rečju const:
const unsigned char timA = 24;
Postoje dve vrste konstanti. Dosledne i simboličke.
Dosledne su vam kad ih definišete u kodu jer znate njihovu vrednost:
const double PI = 3.14159265359;
Simboličke nisu poznate sve do inicijalizacije:
const int radnici = radniciPoKomaniji * 4;
Simbolične konstante nisu praksa, kad imate potrebu za njima bolje koristiti
promenjivu.
Kako ja da vidim kolike su maksimalne i minimalne
vrednosti promenjivi u mom računaru?
Najbolje da napravite mali programčić i vidite sami. Kreirajte direktorijum datatype i pokrenite
Visual Studio Code ili IDE - integranisno razvojno okruženje koje vi
koristite za programiranje C++ programa,
zatim ukucajte kod:
#include <iostream>
#include <limits>
#include <climits>
using namespace std;
int main()
{
cout << endl << "
DATA TYPES" << endl;
cout << "
IN C++ PROGRAMMING LANGUAGE" << endl << endl;
// Character
data types
char h = 'a';
wchar_t i = L'b';
char16_t j = u'c';
char32_t k = U'd';
cout << "CHARACTER DATA
TYPES:" << endl << endl;
// Boolean
data type
bool l = true;
bool m = false;
cout << "BOOLEAN DATA
TYPE:" << endl << endl;
cout << "true: " << l << endl;
cout << "false: " << k << endl << endl;
// String
data type
string n = "This is
string!";
cout << "STRING DATA
TYPE:" << endl << endl;
cout << n << endl << endl;
// Numbers
data type
cout << "INTEGER DATA
TYPES:" << endl << endl;
cout << "Minimum unsigned
short type is " << (int)numeric_limits<unsigned short>::min() << endl;
cout << "Maximum unsigned
short type is " << (int)numeric_limits<unsigned short>::max() << endl << endl;
cout << "Minimum short type
is " << (int)numeric_limits<short>::min() << endl;
cout << "Maximum short type
is " << (int)numeric_limits<short>::max() << endl << endl;
cout << "Minimum unsigned
int type is " << (int)numeric_limits<unsigned int>::min() << endl;
cout << "Maximum unsigned
int type is " << UINT_MAX << endl << endl;
cout << "Minimum int type is
" << (int)numeric_limits<int>::min() << endl;
cout << "Maximum int type is
" << (int)numeric_limits<int>::max() << endl << endl;
cout << "Minimum unsigned
long type is " << (long)numeric_limits<unsigned long int>::min() << endl;
cout << "Maximum unsigned
int type is " << ULONG_MAX << endl << endl;
cout << "Minimum long type
is " << (long)numeric_limits<long int>::min() << endl;
cout << "Maximum long type
is " << (long)numeric_limits<long int>::max() << endl << endl;
cout << "REAL FLOATING DATA
TYPES:" << endl << endl;
cout << "Minimum float type
is " << (double)numeric_limits<float>::min() << endl;
cout << "Maximum float type
is " << (double)numeric_limits<float>::max() << endl << endl;
cout << "Minimum double type
is " << (double)numeric_limits<double>::min() << endl;
cout << "Maximum double type
is " << (double)numeric_limits<double>::max() << endl << endl;
cout << "Minimum long double
type is " << (long double)numeric_limits<long double>::min() << endl;
cout << "Maximum long double
type is " << (long double)numeric_limits<long double>::max() << endl << endl;
//
system("PAUSE");
cin.get();
return 0;
}
Kad
pokrenete ovaj kod dobićete iste rezultate:
DATA TYPES
IN C++ PROGRAMMING LANGUAGE
CHARACTER DATA TYPES:
BOOLEAN DATA TYPE:
true: 1
false: 100
STRING DATA TYPE:
This is string!
INTEGER DATA TYPES:
Minimum unsigned short type is 0
Maximum unsigned short type is
65535
Minimum short type is -32768
Maximum short type is 32767
Minimum unsigned int type is 0
Maximum unsigned int type is
4294967295
Minimum int type is -2147483648
Maximum int type is 2147483647
Minimum unsigned long type is 0
Maximum unsigned int type is
4294967295
Minimum long type is -2147483648
Maximum long type is 2147483647
REAL FLOATING DATA TYPES:
Minimum float type is 1.17549e-38
Maximum float type is 3.40282e+38
Minimum double type is
2.22507e-308
Maximum double type is
1.79769e+308
Minimum long double type is
3.3621e-4932
Maximum long double type is
1.18973e+4932
Press any key to continue . . .
Kako to sve izgleda možete pogledati i na video-u:
Nema komentara:
Objavi komentar