C Variabel, Datatyper, Konstanter
Hvad er en variabel?
En variabel er en identifikator, som bruges til at gemme en eller anden værdi. Konstanter kan aldrig ændre sig på tidspunktet for udførelse. Variabler kan ændre sig under udførelsen af et program og opdatere værdien gemt inde i det.
En enkelt variabel kan bruges flere steder i et program. Et variabelnavn skal være meningsfuldt. Det skal repræsentere formålet med variablen.
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
En variabel skal først erklæres, før den bruges et sted i programmet. Et variabelnavn dannes ved hjælp af tegn, cifre og en understregning.
Følgende er de regler, der skal følges, når du opretter en variabel:
- Et variabelnavn bør kun bestå af tegn, cifre og en understregning.
- Et variabelnavn bør ikke begynde med et tal.
- Et variabelnavn bør ikke bestå af mellemrum.
- Et variabelnavn bør ikke bestå af et nøgleord.
- 'C' er et sprog, der skelner mellem store og små bogstaver, hvilket betyder, at en variabel kaldet 'alder' og 'AGE' er forskellige.
Følgende er eksempler på gyldige variabelnavne i et 'C'-program:
height or HEIGHT _height _height1 My_name
Følgende er eksempler på ugyldige variabelnavne i et 'C'-program:
1height Hei$ght My name
For eksempel erklærer vi en heltalsvariabel min_variabel og tildel den værdien 48:
int my_variable; my_variable = 48;
Forresten kan vi både deklarere og initialisere (tildele en startværdi) en variabel i en enkelt sætning:
int my_variable = 48;
Datatyper
'C' giver forskellige datatyper for at gøre det nemt for en programmør at vælge en passende datatype i henhold til kravene til en applikation. Følgende er de tre datatyper:
- Primitive datatyper
- Afledte datatyper
- Brugerdefinerede datatyper
Der er fem primære grundlæggende datatyper,
- int for heltalsdata
- char for tegndata
- flydende for flydende kommatal
- dobbelt for dobbelt præcision med flydende kommatal
- ugyldig
Array, funktioner, pointere, strukturer er afledte datatyper. 'C'-sproget giver mere udvidede versioner af de ovennævnte primære datatyper. Hver datatype adskiller sig fra hinanden i størrelse og rækkevidde. Følgende tabel viser størrelsen og området for hver datatype.
Datatype | Størrelse i bytes | Rækkevidde |
---|---|---|
Char eller signeret char | 1 | -128 til 127 |
Usigneret char | 1 | 0 til 255 |
int eller underskrevet int | 2 | -32768 til 32767 |
Usigneret int | 2 | 0 til 65535 |
Kort int eller Usigneret kort int | 2 | 0 til 255 |
Signeret kort int | 2 | -128 til 127 |
Lang int eller Signeret lang int | 4 | -2147483648 til 2147483647 |
Usigneret lang int | 4 | 0 til 4294967295 |
flyde | 4 | 3.4E-38 til 3.4E+38 |
fordoble | 8 | 1.7E-308 til 1.7E+308 |
Lang dobbelt | 10 | 3.4E-4932 til 1.1E+4932 |
Bemærk: I C er der ingen boolsk datatype.
Heltalsdatatype
Heltal er intet andet end et helt tal. Området for en heltalsdatatype varierer fra maskine til maskine. Standardområdet for en heltalsdatatype er -32768 til 32767.
Et heltal er typisk på 2 bytes, hvilket betyder, at det i alt bruger 16 bits i hukommelsen. En enkelt heltalsværdi tager 2 bytes hukommelse. En heltalsdatatype er yderligere opdelt i andre datatyper såsom kort int, int og lang int.
Hver datatype adskiller sig i rækkevidde, selvom den tilhører heltalsdatatypefamilien. Størrelsen ændres muligvis ikke for hver datatype af heltalsfamilien.
Den korte int bruges for det meste til at gemme små tal, int bruges til at gemme heltalsværdier af gennemsnitlig størrelse, og lang int bruges til at gemme store heltalsværdier.
Når vi ønsker at bruge en heltal datatype, har vi plads int før identifikatoren, såsom,
int age;
Her er alder en variabel af en heltalsdatatype, som kan bruges til at gemme heltalsværdier.
Flydende kommadatatype
Ligesom heltal kan vi i 'C'-programmet også gøre brug af datatyper med flydende komma. Nøgleordet 'float' bruges til at repræsentere datatypen med flydende komma. Det kan indeholde en flydende decimalværdi, hvilket betyder, at et tal har en brøkdel og en decimaldel. En flydende kommaværdi er et reelt tal, der indeholder et decimalkomma. Heltalsdatatypen gemmer ikke decimaldelen, derfor kan vi bruge float til at gemme decimaldelen af en værdi.
Generelt kan en flyder holde op til 6 præcisionsværdier. Hvis float ikke er tilstrækkeligt, så kan vi gøre brug af andre datatyper, der kan rumme store flydende kommaværdier. Datatypen double og long double bruges til at gemme reelle tal med præcision op til henholdsvis 14 og 80 bit.
Når du bruger et flydende kommanummer, skal et nøgleord flydende/dobbelt/langt dobbelt placeres før en identifikator. De gyldige eksempler er,
float division; double BankBalance;
Karakterdatatype
Tegndatatyper bruges til at gemme en enkelt tegnværdi omsluttet af enkelte anførselstegn.
En karakterdatatype tager op til 1 byte hukommelsesplads.
Eksempel,
Char letter;
Ugyldig datatype
En ugyldig datatype indeholder eller returnerer ingen værdi. Det bruges mest til at definere funktioner i 'C'.
Eksempel,
void displayData()
Typedeklaration af en variabel
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
Vi kan erklære flere variable med samme datatype på en enkelt linje ved at adskille dem med et komma. Bemærk også brugen af formatspecifikationer i printf output funktion float (%f) og char (%c) og int (%d).
Konstanter
Konstanter er de faste værdier, der aldrig ændres under udførelsen af et program. Følgende er de forskellige typer konstanter:
Heltalskonstanter
En heltalskonstant er intet andet end en værdi bestående af cifre eller tal. Disse værdier ændres aldrig under afviklingen af et program. Heltalskonstanter kan være oktale, decimale og hexadecimale.
- Decimalkonstanten indeholder cifre fra 0-9 som f.eks.
Example, 111, 1234
Ovenfor er de gyldige decimalkonstanter.
- Oktal konstant indeholder cifre fra 0-7, og disse typer konstanter er altid 0 foran.
Example, 012, 065
Ovenfor er de gyldige oktale konstanter.
- Hexadecimal konstant indeholder et ciffer fra 0-9 samt tegn fra AF. Hexadecimale konstanter indledes altid med 0X.
Example, 0X2, 0Xbcd
Ovenfor er de gyldige hexadecimale konstanter.
De oktale og hexadecimale heltalskonstanter bruges meget sjældent i programmering med 'C'.
Karakterkonstanter
En tegnkonstant indeholder kun et enkelt tegn omgivet af et enkelt anførselstegn (”). Vi kan også repræsentere karakterkonstanten ved at give dens ASCII-værdi.
Example, 'A', '9'
Ovenfor er eksempler på gyldige tegnkonstanter.
Strengkonstanter
En strengkonstant indeholder en sekvens af tegn omsluttet af dobbelte anførselstegn ("").
Example, "Hello", "Programming"
Dette er eksemplerne på gyldige strengkonstanter.
Virkelige konstanter
Ligesom heltalskonstanter, der altid indeholder en heltalsværdi. 'C' giver også reelle konstanter, der indeholder et decimaltegn eller en brøkværdi. De reelle konstanter kaldes også flydende kommakonstanter. Den reelle konstant indeholder et decimaltegn og en brøkværdi.
Example, 202.15, 300.00
Disse er de gyldige reelle konstanter i 'C«.
En reel konstant kan også skrives som,
Mantissa e Exponent
For for eksempel at erklære en værdi, der ikke ændrer sig som den klassiske cirkelkonstant PI, er der to måder at erklære denne konstant på
- Ved anvendelse af const nøgleord i en variabel erklæring, som vil reservere en lagerhukommelse
- Ved anvendelse af #Definere pre-processor direktiv, som ikke bruger hukommelse til lagring og uden at sætte et semikolon i slutningen af denne erklæring
#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;}
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
Resumé
- En konstant er en værdi, der ikke ændres under udførelse af et program.
- En variabel er en identifikator, som bruges til at gemme en værdi.
- Der er fire almindeligt anvendte datatyper såsom int, float, char og a void.
- Hver datatype adskiller sig i størrelse og rækkevidde fra hinanden.