Podstawy programowania. Łagodny start



Podobne dokumenty
* WWW: * * Adres: Instytut Informatyki ul. Będzińska Sosnowiec Pokój 214 * Telefon:

1 Podstawy c++ w pigułce.

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy programowania w języku C i C++

Podstawy programowania skrót z wykładów:

C++ wprowadzanie zmiennych

1 Podstawy c++ w pigułce.

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Część 4 życie programu

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Języki i metodyka programowania. Wprowadzenie do języka C

Programowanie komputerowe. Zajęcia 1

Podstawy Programowania Podstawowa składnia języka C++

Język ludzki kod maszynowy

Zmienne, stałe i operatory

3. Instrukcje warunkowe

Odczyt danych z klawiatury Operatory w Javie

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

2 Przygotował: mgr inż. Maciej Lasota

I - Microsoft Visual Studio C++

Podstawy Programowania

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Struktura pliku projektu Console Application

Definicje. Algorytm to:

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Powtórka algorytmów. Wprowadzenie do języka Java.

Wstęp do programowania

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wstęp do programowania. Wykład 1

Podstawy programowania w języku C

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Schematy blokowe. Algorytmy Marek Pudełko

ZMIENNE. Podstawy PHP

Podstawy programowania w C++

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

4. Funkcje. Przykłady

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Algorytm. a programowanie -

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Podstawy programowania w C++

Podstawowe typy zmiennych

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Podstawy Programowania Algorytmy i programowanie

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Powtórka algorytmów. Wprowadzenie do języka Java.

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Języki programowania obiektowego Nieobiektowe elementy języka C++

Pytania sprawdzające wiedzę z programowania C++

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Język C++ Różnice między C a C++

Podstawy programowania w języku C++

Języki programowania zasady ich tworzenia

Programowanie komputerowe. Zajęcia 4

1. Wypisywanie danych

Programowanie w języku C++ Grażyna Koba

Powtórka algorytmów. Wprowadzenie do języka Java.

( wykł. dr Marek Piasecki )

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Programowanie strukturalne i obiektowe

Wstęp do programowania

Programowanie w języku Python. Grażyna Koba

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Tablice (jedno i wielowymiarowe), łańcuchy znaków

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Algorytmika i Programowanie VBA 1 - podstawy

Podstawy programowania - 1

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Transkrypt:

Podstawy programowania Łagodny start

mgr Tomasz Jach WWW: E-mail: Adres: Instytut Informatyki ul. Będzińska 39 41-200 Sosnowiec Pokój 214 Telefon: 32 3689765

Warunki zaliczenia Krótki test na ostatnim wykładzie 10 pytań jednokrotnego wyboru Skala ocen: o 5 pkt. -> 2.0 6 pkt. -> 3,0 7 pkt. -> 3,5 8 pkt. -> 4,0 9 pkt. -> 4,5 10 pkt. -> 5,0

Na początku były metody ręczne

Ewolucja

* Rzecz o wykonywaniu poleceń

*

Sposoby zapisu algorytmów Opis słowny Zwykły tekst, podobny do języka naturalnego Schemat blokowy Specjalny zestaw symboli graficznych Pseudokod Pomieszanie żargonu informatycznego z matematycznym

Opis słowny Cel: wymień żarówkę Wejście: niedziałające światło Wyjście: działające światło 1. Wyłącz prąd 2. Wykręć starą żarówkę 3. Wkręć nową żarówkę 4. Jeżeli nie działa, to zadzwoń po fachowca 5. Jeżeli działa, to zakończ.

Opis słowny Łatwy do odczytania przez laika Czytelny przy prostych programach Mało czytelny przy złożonych programach Zależny od języka naturalnego Nieprecyzyjny

Schemat blokowy Start Operacje Decy zja Stop Operacje wejścia/ wyjścia

Dane wejściowe: uszkodzona żarówka Dane wyjściowe: światło w pokoju Ilu programistów potrzeba do wymiany żarówki?

Schemat blokowy Bardziej zorganizowany zapis Czytelny przy większych programach Uniwersalny Potrzeba dużo papieru i miejsca Lekko nieprecyzyjny

Pseudokod Cel: wymień żarówkę Wejście: niedziałające światło Wyjście: działające światło 1. Power := false 2. Żarówka := nowa 3. IF NOT działa THEN zadzwoń po fachowca 4. ELSE zakończ.

Pseudokod Już bardzo zbliżony do kodu źródłowego Bardzo czytelny, ale po pewnej wprawie Uniwersalny Mało czytelny na pierwszy rzut oka

Pojęcie algorytmu Algorytm skończony zbiór ściśle określonych zasad postępowania prowadzących do rozwiązania dowolnego zadania z pewnej klasy zadań. Innymi słowy algorytm określa na jakich danych operujemy, oraz co z nimi należy zrobić, aby osiągnąć zamierzony cel أبو عبد هللا محمد بن موسى الخوارزمي

Algorytmy - problemy Na jakim poziomie abstrakcji kończyć? A co by było, gdyby? programowanie defensywne

Algorytmy formalnie Jednoznaczny przepis Dane wejściowe -> Dane wyjściowe Weryfikacja dostarczonych danych Determinizm

Ćwiczenie 1 1. Napisz algorytm gotowania rosołu (dla niegotującej części sali niech to będzie zalewanie zupki chińskiej)

Analiza problemu Czy podołamy? Jakie dane musimy mieć? Czy ktoś już nie dokonał czegoś podobnego? Specyfikacja Dane wejściowe, dane wyjściowe. Algorytmy. Kodowanie Esencja tego przedmiotu Ewaluacja Czy działa? Czy działa dobrze? Nie od razu Kraków zbudowano

Różnice w zapisie komputerowym #include <cstdlib> main() { string imie; cin >> imie; cout << Nazywasz się << imie << endl; } Kod źródłowy

Różnice w zapisie komputerowym #include <cstdlib> main() { string BANG!!! imie; cin >> imie; cout << Nazywasz się << imie << endl; } Kompilator

Różnice w zapisie komputerowym 11101011 1010101110101000110101010 101011100010101110100101 10100001010100111010101 10100101000010101 10101010101010 0000111110101 Kod wynikowy

Rodzaje języków programowania Wysokiego poziomu C/C++ C# Java PHP.. Nieskopoziomowe Assembler i inne assemblerowate

Rodzaje języków programowania Wysokiego poziomu Połączenie składni matematycznej, angielskiej i syntetycznej Nieskopoziomowe Zbliżone do wewnętrznej reprezentacji komputera

Języki ezoteryczne ++++++++++ [ >+++++++>++++++++++>+++>+<<<<- ] Na początek ustawiamy kilka przydatnych później wartości >++. drukuje 'H' >+. drukuje 'e' +++++++. drukuje 'l'. drukuje 'l' +++. drukuje 'o'

Języki ezoteryczne Whitespace

TXT -> EXE Kod źródłowy BANG!!! Kod wynikowy Chyba, że: 1. Popełnimy błąd składniowy (syntax) 2. Zdarzy się coś wyjątkowego Kompilator

Często wybieram się w podróże samochodem. Zarabiam mało, a chciałbym sporo zobaczyć. Muszę zaplanować budżet. Na budżet składają się wydatki na benzynę, zakwaterowanie oraz kieszonkowe Samochód pali średnio 5 litrów / 100 km, zaś dystans do pokonania różni się w zależności od podróży Kieszonkowe i zakwaterowanie zależy od tego ile dni zostanę. Zwykle przyjmuję 100 zł na nocleg dziennie i 50 zł kieszonkowego na dzień Ile wydam na weekend 200 km poza domem? No to do roboty

Podejście standardowe

Podejście mniej standardowe

Podejście XXI wieku

Środowisko programistyczne http://www.codeblocks.org/ Wersja z mingw-setup.exe!

Drzewko plików. Środowisko programistyczne Tu piszemy kod. Tu będą błędy.

A co ja właściwie napisałem?

Biblioteka standardowa limits.h - makra określające granice dla typów ścisłych cmath.h - funkcje matematyczne cstdio.h - operacje wejścia/wyjścia cstdlib.h - zespół funkcji użytkowych string.h - funkcje operujące na tablicach znaków time.h - narzędzia do odczytywania, interpretacji i prezentacji czasu iostream.h obsługa wejścia/wyjścia

A co ja właściwie napisałem? Nie wszystko jest dostępne od razu Nie wszystko ma jednoznaczną nazwę

Przestrzenie nazw Nie trzeba pisać: using namespace std; Ale bez tego trzeba używać modyfikatora przestrzeni nazw przed większością funkcji: std::cout << Coś << std::endl;

Dobry programista, to leniwy programista.

A co ja właściwie napisałem?

A co ja właściwie napisałem? int to skrót od integer, czyli liczba całkowita main nazwa funkcji głównej int main( ) { } W nawiasach () parametry funkcji W nawiasach {} ciało funkcji

Wszyscy kochamy matematykę f(x) = x 2 + 13 f nazwa funkcji x parametr wejściowy Podnieść x do kwadratu i dodaj 13 przepis na działanie funkcji f(5) = 38

Wszyscy kochamy matematykę Dane wejścio we Przepis na działani e Wynik

A co ja właściwie napisałem? Return oznacza powrót. W tym przypadku wyjście z programu. Dla chętnych proszę sobie doczytać czemu 0?

Kompilowanie

Dane wejściowe: Stałe: samochód pali 5l / 100 km; kieszonkowe: 50 zł/dzień; zakwaterowanie: 100zł/dzień Zmienne: liczba dni, liczba kilometrów Dane wyjściowe: koszt wycieczki 1. Wczytaj od użytkownika ile kilometrów ma jego wycieczka. 2. Wczytaj od użytkownika na ile dni jedzie 3. Oblicz całkowity koszt wycieczki 4. Wypisz koszt na ekran Algorytm obliczania kosztów podróży

Schemat blokowy Start spalanie := 5 kieszonkowe := 50 zakwaterowanie := 100 paliwo := 5.2 Wypisz koszt Wczytaj iledni Stop Wczytaj jakdaleko koszt:= jakdaleko*paliwo*spalanie/100 + iledni * kieszonkowe + iledni * zakwaterowanie

Zmienna element programu przechowujący określone wartości w pamięci operacyjnej. Każda zmienna posiada: Swoją nazwę która musi być unikatowa w obrębie danego fragmentu programu. Swój typ określający jakie wartości (i z jakiego zakresu) zmienna może przechowywać. Pojęcie zmiennej

Zmienne Dobrze: Suma suma _15suma druga_suma TrzeciaSuma Źle: 44suma WyyNicZ3k DooDaaWAnIa

Typy zmiennych Typ zmiennej określa rodzaj (i wielkość) danych w niej zawartych Kilka popularniejszych: int double float void long int

Typy zmiennych Typ zmiennej określa rodzaj (i wielkość) danych w niej zawartych Kilka popularniejszych: Int liczba całkowita Double liczba zmiennoprzecinkowa Float - liczba zmiennoprzecinkowa Void nic long int długa liczba całkowita

Dane wejściowe: Stałe: samochód pali 5l / 100 km; kieszonkowe: 50 zł/dzień; zakwaterowanie: 100zł/dzień Zmienne: liczba dni, liczba kilometrów Dane wyjściowe: koszt wycieczki 1. Wczytaj od użytkownika ile kilometrów ma jego wycieczka. 2. Wczytaj od użytkownika na ile dni jedzie 3. Oblicz całkowity koszt wycieczki 4. Wypisz koszt na ekran Algorytm obliczania kosztów podróży

Słówko const to deklaracja stałej. Jej wartość pozostaje niezmienna w całym programie.

cout << oraz cin >> to operatory strumieniowe. Nazwy pochodzą od wejścia i wyjścia, strzałki natomiast określają kierunek. Klawiatura (cin) >> zmienna Ekran << Zmienna/Stała Każdy napis oparujemy w cudzysłowy. Jak widać można łańcuchować strumienie endl określa nam koniec linii

Jeżeli wewnątrz łańcucha znakowego ma wystąpić znak cudzysłowu, należy go wpisać z poprzedzającym znakiem \ (backslash): Hans Kloss zwany \ J23\

Mnożenie (*), dzielenie (/), odejmowanie (-) i dodawanie (+) mają takie same reguły jak w matematyce. Przypisanie (=) sprawia, że to co stoi po lewej stronie uzyskuje wartość tego, co stoi po prawej Dlaczego napisałem 100.0 a nie 100?

Wartości zmiennych wypisujemy w taki sam sposób jak napisy. Każdy napis opatrujemy w cudzysłowy. Jak widać można łańcuchować strumienie endl określa nam koniec linii

Uporządkujmy wiedzę Identyfikatory Separatory Komentarze Typy proste Operatory

Identyfikatory Czyli nazwy. Występują bardzo powszechnie: Nazwy zmiennych Nazwy funkcji Nazwy stałych Identyfikatory są arbitralnie wybranymi nazwami dla zmiennych, funkcji, definiowanych przez programistę typów danych itp. Nie mogą być jednak słowami kluczowymi.

Identyfikatory Nazwy powinny rozpoczynać się od litery (znak podkreślenia to też litera) Nie mogą rozpoczynać się od cyfry Polskie znaki diakrytyczne to nie litery! Małe i wielkie litery są rozróżniane: zmienna Zmienna zmienna Gorąco zachęcam do stosowania tzw. camelcasenotation

Identyfikatory Nie wszystkie nazwy są dostępne. Nie można nazywać ich tak samo jak zastrzeżone słowa kluczowe:

Separatory Nawiasy kwadratowe [ ] wykorzystywane są do deklarowania i odwoływania się do tablic. int tablicazmiennych[10]; Nawiasy okrągłe ( ) wykorzystywane są do grupowania wyrażeń, izolowania wyrażeń warunkowych, wskazują wywołanie funkcji i jej parametry. double x1 = (-b+sqrt(delta)) /(2*a);

Separatory Nawiasy klamrowe { } oznaczają początek i koniec instrukcji złożonej, zwanej również blokiem. { } cin << zmienna; cout >> zmienna; Średnik ; jest znakiem kończącym instrukcję.

Separatory Spacje rozdzielają instrukcje. Podobnie jak entery i tabulatory. Kompilator wymaga tylko pojedynczej przerwy. Ale co się czyta lepiej?

Komentarze Komentarze służą głównie do dwóch celów Tłumaczenia co trudniejszych fragmentów kodu Tymczasowego wyłączania fragmentów programu //to jest komentarz jednolinijkowy /* A to komentarz który rozciąga się na wiele linii Nie można go zagnieżdżać/*

Komentarze Komentarze powinny mieć sens! To sensu nie ma: double paliwo; //zmienna zmiennoprzecinkowa paliwo int counter; //licznik Ale to ma: int counter; /* Licznik tych linii pliku, które zawieraj wzorzec */ float paliwo; /* Zmienna przechowuje ilość paliwa zużytego przez pojazd */ float delta; /* Wyróżnik trójmianu kwadratowego */

Typy proste Typy arytmetyczne: całkowite (podstawowe): char znakowy, int całkowity, bool logiczny wyliczeniowe; zmiennopozycyjne (podstawowe): float pojedyncza precyzja, double podwójna precyzja. Typ void. Typy wskaźnikowe itd.

Typ char Krótka liczba całkowita. Używana zwykle do przechowywania pojedynczych znaków (liter, cyfr, itp.) Wartość zmiennej znakowej to liczba całkowita równa kodowi danego znaku. Zajmuje mniej miejsca w pamięci komputera jakiś jeden bajt

Typ char Wartość zmiennej znakowej to liczba całkowita równa kodowi danego znaku: cout << Czy kontynuować? (T/N) << endl; char wybor; cin >> wybor; Ale można i tak: char c = 'A'; char d; d = c + 1; cout << c; // Wyprowadza literę A cout << d; // Wyprowadza literę B

Typ char kody ASCI char znak = 'A'; cout << znak; // Wyprowadza literę A cout << (int) znak; //wyjdzie 65

Typ char kody ASCI

Typ int To po prostu liczba całkowita. Zapisywana wraz ze znakiem (+/-)

Typ int To po prostu liczba całkowita. Zakres to +/- 2 miliardy. int liczba = 5; int drugaliczba = liczba 2; Co wyjdzie? int trzecia; cout << trzecia; A tutaj? int duzaliczba = 2147483647; duzaliczba = duzaliczba + 1; cout << duzaliczba;

Typ int Liczby możemy zapisywać w różnych systemach liczenia. int liczba = 5; int drugaliczba = 065; //ósemkowo int trzecia = 0xFF; //szesnastkowo

Operatory Wracamy do podstawówki i uczymy się: + dodawać - odejmować * mnożyć / dzielić % liczyć resztę z dzielenia

Operatory Dzielenie działa różnie w zależności od operandów: int a=5, b=2; float c=5.0, d=2.0; cout << a / b << << c/d; Żeby to pierwsze działało jak trzeba: cout << (float) a/b;

Operatory Reszta z dzielenia (operator modulo) int a=5, b=2; float c=5.0, d=2.0; cout << a % b; int liczba; cin >> liczba; if( liczba % 2 == 0) cout << Parzysta ;

Operatory relacji i logiczne Operatory relacji służą do porównywania dwóch lub więcej wartości > większe < mniejsze >= większe lub równe <= mniejsze lub równe Operatory porównania == równe (UWAGA: podwójne równa się)!= różne Operatory logiczne: && (and, oraz) (or, lub)! (not, nie)

Operatory relacji i logiczne Wyrażenia połączone tymi operatorami oblicza się od lewej do prawej, koniec obliczeń następuje natychmiast po określeniu wartości logicznej wyrażenia. Operatory relacji mają wyższy priorytet niż operatory porównania. Priorytet operatora && jest wyższy niż a oba są niższe niż operatorów relacji i porównania. Albo nauczysz się priorytetów albo użyjesz nawiasów.

Operatory (in/de)krementacji Inkrementacja to zwiększenie wartości o 1. Poniższe zapisy są równoznaczne: int a; a = a + 1; // to samo co: a++; a = a 1; a--;

Operatory inkrementacji/dekrementacji Operator inkrementacji (++) zwiększa wartość zmiennej o jeden, podczas gdy operator dekrementacji (--) zmniejsza wartość zmiennej o jeden. Oba operatory mogą występować w dwóch formach: Przedrostkowej (++x). Przyrostkowej (x++). Obie postacie powodują zwiększenie zapamiętanej w zmiennej wartości o jeden, ale w przypadku formy przedrostkowej odbywa się to przed jej wykorzystaniem (przed zwróceniem jej wartości), a w przypadku formy przyrostkowej dopiero po wykorzystaniu danej zmiennej.

Operatory inkrementacji/dekrementacji

Operatory inkrementacji/dekrementacji Wynik:

Operator przypisania Operator przypisania to przekopiowanie wartości jednej zmiennej do drugiej. Kopiować możemy tylko typy proste (z drobnymi wyjątkami, ale to nie temat na dziś). Operator przypisania jest lewostronnie łączny. Czyli po ludzku: int i = 5, j, k, l; j = k = l = i; Po raz kolejny zwracam uwagę na różnicę pomiędzy = (przypisaniem) oraz == (porównaniem)!

Operator przypisania Operator przypisania może skracać niektóre zapisy. Zamiast pisać: i = i + 10; Zapiszemy: i+=10; Można tak robić z: * / + - % i/=2 -> i = i / 2;