Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

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

C++ wprowadzanie zmiennych

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

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

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

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.

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

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Podstawy programowania w C++

Zmienne, stałe i operatory

Wstęp do informatyki- wykład 9 Funkcje

Struktury Struktura polami struct struct struct struct

Wstęp do informatyki- wykład 11 Funkcje

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

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

Podstawy algorytmiki i programowania - wykład 4 C-struktury

1. Wypisywanie danych

Programowanie komputerowe. Zajęcia 1

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

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

1 Podstawy c++ w pigułce.

Podstawy Programowania

Część 4 życie programu

Wstęp do programowania

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

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

Programowanie - wykład 4

Struktura pliku projektu Console Application

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

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).

Wstęp do informatyki- wykład 7

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

1 Podstawy c++ w pigułce.

Wstęp do programowania

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

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Podstawy programowania C. dr. Krystyna Łapin

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

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

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:

Pytania sprawdzające wiedzę z programowania C++

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

1. Wprowadzenie do C/C++

3. Instrukcje warunkowe

Program 14. #include <iostream> #include <ctime> using namespace std;

Argumenty wywołania programu, operacje na plikach

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

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

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

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

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

Programowanie strukturalne i obiektowe. Funkcje

Wstęp do informatyki- wykład 10 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Język C zajęcia nr 11. Funkcje

Wstęp do programowania

Język C++ zajęcia nr 2

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }

I - Microsoft Visual Studio C++

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

4. Funkcje. Przykłady

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

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

ZASADY PROGRAMOWANIA KOMPUTERÓW

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

1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

Materiał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji

Wstęp do programowania

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

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

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

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

Proste programy w C++ zadania

1. Wprowadzenie do C/C++

Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

7. Pętle for. Przykłady

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

C-struktury wykład. Dorota Pylak

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

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

Programowanie w Turbo Pascal

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Programowanie komputerowe. Zajęcia 4

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

Pliki wykład 2. Dorota Pylak

Wstęp do informatyki- wykład 9 Pętla while, do while,for -pętla w pętli- przykłady Funkcje

Deklaracja struktury w C++

Wstęp do programowania

Transkrypt:

Kurs C++ częśd II Podstawowa obsługa konsoli + zmienne. Autor: Dawid Chróścielski. Wprowadzanie i wyprowadzanie danych z/do konsoli. Jak wyprowadzad dane dowiedzieliśmy się już wcześniej (metoda cout z przestrzeni nazw std ). Nowym jest dla nas wprowadzanie ich. Służy do tego metoda cin (od angielskiego console input). Przykład zastosowania: // Wprowadzanie i wyprowadzanie danych z/do konsoli #include <iostream> using namespace std; // *1 int wiek; char imie[20]; // ----------- int main() { cout << "Podaj swoje imie: "; cin >> imie; // *2 cout << "Podaj swoj wiek: "; cin >> wiek; // *3 } cout << "Twoje imie to: " << imie << endl // *4 << "Twoj wiek to :"; // *5 cout << wiek << "\n"; // *6 system("pause"); return 0; Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy: *1 są to deklaracje zmiennych (zajmiemy się tym w następnym paragrafie), które wprowadzamy do konsoli. *2 jest to wywołanie funkcji cin (po niej następują znaki strumienia wejścia >> ). Jako argument, do którego wpisana zostanie wartośd (w tym przypadku napis) podajemy zmienną imie. Przechowuje ona w sobie dane, które do niej za pomocą procedury cin wpisaliśmy. *3 prawie to samo co w *2, jednak tym razem wprowadzamy zmienną o typie liczbowym, co oznacza, że możemy tam zapisad nasz wiek w postaci liczby, nie jako napis (to zasadnicza różnica dla komputera).

*4 chciałem tutaj pokazad, jak można łączyd strumienie, które chcemy wyprowadzid z konsoli. Wystarczy rozdzielid poszczególne elementy znakami strumienia wyjścia ( << ). W ten sposób w jednej linijce wypisaliśmy napis Twoje imię to:, zmienną imie oraz znak przejścia do następnej linii. *5 przenieśliśmy komendę do następnej linii, żeby wszystko się mieściło na ekranie, znów użyliśmy <, aby wypisad nowy strumieo i zakooczyliśmy funkcję cout średnikiem. *6 wywołujemy funkcję cout jeszcze raz (dla przykładu, że można i tak dołączad strumienie wyjścia, co jest przecież logiczne), wypisujemy zmienną liczbową wiek oraz znak \n, który oznacza to samo co endl, jednak zawarty i zinterpretowany jest w ciągu znaków. Aby uzyskad więcej znaków specjalnych typu \n, należy wpisad hasło Znaki specjalne C++ do wyszukiwarki. Zmienne. Czym są zmienne? Są to wartości przechowywane w pamięci posiadające swoją charakterystyczną nazwę. Każda zmienna posiada swój unikalny adres oraz nazwę, wartości mogą się powielad. Jak w C++ deklarujemy zmienną? typ nazwa; Jak definiujemy? nazwa = wartośd; Czym różni się deklaracja od definicji? Deklaracja to zakomunikowanie kompilatorowi, że dany obiekt (np. zmienna) istnieje w programie i istnieje możliwośd jej użycia. Definicja natomiast to nadanie jej wartości. Deklarację z definicją możemy łączyd: typ nazwa = wartośd; Wartości jakie przybiera dana zmienna zależne są od jej typu. Przykładowo dla typu liczbowego, zmienna przybiera wartośd liczbową (np. int zmienna = 5;). Wartośd zmiennej nie może przekroczyd zakresu wartości jakie dany typ przewidział. Np. zmienna typu unsigned char nie może przyjąd wartości 300, gdyż wykracza to poza zakres jej typu.

Typy zmiennych: źródło: http://m4tx.pl/wp-content/uploads/2010/08/table.png Przy typach podstawowych, kompilator często konwertuje jeden typ, do drugiego, gdy chcemy je np. porównad, wykonad operację dodawania, przypisad, itd. Zawsze konwertuje typ bardziej złożony do bardziej podstawowego. Robi to jednak niejawnie i może w tych miejscach wypisywad ostrzeżenia o takiej sytuacji. Możemy zrobid to jawnie, są 2 sposoby: reinterpret_cast < nowy_typ> (zmienna), lub starym sposobem, znanym z C: (nowy_typ)zmienna. Aby uzyskad więcej informacji na ten temat polecam wyszukiwarkę internetową. Napiszmy przykładowy program, w którym wykorzystamy nasze zmienne. // Dodawanie #include <iostream> using namespace std; int liczba1; // *1 int liczba2, wynik; // *2 char imie[20]; // *3 int main() { cout << "Podaj swoje imie: "; cin >> imie; cout << "Podaj 1-sza liczbe: "; cin >> liczba1; cout << "Podaj 2-ga liczbe :"; cin >> liczba2; wynik = liczba1 + liczba2; // *4

} cout << "Twoje imie to: " << imie << endl; cout << liczba1 << " + " << liczba2 << " = " << wynik << endl; system("pause"); return 0; *1 czytamy: Deklaracja zmiennej typu integer *2 jeżeli zmienne są tego samego typu, możemy deklarowad je po przecinku, koocząc średnikiem. Możemy również wykonywad definicję, czyli nadad im wartości początkowe. Również w miejscu deklaracji. Definicja taka wyglądałaby tutaj np. tak: int liczba2 = 20, wynik = 25; Jednak, później w kodzie następuje ponowne wpisanie wartości, więc nie ma potrzeby wpisywania ich na początku, gdyż i tak zostaną nadpisane przez nowe. Przykładowo, gdybyśmy w późniejszym wywołaniu cin >> liczba2 podali wartośd 22, wówczas zmienna liczba2 od tego miejsca zwracałaby wartośd 22. *3 jest to deklaracja zmiennej tablicowej typu char. Zajmiemy się tym nieco później. *4 użyliśmy tutaj 2 operatorów: przypisania = oraz dodawania +. Chyba nie muszę tłumaczyd do czego służą. Wytłumaczę natomiast jak działają. Operator przypisania służy nadaniu wartości wyrażeniu stojącemu po stronie lewej operatora, z wyrażenia, które stoi po jego prawej stronie. W tym przypadku zmiennej wynik przypisujemy wartośd wyrażenia liczba1 + liczba2. Gdybyśmy spotkali na przykład taką instrukcję: wynik = liczba1 = liczba2; Wówczas liczba2 przekazuje wartośd liczbie1 przez operator przypisania. Następnie liczba1 przekazuje swoją wartośd (czyli już tą samą co liczba2) do zmiennej wynik. Operator dodawania sumuje stojące po jego obu stronach wyrażenia. Zakres dostępu i życie zmiennych. Zmierzyd musimy się tu z dwoma zagadnieniami: Zmienne globalne są to obiekty dostępne w całym pliku od miejsca ich zadeklarowania. Muszą byd one zadeklarowane poza wszystkimi funkcjami, przestrzeniami nazw, pętlami, itd. Do tej pory posługiwaliśmy się w programach właśnie takimi zmiennymi. Były one deklarowane na zewnątrz funkcji main, lecz przypisanie im wartości znajdowało się już w tej metodzie. Początkowo jednak wszystkie zmienne globalne przyjmują zależnie od typu: NULL, 0 lub false. Są więc wypełniane neutralnymi wartościami początkowymi. Obiekty deklarowane globalnie istnieją w naszym programie od jego startu, do zakooczenia.

Zmienne lokalne tu z kolei, póki nie nadamy wartości sami, przechowywane są wewnątrz śmieci, czyli wartości losowe. Przykład zmiennej lokalnej uzyskamy, deklarując wewnątrz naszej funkcji main jakąś zmienną. Do tak zdeklarowanego obiektu mamy dostęp jedynie wewnątrz tej funkcji, a czas przez jaki on istnieje, to czas od startu funkcji, do jej zakooczenia. Wewnątrz funkcji main, nie wynika z tego nic, gdyż jest to metoda główna programu, więc jej zakooczenie jest równe z zamknięciem pracy programu, jednak to nie jest jedyna funkcja, z jaką przyjdzie się nam zmierzyd.