Video: C++ Tutorial for Beginners - Full Course 2024
En array i C-programmeringsspråket är en serie variabler av samma typ: ett dussintalsvariabler, två eller tre dubbelvariabler eller en sträng av char variabler. Arrayen innehåller inte alla samma värden. Nej, det är mer som en serie cubbyholes där du håller olika värden.
En array förklaras som vilken som helst annan variabel. Den har fått en typ och ett namn och sedan också en uppsättning kvadratkonsoler. Följande uttalande förklarar highscore arrayen:
int highscore [];
Denna deklaration är ofullständig; kompilatorn vet ännu inte hur många objekt, eller element finns i matrisen. Så om highscore arrayen skulle hålla tre element, skulle det förklaras så här:
int highscore [3];
Denna grupp innehåller tre element, var och en av sina egna intvärden. Elementen är åtkomliga så här:
highscore [0] = 750; highscore [1] = 699; highscore [2] = 675;
Ett arrayelement hänvisas av sitt indexnummer i kvadrat parentes. Det första är index 0, vilket är något du måste komma ihåg. I C börjar du räkna med 0, vilket har dess fördelar, så tro inte att det är dumt.
I det föregående exemplet tilldelas det första matriselementet, highscore [0] värdet 750; det andra elementet, 699; och den tredje, 675.
Efter initialiseringen används en array-variabel som vilken som helst annan variabel i din kod:
var = highscore [0];
Detta uttalande lagrar värdet på array element highscore [0] till variabel var. Om highscore [0] är lika med 750 är var lika med 750 efter det att uttalandet har genomförts.
HÖGT SCORER, DEN FÖRLÖDA VERSIONEN
#include int main () {int highscore1, highscore2, highscore3; printf ("Din högsta poäng:"); scanf ("% d", & highscore1); printf ("Din näst högsta poäng:"); scanf ("% d", & highscore2); printf ("Din tredje högsta poäng:"); scanf ("% d", & highscore3); sätter ("Här är dina höga poäng"); printf ("# 1% dn", highscore1); printf ("# 2% dn", highscore2); printf ("# 3% dn", highscore3); returnera (0);}
Övning 1 : Skriv om källkoden från High Scores, den fruktansvärda versionen, lägger till en fjärde högpoäng och använder en array - men kom ihåg att din array har fyra värden, inte tre.
Många lösningar finns för övning 1. Brute Force-lösningen har du enkelt fyllt på varje gruppvariabel, linje efter rad, som liknar källkoden i High Scores, den fruktansvärda versionen. En bättre, mer insiktsfull lösning erbjuds i High Scores, en bättre version.
HIGH SCORES, BÄTTARE VERSION
#include int main () {int highscore [4]; int x; för (x = 0; x <4; x ++) {printf ("Din #% d poäng:", x + 1); scanf ("% d", & highscore [x]);} sätter ("Här är dina höga poäng"); för (x = 0; x <4; x ++) printf ("#% d% dn", x + 1, highscore [x]); returnera (0);}
Det mesta av koden från High Scores, en bättre version ska vara bekant för dig, om än den nya array notationen.X + 1-argumenten i printf () -satserna (Linjerna 10 och 16) tillåter dig att använda variabeln x i loop men visa värdet som börjar med 1 istället för 0. Även om C gillar att börja numrera vid 0 föredrar människor fortfarande att börja med 1.
Motion 2 : Skriv källkoden från High Scores, en bättre version till din redaktör och bygga ett nytt projekt. Kör det.
Även om programmets produktion är ungefär samma som utgången i övning 1, är metoden mycket effektivare, vilket bevisas genom att arbeta. Övning 3:
Övning 3 : Ändra källkod från High Scores, en bättre version så att de tio bästa poängen matas in och visas.
Föreställ dig hur du måste koda svaret på övning 3 om du väljer att inte använda arrayer!
-
Det första elementet i en array är 0.
-
När du anger en matris, använd det fulla antalet element, till exempel 10 för tio element. Även om elementen är indexerade från 0 till 9 måste du fortfarande ange 10 när deklarerar arrayens storlek.