C Variabel, Datatyper, Konstanter

Vad รคr en variabel?

En variabel รคr en identifierare som anvรคnds fรถr att lagra nรฅgot vรคrde. Konstanter kan aldrig รคndras vid tidpunkten fรถr utfรถrande. Variabler kan รคndras under kรถrningen av ett program och uppdatera vรคrdet som lagras i det.

En enda variabel kan anvรคndas pรฅ flera platser i ett program. Ett variabelnamn mรฅste vara meningsfullt. Den ska representera syftet med variabeln.

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 mรฅste deklareras fรถrst innan den anvรคnds nรฅgonstans i programmet. Ett variabelnamn bildas med hjรคlp av tecken, siffror och ett understreck.

Fรถljande รคr reglerna som mรฅste fรถljas nรคr du skapar en variabel:

  1. Ett variabelnamn ska endast bestรฅ av tecken, siffror och ett understreck.
  2. Ett variabelnamn ska inte bรถrja med ett tal.
  3. Ett variabelnamn bรถr inte bestรฅ av blanksteg.
  4. Ett variabelnamn bรถr inte bestรฅ av ett nyckelord.
  5. 'C' รคr ett skiftlรคgeskรคnsligt sprรฅk som betyder att en variabel som heter 'รฅlder' och 'AGE' รคr olika.

Fรถljande รคr exempel pรฅ giltiga variabelnamn i ett "C"-program:

height or HEIGHT
_height
_height1
My_name

Fรถljande รคr exempel pรฅ ogiltiga variabelnamn i ett "C"-program:

1height
Hei$ght
My name

Till exempel deklarerar vi en heltalsvariabel min_variabel och tilldela den vรคrdet 48:

int my_variable;
my_variable = 48;

Fรถrresten, vi kan bรฅde deklarera och initiera (tilldela ett initialt vรคrde) en variabel i en enda sats:

int my_variable = 48;

Datatyper

'C' tillhandahรฅller olika datatyper fรถr att gรถra det enkelt fรถr en programmerare att vรคlja en lรคmplig datatyp enligt kraven fรถr en applikation. Fรถljande รคr de tre datatyperna:

  1. Primitiva datatyper
  2. Hรคrledda datatyper
  3. Anvรคndardefinierade datatyper

Det finns fem primรคra grundlรคggande datatyper,

  1. int fรถr heltalsdata
  2. char fรถr teckendata
  3. flytande fรถr flyttal
  4. dubbla fรถr dubbla precisionsflyttal
  5. ogiltig

Array, funktioner, pekare, strukturer รคr hรคrledda datatyper. 'C'-sprรฅket tillhandahรฅller mer utรถkade versioner av ovan nรคmnda primรคra datatyper. Varje datatyp skiljer sig frรฅn varandra i storlek och intervall. Fรถljande tabell visar storleken och intervallet fรถr varje datatyp.

Data typ Storlek i byte Mรคtomrรฅde
Rรถding eller signerad rรถding 1 -128 till 127
Osignerad rรถding 1 0 till 255
int eller signerad int 2 -32768 till 32767
Osignerad int 2 0 till 65535
Kort int eller Osignerad kort int 2 0 till 255
Signerad kort int 2 -128 till 127
Long int eller Signed long int 4 -2147483648 till 2147483647
Osignerad lรฅng int 4 0 till 4294967295
flyta 4 3.4E-38 till 3.4E+38
dubbla 8 1.7E-308 till 1.7E+308
Lรฅng dubbel 10 3.4E-4932 till 1.1E+4932

Anmรคrkningar: I C finns det ingen boolesk datatyp.

Heltalsdatatyp

Heltal รคr inget annat รคn ett heltal. Intervallet fรถr en heltalsdatatyp varierar frรฅn maskin till maskin. Standardintervallet fรถr en heltalsdatatyp รคr -32768 till 32767.

Ett heltal รคr vanligtvis 2 byte, vilket betyder att det fรถrbrukar totalt 16 bitar i minnet. Ett enda heltalsvรคrde tar 2 byte minne. En heltalsdatatyp รคr vidare uppdelad i andra datatyper sรฅsom kort int, int och lรฅng int.

Varje datatyp skiljer sig i intervall รคven om den tillhรถr heltalsdatatypfamiljen. Storleken kanske inte รคndras fรถr varje datatyp av heltalsfamilj.

Den korta int anvรคnds oftast fรถr att lagra smรฅ tal, int anvรคnds fรถr att lagra medelstora heltalsvรคrden och lรฅng int anvรคnds fรถr att lagra stora heltalsvรคrden.

Nรคr vi vill anvรคnda en heltalsdatatyp har vi plats int fรถre identifieraren som,

int age;

Hรคr รคr รฅlder en variabel av en heltalsdatatyp som kan anvรคndas fรถr att lagra heltalsvรคrden.

Flyttalsdatatyp

Liksom heltal kan vi i programmet "C" ocksรฅ anvรคnda flyttalsdatatyper. Nyckelordet 'float' anvรคnds fรถr att representera flyttalsdatatypen. Den kan innehรฅlla ett flyttal, vilket betyder att ett tal har en brรฅkdel och en decimaldel. Ett flyttalsvรคrde รคr ett reellt tal som innehรฅller en decimalkomma. Heltalsdatatyp lagrar inte decimaldelen, sรฅ vi kan anvรคnda flytande delar fรถr att lagra decimaldelen av ett vรคrde.

I allmรคnhet kan en flottรถr hรฅlla upp till 6 precisionsvรคrden. Om flyttalet inte รคr tillrรคckligt kan vi anvรคnda andra datatyper som kan innehรฅlla stora flyttalsvรคrden. Datatypen dubbel och lรฅng dubbel anvรคnds fรถr att lagra reella tal med precision upp till 14 respektive 80 bitar.

Nรคr du anvรคnder ett flyttalnummer mรฅste ett nyckelord float/double/long double placeras fรถre en identifierare. De giltiga exemplen รคr,

float division;
double BankBalance;

Teckendatatyp

Teckendatatyper anvรคnds fรถr att lagra ett enda teckenvรคrde omgivet av enstaka citattecken.

En teckendatatyp tar upp till 1 byte minnesutrymme.

Exempel,

Char letter;

Ogiltig datatyp

En ogiltig datatyp innehรฅller eller returnerar inget vรคrde. Det anvรคnds mest fรถr att definiera funktioner i 'C'.

Exempel,

void displayData()

Typdeklaration av 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;}

Produktion:

59
13.480000
K

Vi kan deklarera flera variabler med samma datatyp pรฅ en enda rad genom att separera dem med ett kommatecken. Lรคgg ocksรฅ mรคrke till anvรคndningen av formatspecifikationer i printf output funktion float (%f) och char (%c) och int (%d).

Konstant

Konstanter รคr de fasta vรคrdena som aldrig รคndras under kรถrningen av ett program. Fรถljande รคr de olika typerna av konstanter:

Heltalskonstanter

En heltalskonstant รคr inget annat รคn ett vรคrde som bestรฅr av siffror eller tal. Dessa vรคrden รคndras aldrig under kรถrningen av ett program. Heltalskonstanter kan vara oktala, decimala och hexadecimala.

  1. Decimalkonstanten innehรฅller siffror frรฅn 0-9 som,
Example, 111, 1234

Ovan รคr de giltiga decimalkonstanterna.

  1. Oktal konstant innehรฅller siffror frรฅn 0-7, och dessa typer av konstanter fรถregรฅs alltid av 0.
Example, 012, 065

Ovan รคr de giltiga oktala konstanterna.

  1. Hexadecimal konstant innehรฅller en siffra frรฅn 0-9 samt tecken frรฅn AF. Hexadecimala konstanter fรถregรฅs alltid av 0X.
Example, 0X2, 0Xbcd

Ovan รคr de giltiga hexadecimala konstanterna.

De oktala och hexadecimala heltalskonstanterna anvรคnds mycket sรคllan vid programmering med 'C'.

Karaktรคrskonstanter

En teckenkonstant innehรฅller bara ett enda tecken omgivet av ett enda citattecken (โ€). Vi kan ocksรฅ representera teckenkonstanten genom att tillhandahรฅlla ASCII-vรคrdet fรถr den.

Example, 'A', '9'

Ovan รคr exemplen pรฅ giltiga teckenkonstanter.

Strรคngkonstanter

En strรคngkonstant innehรฅller en sekvens av tecken omslutna av dubbla citattecken ("").

Example, "Hello", "Programming"

Det hรคr รคr exempel pรฅ giltiga strรคngkonstanter.

Verkliga konstanter

Som heltalskonstanter som alltid innehรฅller ett heltalsvรคrde. 'C' ger ocksรฅ verkliga konstanter som innehรฅller en decimalkomma eller ett brรฅkvรคrde. De verkliga konstanterna kallas ocksรฅ fรถr flyttalskonstanter. Den verkliga konstanten innehรฅller en decimalkomma och ett brรฅktal.

Example, 202.15, 300.00

Dessa รคr de giltiga verkliga konstanterna i 'C".

En verklig konstant kan ocksรฅ skrivas som,

Mantissa e Exponent

Till exempel, fรถr att deklarera ett vรคrde som inte รคndras som den klassiska cirkelkonstanten PI, finns det tvรฅ sรคtt att deklarera denna konstant

  1. Med hjรคlp av const nyckelord i en variabeldeklaration som reserverar ett lagringsminne
  2. #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;}
  3. Med hjรคlp av #definiera fรถrprocessordirektiv som inte anvรคnder minne fรถr lagring och utan att sรคtta ett semikolontecken i slutet av det uttalandet
  4. #include <stdio.h>
    #define PI 3.14
    int main() {
    printf("%f", PI);
    return 0;}

Sammanfattning

  • En konstant รคr ett vรคrde som inte รคndras under kรถrningen av ett program.
  • En variabel รคr en identifierare som anvรคnds fรถr att lagra ett vรคrde.
  • Det finns fyra vanliga datatyper som int, float, char och a void.
  • Varje datatyp skiljer sig i storlek och intervall frรฅn varandra.

Sammanfatta detta inlรคgg med: