czwartek, 26 kwietnia 2018

Język C - Stałe i literały

C - Stałe i literały

Stałe odnoszą się do stałych wartości, których program nie może zmienić podczas jego wykonywania. Te ustalone wartości są również nazywane literałami.
Stałe mogą być dowolnego z podstawowych typów danych, takich jak stała całkowita, stała zmiennoprzecinkowa, stała znakowa lub literał łańcuchowy. Są również stałe wyliczeniowe.
Stałe są traktowane tak jak zwykłe zmienne, z tym że ich wartości nie mogą być modyfikowane po ich zdefiniowaniu.

Literały Integer

Dosłowna liczba całkowita może być stała dziesiętną, ósemkową lub szesnastkową. Prefiks określa podstawę: 0x lub 0X dla szesnastkowych, 0 dla ósemkowych i nic dla dziesiętnych.
Literał całkowity może również mieć przyrostek, który jest kombinacją U i L, odpowiednio dla typów unsigned i long. Sufiks może być pisany wielkimi lub małymi literami i może być w dowolnej kolejności.
Oto kilka przykładów literałów całkowitych -
212         /* Poprawny */
215u        /* Poprawny */
0xFeeL      /* Poprawny */
078         /* Niepoprawny: 8 nie jest cyfrą ósemkową */
032UU       /* Niepoprawny: nie można powtórzyć przyrostka */
Poniżej znajdują się inne przykłady różnych typów literałów całkowitych -
85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Literały zmiennoprzecinkowe

Literał zmiennoprzecinkowy ma część całkowitą, kropkę dziesiętną, część ułamkową i część wykładniczą. Możesz reprezentować literały zmiennoprzecinkowe w postaci dziesiętnej lub wykładniczej.
Przedstawiając postać dziesiętną, należy podać przecinek dziesiętny, wykładnik lub oba naraz i podczas reprezentowania formy wykładniczej, musisz dołączyć część całkowitą, część ułamkową lub obie. Podpisany wykładnik wprowadza e lub E.
Oto kilka przykładów literałów zmiennoprzecinkowych -
3.14159       /* Poprawnie */
314159E-5L    /* Poprawnie */
510E          /* Niepoprawnie: niekompletny wykładnik*/
210f          /* Niepoprawnie: bez znaków dziesiętnych lub wykładników */
.e55          /* Niepoprawnie: brakująca liczba całkowita lub ułamek */

Stałe znaków

Literały znaków są ujęte w pojedyncze cudzysłowy, np. ‘X’ może być przechowywane w prostej zmiennej typu char.
Znak może być zwykłym znakiem (np. ‘X’), sekwencją specjalną (np. ‘\t’) lub znakiem uniwersalnym (np. "\u02C0").
Istnieją pewne znaki w C, które reprezentują specjalne znaczenie po poprzedzeniu ukośnikiem odwrotnym, na przykład znak nowej linii (\n) lub tabulatora (\t).
Poniżej znajduje się przykład pokazujący kilka znaków sekwencji ucieczki:-
#include <stdio.h>
int main() {
   printf("Hello\tWorld\n\n");
   return 0;
}
Gdy powyższy kod zostanie skompilowany i wykonany, generuje następujący wynik:
Hello World

Literały ciągów

Literały lub stałe ciągów są ujęte w podwójne cudzysłowy "". Łańcuch zawiera znaki podobne do literałów znaków: zwykłe znaki, sekwencje specjalne i znaki uniwersalne.
Można podzielić długą linię na wiele linii, używając literałów łańcuchowych i rozdzielając je za pomocą białych znaków.
Oto kilka przykładów literałów łańcuchowych. Wszystkie trzy formy są identycznymi ciągami.
"Witaj, Adam"

"cześć, \

drogi"

"cześć, " "d" "rar"

Definiowanie stałych

Istnieją dwa proste sposoby w C do definiowania stałych -
·      Używanie preprocesora #define.
·      Używanie słowa kluczowego const.

Preprocesor #define

Poniżej znajduje się formularz do użycia preprocesora #define do zdefiniowania stałej -
#define wartość identyfikatora
Poniższy przykład wyjaśnia to szczegółowo:
#include <stdio.h>

#define DLUGOSC 10
#define SZEROKOSC  5
#define NOWALINIA '\n'

int main() {
   int powierzchnia;

   powierzchnia = DLUGOSC * SZEROKOSC;
   printf("wartość zmiennej powierzchnia to : %d", powierzchnia);
   printf("%c", NOWALINIA);

   return 0;
}
Gdy powyższy kod zostanie skompilowany i wykonany, wygeneruje się następujący wynik:
wartość zmiennej powierzchnia to : 50



Słowo kluczowe const

Możesz użyć prefiksu const, aby zadeklarować stałe dla określonego typu w następujący sposób:
const typ zmiennej = wartość;

Poniższy przykład wyjaśnia to szczegółowo:
#include <stdio.h>

int main() {
   const int  DLUGOSC = 10;
   const int  SZEROKOSC = 5;
   const char NOWALINIA = '\n';
   int powierzchnia;

   powierzchnia = DLUGOSC * SZEROKOSC;
   printf("wartość zmiennej powierzchnia to  : %d", powierzchnia);
   printf("%c", NOWALINIA);

   return 0;
}
Gdy powyższy kod zostanie skompilowany i wykonany, generuje następujący wynik:
wartość zmiennej powierzchnia to : 50
Zauważ, że dobrą praktyką programistyczną jest definiowanie nazw stałych dużymi literami.

Poprzednia strona                                                          Następna strona


Brak komentarzy:

Prześlij komentarz