Gondoltál már arra, hogy mik azok a konstansok, és miért fontos részei a programozás világának? Megvan minden válasz a kérdéseidre. A konstansok a C és C++ programozásban nem mások, mint rögzített értékek, amelyek a program futása során nem módosíthatók. Ezeket a rögzített értékeket literáloknak is nevezik.

A laikusok nyelvén a konstansok és a literálok kifejezéseket felváltva használhatjuk. Ebben a tananyagban azonban kiemeljük a kettő közötti legfontosabb különbséget.

Mielőtt belekezdenénk, tisztában kell lennünk a változókkal a C-ben

Most ismerjük meg az állandók és literálok jelentőségét a C-ben és a C++-ban a következő problémán keresztül:

Vannak bizonyos helyzetek, amikor a változók nem változtatják meg az értéküket, mondjuk, a pi értéke, amely körülbelül egyenlő 3,14159 állandó, és soha nem változhat, ami egyetemes tény. Számos olyan helyzettel találkozhatunk, amikor matematikai számításokhoz szükségünk lenne pi-re. Hasonlóképpen, több változóhoz is rendelhetünk konstans értékeket a kényelmünknek megfelelően.

Legyen naprakész a legújabb technológiai trendekkel
Join DataFlair on Telegram!!

Változók és konstansok a C és C++ nyelvben

Nagyon fontos megjegyezni, hogy a változó a programozásban és a matematikában különböző jelentést jelent. A változó nem más, mint egy érték, amelyet a számítógép memóriájában tárolhatunk. Futtatás közben könnyen megváltoztathatjuk az értékét. Ezzel szemben a konstansok a program futása során soha nem változtatják meg az értéküket. A konstansok a C-ben és a C++-ban elérhető adattípusok bármelyikét tárolhatják.

A konstansok deklarálása vagy definiálása

A C/C++ konstans értékét kétféleképpen rendelhetjük egy változóhoz:

  1. A #define, egy preprocesszor utasítás segítségével: A #define-t már részletesen tárgyaltuk a preprocesszoroknál.
  2. A const kulcsszó használatával: Hasonló a változók deklarálásához, azzal a különbséggel, hogy a “const” kulcsszót kell előtte hozzáadnunk. Fontos, hogy a konstanshoz értéket rendeljünk, amint deklaráltuk.

Tudjon meg többet a preprocesszorokról a C-ben, legyen tisztában azzal, hogy érdemes vagy nem érdemes?

2.1 Állandók deklarálása vagy definiálása C-ben

Itt egy program C-ben, amely szemlélteti, mi történik, ha megpróbáljuk módosítani egy konstans értékét:

#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;}

Kimenet-

módosítani egy konstans értékét C-ben

2.1 Állandók deklarálása vagy definiálása C++-ban

Az a probléma akkor is felmerül, amikor egy konstans értékét próbáljuk módosítani:

#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;}

Error-

Declare or Define Constants in C++

Constants vs Literals in C/C++

Mint korábban tárgyaltuk, a konstansok és a literálok felcserélhetők, de a kettő között van egy kis különbség.

Nézzünk egy egyszerű példát, hogy jobban megértsük.

Indiában a törvényes választójogi korhatár 18 év.

Ezért definiáljuk,

const voting_age = 18;

Itt a 18 egy literal, egy olyan érték, amely önmagában kifejezhető, míg a konstans olyan adattípusnak tekinthető, amelyet a literal helyettesít a kód funkcionalitásának növelése érdekében.

Most, szeretnénk kiírni az üzenetet: ” Ön szavazhat!”. ” a 18 évnél nagyobb vagy azzal egyenlő életkorúaknak.

Itt egy kódrészlet C nyelven a fenti utasításnak megfelelően.

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

Itt a voting_age azonosító konstans.

Itt egy kódrészlet C++ nyelven a fenti állításnak megfelelően.

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

Itt a voting_age azonosító konstans.

A konstansok típusai C-ben és C++-ban

A C/C++-ban 5 különböző típusú konstans létezik az adattípustól függően:

A konstansok típusai C-ben és C-ben

4.1 Egészértékű konstansok

Amint a neve is mutatja, az egészértékű konstans egy fix értékkel rendelkező egész szám, azaz nem lehet törtértékű, mint például 10, -8, 2019.

Például,

const signed int limit = 20;

Az U és L utótagok különböző kombinációit használhatjuk az előjel nélküli, illetve a hosszú módosítók jelölésére, szem előtt tartva, hogy annak ismétlődése ne forduljon elő.

Három típusba sorolhatjuk tovább, nevezetesen:

  • Tizedes számrendszerbeli konstans: 10-es bázissal/radixszel rendelkezik. ( 0-tól 9-ig)
    Például: 55, -20, 1.
    A tízes számrendszerben nem használunk előtagot.
  • Oktális számrendszeri konstans: Bázisa/radixa 8-as. ( 0-tól 7-ig )
    Példa: 034, 087, 011.
    A nyolcjegyű számrendszerben 0 előtagot használunk.
  • Hexadecimális számrendszeri konstans: A bázis/radix 16. (0-tól 9-ig, A-tól F-ig)
    A hexadecimális számrendszerben 0x előtagként használatos. A C nyelv lehetőséget ad arra, hogy a hexadecimális számok ábrázolására kis- vagy nagybetűs betűket használjunk.

4.2 Lebegő vagy valós konstansok

A lebegőpontos állandót használjuk a számsor összes valós számának ábrázolására, amely magában foglalja az összes törtértéket.

Például,

const long float pi = 3,14159;

kétféleképpen ábrázolhatjuk:

  • Tizedes alakban: A tizedesvessző ( . ) szerepeltetése kötelező.
    Például: 2,0, 5,98, -7,23.
  • Exponenciális forma: Az előjeles exponens (e vagy E) feltüntetése kötelező.
    Például a G = 6,67 x 10-11 egyetemes gravitációs állandó 6,67e-11 vagy 6,67E-11.

4.3 Karakterállandók

A karakterállandók arra szolgálnak, hogy a karakterekhez – beleértve a betűket és számjegyeket vagy az idézőjelekbe ( ‘ ‘ ) zárt speciális szimbólumokat – fix értéket rendeljenek.

Minden karakterhez tartozik egy meghatározott számérték, az úgynevezett ASCII (American Standard Code For Information Interchange) érték.

Ezeken az értékeken kívül a C-ben létezik egy olyan készlet, amelyet Escape Sequences

Escape Sequences

Egy példa: ‘+’, ‘A’, ‘d’.

4.4. Sztringkonstansok

A sztringkonstans olyan karaktertömb, amelynek rögzített értéke kettős idézőjelek ( ” ” ) közé van zárva.

Például: “DataFlair”, “Hello world!”

4.5 Felsorolási konstansok

A felsorolási konstansok a C nyelvben a felhasználó által definiált, rögzített értékkel rendelkező adattípusok, amelyeket arra használnak, hogy neveket adjanak az integrál konstansoknak.

Például,

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

A felsorolás rainbow integrál értékei a következők:

Violet : 0
Indigo: 1
Kék: 2
Zöld : 3
Sárga: 4
Narancssárga: 5
Red: 6

Hogyan használjuk a konstansokat C-ben?

Itt egy kód C-ben, amely néhány konstans használatát szemlélteti:

#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;}

Kód a képernyőn-

Példa a konstansokra C-ben

Kimenet-

Konstansok használata

Hogyan használjunk konstansokat C++-ban?

Itt egy kód C++ nyelven, amely néhány konstans használatát szemlélteti:

#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;}

Kód-

Egy konstans használata C++-ban

Kimenet-

Egy konstans kimenete C++-ban

Összefoglaló

Ebben a tananyagban a változók és a konstansok közötti különbséget tárgyaltuk a C-ben és a C++-ban. Ezután tovább folytattuk a beszélgetést azzal, hogy részletesen megvilágítottuk, hogyan kell konstansokat vagy literálokat deklarálni vagy definiálni, valamint a C-ben elérhető konstansok típusait. Miután befejeztük ezt az oktatóanyagot, a C/C++ konstansok és literálok felett már rendelkezik.

Ne felejtse el megnézni az Unions a C nyelvben

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.