C är ett av de äldre programmeringsspråken. Det utvecklades på 70-talet, men det är fortfarande mycket kraftfullt tack vare hur låg nivå det är. Att lära sig C är också ett bra sätt att presentera dig själv för mer komplexa språk, och den kunskap du får kommer att vara användbar i nästan alla programmeringsspråk och kan hjälpa dig att komma in i apputveckling. För att lära dig hur du börjar programmera i C, se steg 1 nedan.
Steg
Del 1 av 6: Förberedelser
Steg 1. Ladda ner och installera en kompilator
C -kod måste sammanställas av ett program som tolkar koden till signaler som maskinen kan förstå. Kompilatorer är vanligtvis gratis och olika kompilatorer är tillgängliga för olika operativsystem.
- För Windows, prova Microsoft Visual Studio Express eller MinGW.
- För Mac är XCode en av de bästa C -kompilatorerna.
- För Linux är gcc ett av de mest populära alternativen.
Steg 2. Förstå grunderna
C är ett av de äldre programmeringsspråken och kan vara mycket kraftfullt. Den var designad för Unix -operativsystem, men har portats och utökats för nästan alla operativsystem. Den moderna versionen av C är C ++.
C består i huvudsak av funktioner, och i dessa funktioner kan du använda variabler, villkorliga uttalanden, loopar för att lagra och manipulera data
Steg 3. Undersök några grundläggande koder
Ta en titt på (mycket) grundprogrammet nedan för att få en bra uppfattning om hur några av de olika aspekterna av språket fungerar tillsammans och för att få en uppfattning om hur program fungerar.
#include int main () {printf ("Hej, värld! / n"); getchar (); returnera 0; }
- Kommandot #include inträffar innan programmet startar och laddar bibliotek som innehåller de funktioner du behöver. I det här exemplet låter stdio.h använda funktionerna printf () och getchar ().
- Kommandot int main () berättar för kompilatorn att programmet kör funktionen som heter "main" och att det kommer att returnera ett heltal när det är klart. Alla C -program har en "huvud" -funktion.
- {} Indikerar att allt inuti dem är en del av funktionen. I det här fallet anger de att allt inuti är en del av "huvud" -funktionen.
- Funktionen printf () visar innehållet inom parentes på användarens skärm. Citaten säkerställer att strängen inuti skrivs ut bokstavligen. Sekvensen / n uppmanar kompilatorn att flytta markören till nästa rad.
- Den; betecknar slutet på en rad. De flesta rader med C -kod måste sluta med ett semikolon.
- Kommandot getchar () uppmanar kompilatorn att vänta på en knapptryckning innan han går vidare. Detta är användbart eftersom många kompilatorer kör programmet och omedelbart stänger fönstret. Detta hindrar programmet från att slutföra tills en knapp trycks in.
- Retur 0 -kommandot indikerar slutet på funktionen. Observera hur "huvud" -funktionen är en int -funktion. Detta innebär att det kommer att behöva ett heltal för att returneras när programmet är klart. Ett "0" indikerar att programmet har fungerat korrekt; alla andra nummer kommer att innebära att programmet stötte på ett fel.
Steg 4. Prova att sammanställa programmet
Ange koden i kodredigeraren och spara den som en "*.c" -fil. Kompilera den i din kompilator, vanligtvis genom att klicka på knappen Bygg eller Kör.
Steg 5. Kommentera alltid din kod
Kommentarer är en del av koden som inte är sammanställd, men låter dig förklara vad som händer. Detta är användbart för att påminna dig själv vad din kod är till för och för att hjälpa andra utvecklare som kanske tittar på din kod.
- Att kommentera på C -plats / * i början av kommentaren och * / i slutet.
- Kommentera alla utom de mest grundläggande delarna av din kod.
- Kommentarer kan användas för att snabbt ta bort delar av din kod utan att radera dem. Bifoga helt enkelt koden som du vill utesluta med kommentartaggar och kompilera sedan. Ta bort taggarna om du vill lägga till koden igen.
Del 2 av 6: Använda variabler
Steg 1. Förstå funktionen hos variabler
Variabler låter dig lagra data, antingen från beräkningar i programmet eller från användarinmatning. Variabler måste definieras innan du kan använda dem, och det finns flera typer att välja mellan.
Några av de vanligare variabeltyperna inkluderar int, char och float. Var och en lagrar en annan typ av data
Steg 2. Lär dig hur variabler deklareras
Variabler måste upprättas, eller "deklareras", innan de kan användas av programmet. Du deklarerar en variabel genom att ange datatypen följt av variabelns namn. Till exempel är följande alla giltiga variabeldeklarationer:
flyta x; karaktärsnamn; int a, b, c, d;
- Observera att du kan deklarera flera variabler på samma rad, så länge de är av samma typ. Skilj helt enkelt variabelnamnen med kommatecken.
- Liksom många rader i C måste varje variabeldeklarationsrad sluta med ett semikolon.
Steg 3. Vet var variabler ska deklareras
Variabler måste deklareras i början av varje kodblock (De delar av din kod som finns i {} parenteser). Om du försöker deklarera en variabel senare i blocket kommer programmet inte att fungera korrekt.
Steg 4. Använd variabler för att lagra användarinmatning
Nu när du känner till grunderna för hur variabler fungerar kan du skriva ett enkelt program som lagrar användarens input. Du kommer att använda en annan funktion i programmet, kallad scanf. Denna funktion söker efter ingångar som tillhandahålls för specifika värden.
#include int main () {int x; printf ("Ange ett nummer:"); scanf ("%d", & x); printf ("Du angav %d", x); getchar (); returnera 0; }
- "%D" -strängen säger till scanf att leta efter heltal i användarinmatningen.
- & Före variabeln x berättar för scanf var variabeln ska hittas för att ändra den och lagrar heltalet i variabeln.
- Det sista printf -kommandot läser tillbaka heltalet för användaren.
Steg 5. Manipulera dina variabler
Du kan använda matematiska uttryck för att manipulera data som du har lagrat i dina variabler. Den viktigaste skillnaden att komma ihåg för matematiska uttryck är att en enkel = anger variabelns värde, medan == jämför värdena på vardera sidan för att se om de är lika.
x = 3 * 4; / * sätter "x" till 3 * 4 eller 12 */ x = x + 3; / * lägger till 3 till det ursprungliga värdet "x" och anger det nya värdet som variabeln */ x == 15; / * kontrollerar om "x" är lika med 15 */ x <10; / * kontrollerar om värdet "x" är mindre än 10 */
Del 3 av 6: Använda villkorliga uttalanden
Steg 1. Förstå grunderna i villkorliga uttalanden
Villkorliga uttalanden är det som driver de flesta program. De är påståenden som är fastställda att vara antingen sanna eller falska, och sedan ageras utifrån resultatet. Det mest grundläggande av påståendena är if -uttalandet.
SANT och FALSK fungerar annorlunda i C än vad du kan vara van vid. SANT -påståenden hamnar alltid i ett nollnummer. När du gör jämförelser, om resultatet är SANT, returneras ett "1". Om resultatet är FALSKT returneras ett "0". Att förstå detta hjälper dig att se hur IF -uttalanden behandlas
Steg 2. Lär dig de grundläggande villkorliga operatörerna
Villkorliga uttalanden kretsar kring användningen av matematiska operatorer som jämför värden. Följande lista innehåller de vanligaste villkorliga operatörerna.
/* större än* /< /* mindre än* /> = /* större än eller lika med* /<= /* mindre än eller lika med* /== /* lika med* /! = /* inte lika till */
10> 5 SANN 6 <15 SANT 8> = 8 SANT 4 <= 8 SANT 3 == 3 SANT 4! = 5 SANT
Steg 3. Skriv ett grundläggande IF -uttalande
Du kan använda IF -uttalanden för att avgöra vad programmet ska göra nästa efter att uttalandet har utvärderats. Du kan kombinera det med andra villkorliga uttalanden senare för att skapa kraftfulla flera alternativ, men skriv nu ett enkelt för att vänja dig.
#include int main () {if (3 <5) printf ("3 är mindre än 5"); getchar (); }
Steg 4. Använd ELSE/ELSE IF -uttalanden för att utöka dina villkor
Du kan bygga vidare på IF -uttalanden genom att använda ELSE- och ELSE IF -uttalanden för att hantera olika resultat. ELSE -uttalanden körs om IF -uttalandet är FALSKT. ELSE IF -uttalanden låter dig inkludera flera IF -uttalanden i ett kodblock för att hantera olika fall. Se exempelprogrammet nedan för att se hur de interagerar.
#include int main () {int age; printf ("Ange din nuvarande ålder:"); scanf ("%d", & ålder); if (ålder <= 12) {printf ("Du är bara ett barn! / n"); } annars om (ålder <20) {printf ("Att vara tonåring är ganska bra! / n"); } annars om (ålder <40) {printf ("Du är fortfarande ung i sinnet! / n"); } annat {printf ("Med ålder kommer visdom. / n"); } returnera 0; }
Programmet tar input från användaren och tar det genom IF -uttalandena. Om siffran uppfyller den första satsen returneras den första printf -satsen. Om det inte uppfyller det första påståendet tas det igenom varje ELSE IF -sats tills det hittar ett som fungerar. Om det inte matchar någon av dem går det igenom ELSE -uttalandet i slutet
Del 4 av 6: Learning Loops
Steg 1. Förstå hur slingor fungerar
Loops är en av de viktigaste aspekterna av programmering, eftersom de låter dig upprepa kodblock tills specifika villkor är uppfyllda. Detta kan göra upprepande åtgärder mycket enkla att genomföra och hindrar dig från att behöva skriva nya villkorliga uttalanden varje gång du vill att något ska hända.
Det finns tre huvudtyper av slingor: FOR, WHILE och DO … WHILE
Steg 2. Använd en FOR -slinga
Detta är den vanligaste och användbaraste slingtypen. Den fortsätter att köra funktionen tills villkoren som ställts in i FOR -slingan är uppfyllda. FOR loopar kräver tre villkor: initialisering av variabeln, villkoret som ska uppfyllas och hur variabeln uppdateras. Om du inte behöver alla dessa villkor måste du fortfarande lämna ett tomt utrymme med ett semikolon, annars går slingan för alltid.
#include int main () {int y; för (y = 0; y <15; y ++;) {printf ("%d / n", y); } getchar (); }
I ovanstående program är y inställt på 0 och slingan fortsätter så länge värdet på y är mindre än 15. Varje gång värdet på y skrivs ut läggs 1 till värdet på y och slingan upprepas. När y = 15 bryts slingan
Steg 3. Använd en WHILE loop
WILE loopar är enklare än FOR loopar. De har bara ett villkor, och slingan fungerar så länge det villkoret är sant. Du behöver inte initiera eller uppdatera variabeln, men du kan göra det i loopens huvuddel.
#include int main () {int y; medan (y <= 15) {printf ("%d / n", y); y ++; } getchar (); }
Kommandot y ++ lägger till 1 till y -variabeln varje gång slingan körs. När y träffar 16 (kom ihåg att den här slingan går så länge som y är mindre än eller lika med 15), bryts slingan
Steg 4. Använd en DO
.. MEDAN slinga.
Denna loop är mycket användbar för loopar som du vill se till att köras minst en gång. I FOR- och WILE -slingor kontrolleras tillståndet i början av slingan, vilket innebär att det inte kunde passera och misslyckas omedelbart. DO… WILE looparna kontrollerar förhållandena i slutet av loop, så att loopen körs minst en gång.
#include int main () {int y; y = 5; gör {printf ("Den här slingan körs! / n"); } medan (y! = 5); getchar (); }
- Denna loop kommer att visa meddelandet trots att villkoret är FALSKT. Variabeln y är satt till 5 och WHILE -slingan är inställd på att köras när y inte är lika med 5, så slingan avslutas. Meddelandet har redan skrivits ut eftersom tillståndet inte kontrolleras förrän i slutet.
- WHILE -slingan i en DO … WHILE -uppsättning måste avslutas med ett semikolon. Detta är enda gången en slinga avslutas med ett semikolon.
Del 5 av 6: Använda funktioner
Steg 1. Förstå grunderna i funktioner
Funktioner är fristående kodblock som kan användas av andra delar av programmet. De gör det väldigt enkelt att upprepa kod, och de hjälper till att göra programmet enklare att läsa och ändra. Funktioner kan inkludera alla tidigare täckta tekniker som lärt sig i den här artikeln, och till och med andra funktioner.
- Huvudlinjen () i början av alla ovanstående exempel är en funktion, liksom getchar ()
- Funktioner är viktiga för effektiv och lättläst kod. Utnyttja funktionerna för att effektivisera ditt program.
Steg 2. Börja med en disposition
Funktioner skapas bäst när du beskriver vad du vill att den ska åstadkomma innan du börjar med den faktiska kodningen. Den grundläggande syntaxen för funktioner är "return_type name (argument1, argument2, etc.);". Till exempel för att skapa en funktion som lägger till två nummer:
int add (int x, int y);
Detta skapar en funktion som lägger till två heltal (x och y) och sedan returnerar summan som ett heltal
Steg 3. Lägg till funktionen i ett program
Du kan använda konturen för att skapa ett program som tar två heltal som användaren anger och sedan lägger till dem tillsammans. Programmet kommer att definiera hur "lägg till" -funktionen fungerar och använda den för att manipulera inmatningsnumren.
#include int add (int x, int y); int main () {int x; int y; printf ("Ange två nummer som ska läggas ihop:"); scanf ("%d", & x); scanf ("%d", & y); printf ("Summan av dina tal är %d / n", lägg till (x, y)); getchar (); } int add (int x, int y) {return x + y; }
- Observera att konturen fortfarande finns högst upp i programmet. Detta berättar kompilatorn vad man kan förvänta sig när funktionen anropas och vad den ska returnera. Detta är bara nödvändigt om du vill definiera funktionen senare i programmet. Du kan definiera add () före huvudfunktionen () och resultatet blir detsamma utan konturen.
- Funktionens faktiska funktion definieras längst ner i programmet. Funktionen main () samlar in heltal från användaren och skickar dem sedan till funktionen add () som ska bearbetas. Funktionen add () returnerar sedan resultaten till main ()
- Nu har add () definierats, det kan kallas var som helst i programmet.
Del 6 av 6: Fortsätter att lära
Steg 1. Hitta några C -programmeringsböcker
Denna artikel täcker grunderna, men det repar bara ytan på C -programmering och all tillhörande kunskap. En bra uppslagsbok hjälper dig att lösa problem och rädda dig från en massa huvudvärk på vägen.
Steg 2. Gå med i några grupper
Det finns massor av gemenskaper, både online och i den verkliga världen, dedikerade till programmering och alla de språk som det innebär. Hitta några likasinnade C-programmerare att byta kod och idéer med, så kommer du snart att lära dig mycket.
Delta på några hack-a-thons om möjligt. Det här är evenemang där team och individer har tidsgränser för att komma med program och lösningar och ofta främjar mycket kreativitet. Du kan träffa många bra programmerare på detta sätt, och hack-a-thons händer regelbundet över hela världen
Steg 3. Ta några klasser
Du behöver inte gå tillbaka till skolan för en datavetenskapsexamen, men att ta några klasser kan göra underverk för ditt lärande. Ingenting slår praktisk hjälp från människor som är väl insatta i språket. Du kan ofta hitta klasser på lokala samhällscentra och juniorhögskolor, och vissa universitet låter dig granska sina datavetenskapsprogram utan att behöva registrera dig.
Steg 4. Överväg att lära dig C ++
När du väl har koll på C skulle det inte skada att börja titta på C ++. Detta är den mer moderna versionen av C, och möjliggör mycket mer flexibilitet. C ++ är utformat med objekthantering i åtanke, och att veta C ++ kan du skapa kraftfulla program för praktiskt taget alla operativsystem.
Tips
- Lägg alltid till kommentarer i dina program. Detta hjälper inte bara andra som kan titta på källkoden, utan det hjälper dig också att komma ihåg vad du skriver och varför. Du kanske vet vad du gör när du skriver din kod, men efter två eller tre månader kommer du inte ihåg så mycket.
- Kom alltid ihåg att avsluta ett uttalande som printf (), scanf (), getch (), etc med ett halvtecken (;) men sätt aldrig in dem efter ett kontrolluttag som "if", "while" eller "for" loopar.
- Om du stöter på ett syntaxfel när du kompilerar, om du är förvirrad, sök på Google (eller en annan sökmotor) med felet du fick. Chansen är stor att någon redan har upplevt samma problem och publicerat en lösning.
- Din källkod måste ha ett *.c -tillägg så att kompilatorn kan förstå att det är en C -källfil.
- Kom alltid ihåg att övning gör mester. Ju mer du tränar på att skriva ett program, desto bättre blir du på det. Så börja med enkla, korta program tills du får fotfäste, och sedan när du är säker kan du gå vidare till det mer komplexa.
- Försök att lära dig att bygga logik. Det hjälper till att ta itu med olika problem när du skriver en kod.