www.amapro.cz & David Bazala [Programování]

Otevře webové stránky AmaPro


Otevře hlavní stránku společnosti AmaPro
Internetové stránky určené pro studenty středních a vysokých odborných škol.


amapro.cz/odkazy Projekt eliminuje vyhledávání klíčových slov na komerčních stránkách a v e-schopech.



Nový projekt AmaPro

 

continue

 

Jedná se o iterační příkaz používající se pro rychlý odskok z nejvnitřnější neuzavřené smyčky. Přechodem na tento příkaz dochází k odskoku na konec cyklu a tedy i vyvolání testu podmínky. Příkazy za continue (do konce těla cyklu) již nebudou vykonány. Dle výsledku testu podmínky bude běh programu pokračovat opět tělem cyklu, nebo se cyklus ukončí. Příkaz se používá s dalšími příkazy, které obstarávají cyklické smyčky jako while, for, do, switch. Obdobným příkazem pro další možné větvení je break.

 

Obecné schéma použití konstrukce continue

 

cyklus (podmínka)

{

if(podmínka)continue;

}

 

 

Je-li vytvořen cyklus, který může být konečný např. for, nebo podmíněný (while, do) lze pomocí příkazu continue kdykoliv započatý cyklus přerušit a provést test podmínky cyklu. Pokud běh programu narazí na instrukci continue, prověří se výsledek podmínky cyklu a běh programu pokračuje znovu prováděním těla cyklu, nebo cyklus opustí a program pokračuje bezprostředně dalším příkazem za ukončovací závorkou těla cyklu. Příkaz continue se často používá s příkazem if(podmínka) a ošetřuje tak případný vznik nekonečných smyček.

 

Specifika konstrukce continue

 

cyklus

{

if(podmínka)

{

continue;

         cout<<“nikdy neproběhne“;

}

}

vyskok

 

Tato programová konstrukce využití příkazu continue demonstruje sílu příkazu continue. Continue způsobí okamžitý přesun běhu programu na začátek těla cyklu. Příkazy za continue nebudou vykonány. Překladač vás upozorní chybovou hláškou:  W8066 Unreachable code, Compiler warning.

 

POZNÁMKA:

Příkaz continue se programově nepoužívá ve vazbě na příkazy switch, case a default. Nemá zde své logické opodstatnění. Přirozeně ve vnořených tělech jednotlivých case lze použít pro příkazy do, while a for.

 

 

 

PŘÍKLAD: continue_1

int x=0;                                                  //alokuje a inicializuje x jako int

while(x<10000)                     //testovací podmínka pro while

   {                                                          //počátek bloku příkazů pro tělo while

   cout<<x<<endl;                                //výpis hodnoty x na monitor

   if(x==10)                                            //při splnění podmínky se provede tělo if

      {                                                       //začátek těla if

      cout<<"x zvětším"<<endl;          //výpis informační zprávy

      x=10000;                                         //změna hodnoty x

      continue;                                        //odskok na začátek cyklu while a provedení testu

      }                                                       //konec těla if

   x++;                                                    //změna proměnné, která je v testu while

   }                                                          //konec bloku příkazů pro tělo while

cout<<"smycka skoncena";             //výpis informační zprávy

getchar();                                             //čekání na entr

return 0;                                                //výstup z konzolové aplikace

 

Program demonstruje využití příkazu continue ve vazbě s příkazem cyklu while. Příkaz while vytváří cyklus pro přičítání proměnné x, která je testovaná na x<10000. V těle cyklu while je ale test podmínky if pro x==10, které vyvolá informační zprávu, inicializuje x na 10000 a provede instrukci continue. Běh programu se dostává do testu podmínky cyklu while. Vyhodnocení testu podmínky způsobí to, že program již nebude vykonávat tělo cyklu, ale program pokračuje bezprostředně dalším příkazem za ukončovací závorkou těla cyklu, což je cout s výpisem informační zprávy. Dále pak čekání na entr a ukončení konzolové aplikace.

 

 

PŘÍKLAD: continue_2

int x=0;                                                  //alokuje a inicializuje x jako int

while(x<10000)                     //testovací podmínka pro while

   {                                                          //počátek bloku příkazů pro tělo while

   cout<<x<<endl;                                //výpis hodnoty x na monitor

   if(x==10)                                            //při splnění podmínky se provede tělo if

      {                                                       //začátek těla if

      cout<<"x změním"<<endl;           //výpis informační zprávy

      x=9998;                                           //změna hodnoty x

      continue;                                        //odskok na začátek cyklu while a provedení testu

      }                                                       //konec těla if

   x++;                                                    //změna proměnné, která je v testu while

   }                                                          //konec bloku příkazů pro tělo while

cout<<"smycka skoncena";             //výpis informační zprávy

getchar();                                             //čekání na entr

return 0;                                                //výstup z konzolové aplikace

 

Program demonstruje využití příkazu continue ve vazbě s příkazem cyklu while. Příkaz while vytváří cyklus pro přičítání proměnné x, která je testovaná na x<10000. V těle cyklu while je ale test podmínky if pro x==10, které vyvolá informační zprávu, inicializuje x na 9998 a provede instrukci continue. Běh programu se dostává do testu podmínky cyklu while. Vyhodnocení testu podmínky způsobí to, podmínka je splněná, neboť 9998<10000 a nedojde proto k ukončení cyklu while, ale tělo cyklu while se provede ještě dvakrát (x++ na 9999 a x++ na 10000). Následuje test podmínky a standardní opuštění cyklu while. Program pokračuje bezprostředně dalším příkazem za ukončovací závorkou těla cyklu, což je cout s výpisem informační zprávy. Dále pak čekání na entr a ukončení konzolové aplikace.

 

 

PŘÍKLAD: continue_3

int x=0;                                                  //alokuje a inicializuje x jako int

do                                                          //návěstí pro while o těle cyklu

 {                                                            //začátek těla cyklu do-while

 cout<<x<<endl;                 //výpis aktuální hodnoty int x

 if(x==10)                                              //při splnění podmínky provede příkazy v novém těle pro if

   {                                                          //začátek těla pro if

   cout<<"zvětšuji x"<<endl;             //výpis informační zprávy

   x=9999;                                              //změna hodnoty x

   continue;                                           //odskok na začátek cyklu while a provedení testu

   }                                                          //konec těla pro if

 x++;                                                      //přičítání int x

 }                                                            //konec těla cyklu do-while

while(x<10000);                    //testovací podmínka cyklu do-while

cout<<"ukončení cyklu";                  //výpis informační zprávy

getchar();                                             //čekání na entr

return 0;                                                //výstup z konzolové aplikace

 

Program demonstruje využití příkazu continue ve vazbě s příkazem cyklu do- while. Příkazy do-while vytváří cyklus pro přičítání proměnné x, který proběhne vždy minimálně jednou. Cyklus je testován  na x<10000. V těle cyklu do-while je ale test podmínky if pro x==10, které vyvolá informační zprávu, inicializuje x na 9999 a provede instrukci continue. Běh programu se dostává do testu podmínky cyklu while. Vyhodnocení testu podmínky způsobí to, podmínka je splněná, neboť 9999<10000 a nedojde proto k ukončení cyklu while, ale tělo cyklu while se provede ještě jednou. Program vypíše hodnotu 9999, ale opouští cyklus s hodnotou 10000. To je způsobeno pořadím cout a x++. Program pokračuje bezprostředně dalším příkazem za ukončovací závorkou těla cyklu, což je cout s výpisem informační zprávy. Dále pak čekání na entr a ukončení konzolové aplikace.

 

 

PŘÍKLAD: continue_4

for(int x=0;x<=10000;x++)                                  //cyklus inckrementace int x od 0 do 10000

   {                                                                         //počátek těla cyklu for

   cout<<x<<endl;                                //volání výstupního proudu (výpis na monitor)

   if(x==10)                                                            //test podmínky x==10

     {                                                                       //začátek těla podmínky pro if

     cout<<"měnim x"<<endl;                             //výpis informační zprávy

     x=9998;                                                            //změna hodnoty x

     continue;                                                        //odskok na začátek cyklu for a provedení testu

     cout<<"nikdy neproběhne";                       //mimo logický sled programu

     }                                                                       //konec těla podmínky pro if

   }                                                                         //konec těla cyklu for

cout<<"cyklus ukoncen";                                //výpis informační zprávy

getchar();                                                             //čekání na entr

return 0;                                                               //výstup z konzolové aplikace

 

Příklad demonstruje využití příkazu continue ve vazbě na příkaz cyklu for. Cyklus for inckrementuje proměnnou int x. V těle cyklu for je příkaz cout pro výpis aktuální hodnoty int x. Cyklus je testován na hodnotu x==10 pomocí příkazu if. V těle podmínky x je cout pro výpis informační zprávy a dochází ke změně x na 9998. Následně příkaz continue přesouvá běh programu na začátek cyklu for. Protože podmínka cyklu for 9998<=10000 je splněná, bude i na dále probíhat tělo cyklu for. Cyklus proběhne ještě pro x=9999 a x=10000. Pak je cyklus for standardně ukončen a běh programu pokračuje bezprostředně dalším příkazem za ukončovací závorkou těla cyklu, což je cout s výpisem informační zprávy. Dále pak čekání na entr a ukončení konzolové aplikace.

 

 

 



Abecední seznam všech článků Vyhledání pojmů ve článcích




Popis jazaka C
Průvodce příkazy programovacího jazyka C.
programovani/jazyk_c
Popis HTML formátu
Velikost textu, barva textu, rozvržení stránky, obrázky, barva pozadí se zapisuje pomocí HTML příkazů.
stranky/html_tag
Weby o programování
Odkazy na velké servery o programování a vývoji SW
odkazy/programovani
Objektové programování c++
Jazyk C, Objektové programování c++
internet/katalog_programovani_c
Číslicové počítače
Základní aritmetické operace, logické operace a vztahy mezi nimi.
programovani/cislicove_pocitace
Programování PHP
Články o programování webových stránek pomocí PHP.
internet/katalog_programovani_php
PHP práce s poli
Práce s poli a položkamy v PHP.
stranky/php_array
Řetězce PHP
Informace o chování řetězců v programování PHP.
php/obsah_php_string.php
Hybridní počítače
Počítače, jejichž základem je standardní analogová počítací síť.
knihy/hybridni_pocitace
Otevře stránky Fulltextové vyhledávání na celém serveru
Digitalizované odborné knihy
Velká encyklopedie pojmů a zkratek
Česko - anglicko - německý technický slovník
Klasický katalog firem, služeb a stránek
OnLine překladač  vět a textů (nepoužívá Google)
Stránky pro chvíle oddechu od studia, relaxace
Katalog českých firem dle technologií
Internetový odkazník
Otevře hlavní stranu pro oddíl programování




 Wikipedie   Seznam stránek   Kapitoly témat   Významné servery   Klíčová slova 








Otevře hlavní stranu společnosti AmaPro

Všechna práva vyhrazena. Určeno jen pro osobní využití. Bez předchozího písemného souhlasu správce www.amapro.cz je zakázána jakákoli další publikace, přetištění nebo distribuce jakéhokoli materiálu nebo části materiálu zveřejněného na www.amapro.cz a to včetně šíření prostřednictvím elektronické pošty. Články, jejichž přímým autorem není amapro.cz lze publikovat pouze se souhlasem jejich majitelů či administrátoru příslušného webu.