Hem Personliga finanser Variabel Styrning för C Programmering - dummies

Variabel Styrning för C Programmering - dummies

Innehållsförteckning:

Video: C# Programmering Video nr.01 (Variabler) 2024

Video: C# Programmering Video nr.01 (Variabler) 2024
Anonim

I C-programmeringen kan du röra med variabeln i din kod genom att ändra den till en annan typ, ge den ett helt nytt namn helt eller ställa en stavning på variabel för att tillgodose dina behov, välvilligt eller inte.

Skrivprov i vantro

När är en variabel variabel inte en flotta? När det är typecast i ett int, förstås. Detta trick är möjligt i C genom att använda typecast. Till exempel:

(int) skuld

I den föregående raden är float-variabeln skuld typgjord till ett intvärde. Int i parentesen instruerar kompilatorn att behandla värdet på skuld som ett heltal.

Varför skulle någon vilja göra det?

Eftersom en funktion ibland kräver en viss variabel typ och den typen inte är tillgänglig. Snarare än att konvertera och jonglera flera variabla typer i ett program, kan du helt enkelt skriva in en variabel i den typ du vill ha. Det är inte ett vanligt knep, men det är ofta nödvändigt, vilket visas i det är inte rätt.

Det är inte rätt

#include int main () {int a, b; float c; printf ("Ange det första värdet:"); scanf ("% d", & a); printf ("Ange det andra värdet:"); scanf ("% d", & b); c = a / b; printf ("% d /% d =%. 2fn", a, b, c); returnera (0);}

Övning 1: Skriv källkoden från Det går inte direkt in i din redaktör. Bygg och kör.

Här är ett provkörning med inmatningen i fetstil:

Ange det första värdet: 3 Ange det andra värdet: 2 3/2 = 1. 00

Det är uppenbart att 3 ÷ 2 på något sätt skulle fungera till 1. 50. Om datorn säger att det är 1. 00 måste datorn vara korrekt.

Eller kanske är datorn bara förvirrad eftersom i linje 12 i källkoden delas två intvärden, och resultatet är tilldelat en float. Det fungerar dock inte riktigt, eftersom delningen av ett heltal med ett heltal i C ger ett heltal som resultat.

Värdet 1 är det närmaste heltalet till 1. 50. Så trots att datorn är fel gör den exakt vad den fick veta att göra.

Övning 2: Ändra din källkod, ändra Linje 12 för att läsa

c = (float) a / (float) b;

Spara ändringen. Bygg och kör med samma värden som just visat. Här är den nya utgången:

Ange det första värdet: 3 Ange det andra värdet: 2 3/2 = 1. 50

Bättre. Det beror på att du typecast variablerna a och b i ekvationen, vilket tillfälligt tillåter kompilatorn att behandla dem som flytpunktsnummer. Resultatet är därför vad det borde vara.

Så här skapar du nya saker med typedef

Du kan komma in i många problem med typedef-sökordet.Det kan kasta normala C-ord och operatörer från sina konsekventa själar till all slags olycka.

PERILSEN TYPEDEF

#include typedef int stinky; stinkande huvud () {stinky a = 2; printf ("Alla vet det"); printf ("% d +% d =% dn", a, a, a + a); returnera (0);}

I fälten på typedef definierar typedef-satsen i Linje 3 ordet stinkigt för att vara detsamma som nyckelordet int. Överallt kan du använda int i koden, du kan använda ordet stinky istället, som visas på linjerna 5 och 7.

Övning 3: Använd källkoden från riskerna typedef < för att skapa ett nytt program, vilket visar att en stinkig variabel typ är densamma som en int. Bygg och kör. Beviljas, exemplet i The Perils of

typedef är ganska dumt; ingen seriös programmerare skulle skapa ett riktigt program så. Där typedef används oftast är det att definiera strukturer. Typedef-uttalandet bidrar till att minska den aktiviteten hos den aktiviteten. Skapa en struktur visar det traditionella sättet hur inbyggd strukturoperation fungerar, med kännedom om strukturer:

SKAPA EN STRUKTUR TRADITIONELLT VÄG

struktur id {char first [20]; char sista [20];}; struct datum {int månad; int dag; int år;}; struct human {struct id namn; struct datum födelsedag;};

Använda

t ypedef för att definiera en struktur visar hur deklarationerna äger rum om du skulle skriva strukturerna: ANVÄNDA

TYPEDEF ATT DEFINERA EN STRUKTUR > typedef struct id {char first [20]; char sista [20];} personliga; typedef struct datum {int månad; int dag; int år;} kalender; struct human {personnamn; kalenderdag;}; I den här listan skrivs strukturen id till namnet personligt. Det är inte ett variabelt namn; det är en typedef. Det är detsamma som att säga "Alla referenser till struktur-id är nu desamma som namnet personligt. "

På samma sätt skrivs strukturdatumet till kalender. Slutligen, i deklarationen av strukturen mänskliga, används typedef-namnen istället för de mer komplexa strukturdefinitionerna.

EN NESTED STRUCTURE

#include # include int main () {struct datum {int månad; int dag; int år;}; struct human {char name [45]; struct datum födelsedag;}; struktur mänsklig president; strcpy (president. namn, "George Washington"); president. födelsedag. månad = 2; president. födelsedag. dag = 22; president. födelsedag. år = 1732; printf ("% s föddes på% d /% d /% dn", president. namn, president. födelsedag. månad, president. födelsedag. dag, president. returnera (0);}

Övning 4

:

Byt namn medlem i den mänskliga strukturen i en nestad struktur med en kapslad struktur. Namn den struktur ID och har den innehåller två medlemmar, char arrayer, först och sista, för att lagra en persons för- och efternamn. Om du gör allt på rätt sätt kommer referensen till presidentens namn att vara variablerna president. namn. först

och president. namn. sist . Var noga med att tilldela värdena till dessa variabler i din kod och visa resultaten. Övning 5 :

Ändra källkoden från det projekt du skapar i övning 4 för att använda typedef, som visas i Använda t ypedef för att definiera en struktur. Bygg och kör. Det kan hävdas att användandet av typedef inte gör din kod mer tydlig än om du helt enkelt använt bra variabla namn och välformaterad text. Du kan till exempel inte använda typedef helt enkelt för att du inte vill behöva komma ihåg vad du har definierat. Men du kommer att stöta på annan kod som använder typedef. Låt det inte freak dig ut. Den sanna fördelen att använda typedef med en struktur är möjligen att det sparar dig från att skriva ordstrukturen för många gånger.

Variabel Styrning för C Programmering - 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. ...