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
- A konstansok deklarálása vagy definiálása
- 2.1 Állandók deklarálása vagy definiálása C-ben
- 2.1 Állandók deklarálása vagy definiálása C++-ban
- Constants vs Literals in C/C++
- A konstansok típusai C-ben és C++-ban
- 4.1 Egészértékű konstansok
- 4.2 Lebegő vagy valós konstansok
- 4.3 Karakterállandók
- 4.4. Sztringkonstansok
- 4.5 Felsorolási konstansok
- Hogyan használjuk a konstansokat C-ben?
- Hogyan használjunk konstansokat C++-ban?
- Összefoglaló
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:
- A #define, egy preprocesszor utasítás segítségével: A #define-t már részletesen tárgyaltuk a preprocesszoroknál.
- 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-
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-
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:
4.1 Egészértékű konstansok
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-
Kimenet-
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-
Kimenet-
Ö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
.