Hem Personliga finanser Bryter ut ur ett oändligt loop i ditt C-språkprogram - dummies

Bryter ut ur ett oändligt loop i ditt C-språkprogram - dummies

Video: Föreläsning i Västerås 2019 - Sverige håller på att vakna! 2024

Video: Föreläsning i Västerås 2019 - Sverige håller på att vakna! 2024
Anonim

När du kommer in i programmeringsslingor i C-språket upptäcker du glädje och frustrationer av oändliga eller oändliga loopar. Dessa slingor fortsätter för alltid eftersom antingen programmeraren glömde att inkludera ett sätt att gå ur slingan eller utgångsförhållandet är bara aldrig träffat. Hur som helst är oändliga loopar en smärta.

Men ibland innehåller ett C-program en ändlös slinga med syfte. Denna typ av konstruktion kan verka udda, men grunden för många moderna program är att de sitter och roterar medan de väntar på att något ska hända. Slingan kan se ut så här:

för (;;) {check_Keyboard (); check_Mouse (); check_Events (); check_System ();}

Observera att villkoren inom parentesen efter att nyckelordet saknas, vilket är okej. Resultatet är en ändlös slinga där uttalandena kontrolleras upprepade gånger, en efter en: Programmet letar efter aktivitet någonstans. När aktiviteten hittas går programmet av och gör något intressant. Men för det mesta sitter programmet bara i den här typen av slinga och väntar på att något ska hända. (Den typiska ordbehandlaren kan utföra tusentals av dessa loopar eftersom den väntar mellan tangenttryckningar medan du skriver.)

Ange denna källkod och spara den på disken. Kompilera och kör sedan programmet:

#include int main () {char ch; sätter ("Typing Program"); sätter ("Typ bort:"); för (;;) {ch = getchar ();} returnera (0);}

Ja, du kan skriva. Och du kan se din text på skärmen. Men hur slutar du?

För att stoppa måste du bryta den ändlösa slingan, vilket kan göras genom att trycka på Ctrl + C. Men det är inte så som du vill att dina program ska fungera. I stället måste ett utgångstillstånd definieras för slingan, vilket är där break-sökordet kommer till spel.

C-språkutvecklare visste att i en del fall måste en slinga brytas baserat på förhållanden som inte kunde förutsägas eller ställas in i förklaringen. Så, i deras visdom, introducerade de brytningsordet.

Vilken paus gör det är att omedelbart avsluta en slinga (vilken C-slinga, inte bara för slingor). När datorn ser paus antas det bara att slingan är klar och fortsätter som om slingens slutförhållande uppfylldes:

#include int main () {char ch; sätter ("Typing Program"); sätter ("Skriv bort, tryck" ~ "för att avsluta:"); för (;;) {ch = getchar (); om (ch == '~') {break;}} returnera (0);}

Nu är ett utgångstillstånd definierat. Om jämförelsen i rad 12 kontrollerar om en ~ (tilde) tecken anges. Om så är fallet stoppas slingan av break-uttalandet.

Ändra källkoden så att den matchar det som just visats. Kompilera och springa. Nu kan du stoppa programmet genom att skriva ~ tecknet.

Observera att if-satsen även kan skrivas utan handtag:

om (ch == '~') brytas;

Den här raden kan vara lite mer läsbar än att använda fästen.

Bryter ut ur ett oändligt loop i ditt C-språkprogram - dummies

Redaktörens val

Jewish Funeral Traditions - dummies

Jewish Funeral Traditions - dummies

Judiska begravningar sker vanligen i en synagoge, begravningshem eller på en kyrkogård. Med tradition är judiska begravningar enkla (symboliserar tron ​​att människor är alla lika i döden), men de varierar mycket och har ingen uppsättning liturgi. Att skicka blommor till ett begravnings- eller sorgshem är starkt avskräckt i judendomen. Inte bara kommer ...

Identifiera komplicerade grävande dummies

Identifiera komplicerade grävande dummies

Komplicerat roende är det tekniska namnet som sorgproffs ger till en sorgprocess som sitter fast vid något tillfälle , vilket gör det omöjligt för de förlorade att framgångsrikt starta eller avsluta sorgprocessen. Komplicerat sorg är ofta ett tecken på olösta problem i förhållandet mellan de förlorade och den avlidne som gör det ...

Redaktörens val

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

När du har en anpassad vy för MapController i din iOS-app, måste du berätta för iPad-storyboardet att du laddar in din anpassade vy i stället för en UIViewController. Följ dessa steg: Välj Projekt navigator genom att välja Main_iPad. storyboard och välj sedan View Controller i View Controller - Map Scene i dokumentutskriften. ...

Hur man roterar objekt i din iOS-app - dummies

Hur man roterar objekt i din iOS-app - dummies

Här hittar du hur man rotera en vy (i så fall vrid bilen runt) i din iOS-app. För att göra det uppdaterar du den roterande kodstuben du startade med och ersätter den med den fetstilta koden. - (void) rotera {CGAffineTransform transform = CGAffineTransformMakeRotation (M_PI); void (^ animation) () = ^ () {self. bil. transformera = transformera; ...

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Bör du lägga till en ny anpassad vykontroll till din iOS-app innan du fortsätter till dessa steg. Du behöver fortfarande berätta för storyboardet att du vill att den ska ladda den nya anpassade vykontrollen istället för en UIViewController. Följ dessa steg:

Redaktörens val

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Adobe Creative Suite 5 (Adobe CS5) Illustrator tillåter Du sparar en grafisk stil. En grafisk stil är en kombination av alla inställningar du väljer för ett visst filter eller en effekt i Utseendepanelen. Genom att spara informationen i en grafisk stil lagras du dessa attribut så att du snabbt och enkelt kan tillämpa ...

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

I Adobe Creative Suite 5 (Adobe CS5 ) Illustratör du kan använda markeringsverktyget för att skala och rotera ett valt objekt. Dra begränsningsboxens handtag för att ändra storlek på objektet, eller flytta dig utanför ett handtag och sedan, när markören ändras till en flippig pil (en böjd pil med pilhuvud i båda ändarna), dra till ...

Objekttransformation i Adobe CS5 Illustrator - dummies

Objekttransformation i Adobe CS5 Illustrator - dummies

Verktygen Rotate, Reflect, Scale och Shear i Adobe Creative Suite 5 (Adobe CS5) Illustrator använder alla samma grundläggande steg för att utföra transformationer. Här är fem sätt att transformera ett objekt: en för en godtycklig omvandling och fyra andra för exakta omvandlingar baserat på en numerisk mängd som du anger. Vilkårlig omvandlingsmetod Eftersom detta ...