C programavimas
5 (100%) 1 vote

C programavimas

C++ programavimo kalba

Visa pagrindine teorija, klausimai ir atsakymai su pavyzdziais.

Įvadas į OOP, I/O biblioteka

Programavimo kalbos

n Procedūrinės (ankstyvos Fortran versijos)

n Pagrindą sudaro funkcijos. Programos kodo ilgis iki kelių tūkstančių eilučių.

n Struktūrinės (Pascal, C, Fortran, Basic, COBOL)

n Pagrindą sudaro blokai (procedūros) ir duomenys, priskirti tiems blokams. Programos kodo ilgis iki 50 tūkstančių eilučių.

n OOP (C++, Java, Visual Basic)

Struktūrinis programavimas

n Struktūrinio programavimo požymiai:

n Programos lengvai suprantamos, testuojamos, modifikuojamas.

n Struktūrinio programavimo taisyklės

n Naudojamos single-entry/single-exit valdymo struktūros;

n Taisyklės

1) Pradedama nuo “paprasčiausios” struktūrinės schemos;

2) Bet kuris veiksmas, gali būti pakeistas dviejų veiksmų seka;

3) Bet kuris veiksmas gali būti pakeistas valdymo struktūra ( if, if/else, switch, while, do/while, for)

4) 2 ir 3 punktas gali kartotis

OOP

n Išradėjai Ole-Johan Dhal ir Kristen Nygaard iš Oslo Universiteto ir Norvegijos Skaičiavimo centro (Norsk Regnesentral). OOP konsepcija buvo pristatyta 1966.

n OOP esmė – sudaryti realaus pasaulio atspindį programinio kodo struktūroje.

importantStuff = new Object( );

importantStuff.money = 500;

importantStuff.papers = 96;

importantStuff.annPassport = „er246vjl“;

importantStuff.bobPassport = „kl554mkt“;

importantStuff.jewelryBox = new Object( );

importantStuff.jewelryBox.necklace1 = „Pearl“;

importantStuff.jewelryBox.necklace2 = „Diamond“;

C++

n C++ – tai C kalbos pratęsimas, priskiriant ją OOP kalbų grupei, todėl išlieka C ir C++ suderinamumas.

n C++ geriau nei C, nes:

n Išsamesnis klaidų tikrinamas, lengvesnė klaidų paieška;

n Nuorodų (reference) panaudojimas funkcijų argumentuose ir grąžinamose reikšmėse yra patogesnis nei žymių (pointer).

n Funkcijų perkrovimas (overloading) leidžia naudoti tuos pačius f-jų pavadinimus skirtingoms funkcijoms.

n Vardų erdvės (namespace) leidžia geriau kontroliuoti vardų naudojimą

C++ privalumai prieš C

n ~10 % didesnis programų našumas nei C;

n Programos (didelės) lengviau taisomos bei modifikuojamos;

n Dėl klasių pritaikymo lengviau naudojamos bibliotekos

n Šablonai (template) automatiškai modifikuoja programinį kodą, taip palengvinami bibliotekų naudojimą;

n Progaminis kodas gali viršyti 50.000 eilučių;

I/O biblioteka

n I/O srautas – tai loginis įrenginys informacijos gavimui iš vartotojo ir informacijos perdavimui vartotojui.

n I/O srautas siejamas su fiziniais įrenginais (ekranu, klaviatūra, pele, HDD) per C++ I/O sistemą t.y. I/O biblioteką, vadinamą iostream.

n Tokia I/O sistema užtikrina vieningą trarką informacijos įvedimui/išvedimui.

n I/O biblioteka suskirstyta į 4 failus:

1. iostream.h

2. fstream.h

3. strstream.h

4. iomanip.h

iostream

Header File Description

iostream.h Defines a hierarchy of classes for low-level (untyped character-level) IO and high-level (typed) IO. This includes the definition of the ios, istream, ostream, and iostream classes.

fstream.h Derives a set of classes from those defined in iostream.h for file IO. This includes the definition of the ifstream, ofstream, and fstream classes.

strstream.h Derives a set of classes from those defined in iostream.h for IO with respect to character arrays. This includes the definition of the istrstream, ostrstream, and strstream classes.

iomanip.h Defines a set of manipulator which operate on streams to produce useful effects.

Form of I/O Input Output Input and Output

Standard I/O istream ostream iostream

File I/O ifstream ofstream fstream

Array of char I/O istrstream ostrstream strstream

Apibrėžti standartiniai srautai

Stream Type Buffered Description

cin istream Yes Connected to standard input (e.g., the keyboard)

cout ostream Yes Connected to standard output (e.g., the monitor)

clog ostream Yes Connected to standard error (e.g., the monitor)

cerr ostream No Connected to standard error (e.g., the monitor)

I/O operatoriai

n Įvedimo <<

n Išvedimo >>

#include

void main()

{

float A = 18.236;

cout << „1. A=“ << A << endl;

cout << „2. A=“ << A*2.0 << endl;

}

I/O

n setw (n) n – lauko plotis simboliais,

n setprecision (n) n – skaitmenų skaičius.

Jei setw nurodyto lauko dydžio skaičiui nepakanka, manipuliatorius ignoruojamas.

Nuoroda setw galioja artimiausiai išvedamai reikšmei, o setprecission – iki naujo

nurodymo

#include

#include

main() {

float A = 18.236;

cout << „1. A=“ << setw(9) << A << endl;

cout << „2. A=“ << setprecision(3) << A << endl;

cout << „3. A=“

<< setw(10) << setprecision(5) << A <