• PL
  • EN

Podstawowe typy danych.

Wcześniej zdobyte informacje na temat wyświetlania informacji na ekranie konsoli nie wystarczy aby programować w języku c++. Aby tworzyć algorytmy i proste programy, musimy poznać zmienne. Bez nich ani rusz.

Zmienna to nic innego jak specjalnie przygotowane miejsce na dane pochodzące z klawiatury lub powstałe w wyniku działania algorytmów. W przeciwieństwie do JAVA SCRIPT, w c++ musisz wiedzieć lub z góry przewidzieć jakiego typu dane znajdą się w Twojej zmiennej. Na początek musisz poznać cztery podstawowe typy zmiennych:

> Typ znakowy - przechowuje pojedyncze znaki jak np A, t, b, Z.
> Typ całkowity - przechowuje liczby całkowite
> Typ zmiennoprzecinkowe - różni się od całkowitych tym, że potrafi przechowywać ułamki
> Typ logiczny - przechowuje wartości logiczne: prawda i fałsz.

Nazwa zmiennej.

Oprócz zadeklarowania typu zmiennej, musisz nadać jej nazwę. Istnieje kilka zasad, które warto znać podczas tworzenia nazwy swojej zmiennej:

> Nazwa zmiennej nie może zaczynać się od cyfry - int 5e; int 22x;
> Nazwa zmiennej nie może być cyfrą - int 3; int 60;
> Nazwa zmiennej może być pojedynczym znakiem - np. int x; int a;
> Nazwa zmiennej może być słowem - np int age; int size;
> Nazwa zmiennej może zawierać cyfry - np int age1; int age2;

WARTO WIEDZIEĆ!

Nazwa zmiennej nie może być słowem kluczowym, czyli słowem lub ciągiem znaków zarezerowoanym przez system. Poniżej lista wszystkich słów kluczowych:

alignas, alignof, and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch, char, char16_t, char32_t, class, compl, const, constexpr, const_cast, continue, decltype, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, noexcept, not, not_eq, nullptr, operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_assert, static_cast, struct, switch, template, this, thread_local, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq

Nazwy podstawowych typów danych.

Aby "powiedzieć" jakiego typu zmiennej chcemy uzyć, powinniśmy poznać podstawowe nazwy tych typów. Jest ich znacznie więcej niż widzisz poniżej, ale na początek te w zupełności wystarczą. Poznasz kolejne wraz ze wzrostem doświadczenia.

> int - typ integer (liczby całkowite),
> double - typ podwójnej precyzji (liczby zmiennoprzecinkowe),
> char - typ znakowy (pojedyncze znaki),
> bool - typ logiczny (prawda / fałsz)

Tego ostatniego nie będziemy wykorzystywali zbyt często, ale o istnieniu takiego typu warto wiedzieć. W pewnym momencie zaczniesz uzywać tego typu danych gdy uznasz, że będzie to przydatne.

Szczegółowe informacje na temat typów danych.

Nazwa zmiennej Typ zmiennej Rozmiar Zakres
int liczba całkowita 4 bajty -2(31) - 2(31)
char znak 8 bajtów -128 - 127
float zmiennoprzecinkowa 4 bajty 6 - 7 cyfr po przecinku
double zmiennoprzecinkowa 8 bajtów 15 - 16 cyfr po przecinku
bool logiczny 1 bit 0 lub 1

Stałe typy danych.

W pamięci komputera można tworzyć miejsca na zapisywanie danych w postaci zmiennych. Tak się nazywają, bo to się w nich zapisuje z założenia jest i będzie zmienne. Istnieje możliwość zapisanie także wartości stałych - niezmiennych. Aby dany typ zmiennej stał się wartością stałą, wystarczy dodać przed deklaracją słowo const. Przykład:

const float pz = 9.80665; - oznacza wartość przyspieszenia ziemskiego,
const float VAT = 0.23 - przechowuje wysokość podatku VAT,
const float tmin = −273.15 - przechowuje wartość zera bezwzględnego w stopniach Celsjusza,
const int Tmin = 0 - przechowuje wartość zera bezwzględnego w Kelwinach,

Tworzenie kilku zmiennych tego samego typu.

W programach komputerówych zwykle tworzy się wiele zmiennych. Można to robić na dwa sposoby.
Pierwszy jest bardzo intuicyjny:

float v1;
float v2;
float v3;

To samo zadanie można zrealizować szybciej. Jeśli tworzysz kilka zmiennych tego samego typu, możesz zapisać to tak:

float v1, v2, v3;

Przechowywanie pojedynczych znaków.

Aby utworzyć zmienną, która przechowa dowolny pojedynczy znak z klawiatury, używamy typu char:

char mala_litera = 'r';
char wielka_litera = 'R';

Ciągi znaków, czyli biblioteka STRING.

W celu zapisania jednego lub więcej wyrazów w zmiennej, należy skorzystać z biblioteki STRING. W tym celu w części nagłówkowej dodajemy dodatkową informację:
include<string>

Dopiero po tej operacji dostępne jest polecenie tworzenia "zmiennej typu string":
string imie;

Warto wspomnieć w tym momencie o innym sposobie wczytywania danych z klawiatury. Dobrze już znany cin >> name zastąpimy nowym: getline(cin, name)
Ten sposób pozwala zapisać w zmiennej słowa oddzielone spacjami. Możesz spróbować zapisać w zmiennej swoje imię oraz nazwisko oddzielone spacją przy pomocy obu metod, a następnie wyświetlić efekt działania kodu.

Oprócz nowej metody pobierania informacji z klaiwatury, klasa typu string daje szereg możliwości jak np.:
name.size() - zwraca długość zmiennej name razem ze spacjami.
name.empty() - zwraca prawdę, jeśli zmienna name jest pusta,
name.clear() - usuwa zawartość zmiennej name, name.swap(x) - zmienia zawartość zmiennej x na to co znajduje się w zmiennej name name.find(" ",0) - wyszuka pierwszą spację w ciągu i wskaże na którym znaku się znajduje...

Istnieje znacznie więcej metod dla klasy string. Możesz samodzielnie odszukać je w Internecie.

Basic data types.

The previously acquired information on displaying information on the console screen is not enough to program in c ++. To create algorithms and simple programs, we need to know the variables. You can't move without them.

A variable is nothing more than a specially prepared place for data from the keyboard or resulting from the operation of algorithms. Unlike JAVA SCRIPT, in c ++ you need to know or predict what type of data will be in your variable. First, you need to know the basic types of variables:

> Character type - can store single characters such as A, t, b, Z...,
> Integer type - can store integers,
> Type floating point - can store fractional values,
> Boolean type - stores logical values: true and false.

The name of the variable.

In addition to declaring the type of a variable, you need to give it a name. There are a few rules to know when creating a name for your variable:

> A variable name cannot start with a digit - int 5e; int 22x;
> The variable name cannot be a digit - int 3; int 60;
> The variable name can be a single character - e.g. int x; int a;
> The variable name can be a word - e.g.int age; int size;
> The variable name can contain numbers - e.g. int age1; int age2;

GOOD TO KNOW!

The variable name cannot be a keyword, that is, a word or sequence of characters reserved by the system. Below is a list of all keywords:

alignas, alignof, and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch, char, char16_t, char32_t, class, compl, const, constexpr, const_cast, continue, decltype, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, noexcept, not, not_eq, nullptr, operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_assert, static_cast, struct, switch, template, this, thread_local, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq

Basic data type names.

To "tell" what type of variable we want to use, we need to know the basic names of those types. There are many more of them than you can see below, but for starters, these are enough. You will get to know more as your experience grows.

> int - integer type (integers),
> double - double-precision type (floating point numbers),
> char - character type (single characters),
> bool - boolean type (true / false)

We will not use the latter very often, but it is worth knowing about the existence of such a type. At some point you will start using this type of data when you find it useful.

Detailed information on data types.

The name of the variable The type of the variable Size Range
int integer 4 bytes -2(31) - 2(31)
char sign 8 bytes -128 - 127
float floating point 4 bytes 6 - 7 digits after the decimal point
double floating point 8 bajtów 15 - 16 digits after the decimal point
bool logical 1 bit 0 or 1

Constant data types.

It is possible to create places in the computer memory for saving data in the form of variables. That is what they are called, because it is written in them, by definition it is and will be changeable. It is also possible to save the values of constants - invariable. To make a given variable type a constant value, it is enough to add the word const before the declaration. Example:

const float pz = 9.80665; - is the value of the acceleration due to gravity,
const float VAT = 0.23 - stores the amount of VAT,
const float tmin = −273.15 - holds the value of absolute zero in degrees Celsius,
const int Tmin = 0 - holds the value of absolute zero in Kelvin,

Create multiple variables of the same type.

In computer programs you usually create many variables. This can be done in two ways.
The first is very intuitive, natural:

float v1;
float v2;
float v3;

The same task can be accomplished faster. If you create several variables of the same type, you can write it like this:

float v1, v2, v3;

Single character storage.

To create a variable that stores any single character from the keyboard, we use the chartype :

char lowercase = 'r';
char capital_letter = 'R';

Character strings - STRING library.

To store one or more words in a variable, use the STRING library. To do so, we add additional information in the header part:
include<string>

Only after this operation is available the command to create a "string variable":
string name;

It is worth at this moment to mention another way of loading data from the keyboard. Already well known cin >> name we'll replace it with a new one: getline(cin, name)
This way you can save words separated by spaces in a variable. You can try to write your first and surname separated by spaces using both methods, and then display the effect of the code.

In addition to the new method of retrieving information from the keyboard, the string class provides a lot of features such as:
name.size() - returns the length of the variable name including spaces.
name.empty() - Returns true if the name variable is empty,
name.clear() - removes the contents of the variable name, name.swap(x) - changes the content of the variable x on what is in the variable name name.find(" ",0) - finds the first space in the string and indicates on which character it is located...

There are many more methods for the string class. You can look them up yourself on the Internet.