Huis Persoonlijke financiën Uit een oneindige lus breken in je C-taalprogramma - dummies

Uit een oneindige lus breken in je C-taalprogramma - dummies

Video: How "Crash Safari" Reboots Your Phone 2024

Video: How "Crash Safari" Reboots Your Phone 2024
Anonim

Wanneer u programmeerlussen in de C-taal instelt, ontdekt u de vreugden en dreadlocks van eindeloze of oneindige -lussen. Deze lussen gaan voor altijd door omdat de programmeur vergat een manier op te nemen om de lus te verlaten of de exit-voorwaarde gewoon nooit wordt gehaald. Hoe dan ook, eindeloze loops zijn lastig.

Maar soms bevat een C-programma expres een eindeloze lus. Dit type constructie lijkt misschien vreemd, maar de basis van veel moderne programma's is dat ze zitten en ronddraaien terwijl ze wachten tot er iets gebeurt. De lus kan er als volgt uitzien:

voor (;;) {check_toetsenbord (); check_Mouse (); check_Events (); check_System ();}

Merk op dat de voorwaarden binnen de haakjes na het voor-sleutelwoord ontbreken, wat in orde is. Het resultaat is een eindeloze lus waarin de uitspraken herhaaldelijk worden gecontroleerd, de ene na de andere: het programma zoekt ergens naar activiteit. Wanneer activiteit wordt gevonden, gaat het programma uit en doet iets interessants. Maar meestal zit het programma gewoon in dit soort lussen, wachtend tot er iets gebeurt. (De typische tekstverwerker kan duizenden van deze lussen uitvoeren terwijl het wacht tussen de toetsaanslagen terwijl u typt.)

Voer deze broncode in en sla deze op schijf op. Compileer en voer vervolgens het programma uit:

# include int main () {char ch; puts ("Typprogramma"); puts ("Type weg:"); voor (;;) {ch = getchar ();} return (0);}

Ja, u kunt typen. En je kunt je tekst op het scherm zien. Maar hoe stop je?

Om te stoppen, moet je de eindeloze lus doorbreken, wat je kunt doen door op Ctrl + C te drukken. Maar dat is niet de manier waarop u wilt dat uw programma's werken. In plaats daarvan moet er een exitvoorwaarde worden gedefinieerd voor de lus, waarbij het onderbrekingsleutelwoord een rol speelt.

De C-taalontwikkelaars wisten dat in sommige gevallen een lus moet worden verbroken op basis van omstandigheden die niet konden worden voorspeld of ingesteld binnen de for-instructie. Dus, in hun wijsheid, introduceerden ze het breekwoord.

Wat de onderbreking is, is om onmiddellijk een lus te sluiten (elke C-taallus, niet alleen voor loops). Wanneer de computer een breuk ziet, wordt ervan uitgegaan dat de lus is voltooid en wordt voortgezet alsof aan de eindvoorwaarde van de lus is voldaan:

# include int main () {char ch; puts ("Typprogramma"); puts ("Type away; druk op ~ ~ 'om te stoppen:"); voor (;;) {ch = getchar (); if (ch == '~') {break;}} return (0);}

Nu is een exit-voorwaarde gedefinieerd. De if-vergelijking in regel 12 controleert of een ~ (tilde) teken is ingevoerd. Als dat het geval is, wordt de lus gestopt door de break-instructie.

Wijzig uw broncode zodat deze overeenkomt met de afbeelding die zojuist is weergegeven. Compileer en ren. Nu kunt u het programma stoppen door het teken ~ te typen.

Merk op dat de if-instructie ook zonder de accolades kan worden geschreven:

if (ch == '~') break;

Deze regel is mogelijk beter leesbaar dan het gebruik van accolades.

Uit een oneindige lus breken in je C-taalprogramma - dummies

Bewerkers keuze

Tien Helpbronnen voor Junos OS - dummies

Tien Helpbronnen voor Junos OS - dummies

Dit is een top-tien lijst met bronnen die u moet zoeken meer informatie over softwarebewerkingen, training en ondersteuning voor Junos - alle extra details die u mogelijk nodig heeft om Junos OS te kunnen configureren en bedienen in uw eigen netwerkimplementaties. CLI Help-commando's Bent u op zoek naar meer achtergrondinformatie over hoe een bepaalde functie ...

De functie van de drie vlakken van Junos netwerk OS - dummies

De functie van de drie vlakken van Junos netwerk OS - dummies

De architectuur van de Junos opererende systeem verdeelt de functies van besturing, services en doorsturen op verschillende niveaus. Elk van de vlakken van Junos OS biedt een kritieke set van functionaliteit in de werking van het netwerk. Besturingsvlak van het Junos-netwerkbesturingssysteem (NOS) Alle functies van het besturingsvlak lopen op ...

De basisprincipes van BGP-routebealing - dummy's

De basisprincipes van BGP-routebealing - dummy's

Het configureren van Border Gateway Protocol (BGP) kan nogal lastig zijn, vooral met grote aantallen peersessies die handmatig moeten worden geconfigureerd. In feite kan in een groot netwerk de full-mesh-vereiste voor IBGP een provisioning-nachtmerrie zijn. BGP's antwoord op de IBGP-paring-configuratie-nachtmerrie die het volledige maaswerk is, wordt routeberefening genoemd. Route ...

Bewerkers keuze

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Als de allerbeste locatie op het web staat op de pagina een van de zoekmachines, je moet de SEO-elementen kennen die je daar kunnen brengen. Een goede plek om te beginnen is met zoekwoorden. Zoekmachines gebruiken geavanceerde processen om zoekwoordgebruik en andere factoren te categoriseren en analyseren om erachter te komen ...

Persberichten als bron van SEO-inhoud - dummies

Persberichten als bron van SEO-inhoud - dummies

Het leuke aan persberichten is dat u ze zonder toestemming op uw website kunt gebruiken, en sommige zullen al voor de zoekmachine zijn geoptimaliseerd. Het doel van een persbericht is om het uit te sturen en te zien wie het ophaalt. U hoeft geen contact op te nemen met de eigenaar van het persbericht, omdat ...

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Zelfs de domeinnaam van uw site moet geoptimaliseerd voor zoekmachines. Zoekmachines lezen uniforme resource locators (URL's), op zoek naar sleutelwoorden erin. Bijvoorbeeld als u een website heeft met de domeinnaam knaagdierracen. com en iemand zoekt Google op knaagdierenraces, Google ziet rodent-racing als een wedstrijd; omdat er een streepje verschijnt tussen de twee ...

Bewerkers keuze

Praxis Elementair onderwijs Examen-Economie - dummies

Praxis Elementair onderwijs Examen-Economie - dummies

U zult enkele basisconcepten van de economie voor de Praxis moeten kennen Elementair onderwijs examen. Elementaire economie onderzoekt de wens voor, de productie van en de verkoop en het gebruik van geld, zowel lokaal als wereldwijd. Het onderwijzen van economie omvat concepten zoals behoeften versus behoeften, kosten en meer tot nadenken stemmende onderwerpen, zoals de volgende: ...

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Het Praxis basisonderwijs: Curriculum, instructie en beoordeling examen (5017) bestrijkt een breed scala van wat u moet weten over basisonderwijs. Als u het Praxis Elementary Education: Content Knowledge-examen (5018) neemt, moet u zich ervan bewust zijn dat het de dekking beperkt tot de inhoud van de vier hoofdonderwerpen die een elementaire leraar is ...

Praxis Core For Dummies Cheat Sheet - dummies

Praxis Core For Dummies Cheat Sheet - dummies

Voordat je te opgewonden raakt, begrijp dat de informatie die volgt niet klopt eigenlijk niet over het bedriegen van de Praxis. Het gaat echt meer om de meest efficiënte manieren om je voor te bereiden op het examen. Maar "voorbereidingsblad" heeft niet helemaal dezelfde reden. Trouwens, vals spelen is niet nodig als je weet wat je aan het doen bent, en ...