Kako podesiti pametne telefone i računare. Informativni portal

Naredba if u C. Osnovama PHP-a

C++ pruža standardni skup operatora za odabir selekcije i ciklusa.

Ključne riječi koje se odnose na konstrukciju uslova grananja za kod su:

  • prekidač
  • break
  • default

Ključne riječi koje se odnose na konstrukciju ciklusa su:

  • dok
  • break
  • nastaviti

Izjave o stanju

Naredba If

Konstrukt uslova koji koristi if naredbu se formira na sledeći način:

int x = 56; bool check_x() ( ako (x > 0) vrati true; vrati false; )

U ovom slučaju, uvjet se stavlja u zagrade nakon if naredbe. u ovoj konstrukciji, povratni kod je istinit; će se izvršiti ako je x veći od 0. sljedeći red vraća false; Više se ne odnosi na kod koji će se izvršiti kada se ispuni uvjet. U konstrukcijama uslova, ako je ovaj uslov ispunjen, izvršiće se samo jedan red koda ako kod nije zatvoren u vitičaste zagrade, odnosno ako se telo koda izvršava pod uslovom da nije formiran. Razmotrimo dvije varijante koda:

Prva opcija:

int x = 56; bool check_x() (ako je (x > 0) x = 0; vrati true; vrati false; )

u ovom kodu, vrati true; uvijek će se izvršavati, jer je samo string x = 0 relevantan za kod koji se izvršava;

druga opcija:

int x = 56; bool check_x() ( ako (x > 0) ( x = 0; vrati istinito; ) vrati false; )

u ovom kodu, vrati true; Biće zadovoljen samo ako je uslov x> 0 zadovoljen.

Druga izjava

The ostalo izjava se koristi u sprezi sa ako izjava da formira niz uslova.

int x = 56; bool check_x() ( ako (x > 0) ( x = 0; vrati true; ) inače ako (x< 0) { x = 0; return false; } else { return false; } }

Naredba else može se koristiti za dodavanje novog uvjeta ako prethodni uvjet, else if izraz, ne uspije. I kao konačni kod u nizu uslova, ako prethodni uslovi nisu bili ispunjeni. Alternativno, moguće je koristiti zagrade za tijelo koda ako kod stane u jedan red.

Izjave switch, case, break, default

The kućište prekidača konstrukcija se koristi za odabir grananja koda, u čijem se stanju vrši izbor po cjelobrojnim vrijednostima. To znači da se velika i mala slova prekidača mogu koristiti samo za cjelobrojne vrijednosti, nabrajanja i odabire pomoću koda simbola.

int x = 100; bool check_x() (prekidač (x) (slučaj 0: vraća istinito; slučaj 50: x = 0: prekid; slučaj 100: vraća netačno; zadano: vraća netačno; )

U gornjem kodu provjerava se da je varijabla x jednaka brojevima 0, 50, 100. Podrazumevani operator bira kod koji se izvršava ako nijedan od uslova nije ispunjen. Imajte na umu i da u bloku koda sa slučajem 50: dodana izjava break, ova naredba izlazi iz uvjeta, dok naredba return izlazi iz funkcije. Ako ne dodate naredbu break, izvršavanje koda će se nastaviti u slučaju 100:. Zbog ove posebnosti konstrukcije kućišta prekidača, moguće je kombinovati uslove za koje je potrebno izvršiti isti kod. Na primjer:

int x = 100; bool check_x() (prekidač (x) (slučaj 0: slučaj 50: slučaj 100: vrati istinito; zadano: vrati false; ) )

Dakle, za x jednako 0, 50, 100, funkcija vraća true, dok za sve ostale vrijednosti funkcija vraća false.

Takođe, kod za odabir velikih i malih slova u ovoj konstrukciji može se umotati u blokove koda, što će ograničiti opseg i koristiti deklaracije varijabli sa istim imenom.

int x = 100; int check_x() ( switch (x) ( case 0: ( int y = 1; return y; ) case 50: ( int y = 2; return y; ) case 100: ( int y = 3; return y; ) default : vrati x; ) )

Stoga, ograničavanjem opsega, možemo koristiti varijable s istim imenima u slučajevima. Ali nemojte zaboraviti da izvan opsega, ograničena vitičastim zagradama, varijabla y u ovom slučaju neće postojati.

Operatori ciklusa

Izjava while

Naredba while ponavlja kod u svom tijelu sve dok je uvjet ispunjen. Na primjer:

Int i = 0; dok (i< 10) { i = i + 1; }

U ovom kodu ću biti 10 nakon petlje.

Izjava do

Naredba do se koristi zajedno sa naredbom while i dozvoljava da se tijelo petlje izvrši barem jednom, prije nego što se provjeri uvjet petlje. Na primjer:

Int i = 15; uradi ( i = i - 5; std::cout<< i << std::endl; } while (i >0 && i< 13);

U ovom kodu, varijabla I se u početku ne poklapa sa uslovom i u uobičajenoj while petlji kod tijela petlje nije izvršen, ali pošto se koristi do-while petlja, test će biti izveden nakon što je tijelo petlje izvršeno. Kao rezultat, izlaz std::cout je:

Možete pitati, zašto je 0 u izlazu? Ne odgovara stanju. Opet, zbog činjenice da se provjera vrši nakon što se kod izvrši u tijelu petlje. To jest, tijelo petlje je izvršeno, a zatim se vrši provjera čiji rezultat ciklus završava svoj rad.

Izjava o prekidu

Kao iu slučaju prekidača, ova izjava se može koristiti u petljama. Ovo je neophodno da bi se izašlo iz petlje, pre nego što se ispuni uslov ciklusa. Na primjer:

Int i = 15; dok (i< 50) { if (i < 0) { break; } i = i - 5; }

U ovom vještačkom primjeru, rezultirao bi vječni ciklus jer se varijabla i smanjuje umjesto povećanja, a prema uvjetu petlje, izlaz će biti proizveden samo ako je i veći od 50. Ali zahvaljujući naredbi break i uvjetu testa za negativnu vrijednost varijable i Izvršenje programa će izaći iz ove petlje čim i postane manje od 0.

Izjava o nastavku

Ovaj operator vam omogućava da prekinete iteraciju petlje i započnete novu iteraciju petlje prije nego što izvršite sav kod u tijelu petlje. Na primjer:

Int i = 0; dok (i< 5) { if (i == 3) { i = i + 1; continue; } std::cout << i << std::endl; i = i + 1; }

Prilikom izvršavanja ovog koda dobijamo sljedeći izlaz:

To jest, izlaz broja 3 će biti izostavljen.

Izjava za

Petlje sa for naredbom vam omogućavaju da kombinujete inicijalizaciju varijabli, uslov i promjenu ovih varijabli.

To jest, sljedeća while petlja

Int i = 0; dok (i< 10) {

To će biti ekvivalentno sljedećem for petlji:

Za (int i = 0; i< 10; i++) { // ToDo Something }

Prednost ove for petlje će biti u tome što će varijabla I biti u lokalnom opsegu for petlje.

For petlje se mogu inicijalizirati s nekoliko varijabli istog tipa. Na primjer:

Za (int i = 0, *p = i< 9; i += 2) { std::cout << i << ":" << *p << " "; }

Takođe, uslov može biti deklaracija, inicijalizacija varijable. Na primjer:

Char cstr = "Zdravo"; za (int n = 0; char c = cstr[n]; ++n) ( std::cout<< c; }

S obzirom na C++ standard 11, auto varijabla se može koristiti kao tip varijable, što vam omogućava da ispišete tip varijable iz inicijalizatora:

std::vector v = (3, 1, 4, 1, 5, 9); for (auto iter = v.begin(); iter != v.end(); ++iter) ( std::cout<< *iter << " "; }

Također zanimljiva stvar je da inicijalizator, uvjet i blok promjene mogu biti izraz:

int n = 0; za (std::cout<< "Loop start\n"; std::cout << "Loop test\n"; std::cout << "Iteration " << ++n << "\n") { if(n >1) prekid; )

Počevši od C++11 standarda, za petlje je dodana iteracija za kontejnere koji podržavaju iteraciju. Na primjer, vektorski kontejner iz standardne biblioteke:

std::vector v = (0, 1, 2, 3, 4, 5); for (const int& i: v) std::cout<< i << " ";

U ovom kodu, konstrukcija petlje je sljedeća:

Za (Preuzeto iz kontejnera pri svakoj iteraciji objekta: kontejner) ( // Tijelo ciklusa)

Također, petlje zasnovane na rasponu podržavaju naredbu auto. Na primjer:

std::vector v = (0, 1, 2, 3, 4, 5); za (auto& i: v) std::cout<< i << " ";

Neki izvori kažu da je if else select naredba samostalna izjava. Ali to nije slučaj, if else je samo oblik if select naredbe. Naredba if else dozvoljava programeru da specificira akciju kada je uslov istinit i alternativnu akciju kada je uslov netačan. Dok ako je dozvoljeno odrediti radnju pod istinitim uslovom.

Sintaksa za pisanje naredbe za odabir ako je drugačije:

If (/*testni uvjet*/) ( /*tijelo naredbe za odabir 1*/; ) else ( /*tijelo naredbe za odabir 2*/; )

Ona glasi ovako: „Ako je uslov koji se provjerava istinit, onda je odaberite tijelo izjave 1, inače (to jest, uslov koji se provjerava je lažan) odaberite tijelo izjave 2". Obratite pažnju na to kako je napisana izjava if else. Riječ else je posebno pomaknuta udesno kako bi programski kod bio jasan i lak za čitanje.

Razmotrite problem iz prethodne teme, koristeći if else . Da vas podsjetim na uslov zadatka: "Dana su dva broja, potrebno ih je uporediti."

// if_else.cpp: definira ulaznu točku za aplikaciju konzole. #include "stdafx.h" #include korištenje imenskog prostora std; int main(int argc, char* argv) ( int a, b; cout<< "Vvedite pervoe chislo: "; cin >>a; cout<< "Vvedite vtoroe chislo: "; cin >>b; if (a >= b) // ako je a veće ili jednako b, onda ( cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

Za ovaj kod nas zanimaredovi 14-20. Ovi redovi glase ovako: ako a (prvi broj) veći ili jednak b (drugi broj), zatim izvršite izlaznu naredbu ured 16

Cout<< a << " >= " << b << endl;

inače izvršite izlaznu naredbu u red 19

Cout<< a << " <= " << b << endl;

U ovom if, koristimo relacijske operacije >= i<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, red 19 treba ovako napisati

cout<< a << " < " << b << endl; // в кавычках записать не меньше или равно, а просто меньше.

I ovako je program radio (vidi sliku 1).

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15 >= -4 Pritisnite bilo koji taster za nastavak. . .

Slika 1 - Naredba za odabir if else

Pokazat ću još jedan primjer korištenja if else naredbi za odabir (tzv. ugniježđene if else naredbe za višestruki odabir).

Zadatak:
Napišite algoritam koji pronalazi vrijednost y ako je y=x za x<0; у=0, при 0<=х<30; у=х 2 , при х>=30;

// inif_else.cpp: definira ulaznu točku za aplikaciju konzole. #include "stdafx.h" #include korištenje imenskog prostora std; int main(int argc, char* argv) (int x, y; cout<< "Vvedite x: "; cin >>x; ako (x< 0) { y = x; // выполняется, если х меньше нуля } else { if ((x >= 0) && (x< 30)) { y = 0; // выполняется, если х больше либо равно нуля и меньше 30 } else { if (x >= 30) ( y = x * x; // izvršava se ako je x veći ili jednak 30 ) ) ) cout<< "y=" << y << endl; system("pause"); return 0; }

U ovom problemu postoje tri moguća slučaja:
1. slučaj: x< 0 ;
2. slučaj: x je između 0 (uključujući 0) i 30;
3. slučaj: x je veće ili jednako 30.

Obratite pažnju na inovaciju!! AT red 17 ovako: ako ((x >= 0) && (x< 30)) , Koristio sam && znakove - ovo je . Boolean operacija I&& je potreban za kombinovanje nekoliko jednostavnih uslova u jedan složeni uslov. U našem slučaju potrebno je provjeriti istinitost dva uslova: prvi - x >= 0, drugi - x< 30 . Все проверяемое условие будет истинно, если истинны два простых условия. В математике правильной записью считается такая запись: 0 <= x < 30 , а в С++ правильной записью считается вот такая запись: (x >= 0) && (x< 30) или такая 0 <= x && x < 30 . Кстати круглые скобочки () && () не обязательны, так как условия простые, но для уверенности, я прописываю, всегда, данные скобочки и вам советую.

Analiza konkretnog slučaja:

Recimo da je korisnik unio broj 31. Počevši od red 12, uvjeti su provjereni. Ona glasi ovako: „Ako je x (31 u našem slučaju)< 0, то выполнить оператор в red 14". Ali pošto je 31 > 0 uslov je netačan, idemo na riječ else (inače) red 15. Zatim provjeravamo da li je broj 31 uključen u dati interval. To glasi ovako: ako je x>=0 i x<30zatim izvršite naredbu u redu 19 . Ali pošto broj 31 nije uključen u dati interval, uslov je netačan. detaljno red 17: program će prvo provjeriti prvi jednostavan uvjet x >= 0 - istina je, a ako je prvi tačan, onda će program nastaviti s provjerom drugog jednostavnog uvjeta x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (red 22). Test je x >= 30 . To glasi ovako: Ako je x >= 30, onda izvršite naredbu u redu 24 . Konačno je uslov tačan, tako da je izjava u red 24. I red 28 ispisuje rezultujuću vrijednost. E, to je to, program smo sagledali do najsitnijih detalja. Rezultat programa, ako je korisnik unio broj 31 (vidi sliku 2)

U ovom članku govorit ću o tome for i while petlje, operateri break i nastaviti, kao i riječ ostalo, koji, kada se koristi sa petljom, može učiniti kod malo razumljivijim.

while petlja

Dok je jedna od najsvestranijih petlji u Pythonu, i stoga prilično spora. Izvršava tijelo petlje sve dok je uvjet petlje istinit.

>>> i = 5 >>> dok je i< 15 : ... print (i ) ... i = i + 2 ... 5 7 9 11 13

za petlju

Petlja for je već malo komplikovanija, malo manje svestrana, ali je mnogo brža od while petlje. Ova petlja ponavlja bilo koji objekat koji se može ponavljati (kao što je niz ili lista), a tokom svakog prolaza izvršava tijelo petlje.

>>> za i u "hello world" : ... print (i * 2 , kraj = "" ) ... hheelllloo wwoorrlldd

nastavak izjave

Naredba nastavljanja započinje sljedeći prolaz petlje, zaobilazeći ostatak tijela petlje (za ili dok)

>>> za i u "hello world" : ... if i == "o" : ... nastavi ... print (i * 2 , kraj = "" ) ... hheellll wwrrlldd

break izjava

Naredba break prerano prekida petlju.

>>> za i u "hello world" : ... if i == "o" : ... prekid ... print (i * 2 , kraj = "" ) ... heellll

Magična reč drugo

Riječ else koja se koristi u for ili while petlji provjerava da li je iz petlje izašlo naredbom break ili na "prirodni" način. Blok izraza unutar else će se izvršiti samo ako je petlja izašla bez prekida.

>>> za i u "hello world" : ... if i == "a" : ... prekid ... ostalo : ... print ( "Slovo a nije u nizu") ... Slovo a nije u nizu

Petlje su jedan od najvažnijih programskih alata. Korisni su u slučajevima kada morate nešto da uradite određeni broj puta.

Ako postoji takav zadatak, na primjer, prikažite string "zdravo svima" 1000 puta. Zatim, bez upotrebe petlje, prvo će trebati puno vremena, a drugo, neće izgledati baš lijepo. Dakle cikluse treba savršeno dobro poznavati jer se koriste veoma, veoma često.

Postoje četiri ciklusa u programiranju, oni su while, do-while, for i foreach. Svaki od njih ima svoju sintaksu i svaki se koristi u određenim slučajevima.

Najčešće korištene petlje su for i foreach, zatim while, a do-while petlja je vrlo rijetka.

I počećemo sa while petljom.

Sintaksa while petlje je sljedeća:


Prvo, deklariramo varijablu i, koja je brojač, a unutar petlje povećavamo ovaj brojač. Unutar zagrada pišemo uslov za ulazak/izlazak iz petlje.

Komentiraj! Ispravno napišite izlazni uvjet, inače može ispasti beskonačna petlja i tada će skripta visjeti. Takav ciklus se može dogoditi ako, na primjer, u izlaznom stanju jednostavno napišemo true.

Na primjer, prikažemo string "Zdravo svima!" 10 puta.

Vari = 0; while(i "); i++; )

Varijabla i može početi od 0 ili 1 ili bilo kojeg drugog broja.

Uslov za izlazak je ujedno i uslov za ulazak. Petlja radi na sljedeći način: prvo provjerava da li je varijabla i manja od 10, a ako je uslov tačan, onda ulazimo u petlju, inače ne. U ovom slučaju, ako je varijabla i jednaka 30, na primjer, tada se petlja neće izvršiti, jer 30 nije manje od 10.

Ušli smo u ciklus, prikazali red "Zdravo svima", povećali brojač i ponovo prešli na uslov, gde ponovo proveravamo da li je vrednost varijable i manja od 10, zatim ulazimo u ciklus, inače izlazimo iz njega. I to se dešava sve do trenutka kada uslov ulaska postane netačan, odnosno, vrednost varijable i će biti 10. 10 nije manje od 10, tako da više ne ulazimo u petlju, već idemo dalje.

Komentiraj! Ne zaboravite da povećate brojač (i++), inače ćete opet završiti sa beskonačnom petljom.

Shvatili smo while petlju, a sada idemo na do-while petlju.

Sintaksa za do-while petlju je sljedeća:


Razlika između petlje while i do-while petlje je u tome što se petlja do-while može izvršiti najmanje jednom, bez obzira na uvjet, dok se while petlja, ako je uvjet netačan, neće izvršiti uopće.

Komentiraj! Baš kao i sa while petljom, ne zaboravite da povećate brojač i.

Pređimo na praksu. Na primjer, razmotrite proizvod brojeva od 1 do 10.

Vari = 1; proizvodnja var = 1; do( produkcija *= i; i++; )while(i

Rezultat će biti broj 3628800. U prvom koraku, odmah smo ušli u petlju, uprkos njenom stanju, gdje je izvršena operacija proizvodnje *= i (ovo je isto kao proizvodnja = proizvodnja * 1). Zatim povećavamo brojač. Nakon povećanja, ima vrijednost 2. I na kraju, provjeravamo uslov, ako je vrijednost brojača manja ili jednaka 10, onda idemo na sljedeću iteraciju petlje, u suprotnom izlazimo iz petlje i krećemo se on.

za petlju

Kao što sam gore napisao, for petlja je prilično uobičajena, tako da je morate dobro poznavati.

for sintaksa petlje sljedeći:


Radi boljeg razumijevanja, riješimo jednostavan problem. Recimo da trebamo izračunati zbir brojeva od 1 do 1000 koristeći for petlju.

varsum = 0; for(var i = 1; i

Spremimo dokument, otvorimo ga u pretraživaču i vidimo da je rezultat 500500.

Komentiraj! Ako postoji samo jedna izjava u petlji, vitičaste zagrade nisu obavezne.

Za demonstraciju, prikažimo na ekranu 5 puta neki niz, na primjer "Zdravo!".

Za(var i = 1; i

Komentiraj! Nakon izvršavanja petlje u varijabli i, ostaje posljednja vrijednost.

Sada da riješimo problem malo komplikovanije, na primjer, trebamo prikazati string "Hello" 100 puta. A kako se sve ovo ne bi prikazalo u jednom redu, onda ćemo nakon svake 10. iteracije preći na novi red. I na kraju ćemo prikazati vrijednost varijable i.

Za(var i = 1; i<= 100; i++){ document.write("привет!"); if(i % 10 == 0)  document.write("
"); ) document.write("

Varijabla i = " + i + "

"); // i = 101

foreach petlja obično se koristi za ponavljanje objekata i nizova. Stoga ću o tome govoriti u članku koji opisuje rad s nizovima.

break izjava dizajniran za prisilni izlazak iz petlje.

nastavak izjave omogućava vam da prekinete trenutnu iteraciju petlje i pređete na sljedeću.

Radi boljeg razumijevanja, riješit ćemo i jednostavan problem. Recimo da želimo da izračunamo zbir neparnih brojeva od 1 do 20. I kada dođemo do 15. iteracije, izlazimo iz petlje.

varsum = 0; for(var i = 1; i<= 20; i++){ //Пропускаем текущею итерацию цикла if(i % 2 == 0) continue; summa += i; //Выходим совсем из цикла. if(i == 15) break; document.write(i + ". Итерация
"); ) document.write("

summa= " + suma + "

"); //zbroj = 64

Spremimo dokument, otvorimo ga u pretraživaču i pogledamo rezultat.

Za vježbu pokušajte promijeniti napisano pismo tako da izračunava zbir parnih brojeva.

Ovdje se ovaj članak završava. Sada znaš sintaksa while, do-while, for petlji i kako raditi s njima. Također se sastao sa prekid i nastavak izjava.

Top Related Articles