Hur man lär sig C-programmering med detta nybörjareprojekt
Att lära sig att programmera är en kumulativ erfarenhet. Tillsammans med att du läser syntaxen i ditt valda språk måste du också lära dig de allmänna principerna som alla programmeringsspråk använder.
Förståelse och lärande C-programmering kan vara skrämmande, men det finns några grundläggande idéer att vara bekanta med när du börjar. Ett enkelt projekt är ett bra sätt att lära känna grunden för C.
Så var ska du börja? Genom att säga hej!
1. Hej, Världen!
Den första delen av nästan varje kodning är den Hej världen program. Att gå över det i detalj lyfter fram några av de sätt C skiljer sig från andra språk. Till att börja med, öppna en textredigerare eller IDE Textredigerare vs IDE: vilken är bättre för programmerare? Textredigerare vs IDE: Vilken är bättre för programmerare? Att välja mellan en avancerad IDE och en enklare textredigerare kan vara svår. Vi erbjuder lite insikt för att hjälpa dig att fatta beslutet. Läs mer av ditt val och skriv in den här koden:
#inkludera / * detta är ett Hello World-skript i C * / int main (void) printf ("Hej, Värld! \ n"); returnera 0;
Den här korta koden skrivs ut till konsolen innan programmet avslutas. Spara det någonstans lätt att komma ihåg som Hej C. Nu behöver du sammanställa och bygga din fil.
Gör det köra
Vanligtvis behöver du inte installera ytterligare programvara på din dator för att köra C-skript. Öppna ett terminalfönster (eller kommandotolken om du kör Windows) och navigera till katalogen där du sparade ditt skript.
Sättet du sammanställer och kör din fil varierar från system till system:
- Windows-användare: Gör din fil körbar genom att skriva cl hello.c och tryck på enter. Detta kommer att skapa hello.exe i samma mapp, som du kan köra genom att skriva Hej.
- Linux och MacOS-användare: Typ gcc-o hej hej.c och tryck på enter för att göra det körbart och kör det genom att skriva ./Hej.
Oavsett vilken metod du använder, ska ditt skript visa dig följande:
Om det inte fungerade på Windows, se till att du kör kommandotolken i administratörsläge. För MacOS kan du behöva installera Xcode från App Store och följ dessa steg från StackOverflow.
Låt oss nu titta på programlinjen för rad för att se hur det fungerar och förbättra det!
Under huven: Förstå C-språket
preprocessorer
Skriptet du just skapat börjar med att inkludera ett bibliotek.
#inkludera
Den första raden i skriptet heter a preprocessor. Detta utförs innan resten av manuset sammanställs. I det här fallet berättar man att manuset ska använda stdio.h bibliotek. Det finns ett stort antal förprocessorer tillgängliga för olika uppgifter.
Stdio.h tar hand om att få inmatning från programmets användare och utmatar information tillbaka till dem.
/ * detta är ett Hello World-skript i C * /
Den här nästa raden är en kommentar. Slash och stjärna berätta för kompilatorn att ignorera allt mellan det och stängningsstjärnan och snedstrecket. Även om det här kan tyckas meningslöst, att kunna lämna sig själv och andra tydliga anteckningar om vad din kod gör är en viktig vana att komma in i.
Huvudfunktionen
int huvud (tomrum)
Varje C-program måste ha en huvud fungera. Main är en funktion som returnerar ett heltal, betecknad med int. Fästena efter huvudet är för sina argument, men i det här fallet tar det ingen, vilket är anledningen till att du använder ogiltig nyckelord.
Du skriver koden som ska utföras mellan två lockade axlar.
printf ("Hej, Värld! \ n"); returnera 0;
Inuti funktionen ringer du på printf () fungera. Precis som main (), printf är en funktion. Skillnaden är, printf är en funktion i stdio bibliotek du inkluderade i början.
Printf skriver ut någonting i parenteserna, mellan citattecken, till konsolen. De \ n är en flyktsekvens som heter newline och berättar kompilatorn att hoppa över till nästa rad i konsolen innan den fortsätter.
Observera att dessa rader slutar i semikolon, som kompilatorn använder för att dela upp en uppgift från nästa. Var uppmärksam på dessa semikolon-sakna dem är den främsta orsaken till saker som inte går rätt!
Slutligen återgår funktionen med numret 0, vilket avslutar programmet. De main () funktionen måste alltid returnera ett heltal, och retur = 0; signalerar till datorn att processen lyckades.
Förstå varje steg i det här skriptet är en bra start när du läser både C-syntaxen och hur språket fungerar.
2. Skapa egna C-funktioner
Du kan skapa egna anpassade funktioner i C. Istället för att skriva ut Hello World i huvudfunktionen, skapa en ny funktion för att göra det för dig.
void print_for_me () printf ("Hej, Värld! \ n");
Låt oss bryta ner det här.
ogiltig är ett nyckelord som betyder att följande funktion inte kommer att returnera någonting.
print_for_me () är namnet på funktionen, och de tomma hakarna visar att det inte kräver argument att fungera. Ett argument är att någon del av information ska vidarebefordras till en funktion för att få den att fungera. Senare kommer du att lägga till ett eget argument för att ändra produktionen! Notera: Detta är inte detsamma som huvudfunktionen () ovanför vilken användes tomrum. Den funktionen kan inte ta argument, medan den här kan (men i det här fallet behöver inte).
Kodblocket bör vara bekant för dig - det är bara utskriftsförklaringen från den ursprungliga huvudfunktionen.
Nu kan du ringa den här funktionen från din huvudfunktion.
int main (void) print_for_me (); print_for_me (); returnera 0;
Du kan se här en fördel med att använda din egen funktion. Snarare än att skriva printf (“Hej världen! \ n”) varje gång kan du ringa funktionen två gånger.
Just nu verkar det inte så viktigt, men om din print_for_me-funktion innehöll många kodenheter, kan du ringa det så enkelt är en bra tidsbesparare!
Detta är en grundläggande idé om programmering du kommer att stöta på under hela din utbildning. Skriv din egen funktion en gång, istället för att skriva samma stora bitar av kod om och om igen.
3. Använda Funktions Prototyper i C
Prototyper är ett av de stora sätten nybörjare C skiljer sig från andra språk. Kort sagt, en prototyp är en förhandsgranskning av en funktion som definieras senare. Om du skriver funktionen print_for_me () efter huvudfunktionen kan du få en varning när du sammanställer:
Varningsmeddelandet säger att kompilatorn körde in i funktionen print_for_me innan den deklarerades, så det kunde inte vara säkert att det skulle fungera korrekt när programmet körs.
Koden skulle fortfarande fungera, men varningen kan undvikas helt genom att använda en prototyp.
#inkludera void print_for_me (); int main (void) print_for_me (); print_for_me (); returnera 0; void print_for_me () printf ("Hej, Värld! \ n");
Genom att titta på det fullständiga programmet kan du se prototypen för print_for_me () existerar i början av programmet, men innehåller ingenting. Prototypfunktionen visar kompilatorn hur funktionen ska se ut, och om den kräver argument eller ej.
Det betyder att när du ringer det i huvudfunktionen vet kompilatorn om det kallas korrekt och kan kasta en varning eller ett fel om det behövs. Det kan vara något som verkar konstigt nu, men att veta om dem nu kommer att hjälpa till i framtiden.
Programmet fungerar fortfarande utan prototyp, men det är bra att använda. Utsignalen ser fortfarande ut som den är för nu, låt oss ändra den för att göra den mer personlig!
4. Passerar argument till C-funktioner
Ändra skriptet
För det här sista steget kommer du att be om användarens namn och spela in deras inmatning. Då använder du den i den funktion du skapade förut. I C är ord inte kända som strängar som i andra programmeringsspråk.
Istället är de en uppsättning singeltecken. Symbolen för en array är [] och sökordet är röding. Börja med att uppdatera din prototypfunktion i början av ditt script:
#inkludera void print_for_me (karaktärsnamn []);
Nu kommer kompilatören att veta att funktionen senare i skriptet tar en rad tecken som heter namn. Hittills finns inte denna karaktär. Uppdatera din huvudfunktion för att skapa den och använd den för att lagra användarinmatningen:
int main (void) char name [20]; printf ("Ange namn:"); scanf ("% s", namn); print_for_me (namn); print_for_me ( "alla!"); returnera 0;
Den första raden i huvud skapar en teckenuppsättning med 20 möjliga mellanslag som heter namn. Därefter uppmanas användaren att ange sitt namn med hjälp av printf. Nästa rad använder en ny funktion som heter scanf som tar nästa ord användartyperna.
De “% s” berättar funktionen att den ska lagra data som en sträng och ringa den namn.
Ändra funktionen
Nu när du ringer print_for_me kan du inkludera namn i parenteserna. På nästa rad ser du att du också kan skicka andra tecken så länge de är mellan citattecken. Båda gångerna, vad som finns i parentesen, skickas till funktionen print_for_me.
Ändra det nu för att använda den nya informationen du ger den:
void print_for_me (karaktärsnamn []) printf ("Hej"); sätter (namn);
Här kan du se att parenteserna har uppdaterats precis som prototypen i början av manuset. Inuti skriver du fortfarande hej med printf. En ny funktion här är sätter. Detta är en mer avancerad version av printf.
Allt som läggs i parenteserna kommer att skrivas ut till konsolen och en ny linje (den \ n du använde tidigare) läggs till automatiskt.
Spara och kompilera din kod på samma sätt som du gjorde tidigare. Observera att du kan namnge programmet något annat om du inte vill skriva över ditt tidigare program. Jag heter min hello2:
Som du bör se tar programmet in och använder det i funktionen innan du skickar den förinställda hälsningen på “Alla!” ger igen två separata utgångar till samma funktion.
ABC: erna för C-programmering
Detta program är enkelt, men några av koncepten i det är inte. Mer avancerad C-kod måste skrivas mycket bra för att förhindra kraschar. Det är därför många tycker att det är ett utmärkt språk att lära sig först eftersom det fördjupa goda vanor till nya programmerare.
Andra tycker att lära sig C ++ är en bättre idé, eftersom den bygger på C samtidigt som den behåller sin lägre systemstyrning. En sak är säker: språk som Python är mycket nybörjare vänliga. För ett gammalt språk används C fortfarande överallt, men Python kan vara framtidens språk. 6 Anledningar till att Python är framtidens programmeringsspråk. 6 Anledningar till att Python är framtidsprogrammeringsspråket. Vill du lära dig eller utöka dina programmeringsförmåga ? Därför är Python det bästa programmeringsspråket för att lära sig i år. Läs mer !
.