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.