DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu

1. Wstęp

Programowanie potrzebuje nowych, uniwersalnych modeli algorytmicznych, a sprzęt implementuje algorytmy nie tylko w innej postaci, ale także w oparciu o inny model algorytmiczny - automatyczny. Zapożyczanie technologii z dziedziny rozwoju sprzętu jest kluczową ideą programowania automatów. Jednak synteza urządzeń cyfrowych różni się od programowania. Jednak pożyczając model z jednej strony nie jest pożądane, aby go znacząco zmieniać, az drugiej nie można pominąć już istniejącej teorii i praktyki programowania.

Następnie rozważymy technologię SWITCH do projektowania programów opartych na automatach, w których cały czas można spotkać takie procesy. Z jednej strony zmienił model automatu stanowego w taki sposób, że faktycznie wyniósł go poza zakres teorii automatów. Z drugiej strony wprowadza do programowania koncepcje, które są trudne do zrozumienia przez programistów, a czasami są po prostu zbędne. istnieją bardziej znane analogi z teorii programów i praktyki programowania.

Jako podstawę do omówienia problemów programowania automatów, bierzemy pod uwagę niedawny wykład A.A. Shalyto i jego "programistyczne" artykuły na temat definicji paradygmatu automatycznego programowania.

Język programowania C ++

Ostatnia aktualizacja: 28.08.2017

Język programowania C ++ to wysokopoziomowy, statycznie typowany, skompilowany język programowania ogólnego przeznaczenia, odpowiedni do tworzenia szerokiej gamy aplikacji. Obecnie C ++ jest jednym z najpopularniejszych i najbardziej rozpowszechnionych języków.

Ma swoje korzenie w języku C, który został opracowany w latach 1969-1973 w Bell Labs przez programistę Dennisa Ritchiego. We wczesnych latach osiemdziesiątych duński programista Bjarne Stroustrup, który wówczas pracował w Bell Labs, opracował C ++ jako rozszerzenie języka C. W rzeczywistości na początku C ++ po prostu uzupełniał język C o pewne możliwości programowania obiektowego. I tak sam Stroustrup początkowo nazwał to „C z klasami”.

Następnie nowy język zaczął zdobywać popularność. Dodano do niego nowe funkcje, dzięki czemu stał się nie tylko dodatkiem do C, ale całkowicie nowym językiem programowania. W rezultacie nazwa „C z klasami” została zmieniona na C ++. Od tego czasu oba języki zaczęły się rozwijać niezależnie od siebie.

C ++ to potężny język, dziedziczący bogate możliwości pamięci po C. Dlatego C ++ często znajduje zastosowanie w programowaniu systemów, w szczególności przy tworzeniu systemów operacyjnych, sterowników, różnych narzędzi, antywirusów itp. Nawiasem mówiąc, Windows jest głównie napisany w C ++. Ale użycie tego języka nie ogranicza się tylko do programowania systemu. C ++ może być używany w programach na dowolnym poziomie, w których ważna jest szybkość i wydajność. Jest często używany do tworzenia aplikacji graficznych i różnych programów użytkowych. Jest również szczególnie często używany do tworzenia gier o bogatej, bogatej wizualizacji. Ponadto ostatnio nabiera tempa kierunek mobilny, w którym C ++ znalazł również swoje zastosowanie. Nawet w programowaniu stron internetowych możliwe jest również użycie C ++ do tworzenia aplikacji internetowych lub pewnego rodzaju usług pomocniczych, które obsługują aplikacje internetowe. Ogólnie rzecz biorąc, C ++ jest szeroko używanym językiem, w którym można tworzyć prawie każdy rodzaj programu.

C ++ jest językiem kompilowanym, co oznacza, że \u200b\u200bkompilator tłumaczy kod źródłowy C ++ na plik wykonywalny zawierający zestaw instrukcji maszynowych. Ale różne platformy mają swoje własne cechy, więc skompilowanych programów nie można po prostu przenieść z jednej platformy na drugą i tam uruchomić. Jednak na poziomie kodu źródłowego programy C ++ są w większości przenośne, chyba że używasz niektórych funkcji specyficznych dla bieżącego systemu operacyjnego. Obecność kompilatorów, bibliotek i narzędzi programistycznych dla prawie wszystkich popularnych platform pozwala na kompilowanie tego samego kodu źródłowego w języku C ++ do aplikacji na te platformy.

W przeciwieństwie do C, C ++ umożliwia pisanie aplikacji w stylu zorientowanym obiektowo, reprezentując program jako zbiór oddziałujących ze sobą klas i obiektów. Ułatwia to tworzenie dużych aplikacji.

Główne etapy rozwoju

W latach 1979-80 Bjarne Stroustrup opracował rozszerzenie języka C - „C z klasami”. W 1983 roku zmieniono nazwę języka na C ++.

W 1985 roku ukazała się pierwsza komercyjna wersja języka C ++, a także pierwsze wydanie książki „Język programowania C ++”, które stanowiło pierwszy opis tego języka w przypadku braku oficjalnego standardu.

W 1989 roku została wydana nowa wersja języka C ++ 2.0, która zawierała szereg nowych funkcji. Następnie język rozwijał się stosunkowo wolno, aż do 2011 roku. Ale w tym samym czasie, w 1998 roku, pierwsza próba standaryzacji języka została podjęta przez ISO (International Organization for Standartization). Pierwsza norma została nazwana ISO / IEC 14882: 1998 lub w skrócie C ++ 98. Później w 2003 roku opublikowano nową wersję standardu C ++ 03.

W 2011 roku ukazał się nowy standard C ++ 11, który zawierał wiele dodatków i wzbogacił język C ++ o dużą liczbę nowych funkcjonalności. Następnie w 2014 roku ukazał się niewielki dodatek do standardu, znany również jako C ++ 14. Kolejna kluczowa wersja języka jest przewidziana na 2017 rok.

Kompilatory i środowiska programistyczne

Do tworzenia programów w C ++ potrzebny jest kompilator - tłumaczy on kod źródłowy C ++ na plik wykonywalny, który można następnie uruchomić. Ale w tej chwili istnieje wiele różnych kompilatorów. Mogą się różnić w różnych aspektach, w szczególności we wdrażaniu norm. Podstawową listę kompilatorów C ++ można znaleźć w Wikipedii. Zaleca się, aby do programowania wybierać te kompilatory, które opracowują i wdrażają wszystkie najnowsze standardy. Dlatego w całym tym samouczku przede wszystkim będzie używany darmowy kompilator g ++ opracowany przez Projekt GNU.

Możesz także używać IDE, takich jak Visual Studio, Netbeans, Eclipse, Qt itp. Do tworzenia programów.

Biblioteka standardowa C / C ++ zawiera szereg funkcji do odczytu i zapisu na konsoli (klawiatura i monitor). Te funkcje odczytują i zapisują dane jako prosty strumień znaków.

Pojęcie strumień (strumień) używane w programowaniu jest ściśle związane z potocznym, codziennym rozumieniem tego słowa. Przepływ wejściowy można porównać do rury, przez którą woda (informacja) wpływa do basenu (pamięć komputera), przepływ wyjściowy jest jak rura, przez którą woda opuszcza basen. Ważną cechą tego potoku jest to, że dane mogą przesuwać się tylko w jednym kierunku naraz. Nawet jeśli ta sama rura jest używana jako wlot i wylot, nie może się to zdarzyć w tym samym czasie: aby zmienić kierunek przepływu, należy go zatrzymać, należy podjąć pewne działania i dopiero wtedy przepływ musi być skierowany w przeciwnym kierunku. Inną cechą przepływu jest to, że prawie nigdy nie wysycha. Czasami wysycha, ale ten okres nie może być długi, jeśli system działa normalnie.

Standardowa funkcja wyjściowa printf ()

Funkcja printf () jest standardową funkcją wyjściową. Za pomocą tej funkcji możesz wyświetlić ciąg znaków, liczbę, wartość zmiennej ...

Funkcja printf () ma prototyp w pliku stdio.h
int printf (char * control string, ...);

Jeśli się powiedzie, funkcja printf () zwraca liczbę wydrukowanych znaków.

Ciąg kontrolny zawiera dwa typy informacji: znaki, które są drukowane bezpośrednio na ekranie, oraz specyfikatory formatu, które określają sposób wyświetlania argumentów.

Funkcja printf () jest sformatowaną funkcją wyjściową. Oznacza to, że w parametrach funkcji należy określić format danych, które zostaną wyprowadzone. Format danych jest wskazywany przez specyfikatory formatu. Specyfikator formatu zaczyna się od znaku%, po którym następuje kod formatu.

Specyfikatory formatu:

%z symbol
% d liczba całkowita dziesiętna
% ja liczba całkowita dziesiętna
% e liczba dziesiętna w postaci x.xx e + xx
% E liczba dziesiętna w postaci x.xx E + xx
% f
% F dziesiętne zmiennoprzecinkowe xx.xxxx
% g % f lub% e, w zależności od tego, co jest krótsze
% G % F lub% E, w zależności od tego, która z tych wartości jest krótsza
% o liczba ósemkowa
% s łańcuch znaków
% u liczba dziesiętna bez znaku
% x liczba szesnastkowa
% X liczba szesnastkowa
%% % postać
% p wskaźnik
% n wskaźnik

Ponadto do poleceń formatowania można zastosować modyfikatory l i h.

% ld długi int print
% hu krótki wydruk bez znaku
% Lf długi podwójny nadruk

W specyfikatorze formatu po znaku% można określić dokładność (liczbę cyfr po przecinku). Dokładność jest ustawiana w następujący sposób:% .n<код формата>... Gdzie n to liczba cyfr po przecinku, a<код формата> - jeden z powyższych kodów.

Przykładowo, jeśli mamy zmienną x \u003d 10,3563 typu float i chcemy wyświetlić jej wartość z dokładnością do 3 cyfr po przecinku, to powinniśmy napisać:

printf ("Zmienna x \u003d% .3f", x);

Wynik:
Zmienna x \u003d 10,356

Możesz również określić minimalny margines do drukowania. Jeśli linia lub liczba jest większa niż określona szerokość pola, drukowana jest cała linia lub liczba.

Na przykład, jeśli napiszesz:

printf ("% 5d", 20);

wynik będzie następujący:
20

Zwróć uwagę, że liczba 20 nie została wydrukowana od samego początku wiersza. Jeśli chcesz, aby nieużywane spacje pola były wypełnione zerami, musisz umieścić znak 0 przed szerokością pola.

Na przykład:

printf („% 05d”, 20);

Wynik:
00020

Oprócz specyfikatorów formatu danych, ciąg kontrolny może zawierać znaki kontrolne:

\\ b BS, dolny otwór
\\ f Nowa strona, tłumaczenie strony
\\ n Nowa linia, nowy wiersz
\\ r Powrót karetki
\\ t Zakładka pozioma
\\ v Zakładka pionowa
\" Cudzysłów
\" Apostrof
\\ Ukośnik wsteczny
\0 Znak pusty, bajt zerowy
\\ a Sygnał
\\ N Stała ósemkowa
\\ xN Stała szesnastkowa
\? Znak zapytania

Najczęściej będziesz używać znaku \\ n. Za pomocą tego znaku kontrolnego możesz przejść do nowej linii. Spójrz na przykładowe programy, a wszystko zrozumiesz.

Przykłady programów.

/ * Przykład 1 * /
#zawierać

void main (void)
{
int a, b, c; // Deklarowanie zmiennych a, b, c
a \u003d 5;
b \u003d 6;
c \u003d 9;
printf ("a \u003d% d, b \u003d% d, c \u003d% d", a, b, c);
}

Wynik programu:
a \u003d 5, b \u003d 6, c \u003d 9

/ * Przykład 2 * /
#zawierać

void main (void)
{
float x, y, z;

X \u003d 10,5;
y \u003d 130,67;
z \u003d 54;

Printf ("Współrzędne obiektu: x:%. 2f, y:%. 2f, z:%. 2f", x, y, z);
}

Wynik programu:
Współrzędne obiektu: x: 10,50, y: 130,67, z: 54,00

/ * Przykład 3 * /
#zawierać

void main ()
{
int x;

X \u003d 5;
printf ("x \u003d% d", x * 2);
}

Wynik programu:
x \u003d 10

/ * Przykład 4 * /
#zawierać

void main (void)
{
printf ("\\" Tekst w cudzysłowie \\ "");
printf ("\\ nZawartość tlenu: 100 %%");
}

Wynik programu:
„Tekst w cudzysłowie”
Zawartość tlenu: 100%

/ * Przykład 5 * /
#zawierać

void main (void)
{
int a;

A \u003d 11; // 11 dziesiętnych równa się b szesnastkowo
printf ("a-dec \u003d% d, a-hex \u003d% X", a, a);
}

Wynik programu:
a-dec \u003d 11, a-hex \u003d b

/ * Przykład 6 * /
#zawierać

void main (void)
{
char ch1, ch2, ch3;

Ch1 \u003d „A”;
ch2 \u003d „B”;
ch3 \u003d „C”;

Printf („% c% c% c”, kanał1, kanał2, kanał3);
}

Wynik programu:
ABC

/ * Przykład 7 * /
#zawierać

void main (void)
{
char * str \u003d "Mój ciąg.";

Printf ("To jest% s", str);
}

Wynik programu:
To jest moja linia.

/ * Przykład 8 * /
#zawierać

void main (void)
{
printf ("Cześć! \\ n"); // Po wydrukowaniu pojawi się nowa linia - \\ n
printf ("Nazywam się Paweł."); // To zostanie wydrukowane w nowej linii
}

Wynik programu:
Witaj!
Mam na imię Paweł.

Funkcja standardowego wejścia Scanf ()

Funkcja scanf () jest sformatowaną funkcją wejściową. Dzięki niemu możesz wprowadzać dane ze standardowego urządzenia wejściowego (klawiatury). Dane wejściowe mogą być liczbami całkowitymi, liczbami zmiennoprzecinkowymi, znakami, łańcuchami i wskaźnikami.

Funkcja scanf () ma następujący prototyp w pliku stdio.h:
int scanf (char * łańcuch kontrolny);

Funkcja zwraca liczbę zmiennych, którym przypisano wartość.

Ciąg kontrolny zawiera trzy rodzaje znaków: specyfikatory formatu, spacje i inne znaki. Specyfikatory formatu zaczynają się od znaku%.

Specyfikatory formatu:

Podczas wprowadzania ciągu za pomocą funkcji scanf () (specyfikator formatu% s), ciąg jest wprowadzany przed pierwszą spacją !! te. jeśli wpiszesz wiersz „Hello world!” za pomocą funkcji scanf ()


scanf ("% s", str);

następnie po wprowadzeniu danych wynikowy ciąg, który zostanie zapisany w tablicy str, będzie składał się z jednego słowa „Hello”. FUNKCJA WSTAWI LINIĘ PRZED PIERWSZYM MIEJSCEM! Jeśli chcesz wprowadzić linie ze spacjami, użyj funkcji

char * pobiera (char * buf);

Za pomocą funkcji gets () można wprowadzać całe ciągi. Funkcja gets () odczytuje znaki z klawiatury, aż pojawi się znak nowego wiersza (\\ n). Sam znak nowej linii pojawia się po naciśnięciu klawisza Enter. Funkcja zwraca wskaźnik do bufora buf. buf jest buforem (pamięcią) dla ciągu wejściowego.

Chociaż metoda get () wykracza poza zakres tego artykułu, napiszmy przykładowy program, który pozwoli ci wprowadzić cały wiersz z klawiatury i wyświetlić go na ekranie.

#zawierać

void main (void)
{
bufor char; // tablica (bufor) dla ciągu wejściowego

Pobiera (bufor); // wprowadź linię i naciśnij enter
printf ("% s", bufor); // wyświetl wpisaną linię na ekranie
}

Kolejna ważna uwaga! Aby wprowadzić dane za pomocą funkcji scanf (), należy przekazać adresy zmiennych jako parametry, a nie same zmienne. Aby uzyskać adres zmiennej, musisz umieścić znak & (ampersand) przed nazwą zmiennej. Znak & oznacza przyjęcie adresu.

Co to znaczy adres? Spróbuję wyjaśnić. W programie mamy zmienną. Zmienna przechowuje swoją wartość w pamięci komputera. Zatem adres, który otrzymujemy za pomocą & jest adresem w pamięci komputera, w którym przechowywana jest wartość zmiennej.

Rzućmy okiem na przykładowy program, który pokazuje nam, jak używać &

#zawierać

void main (void)
{
int x;

Printf ("Wprowadź zmienną x:");
scanf ("% d", & x);
printf ("Zmienna x \u003d% d", x);
}

Wróćmy teraz do linii sterującej scanf (). Jeszcze raz:

int scanf (char * łańcuch kontrolny);

Znak spacji w wierszu sterującym instruuje, aby pominąć jedną lub więcej spacji w strumieniu wejściowym. Oprócz spacji można dostrzec tabulację lub znak nowej linii. Znak różny od zera wskazuje na przeczytanie i odrzucenie tego znaku.

Separatory między dwiema wprowadzonymi liczbami to spacja, tabulacja lub nowa linia. Znak * po% i przed kodem formatu (specyfikatorem formatu) instruuje, aby odczytać dane określonego typu, ale nie przypisywać tej wartości.

Na przykład:

scanf ("% d% * c% d", & i, & j);

wpisanie 50 + 20 ustawi i na 50, j na 20, a + zostanie odczytane i zignorowane.

Polecenie format może określić największą szerokość pola do odczytania.

Na przykład:

scanf ("% 5s", str);

wskazuje, czy odczytać pierwsze 5 znaków ze strumienia wejściowego. Jeśli wpiszesz 1234567890ABC, tablica str będzie zawierała tylko 12345, pozostałe znaki zostaną zignorowane. Separatory: spacja, tabulator i znak nowej linii - po wpisaniu są traktowane jak wszystkie inne znaki.

Jeśli w ciągu kontrolnym zostaną znalezione jakiekolwiek inne znaki, mają one na celu zidentyfikowanie i pominięcie odpowiedniego znaku. Strumień 10 plus 20 znaków według operatora

scanf ("% dplus% d", & x, & y);

ustawi x na 10, y na 20 i pominie znaki plus, ponieważ pojawiają się w linii kontrolnej.

Jedną z potężnych funkcji funkcji scanf () jest możliwość określenia zestawu skanowania. Zestaw wyszukiwania definiuje zestaw znaków do porównania ze znakami odczytywanymi przez funkcję scanf (). Funkcja scanf () odczytuje znaki, o ile występują one w zbiorze wyszukiwania. Gdy tylko wprowadzony znak nie pojawi się w zestawie wyszukiwania, scanf () przechodzi do następnego specyfikatora formatu. Zestaw wyszukiwań określa lista znaków ujęta w nawiasy kwadratowe. Znak% jest umieszczony przed otwartym nawiasem. Spójrzmy na to na przykładzie.

#zawierać

void main (void)
{
char str1, str2;
scanf ("%% s", str1, str2);
printf ("\\ n% s \\ n% s", str1, str2);
}
Przedstawmy zestaw symboli:
12345abcdefg456

Na ekranie program wyświetli:
12345
abcdefg456

Podczas określania zestawu wyszukiwań można również użyć znaku łącznika, aby określić odstępy, a także maksymalną szerokość pola wejściowego.

scanf („% 10”, str1);

Możesz także zdefiniować znaki, których nie ma w zestawie wyszukiwania. Pierwszy z tych znaków jest poprzedzony znakiem ^. Zestaw znaków rozróżnia małe i duże litery.

Przypomnę, że korzystając z funkcji scanf () musisz przekazać jej adresy zmiennych jako parametry. Powyższy kod został napisany:

char str; // tablica 80 znaków
scanf ("% s", str);

Zauważ, że str nie jest poprzedzony znakiem &. Dzieje się tak, ponieważ str jest tablicą, a nazwa tablicy, str, jest wskaźnikiem do pierwszego elementu tablicy. Dlatego znak & nie jest używany. Już przekazujemy adres do scanf (). Mówiąc najprościej, str to adres w pamięci komputera, pod którym będzie przechowywana wartość pierwszego elementu tablicy.

Przykłady programów.

Przykład 1.
Ten program wyświetla pytanie „Ile masz lat?:” I czeka na wprowadzenie danych. Jeśli na przykład wpiszesz liczbę 20, program wyświetli napis „Masz 20 lat”. Podczas wywoływania funkcji scanf () umieszczamy znak & przed zmienną age, ponieważ funkcja scanf () potrzebuje adresów zmiennych. Funkcja scanf () zapisze wprowadzoną wartość na podany adres. W naszym przypadku wpisana wartość 20 zostanie zapisana na adres zmiennej wiek.

/ * Przykład 1 * /

#zawierać

void main (void)
{
int wiek;

Printf ("\\ nIle masz lat?:");
scanf ("% d", & wiek);
printf ("Masz% d lat.", wiek);
}

Przykład 2.
Program kalkulatora. Ten kalkulator może tylko dodawać liczby. Po wpisaniu 100 + 34 program da wynik: 100 + 34 \u003d 134.

/ * Przykład 2 * /

#zawierać

void main (void)
{
int x, y;

Printf ("\\ nCalculator:");
scanf ("% d +% d", & x, & y);
printf ("\\ n% d +% d \u003d% d", x, y, x + y);
}

Przykład 3.
Ten przykład pokazuje, jak ustawić szerokość odczytu. W naszym przykładzie szerokość pola wynosi pięć znaków. Jeśli wprowadzisz ciąg z dużą liczbą znaków, wszystkie znaki po piątej zostaną odrzucone. Zwróć uwagę na wywołanie scanf (). Znak & nie poprzedza nazwy nazwy tablicy, ponieważ nazwa tablicy jest adresem pierwszego elementu tablicy.

/ * Przykład 3 * /

#zawierać

void main (void)
{
imię postaci;

Printf ("\\ nWprowadź swoją nazwę użytkownika (nie więcej niż 5 znaków):");
scanf ("% 5s", nazwa);
printf ("\\ nWpisałeś% s", nazwa);
}

Przykład 4.
Ostatni przykład w tym artykule pokazuje, jak można używać wielu wyszukiwań. Po uruchomieniu programu wprowadź liczbę od 2 do 5.

/ * Przykład 4 * /

#zawierać

void main (void)
{
char bal;

Printf ("Twoja ocena to 2,3,4,5:");
scanf ("%", & bal);
printf ("\\ nOcena% c", bal);
}

Te samouczki są dla każdego, bez względu na to, czy jesteś nowy w programowaniu, czy masz duże doświadczenie w programowaniu w innych językach! Ten materiał jest przeznaczony dla tych, którzy chcą nauczyć się języków C / C ++ od samych podstaw do najbardziej złożonych struktur.

C ++ to język programowania, znajomość tego języka programowania pozwoli Ci sterować komputerem na najwyższym poziomie. Idealnie byłoby, gdyby komputer robił, co chcesz. Nasza strona pomoże Ci opanować język programowania C ++.

Instalacja / IDE

Pierwszą rzeczą, którą powinieneś zrobić przed rozpoczęciem nauki C ++, jest upewnienie się, że masz IDE - zintegrowane środowisko programistyczne (program, w którym będziesz programować). Jeśli nie masz IDE, to jest miejsce dla Ciebie. Kiedy już zdecydujesz się na IDE, zainstaluj je i przećwicz tworzenie prostych projektów.

Wprowadzenie do języka C ++

Język C ++ to zestaw poleceń, które mówią komputerowi, co ma robić. Ten zestaw poleceń jest zwykle nazywany kodem źródłowym lub po prostu kodem. Polecenia to „funkcje” lub „słowa kluczowe”. Słowa kluczowe (słowa zastrzeżone C / C ++) to podstawowe elementy składowe języka. Funkcje są złożonymi blokami budulcowymi, ponieważ są napisane w kategoriach prostszych funkcji - zobaczysz to w naszym pierwszym programie pokazanym poniżej. Taka struktura funkcji przypomina treść książki. Spis treści może pokazywać rozdziały książki, każdy rozdział w książce może mieć własny spis treści, składający się z akapitów, każdy akapit może mieć własne podpunkty. Chociaż C ++ udostępnia wiele typowych funkcji i zarezerwowanych słów, których możesz używać, nadal istnieje potrzeba pisania własnych funkcji.

Gdzie zaczyna się program? Każdy program w C ++ ma jedną funkcję, nazywany jest funkcją główną lub główną, wykonywanie programu rozpoczyna się od tej funkcji. Z funkcji głównej można również wywołać dowolne inne funkcje, nie ma znaczenia, czy są one napisane przez nas, czy, jak wspomniano wcześniej, są dostarczane przez kompilator.

Jak więc uzyskać dostęp do tych standardowych funkcji? Aby uzyskać dostęp do standardowych funkcji, które są dostarczane z kompilatorem, musisz dołączyć plik nagłówkowy za pomocą dyrektywy preprocessing - #include. Dlaczego jest skuteczny? Spójrzmy na przykład działającego programu:

#zawierać << "Моя первая программа на С++\n"; cin.get(); }

Rozważmy szczegółowo elementy programu. #include to dyrektywa preprocesora, która mówi kompilatorowi, aby umieścił kod z pliku nagłówkowego iostream w naszym programie przed utworzeniem pliku wykonywalnego. Podłączając plik nagłówkowy do programu, uzyskujesz dostęp do wielu różnych funkcji, których możesz używać w swoim programie. Na przykład operator cout wymaga iostream. Linia wykorzystująca namespace std; informuje kompilator, aby użył grupy funkcji, które są częścią standardowej biblioteki std. Ta linia umożliwia również programowi użycie instrukcji, takich jak cout. Średnik jest częścią składni C ++. Mówi kompilatorowi, że to koniec polecenia. Zobaczysz później, że do uzupełnienia większości poleceń w C ++ używa się średników.

Następną ważną linią programu jest int main (). Ten wiersz informuje kompilator, że istnieje funkcja o nazwie main i funkcja zwraca int. Nawiasy klamrowe (i) sygnalizują początek (i koniec) funkcji. Nawiasy klamrowe są używane w innych blokach kodu, ale zawsze oznaczają to samo - odpowiednio początek i koniec bloku.

W C ++ obiekt cout jest używany do wyświetlania tekstu (wymawiane jako „C out”). Używa symboli<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

Następnym poleceniem jest cin.get (). Jest to kolejne wywołanie funkcji, które odczytuje dane ze strumienia danych wejściowych i czeka na naciśnięcie klawisza ENTER. To polecenie zapobiega zamknięciu okna konsoli do momentu naciśnięcia klawisza ENTER. Daje to czas na obejrzenie wyników programu.

Po osiągnięciu końca funkcji głównej (zamykającego nawiasu klamrowego) nasz program zwróci 0 dla systemu operacyjnego. Ta wartość zwracana jest ważna, ponieważ analizując ją, system operacyjny może ocenić, czy nasz program zakończył się pomyślnie, czy nie. Wartość zwracana 0 oznacza sukces i jest zwracana automatycznie (ale tylko dla typu danych int, inne funkcje wymagają zwrotu ręcznego), ale gdybyśmy chcieli zwrócić coś innego, na przykład 1, musielibyśmy to zrobić ręcznie.

#zawierać using namespace std; int main () (cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

Aby skonsolidować materiał, wpisz kod programu w swoim IDE i uruchom go. Po uruchomieniu programu i zobaczeniu wyniku, poeksperymentuj trochę z instrukcją cout. To pomoże ci przyzwyczaić się do języka.

Pamiętaj, aby komentować swoje programy!

Dodaj komentarze do kodu, aby był bardziej przejrzysty nie tylko dla Ciebie, ale także dla innych. Kompilator ignoruje komentarze podczas wykonywania kodu, co pozwala na użycie dowolnej liczby komentarzy do opisu rzeczywistego kodu. Aby utworzyć komentarz, użyj //, co mówi kompilatorowi, że reszta linii jest komentarzem, lub / *, a następnie * /. Kiedy nauczysz się programować, warto mieć możliwość komentowania pewnych sekcji kodu, aby zobaczyć, jak zmienia się wynik działania programu. Możesz przeczytać więcej o technice komentowania.

Co zrobić z tymi wszystkimi typami zmiennych?

Czasami posiadanie wielu typów zmiennych może być mylące, gdy wydaje się, że niektóre typy zmiennych są zbędne. Bardzo ważne jest, aby używać właściwego typu zmiennej, ponieważ niektóre zmienne wymagają więcej pamięci niż inne. Ponadto, ze względu na sposób, w jaki są przechowywane w pamięci, liczby zmiennoprzecinkowe, typy danych zmiennoprzecinkowych i double są „nieprecyzyjne” i nie powinny być używane, gdy konieczne jest zapisanie dokładnej liczby całkowitej.

Deklarowanie zmiennych w C ++

Aby zadeklarować zmienną, użyj typu składni<имя>; ... Oto kilka przykładów deklaracji zmiennych:

Int num; postać char; float num_float;

Dozwolone jest zadeklarowanie kilku zmiennych tego samego typu w jednym wierszu, w tym celu każda z nich musi być oddzielona przecinkiem.

Int x, y, z, d;

Jeśli przyjrzałeś się uważnie, być może zauważyłeś, że po deklaracji zmiennej zawsze występuje średnik. Więcej o konwencji - „o nazewnictwie zmiennych”.

Typowe błędy podczas deklarowania zmiennych w C ++

Jeśli spróbujesz użyć zmiennej, której nie zadeklarowałeś, program nie będzie się kompilował i pojawi się komunikat o błędzie. W C ++ wszystkie słowa kluczowe języka, wszystkie funkcje i wszystkie zmienne uwzględniają wielkość liter.

Korzystanie ze zmiennych

Teraz wiesz, jak zadeklarować zmienną. Oto przykładowy program, który demonstruje użycie zmiennej:

#zawierać using namespace std; int main () (liczba int; cout<< "Введите число: "; cin >\u003e liczba; cin.ignore (); cout<< "Вы ввели: "<< number <<"\n"; cin.get(); }

Rzućmy okiem na ten program i zbadajmy jego kod, wiersz po wierszu. Słowo kluczowe int mówi, że liczba jest liczbą całkowitą. Funkcja cin \u003e\u003e wczytuje wartość do liczby, użytkownik musi nacisnąć Enter po wpisanej liczbie. cin.ignore () to funkcja odczytująca znak i ignorująca go. Zorganizowaliśmy nasze wejście do programu, po wpisaniu liczby wciskamy klawisz ENTER, który również jest przekazywany do strumienia wejściowego. Nie potrzebujemy tego, więc odrzucamy. Należy pamiętać, że zmienna została zadeklarowana jako typ całkowity, jeśli użytkownik spróbuje wpisać liczbę dziesiętną, zostanie ona obcięta (czyli część dziesiętna liczby zostanie zignorowana). Spróbuj wprowadzić liczbę dziesiętną lub sekwencję znaków, po uruchomieniu programu przykładowego odpowiedź będzie zależeć od wartości wejściowej.

Zwróć uwagę, że cudzysłowy nie są używane podczas drukowania ze zmiennej. Brak cudzysłowów mówi kompilatorowi, że istnieje zmienna i dlatego program powinien sprawdzić wartość zmiennej, aby zastąpić nazwę zmiennej jej wartością w czasie wykonywania. Wiele operatorów zmianowych w tym samym wierszu jest w porządku, a dane wyjściowe zostaną wykonane w tej samej kolejności. Musisz oddzielić literały łańcuchowe (ciągi znaków w cudzysłowach) i zmienne, nadając każdemu inny operator przesunięcia<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Zmiana i porównanie wartości

Oczywiście, niezależnie od używanego typu danych, zmienne są mało interesujące bez możliwości zmiany ich wartości. Poniżej przedstawiono niektóre operatory używane w połączeniu ze zmiennymi:

  • * mnożenie,
  • - odejmowanie,
  • + dodatek,
  • / podział,
  • \u003d cesja,
  • \u003d\u003d równość,
  • \u003e więcej,
  • < меньше.
  • ! \u003d nierówny
  • \u003e \u003d większe lub równe
  • <= меньше или равно

Operatory wykonujące funkcje matematyczne muszą być używane po prawej stronie znaku przypisania, aby przypisać wynik do zmiennej po lewej stronie.

Oto kilka przykładów:

A \u003d 4 * 6; // użyj komentarza do linii i średnika, a równa się 24 a \u003d a + 5; // równa sumie oryginalnej wartości i pięciu a \u003d\u003d 5 // pięć nie jest przypisanych, sprawdzane jest, czy jest to 5, czy nie

Często będziesz używać \u003d\u003d w konstrukcjach, takich jak warunkowe i pętle.

ZA< 5 // Проверка, a менее пяти? a > 5 // Sprawdź, czy a jest większe niż pięć? a \u003d\u003d 5 // Sprawdź, czy a wynosi pięć? a! \u003d 5 // Sprawdź, ale nie równa się pięciu? a\u003e \u003d 5 // Sprawdź, czy a jest większe lub równe pięć? za<= 5 // Проверка, a меньше или равно пяти?

Te przykłady nie są zbyt jasne, jeśli chodzi o użycie znaków porównania, ale kiedy zaczniemy studiować operatory selekcji, zrozumiesz, dlaczego jest to konieczne.

Poznanie podstaw i zawiłości języka programowania C ++. Podręcznik zawierający praktyczne zadania i testy. Chcesz nauczyć się programować? W takim razie jesteś we właściwym miejscu - oto bezpłatne szkolenie z programowania. Niezależnie od tego, czy masz doświadczenie, czy nie, te lekcje programowania pomogą Ci rozpocząć tworzenie, kompilowanie i debugowanie programów w języku C ++ w różnych środowiskach programistycznych: Visual Studio, Code :: Blocks, Xcode lub Eclipse.

Wiele przykładów i szczegółowych wyjaśnień. Idealny zarówno dla początkujących (manekinów), jak i bardziej zaawansowanych. Wszystko jest wyjaśnione od podstaw do najdrobniejszych szczegółów. Te lekcje (200+) dadzą ci dobrą podstawę / podstawy do zrozumienia programowania nie tylko w C ++, ale także w innych językach programowania. I to całkowicie za darmo!

Obejmuje również tworzenie gry krok po kroku w C ++, bibliotekę graficzną SFML i ponad 50 zadań, aby sprawdzić swoje umiejętności i wiedzę w C ++. Dodatkowym bonusem jest.

Za repost +20 karmy i dziękuję!

Rozdział # 0. Wprowadzenie. Rozpoczęcie pracy

Rozdział 1. Podstawy C ++

Rozdział 2. Zmienne i podstawowe typy danych w C ++

Rozdział 3. Operatory w C ++

Rozdział 4. Zakres i inne typy zmiennych w C ++

Rozdział 5. Kolejność wykonywania kodu w programie. Pętle, gałęzie w C ++

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu