Baziniai duomenų tipai ir aritmetinės operacijos C++ kalboje  (0)

Dokumente pateikiamas įvadas į C++ kalbos pradmenis. Jame surasite bazinių kintamųjų tipų aprašymus, svarbiausias aritmetines operacijas, įvedimo ir išvedimo srautų aprašymus. Pateikti trumpi pavyzdžiai, paaiškintos pagrindinės programavimo C++ kalba sintaksės žinios - kintamųjų įvedimas iš klaviatūros, rezultato išvedimas į ekraną, programos pradžios ir pabaigos žymėjimas, komentarų rašymas, pagrindiniai matematiniai skaičiavimai.

Bendrosios taisyklės programuojant C++ kalba

Programuojant C++ kalba reikia atminti kelias bendras taisykles:

a)      programos pradžios ir pabaigos simboliai

Programos pradžią ir pabaigą žymį laužtiniai skliaustai { }. Jie naudojami ne tik programos pražios ir pabaigos žymėjimui, bet ir kiekvieno atskiro bloko apibrėžimui (ciklo blokas, sąlygos blokas ir pan.) 

main()
{
 //programos tekstas
 }

 b)      kabliataškis

Kabliataškis naudojamas programavimo komandų atskyrimui. Kiekvienos operacijos gale privalo būti kabliataškis, kitaip kompiliatorius rodys klaidą. 

k=k+1;

 c)      komentarai

Komentarai rašomi bet kokioje programos teksto vietoje atskiriant juos simboliais

// - vienos eilutės komentaras

/*    */ - užkomentuota teksto pastraipa 

//vienos eilutes komentaras
/*
Uzkomentuota pastraipa:
pirma komentaro eilute
antra komentaro eilute
....
*/

Standartiniai išvedimo įvedimo srautai C++ kalboje.

Mokantis programuoti su C++ kalba paprastai naudojami tekstiniai pranešimai, kuriuos generuoja ir vartotojui pateikia sukompiliuota programa. Tam patogiausia naudotis standartiniais išvedimo/įvedimo srautų klasėmis, aprašytomis bibliotekoje iostream (biblioteka patalpinta iostream.h byloje). Biblioteka įkeliama standartine komanda

  #include 

 Ryšio su programos išore palaikymui vartojami trijų pagrindinių tipų srautai: įvedimo (istream), išvedimo (ostream) ir dvipusio ryšio (iostream). Srautų atskyrimui naudojami skirtingi operatoriai:

operatorius          <<        duomenų siuntimas į ostream tipo srautą (išvedimas į ekraną);

operatorius          >>        duomenų siuntimas į istream tipo srautą (įvedimas į programą).

 

Keturi įvedimo ir išvedimo srautai bibliotekoje iostream yra apibrėžti iš anksto. Tai:

 cin                      standartinis įvedimo srautas (PC klaviatūra);

cout                    standartinis išvedimo srautas (PC ekranas);

cerr                    nekaupiantis klaidų išvedimo srautas;

clog                    kaupiantis išvedimo srautas. 

Paprastai naudojami du pirmieji srautai – duomenų įvedimui (cin) ir duomenų išvedimui (cout): 

cout <<"Tai isvedimo i ekrana srautas";
cin >> k; //tai ivedimo i programa srautas

 Į srautą nukreiptus duomenis galima atskirti įvedimo-išvedimo operatoriais. Tai svarbu tuomet, kai šalia komentaro norima išvesti kintamojo turinį arba įvesti duomenis: 

cout <<"Gautas atsakymas" << y;

Nenurodžius papildomų srauto parametrų įvedamas arba išvedamas tekstas sudedamas į vieną eilutę. Tai ne visada yra patogu, todėl galima naudoti papildomus srauto tvarkymo simbolius:

  \n                        nauja eilutė

  \t                         horizontalus taboliatorius

  \r                         grįžimo į eilutės pradžią simbolis (CR)

  \a                        skambutis (BEL)

  \\                         simbolis \

  \‘                         apostrofo simbolis

  \“                         dvigubos kabutės

  \0                        nulis (NULL)

 

Simboliai rašomi tarp apostrofų atskiriant įvedimo-išvedimo srautų operatoriais: 

cout <<"Jus sveikina C++" <<'\a' <<'\n';

Jei programa baigiama informacijos išvedimu, gali atsirasti jos perskaitymo problemų – kompiliatorius DOS vykdymo langą rodys tol, kol turės atlikti kažkokią tai funkciją. Kai jis baigia vykdyti visas programos operacijas, DOS langą išjungia. Tuo pačiu išjungia ir visus skaičiavimo rezultatus. Kad to nebūtų, rekomenduojama programos gale įterpti įvedimo srautą (cin), tuomet DOS langas bus rodomas tol, kol neįvesite bet kokio skaičiaus.  

Programos pavyzdys su įvedimo – išvedimo srautais:  

//iterpiamos bibliotekos 
#include
main() //programos tekstas
 {
  //kintamuju aprasymas
  int x;
  //informacijos isvedimas
  cout <<'\t'<<"Sveiki!" <<'\n';
  cout <<"As esu Vardaitis Pavardaitis" <<'\n';
  cout <<"ir busiu kietas programeris!" <<'\a' <<'\n';
  cout <<'\n';
  cout <<"noredami baigti: simbolis+Enter" <<'\n';
  //informacijos ivedimas
  cin >> x;
 }

Baziniai duomenų tipai

Kiekvienas kintamasis, kurį norima naudoti C++ kalboje turi būti priskirtas kažkuriam tipui. Priskirtas tipas kompiliatoriui nurodo, kiek vietos atmintyje reikės išskirti kintamajam, kokios operacijos ir kokie rezultatų vaizdavimo būdai bus leidžiami. Vadinasi neteisingai priskirtas tipas neišvengiamai lems netesingą programos vykdymą. Pagrindiniai tipai pateikti 1 lentelėje. Joje pateiktos ne tik baziniai C++ naudojami kintamųjų tipai, bei ir Borland Delfi aplinkoje sutinkami analogai. 

Delphi
Reikšmė/dydis
C++
ShortInt
8-bit integer     
signed char
SmallInt
16-bit integer   
short
LongInt
32-bit integer
int
Byte
8-bit unsigned integer   
unsigned char   
Word
16-bit unsigned integer
unsigned short  
Integer 
32-bit integer   
int
Cardinal
32-bit unsigned integer
unsigned int
Boolean
true/false
bool
ByteBool
true/false or 8-bit unsigned integer
unsigned char   
WordBool
true/false or 16-bit unsigned integer
unsigned short  
AnsiChar
8-bit unsigned character
char
Char
8-bit unsigned character
char
Single
32-bit floating point number
float
Double
64-bit floating point number
double
Extended
80-bit floating point number
long double
Real
32-bit floating point number
double 

Bitų kiekis nurodo maksimalų įrašomą skaičių. Pagal jį galima surasti ir maksimalią reikšmę – jei bitų yra N, tuomet maksimalus galimas įrašyti skaičius yra 2N-1:

N=8;      28-1=255.

Jei naudojamas kintamųjų tipas yra su ženklu, tuomet į maksimalus skaičius dalinasi pusiau (vienas dalis į neigiamą pusę, kita į teigiamą)

Standartinės aritmetinės operacijos C++ kalboje

Skaičiavimo procedūros C++ kalboje pačiu paprasčiausiu atveju yra standartinės kaip ir kitose kalbose – pradžioje rašomas kintamasis, kuriam priskiriamas skaičiavimo rezultatas, vėliau pati skaičiavimo operacija su joje dalyvaujančiais kintamaisiais:

 atsakymas = kintamasis1 kintamasis2

 Dažniausiai naudojamos operacijos:

+    sudėties veiksmas ir teigiamas skaičiaus ženklas;

 -­    atimties veiksmas ir neigiamas skaičiaus ženklas;

*    daugyba;

/     dalyba;

%   tik sveikajam tipui taikomas liekanos skaičiavimo veiksmas.

 

Skaičiavimo išraiškose svarbi aprašomų veiksmų vykdymo tvarka, kurią valdo operatorių prioritetai, asociatyvumo savybės ir lenktiniai skliaustai. Aukščiausią prioritetą turi operacijos, parašytos skliaustuose. Toliau seka daugyba, dalyba ir sumos bei skirtumo operacijos.

C++ kaaboje galioja sutrumpintos operacijų formos:

 +=        ­ =              *=             /=

 

Užrašas               y+=x;               atitinka             y=y+x;

Užrašas               y*=x;               atitinka             y=y*x;

 

Dar paprasčiau realizuojamas mažinimas arba didinimas vienetu: 

y=x++; //priskyrimas ir didinimas vienetu
y=++x; //didinimas vienetu ir priskyrimas
y=--x; //mazinimas vienetu ir priskyrimas
y=x--; //priskyrimas ir mazinimas vienetu

 Svarbu atsiminti, jog operacijos rezultato tipas nustatomas ne pagal rezultato, o pagal argumentų tipus. Todėl jei atliekama operacija su dviem sveikais skaičiais, tai ir rezultatas bus sveikas skaičius, nepriklausomai nuo to, į kokį kintamąjį jis įrašomas. Pvz. atlikus tokią skaičiavimo operaciją: 

float sk;
sk=2/3;

 atsakymas bus 0, tuo tarpu tūrėtų būti 0,666. Taip yra todėl, jog atliekant dalybą iš pradžių kompiuterio atmintyje gaunamas rezultatas 0 (sveikoji dalis), o tik paskui ji įrašoma į sk kintamąjį. Norint gauti realų sveikųjų skaičių dalybos rezultatą, išraiškai reikia taikyti tipų keitimo (type casting) veiksmą, kuris aprašomas tokia sintaksės struktūra: 

()

 Tuomet pvz. atrodytų taip: 

float sk;
sk=(float)2/3;

 Pavyzdinė programa su kintamųjų tipais ir operacijomis: 

#include 
main(){
 //kintamuju aprasymas
 short y;
 int sk1=22222, sk2;
 float sk_f;
 //pradiniu duomenu ivedimas
 cout << "iveskite skaiciu" << '\n';
 cout << "skaicius=";
 cin >> sk2;
 //skaiciavimo operacijos
 cout << "pradiniai skaiciavimu duomenys:" <<'\n';
 cout << "1 skaicius=" << sk1 << '\n';
 cout << "2 skaicius=" << sk2 << '\n';
 cout <<'\n';
 cout << "atlikus sandauga" << '\n';
 y= sk1*sk2;
 cout << "y=" << y << '\n';
 cout << "Noredami iseiti iveskite bet koki skaiciu";
cout << '\n';
 cin >> sk1;
}

 

Aut. teisės: www.technologijos.lt

(20)
(0)
(18)

Komentarai (0)

Susijusios žymos: