Hem Personliga finanser Hur man kan förklara och använda konstanter i C-språk - dummies

Hur man kan förklara och använda konstanter i C-språk - dummies

Innehållsförteckning:

Video: Supersection Week 1 2024

Video: Supersection Week 1 2024
Anonim

Konstanter kan vara mycket användbara vid C-programmering när du har något värde som upprepas i ditt program. Genom att förklara en konstant kan du snabbt och enkelt ändra ett värde som används i hela koden genom att ändra deklarationen.

Deklarera konstanter

Till skillnad från variabler deklareras konstanter med hjälp av C-preprocessorn och inte kompilatorn. Här är formatet:

#define VOTING_AGE 18

Direktivet #define är ett preprocessor-kommando. Det följs av namnet på symbolen som definieras, VOTING_AGE. Dessa symboler heter som variabler, men med hjälp av ALL CAPS för konstanter kan du enkelt identifiera konstanter jämfört med variabler i din källkod. Symbolen måste vara allt ett ord. Efter symbolen är ett mellanslag och det värde som symbolen representerar. Det finns ingen lika tecken!

Ta inte med en semikolon om du inte vill att semikolon ska vara en del av konstanten (och det gör du förmodligen inte).

Förprocessorn tar symbolen och gör en sök-och-ersättningsoperation genom hela koden och ersätter symbolen med vad den representerar. I slutändan blir "konstant" ett omedelbart värde. Och genom att använda #define för att skapa konstanten, ger du dig själv flexibiliteten att enkelt ändra den senare.

Använda konstanter i din kod

Konstanta definitioner följer vanligtvis #include-direktiverna högst upp på C-källkoden:

#include #define SPEEDLIMIT 55 #define RATE 15 #define FIRST_TICKET 85 #define SECOND_TICKET 95 #define THIRD_TICKET 100 int main () {int totalt, bra, hastighet; sätter ("Speeding Ticketsn"); / * första biljetten * / hastighet = FIRST_TICKET - SPEEDLIMIT; bra = hastighet * RATE; totalt = totalt + fin; printf ("För att gå% d i en% d zon: $% dn", FIRST_TICKET, SPEEDLIMIT, bra); / * andra biljett * / hastighet = SECOND_TICKET - SPEEDLIMIT; bra = hastighet * RATE; totalt = totalt + fin; printf ("För att gå% d i en% d zon: $% dn", SECOND_TICKET, SPEEDLIMIT, bra); / * tredje biljetten * / hastighet = THIRD_TICKET - SPEEDLIMIT; bra = hastighet * RATE; totalt = totalt + fin; printf ("För att gå% d i en% d zon: $% dn", THIRD_TICKET, SPEEDLIMIT, bra); / * Visa totalt * / printf ("nTotal i böter: $% dn", totalt); returnera (0);}

Skriv detta i din redigerare, spara det, kompilera det och köra det.

Antag att du har slutfört programmet, men sedan byter kommunfullmäktige hastighetsgränsen från 55 mph till 60 mph. Dessutom har böterna hoppat från $ 15 till $ 26 för varje mil per timme du går över gränsen.Eftersom du använde konstanter kan du göra ändringarna på ett ställe och få dem att sippra ner till hela koden.

I detta fall skulle du ändra dina ständiga deklarationer till detta:

#define SPEEDLIMIT 60 #define RATE 26

Andra saker du kan #define

Direktivet #define är inte begränsat till att bara skapa konstanter för dig. Du kan definiera någonting med #define-direktivet, och ersätter i huvudsak stora delar av ditt program med vad du vill. Ett bra exempel på när du kanske vill göra detta kan vara så här:

#define ASK_PROMPT printf ("Vill du fortsätta (Y / N)?");

På så sätt kan programmeraren bara skriva ASK_PROMPT i koden, som globalt ersätts med printf () -satsen när koden sammanställs. (Som en bonus kan programmeraren universellt fixa varje fråga genom att bara ändra den enda #definen.)

Hur man kan förklara och använda konstanter i C-språk - dummies

Redaktörens val

Nätverksenheter och tjänster Översikt för certifikatprov på CCENT-dummies

Nätverksenheter och tjänster Översikt för certifikatprov på CCENT-dummies

Du kan vara säker på att få några frågor om certifieringsexamen som testar din kunskap om typer av enheter och olika nätverkstjänster. Nedan följer några viktiga punkter att komma ihåg om enheter och tjänster: Nätverksenheter Hubb: Ett nav är en lag 1-enhet som används för att ansluta system tillsammans. När ...

OSI-modell för CCENT-certifieringsexamen - dummies

OSI-modell för CCENT-certifieringsexamen - dummies

Certifieringen certifierar dig kraftigt på OSI-modellen och olika protokoll och enheter som körs på varje lager av OSI-modellen. I följande tabell granskas OSI-modellen genom att ge dig en beskrivning av varje lager och exempel på protokoll och enheter som körs i varje lager. Layer Beskrivning Exempel 7. Applikation ...

OSI-modell för Cisco ICND1-certifieringsexamen - dummies

OSI-modell för Cisco ICND1-certifieringsexamen - dummies

Cisco ICND1-certifieringsexamen testa dig kraftigt på OSI modell och de olika protokoll och enheter som körs i varje lager av OSI-modellen. Följande granskar OSI-modellen genom att ge dig en beskrivning av varje lager och exempel på protokoll och enheter som körs i varje lager. Layer Beskrivning Exempel 7. Applikation ...

Redaktörens val

Hur man skalar på skifferelement i kantfilm - dummies

Hur man skalar på skifferelement i kantfilm - dummies

Skalar ett element i Adobe Edge Animate betyder i huvudsak att du kan ändra storleken på ett element samtidigt som dess proportioner hålls konsekventa om du vill. Du kan: Skalelement med verktyget Transform Skalaelement från Egenskaper-panelen Skalning med verktyget Transform Om du föredrar att använda en klicka-och-dra-metod för skalering ...

Hur man arbetar med mallar i Adobe Edge Animate - dummies

Hur man arbetar med mallar i Adobe Edge Animate - dummies

Mallar introducerades i Edge Animate 2. 0. Denna funktion tar bort nödvändigheten att återuppfinna hjulet varje gång du vill starta en ny komposition. Visst kan du alltid starta en ny komposition från en sparad fil, men Mallar gör att du kan starta ett nytt projekt som redan innehåller attribut och element som du vill ha.

Keyframes Modes in Edge Animation - dummies

Keyframes Modes in Edge Animation - dummies

Keyframe-verktyg i Edge Animate finns till höger om Play-kontrollerna. För att skapa nyckelfiler automatiskt måste du först aktivera nyckelbilder genom att klicka på den röda stoppklockans ikon. Som standard, när du startar en ny animering, är Stopwatch rött men har gråa linjer som löper genom det (som visat). Här är standardstatus för ...

Redaktörens val

Hur man tolkar figurativt språk för GED RLA-dummiesna

Hur man tolkar figurativt språk för GED RLA-dummiesna

Författare använder språk antingen bokstavligt eller figurativt . GED Reasoning Through Language Arts testet kommer att ha några frågor för att testa din förmåga att identifiera skillnaden. En NASA-vetenskapsman kan beskriva en asteroid väldigt bokstavligt: ​​består huvudsakligen av vatten, blandat med vissa stenar och mindre fasta fragment. Eller kan han eller hon skriva figurativt och beskriva ...

Hur (och var) ska schemalägga för att ta GED-dummiesna

Hur (och var) ska schemalägga för att ta GED-dummiesna

För att ta GED test, schemalägger du det baserat på tillgängliga testdatum. Varje stat eller lokalt testcenter ställer in sitt eget schema för GED-testet, vilket innebär att ditt tillstånd bestämmer hur och när du kan ta varje avsnitt av testet. Det bestämmer också hur ofta du kan återta en misslyckad ...

Hur man förbereder sig på GED RLA Extended Response - dummies

Hur man förbereder sig på GED RLA Extended Response - dummies

Uppsats för utvidgad respons på GED Reasoning Through Language Arts-testet kräver några mycket specifika färdigheter, allt från grammatik och korrekt språkanvändning till förståelse och analysförmåga. Om du någonsin har haft ett argument om vem som har det bästa laget eller vilken arbetsgivare är bättre, vet du redan hur man bedömer argument och svarar. ...