Přemýšleli jste někdy, co jsou to konstanty a proč jsou důležitou součástí světa programování? Máme pro vás odpovědi na všechny vaše otázky. Konstanty v programování v jazycích C a C++ nejsou nic jiného než pevně dané hodnoty, které nelze v průběhu běhu programu měnit. Tyto pevné hodnoty se také nazývají literály.
V laickém jazyce můžeme termíny konstanty a literály používat zaměnitelně. V tomto tutoriálu však zdůrazníme klíčový rozdíl mezi nimi.
Než začneme, musíte znát pojem Proměnné v jazyce C
Nyní si uvědomíme význam konstant a literálů v jazycích C a C++ na základě následujícího problému:
Existují určité situace, kdy proměnné nemění svou hodnotu, řekněme, že hodnota pí, přibližně rovná 3,14159, je konstantní a nikdy se nemůže změnit, což je univerzální fakt. Můžeme se setkat s několika situacemi, kdy bychom pí potřebovali k matematickým výpočtům. Podobně můžeme několika proměnným přiřadit konstantní hodnoty podle toho, jak se nám to hodí.
Sledujte nejnovější technologické trendy
Přidejte se k DataFlair na Telegramu!!!
- Proměnné a konstanty v jazycích C a C++
- Deklarování nebo definování konstant
- 2.1 Deklarovat nebo definovat konstanty v jazyce C
- 2. Co se stane, když se pokusíme změnit hodnotu konstanty?1 Deklarování nebo definování konstant v C++
- Konstanty vs. literály v C/C++
- Typy konstant v jazycích C a C++
- 4. Konstanta v jazyce C je konstantní.1 Celočíselné konstanty
- 4.2 Konstanty plovoucí nebo reálné
- 4.3 Znakové konstanty
- 4.4 Řetězcové konstanty
- 4. Řetězcová konstanta je pole znaků, které má pevnou hodnotu uzavřenou do dvojitých uvozovek.5 Výčtové konstanty
- Jak používat konstantu v jazyce C?
- Jak použít konstantu v C++?
- Shrnutí
Proměnné a konstanty v jazycích C a C++
Je důležité si uvědomit, že proměnná má v programování a matematice jiný význam. Proměnná není nic jiného než hodnota, kterou můžeme uložit do paměti počítače. Její hodnotu můžeme během běhu snadno měnit. Na rozdíl od toho konstanty svou hodnotu v průběhu běhu programu nikdy nemění. Konstanty mohou obsahovat libovolný datový typ dostupný v jazycích C a C++.
Deklarování nebo definování konstant
Proměnné můžeme v jazyce C/C++ přiřadit hodnotu konstanty dvěma způsoby:
- Pomocí #define, což je direktiva preprocesoru:
- Pomocí klíčového slova const: Je to podobné jako deklarace proměnné s tím rozdílem, že bychom před ni měli přidat klíčové slovo „const“. Důležité je přiřadit konstantě hodnotu hned, jak ji deklarujeme.
Přečtěte si více o preprocesorech v jazyce C, uvědomte si, zda se to vyplatí, nebo ne?
2.1 Deklarovat nebo definovat konstanty v jazyce C
Tady je program v jazyce C, který ilustruje, co se stane, když se pokusíme změnit hodnotu konstanty:
#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;}
Výstup-
2. Co se stane, když se pokusíme změnit hodnotu konstanty?1 Deklarování nebo definování konstant v C++
Stejný problém nastane, když se pokusíme upravit hodnotu konstanty:
#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-
Konstanty vs. literály v C/C++
Jak již bylo řečeno, konstanty a literály se mohou používat zaměnitelně, ale je mezi nimi malý rozdíl.
Uvažujme jednoduchý příklad, abychom jej lépe pochopili.
V Indii je zákonem stanovený věk pro hlasování 18 let.
Proto definujeme,
const voting_age = 18;
V tomto případě je 18 literál, tedy hodnota, která je vyjádřena sama o sobě, zatímco konstantu lze považovat za datový typ, který je nahrazen místo literálu, aby se zvýšila funkčnost kódu.
Nyní chceme vypsat zprávu: “ Máte právo volit! “ pro osoby ve věku vyšším nebo rovném 18 let.
Tady je úsek kódu v jazyce C v souladu s výše uvedeným příkazem.
if (age >= voting_age)
{
printf(“ You are allowed to vote! „);
}
Zde je identifikátor voting_age konstantní.
Zde je úsek kódu v C++ v souladu s výše uvedeným tvrzením.
if (age >= voting_age)
{
cout<<“ You are allowed to vote! „<<endl;
}
Zde je identifikátor voting_age konstantní.
Typy konstant v jazycích C a C++
V jazycích C/C++ existuje 5 různých typů konstant v závislosti na jejich Datovém typu:
4. Konstanta v jazyce C je konstantní.1 Celočíselné konstanty
Například,
const signed int limit = 20;
K označení modifikátorů unsigned a long můžeme použít různé kombinace přípon U a L, přičemž musíme mít na paměti, že nedochází k jeho opakování.
Dále ji můžeme rozdělit do tří typů, a to:
- Konstanta desítkové číselné soustavy: Má základ/radix 10. V tomto případě se jedná o konstantu, která má základ v podobě čísla. ( 0 až 9)
Například 55, -20, 1.
V desítkové číselné soustavě se nepoužívá žádná předpona. - Konstanta osmičkové číselné soustavy: Má základ/radix 8. V desítkové číselné soustavě se nepoužívá žádná předpona. ( 0 až 7 )
Například 034, 087, 011.
V osmičkové číselné soustavě se jako předpona používá 0. - Konstanta šestnáctkové číselné soustavy: Má základ/radix 16.
V osmičkové číselné soustavě se jako předpona používá 0. (0 až 9, A až F)
V šestnáctkové číselné soustavě se jako předpona používá 0x. Jazyk C dává možnost používat k reprezentaci hexadecimálních čísel buď velká, nebo malá písmena.
4.2 Konstanty plovoucí nebo reálné
Konstantu s pohyblivou řádovou čárkou používáme k reprezentaci všech reálných čísel na číselné řadě, která zahrnuje všechny zlomkové hodnoty.
Například,
const long float pi = 3,14159;
Můžeme ji reprezentovat dvěma způsoby:
- V desetinné formě:
Například 2,0, 5,98, -7,23. - Exponenciální tvar:
Například univerzální gravitační konstanta G = 6,67 x 10-11 je reprezentována jako 6,67e-11 nebo 6,67E-11.
4.3 Znakové konstanty
Znakové konstanty se používají k přiřazení pevné hodnoty znakům včetně abecedy a číslic nebo speciálních symbolů uzavřených v jednoduchých uvozovkách ( ‚ ‚ ).
Každému znaku je přiřazena jeho specifická číselná hodnota nazývaná hodnota ASCII (American Standard Code For Information Interchange).
Kromě těchto hodnot existuje v jazyce C sada známá jako escape sekvence
Například ‚+‘, ‚A‘, ‚d‘.
4.4 Řetězcové konstanty
Řetězcová konstanta je pole znaků, které má pevnou hodnotu uzavřenou do dvojitých uvozovek ( “ “ ).
Například „DataFlair“, „Hello world!“
4. Řetězcová konstanta je pole znaků, které má pevnou hodnotu uzavřenou do dvojitých uvozovek.5 Výčtové konstanty
Výčtové konstanty jsou uživatelsky definované datové typy v jazyce C s pevnou hodnotou, které se používají k přiřazení jmen integrálním konstantám.
Například,
enum rainbow = { Violet, Indigo, Blue, Green, Yellow, Orange, Red }
Výčtová konstanta rainbow má integrální hodnoty jako:
Violet : 0
Indigo: 1
Modrá: 2
Zelená : 3
Žlutá: 4
Oranžová: 5
Červená: 6
Jak používat konstantu v jazyce C?
Tady je kód v jazyce C, který ilustruje použití některých konstant:
#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 na obrazovce-
Výstup-
Jak použít konstantu v C++?
Tady je kód v C++, který ilustruje použití některých konstant:
#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-
Výstup-
Shrnutí
V tomto kurzu jsme probrali rozdíl mezi proměnnými a konstantami v C a C++. Poté jsme dále pokračovali v diskusi tím, že jsme si podrobně osvětlili, jak deklarovat nebo definovat konstanty či literály a jaké typy konstant jsou v jazyce C k dispozici. Po dokončení tohoto kurzu jste získali znalosti o konstantách a literálech jazyka C/C++.
Nezapomeňte se podívat na Uniony v jazyce C
.