Acasă Finanțe personale Ruperea unei bucla infinită în programul tău de limbă C - dummy

Ruperea unei bucla infinită în programul tău de limbă C - dummy

Video: Section, Week 3 2024

Video: Section, Week 3 2024
Anonim

Când intri în buclele de programare în limbajul C, descoperi bucuriile și grotele de bucle infinite sau infinite . Aceste bucle continuă pentru totdeauna deoarece fie programatorul a uitat să includă o cale de ieșire din bucla, fie condiția de ieșire nu este niciodată îndeplinită. Oricum, buclele nesfârșite reprezintă o durere.

Dar, uneori, un program C conține o buclă nesfârșită. Acest tip de construcție poate părea ciudat, totuși baza multor programe moderne este aceea că stau și se rotesc în timp ce așteaptă să se întâmple ceva. Buclele pot arăta astfel:

pentru (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}

Observați că condițiile din interiorul parantezelor după cuvântul cheie pentru cuvinte cheie lipsesc, ceea ce este bine. Rezultatul este o buclă nesfârșită în care declarațiile sunt verificate în mod repetat, una după alta: programul caută activitate undeva. Când se găsește activitate, programul se stinge și face ceva interesant. Dar, de cele mai multe ori, programul se află doar în acest tip de buclă, așteptând să se întâmple ceva. (Procesorul tipic de texte poate efectua mii de astfel de bucle deoarece așteaptă între apăsările de taste pe măsură ce introduceți textul.)

Introduceți acest cod sursă și salvați-l pe disc. Apoi compilați și executați programul:

#include int main () {char ch; pune ("Programul de tiparire"); pune ("Type away:"); pentru (;;) {ch = getchar ();} întoarcere (0);}

Da, puteți tasta. Și puteți vedea textul pe ecran. Dar cum te opresti?

Pentru a opri, trebuie să rupeți buclă fără sfârșit, care se poate face apăsând pe Ctrl + C. Dar asta nu este modul în care doriți ca programele dvs. să funcționeze. În schimb, pentru buclă trebuie să fie definită o condiție de ieșire, unde se pune în joc cuvântul cheie break.

Dezvoltatorii limbajului C știau că, în unele cazuri, o buclă trebuie să fie întreruptă pe baza unor condiții care nu au putut fi anticipate sau configurate în instrucțiunea for. Deci, în înțelepciunea lor, au introdus cuvântul cheie de pauză.

Ce pauză are să închizi imediat o buclă (orice buclă de limbaj C, nu doar pentru bucle). Când calculatorul vede o pauză, presupune doar că buclele se termină și continuă ca și cum condiția de încheiere a buclei a fost îndeplinită:

#include int main () {char ch; pune ("Programul de tiparire"); pune ("Apăsați tasta" ~ "pentru a renunța:"); pentru (;;) {ch = getchar (); dacă (ch == '~') {break;}} return (0);}

Acum este definită o condiție de ieșire. Dacă comparația din linia 12 verifică dacă este introdus un caracter ~ (tilde). Dacă da, bucla este oprită de instrucțiunea de pauză.

Schimbați codul sursă astfel încât să corespundă ceea ce a fost afișat. Compilați și rulați. Acum, puteți opri programul tastând caracterul ~.

Rețineți că instrucțiunea if poate fi scris și fără acolade:

dacă (ch == '~') pauză;

Această linie poate fi un pic mai ușor de citit decât folosirea brațelor.

Ruperea unei bucla infinită în programul tău de limbă C - dummy

Alegerea editorilor

Administrator de rețea: Zone de căutare inversă - dummies

Administrator de rețea: Zone de căutare inversă - dummies

Interogări DNS obișnuite sunt interogări de căutare înainte corespunde unui nume de domeniu complet calificat. O căutare inversă este opusul unei căutări forward: returnează numele de domeniu complet calificat al unei gazde pe baza adresei sale IP. Căutările inverse sunt posibile din cauza unui domeniu special numit ...

Rețea Elemente de bază: Clienți și servere - manechine

Rețea Elemente de bază: Clienți și servere - manechine

Computerul de rețea care conține hard disk-urile, imprimantele și alte resurse care sunt partajate cu alte calculatoare de rețea se numește un server. Acest termen vine în repetate rânduri, deci trebuie să-l amintiți. Scrie-o pe spatele mâinii tale stângi. Orice computer care nu este un server este numit client. Aveți ...

Retea Bazele: Poduri - dummies

Retea Bazele: Poduri - dummies

O punte este un dispozitiv care conecteaza doua retele astfel incat sa actioneze ca si cum ar fi o rețea. Podurile sunt utilizate pentru a împărți o rețea mare în două rețele mai mici din motive de performanță. Vă puteți gândi la un pod ca pe un repetor inteligent. Repetoarele ascultă semnale care coboară pe un cablu de rețea, amplifică ...

Alegerea editorilor

ÎMprumuta și tweak idei de la alte comunități online - dummies

ÎMprumuta și tweak idei de la alte comunități online - dummies

, Mai degrabă decât să ia ideile altcuiva complet pentru dvs. comunitate online, încercați să riffați pe aceeași idee, dar nu atât de mult încât este evident că nu sunteți creierul din spatele brainstorming-ului. Idei sunt acolo pentru a lua, dar nu ar fi mai degrabă văzute ca cineva inovatoare, nu cineva care scours pe web ...

Branding Blogul tău

Branding Blogul tău

Branding blog-ul tău merge mult spre a face dacă este ușor de recunoscut pentru cititorii tăi. Când vedeți un punct roșu în interiorul unui cerc roșu, ce magazin vine în minte? Ce zici de acele arcuri de aur? Un nume de marcă apare în minte atunci când vedeți simbolul swoosh? La fel ca magazinele populare, restaurantele și încălțămintea ...

Construiți un Blog Mama care este Sellable - dummies

Construiți un Blog Mama care este Sellable - dummies

Dacă obiectivul pe termen lung este de a vinde blogul dvs. ar trebui să o construiască cu acest scop în minte. Evitați asocierea prea intensă a blogului cu marca dvs. personală. Un blog care poate fi valoros cu orice scriitor la cârma trebuie să îndeplinească majoritatea, dacă nu toate, următoarele criterii: Blogul este concentrat ...

Alegerea editorilor

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

LinkedIn oferă servicii de publicitate pentru afacerea dvs. Dacă vă decideți să utilizați LinkedIn ca instrument de marketing, va trebui doar să obțineți o nouă campanie de anunțuri în lucrări. Când sunteți gata să începeți o nouă campanie, urmați acești pași:

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Ce opțiuni de filtrare aveți pentru anunțul dvs. LinkedIn? Alte rețele de publicitate vă permit să filtrați publicul vizat de câteva atribute cunoscute ale persoanei care vă va vedea anunțul, sexul și locația membrilor din public. LinkedIn vă permite să faceți un pas mai departe permițându-vă ...

Oferind și primind viziuni pe LinkedIn - manechine

Oferind și primind viziuni pe LinkedIn - manechine

Deși mulți oameni cred că "Nu este ceea ce știi, știi, "care este unul dintre principalele motive pentru care LinkedIn este atât de valoros, mulți oameni (recrutorii, angajații, directorii executivi, investitorii și altele) sunt foarte interesați de ceea ce știi. În mod logic, oamenii care vă cunosc cel mai bine sunt oamenii din rețeaua dvs., care ...