Zmienne, typy zmiennych, komentarze, instrukcje wejścia/wyjścia
Zmienna to niejako "szufladka" w pamięci, w której przechowujemy dane określonego typu. Na przykład liczbę całkowitą, rzeczywistą, napis (łańcuch), lub wartość logiczną. Zmienną w C++ definiujemy używając następującego schematu: typ_zmiennej nazwa;
Na przykład możemy zapisać coś takiego: int liczba;
Taki zapis to informacja dla kompilatora: zarezerwuj w pamięci miejsce o nazwie "liczba", gdzie będzie przechowywana liczba całkowita. Od tego momentu wszędzie gdzie kompilator napotka słowo "liczba", będzie w domyśle pracował na tym obszarze pamięci. Poznajmy teraz typy zmiennych wbudowane w C++.
int
4 bajty, zakres: -2147483648 .. 2147483647unsigned int
4 bajty, zakres: 0 .. 4294967295long
4 bajty, zakres: -2147483648 .. 2147483647unsigned long
4 bajty, zakres: 0 .. 4294967295long long
8 bajtów, zakres: -9223372036854775808 .. 9223372036854775807unsigned long long
8 bajtów, zakres:0 .. 18446744073709551615 float
4 bajty, zakres: 3.4e +/- 38double
8 bajtów, zakres: 1.7e +/- 308long double
8 bajtów, zakres: 1.7e +/- 308bool
1 bajt, true / falsechar
1 bajt, zakres: -128 .. 127unsigned char
1 bajt, zakres: 0 .. 255short
2 bajty, zakres: -32768 .. 32767unsigned short
2 bajty, zakres: 0 .. 65535Zapis naukowy liczb
A cóż to za dziwny, matematyczny zapis wielkich liczb znalazł się na liście powyżej? Mowa o zapisie z użyciem litery
e
? Otóż jest to tzw. zapis naukowy, w któryme
oznacza exponent, czyli wykładnik. I stąde+
oznacza przesunięcie przecinka o zadaną liczbę miejsc w prawo... zaśe-
oznacza przesunięcie go o zadaną liczbę miejsc w lewo. I tak na przykład2.3e+2
to inaczej liczba230
, zaś2.3e-3
to inaczej0.0023
. Proste, prawda?Słowo kluczowe unsigned
Przy niektórych typach zmiennych zauważamy także obecność słowa kluczowego
unsigned
co oznacza z angielskiego "bez znaku". W praktyce chodzi o to, iż całą dostępną pamięć (wyrażoną w bajtach) przeznaczamy na zapis liczby dodatniej. Weźmy na przykład zmienną typuchar
, zajmującą w pamięci komputera 1 bajt, czyli osiem bitów. Na ośmiu bitach możemy zapisać maksymalnie 256 liczb (od 0 do 255). Standardowo jednak cały zakres dzielimy na pół, aby móc obsłużyć liczby ujemne - i stąd ostateczny zakres typuchar
to -128..127 (na końcu jest 127, a nie 128 gdyż jeden slot zużyliśmy dla wartości zero). Dopisanie słowa kluczowegounsigned
powoduje porzucenie wartości ujemnych, po to aby cały zakres 1 bajta można było przeznaczyć na wartości 0..255.Zasięg (widoczność) zmiennych
W naszych pierwszych aplikacjach, tworzyć będziemy każdą zmienną jako tzw. zmienną globalną, to znaczy widzianą w całym programie. Zatem deklaracje zmiennych umieszczać będziemy pomiędzy
using namespace std;
a rozpoczęciem funkcji głównejint main()
. Gdyby zmienną zapisać wewnątrz klamer jakiejś funkcji, to byłaby widoczna tylko pomiędzy tymi klamrami (tzw. zmienna lokalna). Póki co nie musisz sobie jeszcze zawracać głowy zasięgami widoczności zmiennych - bardzo wiele na ten temat zostanie powiedziane przy okazji tworzenia tzw. własnych funkcji. To wtedy zasięgi zmiennych rzeczywiście mają zastosowanie - nasze pierwsze programy posiadać będą tylko jedną funkcję głównąint main()
- miejsce deklaracji nie jest wówczas bardzo istotne.#include <iostream>
using namespace std;
int liczba; //tutaj wstawimy zmienne globalne
string imie; //uzywane w pierwszych programach
int main()
{
cout << "Hello world!" << endl;
return 0;
}W liniach z definicjami zmiennych użyto także na końcu tzw. komentarza – jest to tekst poprzedzony znakami:
//
. Komentarze są ignorowane przez kompilator – wstawiamy je tylko dla naszej informacji, aby wiedzieć co robi dana zmienna czy funkcja. Łatwiej wtedy wrócić do własnego kodu po upływie dłuższego czasu (własny kod szybko się zapomina - po pewnym czasie mamy autentyczne wrażenie, że napisał go ktoś inny). Edytor oznacza komentarze szarym kolorem, aby dodatkowo wizualnie podkreślić, iż nie biorą one udziału w wykonaniu programu.Nadawanie wartości zmiennej
Przypisanie początkowej wartości do zmiennej to inaczej tzw. inicjalizacja (inicjować znaczy "wzbudzać", "rozpoczynać", "czynić pełnowartościowym"). Zmiennej możemy nadawać wartość już na etapie tworzenia:
string imie="Jan";
int x = 67; // x to liczba cukierków
int y = 31; // y to liczba uczniowlub wewnątrz funkcji
main()
, lecz po wcześniejszym zadeklarowaniu jej typu w sposób już nam znany. Uwaga! Każda definicja zmiennej jest jednocześnie deklaracją (ale nie odwrotnie).#include <iostream>
using namespace std;
int liczba; //deklaracja
string imie="Robert"; //definicja
int main()
{
liczba = 42; //inicjalizacja (poprzedzona deklaracją)
return 0;
}Instrukcje wejścia/wyjścia
W zmiennych przechowujemy dane wprowadzane przez użytkownika. Aby wczytać do zmiennej wartość podaną z klawiatury, używamy instrukcji wejścia/wyjścia. Na przykład aby pobrać imię użytkownika:
#include <iostream>
using namespace std;
string imie;
int main()
{
cout << endl << "Podaj imie: ";
cin >> imie;
cout << "Podano imie:" << imie;
return 0;
}Analogicznie wczytujemy liczbę, wystarczy jedynie zmienić typ danych deklarowanej zmiennej na liczbowy.
Zobacz także
Daj się zaskoczyć! Poniżej wylosowałem dla Ciebie pięć wpisów z innych kategorii blogowych aniżeli ta, którą właśnie przeglądasz:
- Alan Watts o potrzebie kontroli i władzy | Przemyślenia, felietony
- 04. Przetwarzanie daty i czasu serwera | PHP (back-end)
- DevTalk - O nauce programowania z Mirosławem Zelentem | Wywiady, rozmowy
- 08. Idealne szyfrowanie nie istnie...?! XOR | Seria hakerska CTF
- Tworzenie tabel w HTML | HTML - Tworzenie stron
Polecamy: Sekurak Academy 2024
Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp do materiałów z edycji Sekurak Academy z roku 2023! Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat -30% na bilety w wersji "Standard" - warto korzystać! Więcej szczegółów znajdziecie tutaj.
Książka: Wprowadzenie do bezpieczeństwa IT
Niedawno wystartował dodruk świetnej, rozchwytywanej książki pt. "Wprowadzenie do bezpieczeństwa IT, Tom I" (około 940 stron). Mamy dla Was kod: pasja (wpisz go w koszyku), dzięki któremu otrzymacie 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla naszych Widzów! Jest to pierwszy tom serii o ITsec, który wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Proszę, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękuję!
Kategorie wpisów
- Programowanie w C++
- Odcinki video
- 00. Intro kursu. Instalacja CodeBlocks
- 01. Pierwszy program, pliki projektu
- 02. Instrukcja warunkowa if
- 03. Pętle: for, while, do..while
- 04. Liczby losowe (w praktyce pseudolosowe)
- 05. Tablice w języku C++
- 06. Instrukcja switch case. Menu główne
- 07. Pliki tekstowe. Zapis i odczyt z pliku
- 08. Łańcuchy. Typ string, tablice char, ASCII
- 09. Własne funkcje. Podejście proceduralne
- 10. Wskaźniki. Dynamiczne alokowanie pamięci
- 11. Znajdowanie największej liczby z trzech podanych
- 12. Polski SPOJ. Zadanie próbne
- 13. Rekurencja (rekursja)
- 14. Sortowanie. Złożoność algorytmów
- 15. Polskie znaki w konsoli: Windows, Linux, MacOS
- 16. Struktury danych: stos, kolejka, lista, drzewo binarne
- 17. Funkcje matematyczne w C++
- Artykuły
- Losowanie bez powtórzeń w PHP i C++. Gra Milionerzy
- Podstawowe pojęcia, pierwszy kod C++
- Zmienne, typy zmiennych, komentarze, instrukcje wejścia/wyjścia
- Instrukcja warunkowa if
- Operatory w C++
- Rodzaje pętli w C++
- Community Quiz - gra tekstowa w konsoli
- Testy
- Sprawdzian ze struktur danych (stos, kolejka, lista, drzewo binarne)
- Podejście obiektowe
- HTML - Tworzenie stron
- CSS - Arkusze stylów
- JavaScript (front-end)
- PHP (back-end)
- Bazy danych MySQL
- Kurs Bootstrapa
- Seria hakerska CTF
- Informatyka ogólna
- Nauka, matematyka, logika
- Shorty: Krótkie tutoriale
- Kurs Linuxa
- Wojownik - Poeta
- Wyprawa do wnętrza ego
- Przemyślenia, felietony
- Filozofia Mr. Robot
- Technikalia, YouTube
- Q&A - Pytania Widzów
- Wywiady, rozmowy
- Warsztat kodera
- Użyteczny Python
- Gra w szachy
- Zapisy live
Oto polecana książka warta Waszej uwagi.
Pełna lista polecanych książek jest tutaj.WIELKANOCNY KIERMASZ 2024! W dniach od 26.03.2024 do 01.04.2024 trwa w Helionie duża świąteczna promocja. Przeceniono tysiące książek, ebooków i kursów video, a rabaty sięgają do -98%. Zobacz promocję w: helion.pl (książki techniczne), ebookpoint.pl (książki rozwojowe i fabularne), videopoint.pl (kursy video).
Komentarze