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.
( C++ Datatypes )
Promenjive delimo pre svega na formate, celi broj – Integer, broj sa pokretnim zarezom – Floating Point i tekstualni string – Text String. Pored osnovnih formata promenjivi; postoje i mnoštvo tipova promenjivi koji su u principu izvedeni od već navedenih formata. Svaki format promenjivi ima više tipova promenjivi. Vi čak možete definisati i praviti svoje vlastite tipove promenjivi, iako za tim nećete imati potrebe. Najvažnije je da shvatite da svaka vrednost ima prvo svoj format, zatim i svoj tip promenjive. Npr. 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?
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 iste 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++ 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 službenom 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. Otvorite Visual Studio 2015 ili IDE koji vi koristite za programiranje C++ programa, zatim ukucajte kod:
#include "stdafx.h"
#include <iostream>
#include <limits>
using namespace std;
int
main()
{
cout << endl << " MINIMUM AND MAXIMUM VALUES OF NUMBER DATA TYPES" << endl;
cout << " IN C++ PROGRAMMING LANGUAGE" << endl << endl;
cout << "INTEGER DATA TYPES:" << endl << endl;
cout << "Minimum bool type is " << (int)numeric_limits<bool>::min() << endl;
cout << "Maximum bool type is " << (int)numeric_limits<bool>::max() << endl << endl;
cout << "Minimum unsigned char type
is " << (int)numeric_limits<unsigned char>::min() << endl;
cout << "Maxmum unsigned char type is
" << (int)numeric_limits<unsigned char>::max() << endl << endl;
cout << "Minimum char type is " << (int)numeric_limits<char>::min() << endl;
cout << "Maxmum char type is " << (int)numeric_limits<char>::max() << endl << endl;
cout << "Minimum unsigned short type
is " << (int)numeric_limits<unsigned short>::min() << endl;
cout << "Maxmum unsigned short type
is " << (int)numeric_limits<unsigned short>::max() << endl << endl;
cout << "Minimum short type is " << (int)numeric_limits<short>::min() << endl;
cout << "Maxmum short type is " << (int)numeric_limits<short>::max() << endl << endl;
cout << "Minimum unsigned int type is
" << (int)numeric_limits<unsigned int>::min() << endl;
cout << "Maxmum unsigned int type is
" << UINT_MAX << endl << endl;
cout << "Minimum int type is " << (int)numeric_limits<int>::min() << endl;
cout << "Maxmum 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 << "Maxmum unsigned long type is
" << ULONG_MAX << endl << endl;
cout << "Minimum long is " << (long int)numeric_limits<long int>::min() << endl;
cout << "Maxmum long is " << (long int)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 << "Maxmum float type is " << (double)numeric_limits<float>::max() << endl << endl;
cout << "Minimum double is " << (double)numeric_limits<double>::min() << endl;
cout << "Maxmum double is " << (double)numeric_limits<double>::max() << endl << endl;
cout << "Minimum long double is
" << (long double)numeric_limits<long double>::min() << endl;
cout << "Maxmum long double is " << (long double)numeric_limits<long double>::max() << endl << endl;
system ("PAUSE");
return 0;
}
Kad pokrenete ovaj kod dobićete
iste ili slične razultate:
MINIMUM AND
MAXIMUM VALUES OF NUMBER DATA TYPES
IN
C++ PROGRAMMING LANGUAGE
INTEGER DATA TYPES:
Minimum bool type is 0
Maximum bool type is 1
Minimum unsigned char type is 0
Maximum unsigned char type is 255
Minimum char type is -128
Maximum char type is 127
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 long type is 4294967295
Minimum long is -2147483648
Maximum long is 2147483647
REAL FLOATING DATA TYPES:
Minimum float type is 1.17549e-38
Maximum float type is 3.40282e+38
Minimum double is 2.22507e-308
Maximum double is 1.79769e+308
Minimum long double is 2.22507e-308
Maximum long double is 1.79769e+308
Press any key to continue . . .
Kako to sve izgleda možete pogledati i na video-u:
( C++ Tutorial - 2. Range Variables )
Nema komentara:
Objavi komentar