E-gradiva > Računalništvo > Programiranje > Upravljanje s programirljivimi napravami > Nizi znakov

Prijava

Nizi znakov

 

 

Niz znakov je polje podatkov tipa char.

 

char   je  tki. znakovni tip:

 

char znak = 'a';        //definicija znakovne spremenljivke Znak


 

v računalniku je predstavljen z ASCII kodo:

 

            unsigned char:  0  - 255

               signed char:  -128 - 127

 

Nize znakov uporabljamo za zapisovanje besed, stavkov, sporočil, ipd. in so eden od najbolj pogosto uporabljenih sestavljenih tipov. 

 

V vaših programih ste jih že uporabljali !

 

cout << "To je test";

 

 

Toda, kako deklarirati spremenljivko, kamor bomo lahko zapisali poljubno besedilo? 

 

char sporocilo[10];

 

V polje znakov z imenom  sporocilo  bomo lahko shranili 10 znakov.  

 

V čem se nizi znakov razlikujejo od ostalih polj?  Uporabljajo poseben znak, ki označuje konec niza. Ta znak se imenuje null.

 

ASCII koda tega znaka je 0 in če ga želimo zapisati v programu, uporabimo zapis:  ’\0’ .

 

 

V našo spremenljivko bi lahko shranili besedilo ”test” na naslednji način: 

 

sporocilo[0] = 't';
sporocilo[1] = 'e';
sporocilo[2] = 's';
sporocilo[3] = 't';
sporocilo[4] = '\0'; //(NULL)

 

To pomeni, da preostalih 5 znakov v naši spremenljivki ne bo izkoriščenih. 

 

Sedaj lahko naše sporočilo izpišemo: 

 

cout << sporocilo;

 

Na zaslonu se izpiše:

test

 

 

 

Lahko pa naš niz inicializiramo tudi takole: 

 

char niz[] = "test";

 

V tem primeru se deklarira niz takšne velikosti, kot je določeno z inicializacijskim tekstom.

4 znaki + NULL = 5 znakov 

 

ali takole: 

 

char niz[]={'t', 'e', 's', 't', '\0'};

 

Izpis niza znakov s presledki med znaki:

 

for (int i=0; sporocilo[i]!='\0'; i++)
{


cout << sporocilo[i] << ' ';
}

 

V našem primeru bi ta del programa izpisal: 

t e s t

 

 

Vprašanja

 

Nize znakov uvrščamo med tipe. Predstavljeni so kot znakov, kjer je njihov konec označen s posebnim znakom. Ta znak se imenuje .

Nize znakov uvrščamo med tipe. Predstavljeni so kot znakov, kjer je njihov konec označen s posebnim znakom. Ta znak se imenuje .

 

 

Kaj izpiše naslednji program:

 

char [5] sporocilo;
sporocilo[0] = 't';
sporocilo[1] = 'e';
sporocilo[2] = 's';
sporocilo[3] = 't';
sporocilo[4] = '\0'; //(NULL)
cout<<sporocilo;

Odgovor je pravilen

Odgovor žal ni pravilen

 

 

Katera inicializacija niza je napačna:

Odgovor je pravilen

Odgovor žal ni pravilen

 

 

Dopolni!

Funckija vrne dolžino niza, funkcija pa prvemu nizu prilepi drugi niz.

Dopolni!

Funckija vrne dolžino niza, funkcija pa prvemu nizu prilepi drugi niz.

 

 

Ukaz prebere niz znakov, ki jih vnese uporabnik, do prvega presledka, med tem ko ukaz prebere celotno vrstico.

Ukaz prebere niz znakov, ki jih vnese uporabnik, do prvega presledka, med tem ko ukaz prebere celotno vrstico.

 

 

Funkcija atof pretvori niz znakov v :

Odgovor je pravilen

Odgovor žal ni pravilen

 

 

Funkcija atoi pretvori niz znakov v :

Odgovor je pravilen

Odgovor žal ni pravilen