Har du nogensinde tænkt på, hvad konstanter er, og hvorfor de er en vigtig del af programmeringsverdenen? Vi har fået alle svarene på dine forespørgsler. Konstanter i C og C++ programmering er intet andet end faste værdier, som ikke kan ændres under hele programforløbet. Disse faste værdier kaldes også for literals.

I lægmandssprog kan vi bruge begreberne konstanter og literals i flæng. Men vi vil fremhæve den vigtigste forskel mellem de to i denne tutorial.

Hvor vi starter, skal du være opmærksom på Variabler i C

Nu skal vi anerkende betydningen af konstanter og literals i C og C++ ved at overveje følgende problem:

Der er visse situationer, hvor variabler ikke ændrer deres værdi, lad os sige, at værdien af pi, omtrent lig med 3,14159 er konstant, og den kan aldrig ændre sig, hvilket er et universelt faktum. Vi kan støde på flere situationer, hvor vi vil have brug for pi til matematiske beregninger. På samme måde kan vi tildele konstante værdier til flere variabler alt efter vores bekvemmelighed.

Hold dig opdateret med de seneste teknologiske trends
Gå med i DataFlair på Telegram!!!

Variabler og konstanter i C og C++

Det er vigtigt at bemærke, at en variabel konnoterer en anden betydning i programmering og matematik. En variabel er ikke andet end en værdi, som vi kan gemme i computerens hukommelse. Vi kan nemt ændre dens værdi i løbet af køretiden. I modsætning hertil ændrer konstanter aldrig deres værdi under hele programforløbet. Konstanter kan indeholde alle de datatyper, der er tilgængelige i C og C++.

Deklarere eller definere konstanter

Vi kan tildele en variabel en konstant værdi i C/C++ på to måder:

  1. Ved hjælp af #define, et præprocessordirektiv: Vi har allerede diskuteret #define i detaljer i præprocessorerne.
  2. Ved hjælp af nøgleordet const: Det svarer til variabeldeklaration, bortset fra at vi skal tilføje nøgleordet “const” før det. Det er vigtigt at tildele en værdi til konstanten, så snart vi har erklæret den.

Lær mere om præprocessorer i C, bliv opmærksom på, om det er det værd eller ej?

2.1 Deklarere eller definere konstanter i C

Her er et program i C, der illustrerer, hvad der sker, når vi forsøger at ændre værdien af en konstant:

#include<stdio.h>int main(){printf("Welcome to DataFlair tutorials!\n\n");const float pi = 3.14;const float e = 2.71;pi = 3.14159;printf("The value of pi is: %f", pi);return 0;}

Output-

modificere værdien af en konstant i C

2.1 Deklarere eller definere konstanter i C++

Det samme problem opstår, når vi forsøger at ændre værdien af en konstant:

#include <iostream>using namespace std;int main(){cout<<"Welcome to DataFlair tutorials!"<<endl<<endl;const float pi = 3.14;const float e = 2.71;pi = 3.14159;cout<<"The value of pi is: "<< pi <<endl;return 0;}

Fejl-

Deklarere eller definere konstanter i C++

Konstanter vs. literals i C/C++

Som tidligere nævnt kan konstanter og literals bruges i flæng, men der er en lille forskel mellem de to.

Lad os se på et simpelt eksempel for bedre at forstå det.

I Indien er den lovlige valgretsalder 18 år.

Derfor definerer vi,

const voting_age = 18;

Her er 18 en literal, en værdi, der udtrykkes som sig selv, mens en konstant kan betragtes som en datatype, der erstattes af en literal for at forbedre kodens funktionalitet.

Nu ønsker vi at udskrive meddelelsen: ” Du har lov til at stemme! ” for personer med en alder på 18 år eller derover.

Her er et kodesegment i C i overensstemmelse med ovenstående udsagn.

hvis (age >= voting_age)
{
printf(” You are allowed to vote! “);
}

Her er identifikatoren voting_age konstant.

Her er et kodesegment i C++ i overensstemmelse med ovenstående udsagn.

if (age >= voting_age)
{
cout<<” You are allowed to vote! “<<endl;
}

Her er identifikatoren voting_age konstant.

Typer af konstanter i C og C++

I C/C++ er der 5 forskellige typer af konstanter afhængig af deres datatype:

Typer af konstanter i C og C++

4.1 Integerkonstanter

Som navnet selv antyder, er en integerkonstant et heltal med en fast værdi, dvs. den kan ikke have brøkdelværdi som 10, -8, 2019.

For eksempel,

const signed int limit = 20;

Vi kan bruge forskellige kombinationer af U- og L-suffikserne til at betegne henholdsvis usignerede og lange modifikatorer, idet vi holder os for øje, at deres gentagelse ikke forekommer.

Vi kan yderligere inddele den i tre typer, nemlig:

  • Konstant i decimaltalsystemet: Den har base/radix 10. ( 0 til 9)
    For eksempel 55, -20, 1.
    I det decimale talsystem anvendes der ikke noget præfiks.
  • Konstant i oktalt talsystem: Den har base/radix 8. ( 0 til 7 )
    Til eksempel: 034, 087, 011.
    I det oktale talsystem anvendes 0 som præfiks.

  • Hexadecimalt talsystemkonstant: Den har base/radix 16. (0 til 9, A til F)
    I det hexadecimale talsystem anvendes 0x som præfiks. C sproget giver dig mulighed for at bruge enten store eller små bogstaver til at repræsentere hexadecimaltal.

4.2 Flydende eller reelle konstanter

Vi bruger en flydepunktskonstant til at repræsentere alle de reelle tal på tallinjen, hvilket omfatter alle brøkværdier.

For eksempel,

const long float pi = 3,14159;

Vi kan repræsentere det på 2 måder:

  • Decimalform: Det er obligatorisk at medtage decimalkommaet ( . ).
    For eksempel: 2,0, 5,98, -7,23.
  • Eksponentiel form: For eksempel repræsenteres den universelle gravitationskonstant G = 6,67 x 10-11 som 6,67e-11 eller 6,67E-11.

4.3 Karakterkonstanter

Karakterkonstanter bruges til at tildele en fast værdi til tegn, herunder alfabeter og cifre eller specielle symboler, der er omsluttet af anførselstegn ( ‘ ‘ ).

Hvert tegn er forbundet med sin specifikke numeriske værdi kaldet ASCII-værdien (American Standard Code For Information Interchange).

Ud over disse værdier findes der i C et sæt, der er kendt som Escape-sekvenser

For eksempel ‘+’, ‘A’, ‘d’.

4.4 Stringkonstanter

En stringkonstant er et array af tegn, der har en fast værdi omsluttet af dobbelte anførselstegn ( ” ” ).

For eksempel: “DataFlair”, “Hello world!”

4.5 Opregningskonstanter

Opregningskonstanter er brugerdefinerede datatyper i C med en fast værdi, der bruges til at tildele navne til integrale konstanter.

For eksempel,

enum rainbow = { Violet, Indigo, Blue, Green, Yellow, Orange, Red }

Opregningen rainbow har de integrale værdier som:

Violet : 0
Indigo: 1
Blå: 2
Grøn : 3
Gul: 4
Orange: 4
Orange: 5
Rød: 6

Hvordan bruger man Constant i C?

Her er en kode i C, der illustrerer brugen af nogle konstanter:

#include<stdio.h>int main(){printf("Welcome to DataFlair tutorials!\n\n");const int value = 4;const float marks = 98.98;const char grade = 'A';const char name = "DataFlair";printf("The constant int value is: %d\n",value);printf("The constant floating-point marks is: %f\n", marks);printf("The constant character grade is: %c\n", grade);printf("The constant string name is: %s\n",name);return 0;}

Kode på skærmen-

Eksempel på konstanter i C

Output-

Brug af konstanter

Hvordan bruger man en konstant i C++?

Her er en kode i C++, der illustrerer brugen af nogle konstanter:

#include <iostream>using namespace std;int main(){cout<<"Welcome to DataFlair tutorials!"<<endl<<endl;const int value = 4;const float marks = 98.98;const char grade = 'A';const char name = "DataFlair";cout<<"The constant int value is: "<< value <<endl;cout<<"The constant floating-point marks is: "<< marks <<endl;cout<<"The constant character grade is: "<< grade <<endl;cout<<"The constant string name is: "<< name <<endl;return 0;}

Kode-

Brug af en konstant i C++

Output-

Output af konstant i C++

Summary

I denne vejledning har vi diskuteret forskellen mellem variabler og konstanter i C og C++. Derefter fortsatte vi vores diskussion ved at kaste lys over, hvordan man erklærer eller definerer konstanter eller literals og de typer af konstanter, der er tilgængelige i C, i detaljer. Når du har gennemført denne tutorial, har du fået styr på konstanter og literaler i C/C++.

Glem ikke at tjekke Unions i C-sprog

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.