Czy kiedykolwiek zastanawiałeś się, czym są stałe i dlaczego są one ważną częścią świata programowania? Mamy wszystkie odpowiedzi na Twoje pytania. Stałe w programowaniu C i C++ to nic innego jak stałe wartości, które nie mogą być zmieniane w trakcie działania programu. Te stałe wartości są również nazywane literałami.
W języku laików, możemy używać terminów stałych i literałów zamiennie. Ale w tym poradniku podkreślimy kluczową różnicę między nimi.
Zanim zaczniemy, musisz być świadomy Zmiennych w C.
Poznajmy teraz znaczenie stałych i literałów w C i C++, rozważając następujący problem:
Istnieją pewne sytuacje, w których zmienne nie zmieniają swojej wartości, powiedzmy, że wartość pi, w przybliżeniu równa 3.14159 jest stała i nigdy nie może się zmienić, co jest faktem uniwersalnym. Możemy spotkać się z kilkoma sytuacjami, w których będziemy potrzebować pi do obliczeń matematycznych. Podobnie, możemy przypisać stałe wartości do kilku zmiennych zgodnie z naszą wygodą.
Bądź na bieżąco z najnowszymi trendami technologicznymi
Join DataFlair on Telegram!!
- Zmienne i stałe w C i C++
- Deklarowanie lub definiowanie stałych
- 2.1 Declare or Define Constants in C
- 2.1 Declare or Define Constants in C++
- Constants vs Literals in C/C++
- Typy stałych w C i C++
- 4.1 Stałe całkowite
- 4.2 Stałe zmiennoprzecinkowe lub rzeczywiste
- 4.3 Stałe znakowe
- 4.4 Stałe łańcuchowe
- 4.5 Stałe wyliczeniowe
- Jak używać Constant w C?
- Jak używać stałych w C++?
- Podsumowanie
Zmienne i stałe w C i C++
Warto zauważyć, że zmienna konotuje inne znaczenie w programowaniu i matematyce. Zmienna to nic innego jak wartość, którą możemy przechowywać w pamięci komputera. Możemy łatwo zmieniać jej wartość w czasie wykonywania programu. W przeciwieństwie do niej, stałe nigdy nie zmieniają swojej wartości w trakcie działania programu. Stałe mogą przechowywać dowolne typy danych dostępne w językach C i C++.
Deklarowanie lub definiowanie stałych
Wartość stałej w języku C/C++ możemy przypisać zmiennej na dwa sposoby:
- Używając #define, dyrektywy preprocesora: Omówiliśmy już szczegółowo #define w preprocesorach.
- Używając słowa kluczowego const: Jest to podobne do deklaracji zmiennej z tą różnicą, że przed nią powinniśmy dodać słowo kluczowe „const”. Ważne jest, aby przypisać wartość do stałej, jak tylko ją zadeklarujemy.
Dowiedz się więcej o preprocesorach w C, uświadom sobie, że warto czy nie warto?
2.1 Declare or Define Constants in C
Tutaj jest program w C, który ilustruje co się dzieje, gdy próbujemy zmodyfikować wartość stałej:
#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-
2.1 Declare or Define Constants in C++
Ten sam problem pojawia się, gdy próbujemy zmodyfikować wartość stałej:
#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++
Jak omówiono wcześniej, stałe i literały mogą być używane zamiennie, ale istnieje między nimi drobna różnica.
Zastanówmy się nad prostym przykładem, aby lepiej to zrozumieć.
W Indiach legalny wiek uprawniający do głosowania wynosi 18 lat.
W związku z tym definiujemy,
const voting_age = 18;
Tutaj, 18 jest literałem, wartością, która jest wyrażona sama w sobie, podczas gdy stała może być uważana za typ danych, który jest zastępowany w miejsce literału w celu zwiększenia funkcjonalności kodu.
Teraz, chcemy wydrukować wiadomość, ” Masz prawo głosować! ” dla osób w wieku większym lub równym 18 lat.
Oto fragment kodu w języku C zgodny z powyższym stwierdzeniem.
if (age >= voting_age)
{
printf(” You are allowed to vote! „);
}
Tutaj identyfikator voting_age jest stały.
Tutaj znajduje się segment kodu w C++ zgodny z powyższym stwierdzeniem.
if (age >= voting_age)
{
cout<<” You are allowed to vote! „<<endl;
}
Tutaj, identyfikator voting_age jest stały.
Typy stałych w C i C++
W C/C++, istnieje 5 różnych typów stałych w zależności od ich typu danych:
4.1 Stałe całkowite
Na przykład,
const signed int limit = 20;
Możemy używać różnych kombinacji sufiksów U i L do oznaczania odpowiednio modyfikatorów unsigned i long, pamiętając o tym, aby nie występowały jego powtórzenia.
Możemy je dalej sklasyfikować na trzy typy, a mianowicie:
- Stała dziesiętnego systemu liczbowego: ma podstawę/radix 10. ( 0 do 9)
Na przykład 55, -20, 1.
W dziesiętnym systemie liczbowym nie stosuje się przedrostka. - Stała w oktalnym systemie liczbowym: Ma podstawę/radix 8. ( 0 do 7 )
Na przykład, 034, 087, 011.
W oktalnym systemie liczbowym, 0 jest używane jako prefiks. - Stała w szesnastkowym systemie liczbowym: Ma bazę/radix 16. (0 do 9, A do F)
W szesnastkowym systemie liczbowym, 0x jest używane jako prefiks. Język C daje możliwość używania wielkich lub małych liter do reprezentowania liczb szesnastkowych.
4.2 Stałe zmiennoprzecinkowe lub rzeczywiste
Używamy stałych zmiennoprzecinkowych do reprezentowania wszystkich liczb rzeczywistych na linii liczbowej, co obejmuje wszystkie wartości ułamkowe.
Na przykład,
const long float pi = 3.14159;
Możemy ją reprezentować na 2 sposoby:
- Postać dziesiętna: Dołączenie przecinka dziesiętnego ( . ) jest obowiązkowe.
Na przykład 2.0, 5.98, -7.23. - Postać wykładnicza: Dołączenie podpisanego wykładnika (albo e, albo E) jest obowiązkowe.
Na przykład uniwersalna stała grawitacyjna G = 6,67 x 10-11 jest przedstawiana jako 6,67e-11 lub 6,67E-11.
4.3 Stałe znakowe
Stałe znakowe są używane do przypisywania stałej wartości znakom, w tym alfabetom i cyfrom lub symbolom specjalnym ujętym w pojedyncze cudzysłowy( ’ ’ ).
Każdy znak jest związany ze swoją określoną wartością liczbową zwaną wartością ASCII (American Standard Code For Information Interchange).
Oprócz tych wartości, w języku C istnieje zestaw znany jako sekwencje ucieczki
Na przykład '+’, 'A’, 'd’.
4.4 Stałe łańcuchowe
Stała łańcuchowa to tablica znaków, która ma stałą wartość zamkniętą w podwójnych cudzysłowach ( ” ” ).
Na przykład „DataFlair”, „Hello world!”
4.5 Stałe wyliczeniowe
Stałe wyliczeniowe to zdefiniowane przez użytkownika typy danych w języku C o stałej wartości używane do przypisywania nazw stałym integralnym.
Na przykład,
enum rainbow = { Violet, Indigo, Blue, Green, Yellow, Orange, Red }
Tęcza wyliczeniowa ma wartości integralne jako:
Violet : 0
Indigo: 1
Niebieski: 2
Zielony : 3
Żółty: 4
Orange: 5
Red: 6
Jak używać Constant w C?
Tutaj jest kod w C, który ilustruje użycie niektórych stałych:
#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;}
Kod na ekranie-
Wyjście-
Jak używać stałych w C++?
Tutaj jest kod w C++, który ilustruje użycie niektórych stałych:
#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;}
Kod-
Wyjście-
Podsumowanie
W tym tutorialu omówiliśmy różnicę między zmiennymi i stałymi w C i C++. Następnie, kontynuowaliśmy naszą dyskusję rzucając światło na to, jak deklarować lub definiować stałe lub literały oraz typy stałych dostępnych w C w szczegółach. Po ukończeniu tego tutorialu zdobędziesz wiedzę na temat stałych i literałów w C/C++.
Nie zapomnij sprawdzić związków w języku C
.