560 likes | 979 Views
Programowanie C++. T: Zapoznanie z programem nauczania, wymaganiami, PSO i BHP. Programowanie C++. T: Przypomnienie informacji o budowie i właściwościach języka programowania. O programowaniu w C++. Programowanie w języku C++ generalnie sprowadza się do pisania tekstu.
E N D
Programowanie C++ T: Zapoznanie z programem nauczania, wymaganiami, PSO i BHP.
Programowanie C++ T: Przypomnienie informacji o budowie i właściwościach języka programowania.
O programowaniu w C++ • Programowanie w języku C++ generalnie sprowadza się do pisania tekstu. • Do tworzenia kodu możesz wykorzystywać wyspecjalizowane środowisko programistyczne albo zwykły notatnik tekstowy. • Edytor nie jest ważny przy tworzeniu aplikacji w C++ • Wyspecjalizowane środowisko programistyczne zapewnia nam komfort pracy z językiem C++ począwszy od podstawowych aspektów takich jak kolorowanie składni czy też automatyczne wcięcia w kodzie, a skończywszy na zaawansowanych mechanizmach do debugowania aplikacji.
Programowanie C++ T: Języki obiektowe.
Dostępne środowiska do programowania w C++ • Na przestrzeni ostatnich kilku lat mogę powiedzieć, że spotkałem się generalnie z pięcioma środowiskami programowania do C++. Są to: • Code::Blocks • Dev-C++ • wxDev-C++ • Borland C++ • Visual C++ • Wszystkie wyżej wymienione środowiska nadają się do C++.
Programowanie C++ T: Kompilator i edytor środowiska programistycznego języka C++.
Dev C++ • Środowisko Dev-C++ można całkiem legalnie i za darmo pobrać ze strony bloodshed.net . • Archiwum zajmuje jakieś ponad 20 MB, • Można pobrać wersję 32 i 64 bitową. Istnieje również wersja portable. • Myślę, że większość z Was poradzi sobie z instalacją i potrafi to zrobić bez żadnych problemów.
Tworzenie nowego projektu • Wybieramy z menu opcję: Plik [file] >> Nowy [new] Projekt [project] lub klikamy na odpowiednią ikonę na pasku narzędzi. • Pojawia się okienko dialogowe. Wybieramy rodzaj projektu: • Aplikacja Okienkowa [Windows Application] • Aplikacja konsolowa, [ConsoleApplication] • Biblioteka Statyczna [StaticLibary] • Biblioteka Dynamiczna [DLL] • Pusty Projekt [EmptyPreject] • W polu: Nazwa [name] wpisujemy nazwę projektu. Tutaj nie ma żadnych ograniczeń. Można wpisać co się chce. Na potwierdzenie klikamy na Ok. • Kolejne okienko z zapytaniem, gdzie zapisać plik projektu. Wybieramy miejsce docelowe i klik na Zapisz [Save]. • I tak oto został utworzony projekt.
Praca z projektem • Tworzenie nowego pliku - Wybieramy menu Projekt [project] >> Nowy plik [new file]. • Dodawanie pliku do projektu - Wybieramy menu Projekt [project] >> Dodaj do Projektu [Add to Project]. Oczywiście trzeba teraz jeszcze wybrać odpowiedni plik. • Usuwanie pliku z projektu - Wybieramy menu Projekt [project] >> Usuń z Projektu [Removefrom Project]. Wybieramy plik, który chcemy wyrzucić z projektu. • Otwieranie pliku z projektu - Wybieramy odpowiedni plik z okna projektu znajdującego się po lewej stronie. Jeżeli okno nie jest widoczne kliknij na menu Widok [View] >> Przeglądarka projektu/klas [Project/classBrowser].
Kompilacja i uruchamianie • Kompilacja - Wybieramy menu Uruchom [Run] >> Kompiluj [Compile]. Ctrl+F9 • Uruchomienie - Wybieramy menu Uruchom [Run] >> Uruchom [Run]. Ctrl+F10 • Kompilacja z uruchomieniem - Wybieramy menu Uruchom [Run] >> Kompiluj i uruchom [Compile and Run]. F9
Programowanie C++ T: Struktura programu w C++.
Główny szkielet • main() { • // treść programu • }
Zawartość funkcji main • Inicjalizacja • Ogólnie wszelkie czynności, które są niezbędne do rozpoczęcia właściwej pracy programu, np. utworzenie głównego interface'u programu, rezerwację potrzebnej pamięci, odczyt ustawień programu z pliku itd. • Pętla główna • Główna część programu, która wykonuje się tak długo, aż użytkownik zdecyduje o końcu programu. • Zwolnienie zasobów • Zwalniamy wszelkie przydzielone przez program zasoby. Czyli pozostawiamy porządek w pamięci po pracy naszego programu.
Podstawowe zasady • main() { … } • main() { • … • } • main() • { • … • }
Podstawowe zasady • main() { • instrukcja; • instrukcja; instrukcja; instrukcja; • instrukcja; • }
Komentarze • main() { • /*początek komentarza • koniec komenntarza*/ • instrukcja; // komentarz – tylko do końca linii • instrukcja; • //komentarz – tylko do końca linii • }
Programowanie C++ T: Słowa kluczowe.
Słowa kluczowe ANSI C • auto • break • case • char • const • continue • deafult • do • double • else • enum • extern • float • for • goto • if • int • long • register • return • short • signed • sizeof • static • struct • switch • typedef • union • unsigned • void • volatile • while
Słowa kluczowe C++ • asm - służy do umieszczania wstawek assemblerowych • auto - definiuje zmienną automatyczną, • break - umożliwia wyskok z pętli lub z bloku switch • case - umożliwia zdefiniowanie pozycji w bloku switch • catch - służy do określenia bloku do wyłapywania wyjątków, rzucanych instrukcją trow • char - służy do definiowania zmiennych znakowych, • class - służy do definiowania klas • const - umożliwia zdefiniowanie wartości stałej • continue - powoduje pominięcie aktualnego obiegu pętli i rozpoczęcie kolejnego • default - określa alternatywne instrukcje w bloku switch,
Słowa kluczowe C++ • delete - operator zwalniający pamięć przydzieloną dynamicznie operatorem new • do - rozpoczyna pętlę do-while, • double - typ zmiennych • else - instrukcja stosowana w bloku if • enum - umożliwia definicję typu wyliczeniowego • extern - służy do deklaracji zmiennych • float - słowo używane do definiowania zmiennych zmiennoprzecinkowych • for - rozpoczyna pętlę for • friend - służy do określenia zaprzyjaźnionych funkcji lub klas • goto - wykonuje bezwarunkowy skok
Słowa kluczowe C++ • if - rozpoczęcie bloku if • inline - umożliwia definicje funkcji inline • int - służy do definiowania zmiennych całkowitych • long - służy do definiowania zmiennych całkowitych, jw • new - operator dynamicznie przydzielający pamięć • operator - służy do tworzenia przeładowanych nazw operatorów • private - słowo używane w klasach, • protected - słowo używane w klasach, • public - słowo używane w klasach; • register - umożliwia zdefiniowanie zmiennych rejestrowych
Słowa kluczowe C++ • return - powoduje wyskok z funkcji i zwrócenie rezultatu • short - służy do definiowania zmiennych całkowitych • signed - modyfikator określający, że zmienna może przyjmować wartości ujemne, i dodatnie • sizeof - zwraca rozmiar dowolnego obiektu w bajtach • static - umożliwia zdefiniowanie obiektów statycznych • struct - służy do definiowania struktur • switch - tworzy blok instrukcji switch • template - służy do definiowania szablonów klas / funkcji • this - jest to wskaźnik używany wewnątrz funkcji składowych dowolnych klas, służący do identyfikacji obiektu, na którym aktualnie pracuje funkcja składowa • throw - rzuca wyjątek
Słowa kluczowe C++ • try - służy do zdefiniowanie bloku, z którego można rzucać wyjątki • typedef - instrukcja pozwalająca zastąpić długie wyrażenia krótkimi • union - służy do definiowania unii • unsigned - modyfikator określający, że zmienna może przyjmować tylko dodatnie wartości • virtual - słowo używane do definiowania wirtualnych funkcji składowych • void - rodzaj zmiennej bezwartościowej • volatile - rzadko stosowany modyfikator; oznacza zmienną ‘ulotną‘, czyli mogącą zmienić swą wartość bez ‘wiedzy‘ programu • while - rozpoczyna pętlę while • namespace - definiuje przestrzeń nazw • usingnamespace - określa domyślnie używaną przestrzeń
Programowanie C++ T: Funkcja return.
return • powoduje zakończenie funkcji i zwrócenie rezultatu • uwaga!!! funkcja main() też zwraca wartość • przykłąd • intsuma(int x, int y) { • return x*y; • cout<<x*y; • } • int main() { • cout<<suma(2,5); • getch(); • return 1; • }
Programowanie C++ T: Dyrektywa include.
dyrektywy preprocesora • Preprocesor jest jednym z modułów kompilatora. Działa on zwykle w ukryciu, przez co nie każdy zdaje sobie sprawę z jego istnienia. Zanim jeszcze ruszy do pracy kompilator kod programu jest przeglądany przez preprocesor. Preprocesor bada cały kod w poszukiwaniu specjalnych komend. Owe komendy to właśnie dyrektywy. Za ich pomocą można niejako sterować przebiegiem kompilacji.
dyrektywa #include • Dyrektywa include jest stosowana w celu dołączenia do kompilowanego pliku zawartości innego pliku. • Jest przydatna w sytuacjach, kiedy chcemy skorzystać z funkcji bibliotecznych. Funkcje biblioteczne to najzwyklejsze funkcje dostarczone przez producenta kompilatora. Są one skompilowane i gotowe do pracy. Aby z nich skorzystać należy dołączyć do programu określony plik nagłówkowy zawierający deklaracje interesujących nas funkcji.
Programowanie C++ T: Zmienne i stałe.
Definiowanie zmiennych i stałych • typ nazwa_zmiennej; • typ nazwa_zmiennej = wartość; • const typ nazwa_zmiennej = wartość;
Typy danych • bool zmienna; //zajmuje 1 bajt • zmienna = false; • zmienna = true; • char zmienna; //zajmuje 1 bajt • signed char zmienna; //wartość z zakresu -128..127 • unsigned char zmienna; //wartość z zakresu 0..255 modyfikator: • signed oznacza ze znakiem (operator opcjonalny) • unsigned oznacza bez znaku
Typy danych • short zmienna; // typ całkowity 2 bajty • int zmienna; // typ całkowity 4 bajty • long zmienna; // j.w. • float zmienna; //typ zmiennoprzecinkowy 4 bajty • double zmienna; //typ zmiennoprzecinkowy 8 bajtów • long double zmienna; //typ zmiennoprzecinkowy 10 bajtów • void //bezwartościowy
Programowanie C++ T: Funkcje wejścia i wyjścia.
Obiekty wejścia/wyjścia • cin standardowe wejście, z reguły jest to klawiatura • cout standardowe wyjście, z reguły jest to ekran • cerr standardowe wyjście dla błędów, z reguły ekran • clog w pełni buforowana wersja cerr
Obiekty wejścia/wyjścia • Przykład • intmain() { • cout<<"Witaj"; • return 0; • }
Manipulatory • \a – bell • \b – backspace • \f – fromfeed (koniec strony) • \n – newline • \r – carriage return • \t – tab • \v – verticaltab • \? – questionmark • \’ – single quote • \” – double quote • \\ - backslash
Manipulatory • Manipulatory sterujące konwersją liczb: hex, dec, oct • dec - ustaw konwersję dziesiątkową, • hex - ustaw konwersję hexadecymalną, • oct - ustaw konwersję oktalną. • Inne: • endl (endline - zakończ linię) • ends (end string - zakończ string) • ws (whitespaces - [przeskocz] białe znaki)
Manipulatory • Przykałd • intmain() { • string wyraz; • int i =30; • cout<<"Witaj\n"<<hex<<i<<endl; • cin >> ws >> wyraz; • cout<< wyraz<<"\a\r"; • cout<<"Koniec"; • getch(); • return 0; • }
Programowanie C++ T: Operatory.
Operatory • arytmetyczne • dodawanie + • odejmowania – • mnożenie * • dzielenie / • dzielenie modulo % (np. 10 % 3 // = 1) • podstawianie = (w TP :=) • post inkrementacja x++ ( x = x + 1 ) • pre inkrementacja ++x • post dekrementacja x-- • pre dekrementacja --x
Operatory • relacyjne • większe od > • mniejsze od < • większe lub równe >= • mniejsze lub równe <= • równe z == • różne od != • logiczne • suma logiczna (or) || • iloczyn logiczny (and) && • negacja !
Programowanie C++ T: Instrukcje warunkowe.
if oraz ifelse • if (warunek) { akcja } • if (param > 1) {wynik = 1; } • elseif (param == k) {wynik = 3; // w innym wypadku} • else { wynik = 0; // w pozostałych wypadkach }
switch • switch (zmienna) { • case wartość1: { //instrukcje } • case wartość2: //instrukcja • case wartość3: wartość4: wartość5: //instrukcja • default: { //w pozostałych przypadkach, instrukcje } • }
Programowanie C++ T: Pętle.
while • while ( wyrażenie-wartość logiczna ) instrukcja • Przykład • int x = 0; • while (x < 5) { • cout << "X: " << x << endl; • x++; • } • cout << endl;
do - while • do • { • instrukcja_1; • instrukcja_2; • instrukcja_3; • } • while (zmienna > 10);
for • for (inicjator ; warunek ; przyrost) instrukcja • Przykład • for (int i = 0; i <=5 ; i++) { cout<<i; } • int x; • for (x = 11 ; x <= 20 ; x++) { • if (x%5 == 0) { • cout << "Znaleźliśmy X podzielny przez 5: " << x << endl; • break; • } • cout << "X" << endl; • }
Programowanie C++ T: Instrukcje sterujące przebiegiem programu. (ćwiczenia praktyczne)
Zadania • Program pokazujący tabliczkę mnożenia. • Program na zaokrąglanie liczb. • Prosty kalkulator z menu (+, -, *, /). • Zamiana cyfr w postaci dziesiętnej w binarną. • Zamiana cyfr w postaci binarnej w dziesiętną.