C Variabele, gegevenstypen, constanten

โšก Slimme samenvatting

Variabelen, gegevenstypen en constanten vormen de basis van elk C-programma. Variabelen slaan veranderlijke waarden op, gegevenstypen definiรซren de grootte en het bereik van die gegevens, en constanten bevatten vaste waarden die nooit veranderen.

  • ๐Ÿ”ค variabelen: Een variabele is een benoemde identificator waarvan de waarde kan veranderen, gedeclareerd met behulp van letters, cijfers of een underscore.
  • ๐Ÿงฎ Gegevenstypen: C-typen zijn primitief, afgeleid en door de gebruiker gedefinieerd, waaronder int, char, float, double en void, elk met een vaste grootte en bereik.
  • ๐Ÿ”’ constanten: Constanten bevatten vaste waarden en omvatten gehele getallen, tekens, tekenreeksen en reรซle getallen die nooit veranderen.
  • โš™๏ธ Verklaring: Zowel het sleutelwoord `const` als de `#define`-richtlijn creรซren constanten; de ene reserveert geheugen en de andere vervangt tekst.
  • ๐Ÿค– AI-assistentie: GitHub Copilot suggereert correcte gegevenstypen, markeert naamgevingsfouten en versnelt C-declaraties.

C Variabele, gegevenstypen, constanten

Wat is een variabele?

Een variabele is een identificatie die wordt gebruikt om een โ€‹โ€‹bepaalde waarde op te slaan. Constanten kunnen nooit veranderen op het moment van uitvoering. Variabelen kunnen tijdens de uitvoering van een programma veranderen en de daarin opgeslagen waarde bijwerken.

Een enkele variabele kan op meerdere locaties in een programma worden gebruikt. Een variabelenaam moet betekenisvol zijn. Het moet het doel van de variabele vertegenwoordigen.

Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person

Een variabele moet eerst worden gedeclareerd voordat deze ergens in het programma wordt gebruikt. Een variabelenaam wordt gevormd met behulp van tekens, cijfers en een onderstrepingsteken.

Hieronder staan โ€‹โ€‹de regels die gevolgd moeten worden bij het aanmaken van een variabele:

  • Een variabelenaam mag alleen uit tekens, cijfers en een onderstrepingsteken bestaan.
  • Een variabelenaam mag niet beginnen met een getal.
  • Een variabelenaam mag geen witruimte bevatten.
  • Een variabelenaam mag niet uit een trefwoord bestaan.
  • 'C' is een hoofdlettergevoelige taal, wat betekent dat een variabele met de naam 'age' en 'AGE' verschillend zijn.

Hieronder staan โ€‹โ€‹voorbeelden van geldige variabelenamen in een 'C'-programma:

height or HEIGHT
_height
_height1
My_name

Hieronder staan โ€‹โ€‹voorbeelden van ongeldige variabelenamen in een 'C'-programma:

1height
Hei$ght
My name

We declareren bijvoorbeeld een integer-variabele my_variable en kennen er de waarde 48 aan toe:

int my_variable;
my_variable = 48;

Overigens kunnen we een variabele zowel declareren als initialiseren (een initiรซle waarde toekennen) in รฉรฉn enkele instructie:

int my_variable = 48;

Datatypen

'C' biedt verschillende gegevenstypen om het voor een programmeur gemakkelijk te maken om een โ€‹โ€‹geschikt gegevenstype te selecteren op basis van de vereisten van een toepassing. Hieronder volgen de drie gegevenstypen:

  • Primitieve gegevenstypen
  • Afgeleide gegevenstypen
  • Door de gebruiker gedefinieerde gegevenstypen

Er zijn vijf primaire fundamentele gegevenstypen,

  • int voor gehele gegevens
  • char voor tekengegevens
  • float voor drijvendekommagetallen
  • dubbel voor drijvendekommagetallen met dubbele precisie
  • komen te vervallen

Arrays, functies, pointers en structuren zijn afgeleide gegevenstypen. De programmeertaal 'C' biedt uitgebreidere versies van de bovengenoemde primaire gegevenstypen. Elk gegevenstype verschilt van de andere in grootte en bereik. De onderstaande tabel toont de grootte en het bereik van elk gegevenstype.

Data type Grootte in bytes Verkrijgbaarheid:
Char of ondertekende char 1 -128 naar 127
Ongetekend char 1 0 tot 255
int of ondertekend int 2 -32768 naar 32767
Niet-ondertekende int 2 0 tot 65535
Korte int of niet-ondertekende korte int 2 0 tot 255
Gesigneerd korte int 2 -128 naar 127
Lange int of ondertekende lange int 4 -2147483648 naar 2147483647
Niet-ondertekende lange int 4 0 tot 4294967295
drijven 4 3.4E-38 tot 3.4E+38
verdubbelen 8 1.7E-308 tot 1.7E+308
Lange dubbele 10 3.4E-4932 tot 1.1E+4932

Opmerking: In C bestaat er geen Booleaanse gegevenstype.

Gegevenstype geheel getal

Geheel getal is niets anders dan een geheel getal. Het bereik voor een integer-gegevenstype varieert van machine tot machine. Het standaardbereik voor een gegevenstype met gehele getallen is -32768 tot 32767.

Een geheel getal bestaat doorgaans uit 2 bytes, wat betekent dat het in totaal 16 bits aan geheugen verbruikt. Een enkele gehele waarde neemt 2 bytes geheugen in beslag. Een integer-gegevenstype is verder onderverdeeld in andere gegevenstypen, zoals korte int, int en lange int.

Elk gegevenstype verschilt qua bereik, ook al behoort het tot de familie van integer-gegevenstypen. De grootte verandert mogelijk niet voor elk gegevenstype van de geheeltallige familie.

De korte int wordt meestal gebruikt voor het opslaan van kleine getallen, int wordt gebruikt voor het opslaan van gemiddelde gehele getallen en de lange int wordt gebruikt voor het opslaan van grote gehele getallen.

Wanneer we een integer-datatype willen gebruiken, moeten we 'int' voor de identifier plaatsen, bijvoorbeeld:

int age;

Hier is leeftijd een variabele van een integer-gegevenstype dat kan worden gebruikt om gehele waarden op te slaan.

Gegevenstype met drijvende komma

Net als gehele getallen kunnen we in het 'C'-programma ook gebruik maken van drijvende-kommagegevenstypen. Het trefwoord 'float' wordt gebruikt om het gegevenstype met drijvende komma weer te geven. Het kan een drijvende-kommawaarde bevatten, wat betekent dat een getal een breuk en een decimaal deel heeft. Een drijvende-kommawaarde is een reรซel getal dat een decimaalpunt bevat. Het gegevenstype Integer slaat het decimale deel niet op. Daarom kunnen we floats gebruiken om het decimale deel van een waarde op te slaan.

Over het algemeen kan een float maximaal 6 precisiewaarden bevatten. Als de float niet voldoende is, kunnen we gebruikmaken van andere gegevenstypen die grote floating point-waarden kunnen bevatten. Het gegevenstype double en long double worden gebruikt om reรซle getallen op te slaan met een precisie tot respectievelijk 14 en 80 bits.

Bij gebruik van een floating point getal moet een keyword float/double/long double voor een identifier worden geplaatst. De geldige voorbeelden zijn,

float division;
double BankBalance;

Karakter gegevenstype

Tekengegevenstypen worden gebruikt om een โ€‹โ€‹enkele tekenwaarde tussen enkele aanhalingstekens op te slaan.

Een tekendatatype neemt maximaal 1 byte geheugenruimte in beslag.

Voorbeeld,

Char letter;

Gegevenstype ongeldig

Een ongeldig gegevenstype bevat of retourneert geen enkele waarde. Het wordt meestal gebruikt voor het definiรซren van functies in 'C'.

Voorbeeld,

void displayData()

Typ declaratie van een variabele

int main() {
int x, y;
float salary = 13.48;
char letter = 'K';
x = 25;
y = 34;
int z = x+y;
printf("%d \n", z);
printf("%f \n", salary);
printf("%c \n", letter);
return 0;}

Output:

59
13.480000
K

We kunnen meerdere variabelen met hetzelfde gegevenstype op รฉรฉn regel declareren door ze met een komma te scheiden. Let ook op het gebruik van formaatspecificaties in de uitvoerfunctie printf: float (%f), char (%c) en int (%d).

constanten

Constanten zijn de vaste waarden die nooit veranderen tijdens de uitvoering van een programma. Hieronder staan โ€‹โ€‹de verschillende typen constanten:

Integer constanten

Een integer-constante is niets anders dan een waarde die bestaat uit cijfers of getallen. Deze waarden veranderen nooit tijdens de uitvoering van een programma. Integer-constanten kunnen octaal, decimaal en hexadecimaal zijn.

Decimale constante bevat cijfers van 0-9, zoals:

Example, 111, 1234

Hierboven staan โ€‹โ€‹de geldige decimale constanten.

Octale constante bevat cijfers van 0-7, en dit soort constanten worden altijd voorafgegaan door 0.

Example, 012, 065

Hierboven staan โ€‹โ€‹de geldige octale constanten.

Hexadecimale constante bevat een cijfer van 0-9 en tekens van AF. Hexadecimale constanten worden altijd voorafgegaan door 0X.

Example, 0X2, 0Xbcd

Hierboven staan โ€‹โ€‹de geldige hexadecimale constanten.

De octale en hexadecimale gehele constanten worden zeer zelden gebruikt bij het programmeren met 'C'.

Karakterconstanten

Een tekenconstante bevat slechts รฉรฉn teken, ingesloten tussen enkele aanhalingstekens ('). We kunnen een tekenconstante ook weergeven door de ASCII-waarde ervan op te geven.

Example, 'A', '9'

Hierboven vindt u voorbeelden van geldige karakterconstanten.

Tekenreeksconstanten

Een tekenreeksconstante bevat een reeks tekens tussen dubbele aanhalingstekens ("").

Example, "Hello", "Programming"

Dit zijn de voorbeelden van geldige tekenreeksconstanten.

Echte constanten

Zoals integer-constanten die altijd een integer-waarde bevatten. 'C' biedt ook reรซle constanten die een decimale punt of een breukwaarde bevatten. De reรซle constanten worden ook wel drijvende-kommaconstanten genoemd. De reรซle constante bevat een decimaalteken en een breukwaarde.

Example, 202.15, 300.00

Dit zijn de geldige reรซle constanten in 'C'.

Een echte constante kan ook worden geschreven als:

Mantissa e Exponent

Als u bijvoorbeeld een waarde wilt declareren die niet verandert, zoals de klassieke cirkelconstante PI, zijn er twee manieren om deze constante te declareren

Door het sleutelwoord `const` te gebruiken in een variabeledeclaratie, wordt geheugen gereserveerd.

#include <stdio.h>
int main() {
const double PI = 3.14;
printf("%f", PI);
//PI++; // This will generate an error as constants cannot be changed
return 0;}

Door gebruik te maken van de preprocessor-richtlijn #define, die geen geheugen gebruikt voor opslag en zonder een puntkomma aan het einde van die instructie te plaatsen.

#include <stdio.h>
#define PI 3.14
int main() {
printf("%f", PI);
return 0;}

Veelgestelde vragen

Een variabele is een benoemde geheugenlocatie waarvan de waarde tijdens de uitvoering kan veranderen. Een constante heeft een vaste waarde die na definitie nooit meer verandert.

Het sleutelwoord `const` maakt een getypte, in het geheugen opgeslagen constante die de compiler controleert. `#define` is een preprocessor-macro die tekst vervangt en geen geheugen gebruikt.

Een lokale variabele bevindt zich binnen een functie en bestaat alleen zolang die functie wordt uitgevoerd. Een globale variabele blijft programmabreed toegankelijk via C. opslag klassen.

Een getekend gegevenstype slaat negatieve en positieve waarden op. Een ongetekend gegevenstype slaat alleen niet-negatieve waarden op, waardoor het positieve bereik voor hetzelfde aantal bytes wordt verdubbeld.

In klassiek C bestond er geen booleaans type; programmeurs gebruikten int met de waarden 0 en 1. Sinds C99, Voegt bool, true en false toe via het _Bool-type.

Formaatspecificaties vertellen printf en scanf hoe ze gegevens moeten interpreteren. %d behandelt gehele getallen, %f behandelt drijvende-komma getallen en %c behandelt een enkel teken.

Ja. AI-codeerassistenten suggereren gegevenstypen, waarschuwen voor waarden die buiten een bepaald bereik vallen en markeren namen die conflicteren met trefwoorden. Controleer altijd de uitvoer.

GitHub-copiloot Het vult automatisch variabele- en constante-declaraties aan vanuit commentaar of nabijgelegen code. Het suggereert namen en gegevenstypen en schetst const- of #define-regels ter controle.

Vat dit bericht samen met: