Inne działy

 

 

C++ stałe

 

Stałe są wyrażeniami o stałej wartości.

Literały


Literały są używane do wyrażania poszczególnych wartości w kodzie źródłowym programu. Mamy już te używane
poprzednio kiedy podawaliśmy konkretne wartości dla zmiennych, na przykład:

a = 5;

5 w tym przypadku literał stałej.

Stałe można podzielić na liczby całkowite, liczby zmiennoprzecinkowe, znaki, string oraz boolean.

Liczby całkowite

1765

809

-289

Są stałe liczbowe, które identyfikują całkowite wartości liczbowe. Zauważmy, że wyrażenia numeryczne stałych nie musimy pisać w cudzysłowach. Gdy piszemy 1765 w programie, będziemy się odnosić do wartości 1765.

Oprócz liczb dziesiętnych tych, które każdy z nas stosuje do korzystania na co dzień, C++ pozwala na zastosowanie jako literały stałych wartości ósemkowych (podstawa 8) i liczb szesnastkowych (podstawa 16). Jeśli chcemy przedstawić liczbę ósemkową musimy ją poprzedzić 0 (zerem). Oraz w celu przedstawienia liczby szesnastkowej musimy ją poprzedzić znakami 0x (zero x). Na przykład, następujące literały stałych są sobie równoważne:

75  // dziesiętne

0113  // ósemkowe

0x4b  // szesnastkowe

Wszystkie one reprezentują ten sam numer: 75 wyrażoną jako liczba odpowiednio dziesiętna, ósemkowa i szesnastkowa.

Literały stałych, tak jak zmienne, również mają określony typ danych. Domyślnie literały liczb całkowitych są typu int. Jednakże można zastosować literał bez znaku:

75  // int

75u  // unsigned int

751  // long

75u1  // unsigned long

W obu przypadkach, końcówka może być określana przy pomocy małych lub dużych liter.

Liczby zmiennoprzecinkowe

Wyrażają one liczby z miejscami po przecinku i/lub wykładniki. Mogą to być wartości dziesiętne, to znak e (który zastępuje wartość 10 oznacza 10 podnieś do potęgi X, gdzie X jest liczbą całkowitą, która zastępuje znak e) lub kropka oraz znak e:

3.14159  // 3.14159

6.02e23 // 6.02 x 10^23

1.6e-19  // 1.6 x 10^-19

3.0        // 3.0

Są to cztery ważne wartości wyrażone liczbami dziesiętnymi w C++. Pierwsza z nich to liczba PI, druga to liczba Avogardo, trzecia to ładunek elektryczny elektronu (bardzo mała liczba). Ostatnia to zwykła liczba zmiennoprzecinkowa.

Domyślnym typem danych dla liczb zmiennoprzecinkowych jest typ double. Jeśli chcesz wyraźnie zaznaczyć, że używasz typu float lub long double, możesz zastosować jako przedrostki litery f lub l odpowiednio:

3.14159L  // long double

6.02e23f  // float

Każda z liter, która może być częścią liczby zmiennoprzecinkowej (e, f, l) może być pisana zarówno małymi jak i dużymi literami bez różnicy ich znaczeń.

Literały typu Boolean

Istnieją dwa literały logiczne, które są częścią standardowej biblioteki C++

  • Wartość True reprezentująca wyrażenie prawda
  • Wartość False reprezentująca fałsz

Znaki i ciągi znaków

Istnieją również stałe nie liczbowe takie jak:

'z'

'p'

"Witaj świecie"

"Co robisz?"

Pierwsze dwa wyrażenia są to pojedyncze stałe znakowe, dwie kolejne reprezentują literały ciągów znaków składających się z kilku znaków. Zauważ, że do reprezentowania pojedynczego znaku umieszczamy go między apostrofami (') a ciąg (który na ogół składa się z więcej niż jednego znaku) możemy umieścić w cudzysłowie (").

Pisząc zarówno pojedynczy znak jak i ciąg znaków, należy umieścić znaki cudzysłowu wokół nich, aby odróżnić je od możliwych zmiennych identyfikatorów lub zastrzeżonych słów kluczowych. Zauważ różnicę pomiędzy tymi dwoma pojęciami:

 x

'x'

Sam x odsyła do zmiennej, której identyfikatorem jest x, a 'x' (ujęty w pojedynczy cudzysłów), odwołuje się do postaci stałej 'x'.

Znaki i literały ciągów mają pewne szczególne cechy, takie jak sekwencje kodów. Są to znaki specjalne, które są trudne lub niemożliwe do wyrażenia w inny sposób w kodzie źródłowym programu, jak znak nowej linii (\ n) lub znak tabulatora (\ t). Wszystkie z nich są poprzedzane ukośnikiem (\). Poniżej masz listę niektórych z takich znaków ucieczki:

 

\n Znak nowej linii
\r powrót karetk
\t tabulator
\v vertical tab
\b backspace
\f wysuw strony
\a alert (dźwięk)
\' apostrof (')
\" cudzysłów (")
\? znak zapytania (?)
\\ backslash (\)

 

Na przykład:

'\n'
'\t'
"Lewo \t Prawo"
"jeden\ndwa\ntrzy" 

 

Dodatkowo, można wyrazić dowolny znak przez jego kod numeryczny ASCII pisząc lewych ukośników (\), a następnie kod ASCII, wyrażony w postaci ósemkowej (baza-8) lub szesnastkowej (podstawa-16) numer. W pierwszym przypadku (ósemkowe), cyfry muszą bezpośrednio po ukośnika (na przykład \ 23 lub \ 40), w drugim przypadku (szesnastkowo), znak x musi być napisana przed same cyfry (na przykład \ x20 lub \ X4A ).

Literały ciągów mogą rozciągać się na więcej niż jedną lini kodu, umieszczając znak backslashu (\) na końcu każdej niedokończonej linii.

"ciąg znaków zapisany w \
dwóch liniach."

 

Możesz także połączyć kilka ciągów oddzielając je przez jedną lub kilka białych spacji, tabulatory czy znaki nowej linii:

"ta forma" "pojedyncza" "ciąg znaków" "znak"

 

 
Wreszcie, jeśli chcemy literał ciągu znaków, szerokich znaków (typ wchar_t), zamiast wąskich znaków (typu char), możemy poprzedzić stałą prefiksem L:

 
L "To jest szeroki ciąg znaków"


Szerokie znaki są używane głównie do reprezentowania nie-angielskich lub egzotyczne zestawy znaków.

 

Zdefiniowanie stałej (# define)


Można zdefiniować własne nazwy dla stałych używanych bardzo często bez konieczności uciekania się do zużywających pamięć zmiennych, po prostu za pomocą dyrektywy preprocesora #define . Jego format jest:

 #define wartość identyfikatora


Na przykład:

#define PI 3.14159
#define NOWALINIA '\n'

 Powyżej definiujemy dwie nowe stałe: PI i NOWALINIA. Gdy są one określone, można ich używać w dalszej części kodu, jakby były regularnymi stałymi, na przykład:

 

// zdefiniowanie stałych: Obliczanie obwodu

#include <iostream>
using namespace std;

#define PI 3.14159
#define NOWALINIA '\n'

int main ()
{
double r=5.0; // promień
double okrag;

okrag = 2 * PI * r;
cout << okrag;
cout << NOWALINIA;

return 0;
}

 

Dyrektywa #define nie jest wyrażeniem C + + ale dyrektywa dla preprocesora, dlatego zakłada całą linię jako dyrektywę i nie wymaga średnika (;) na końcu. Jeśli dodasz znak średnika (;) na końcu, będzie on również nadawany we wszystkich wystąpieniach identyfikatora w treści programu, które preprocesor zastępuje.

 

 Deklarowanie stałych (const)

 Za pomocą prefiksu const można zadeklarować stałe z określonym typem w taki sam sposób, jak można to zrobić ze zmienną:

const int szerokosc = 100;
const char tabulator = '\t';

 Powyżej mamy dwie stałe szerokosc i tabulator. Są one traktowane jak zwykłe zmienne, za wyjątkiem, że ich wartości nie mogą być modyfikowane po ich definicji.

 

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.