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

Podobne dokumenty
C++ wprowadzanie zmiennych

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

Część 4 życie programu

Podstawy programowania w języku C i C++

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

Programowanie komputerowe. Zajęcia 1

I - Microsoft Visual Studio C++

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

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

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

1 Podstawy c++ w pigułce.

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

2 Przygotował: mgr inż. Maciej Lasota

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

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

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

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

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

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

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

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

Struktura pliku projektu Console Application

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

Wstęp do programowania

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

1 Podstawy c++ w pigułce.

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

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

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

Programowanie strukturalne i obiektowe

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

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Podstawy programowania w C++

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) Liczby, znaki, napisy, operatory logiczne, stałe. Pętle typu while.

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

Programowanie - wykład 4

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

Podstawy Programowania

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

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

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

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

( wykł. dr Marek Piasecki )

MATERIAŁY DO ZAJĘĆ II

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

Język C zajęcia nr 11. Funkcje

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

Wstęp do programowania

Wstęp do Programowania 2

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

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

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Zmienne, stałe i operatory

Proste programy w C++ zadania

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

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

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

Wstęp do informatyki- wykład 7

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

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

3. Instrukcje warunkowe

1. Wprowadzenie do C/C++

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Podstawy Programowania.

Podstawy programowania C. dr. Krystyna Łapin

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2015 ) prof. nzw. dr hab. inż. Barbara Putz

Programowanie komputerowe. Zajęcia 4

1. Wprowadzenie do C/C++

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Operacje wejścia/wyjścia odsłona pierwsza

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

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

Python wstęp do programowania dla użytkowników WCSS

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

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Struktury Struktura polami struct struct struct struct

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 Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

1. Wypisywanie danych

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

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP ) rok ak. 2012/2013. prof. nzw. dr hab. inż. Barbara Putz. Podstawowe pojęcia, najprostsze programy

Programowanie w języku C++

Podstawy Programowania

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Język C++ zajęcia nr 1

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

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

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

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

Wstęp do programowania

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

C-struktury wykład. Dorota Pylak

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Transkrypt:

Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014

Wstęp

Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje: czytania, pisania, przypisania. Klasyfikacja typów. Stałe, wyrażenia. Komentarze i dokumentacja programu. Dodawanie bibliotek. Przestrzenie nazw.

Struktura programu W oknie edycji kodu źródłowego ukazuje się standardowa zawartość pliku main.cpp z prostym programem wypisującym na konsoli napis Hello World!. #include <iostream> using namespace std; int main() { int a; cout << "Podaj liczbe: " << endl; cin >> a; cout << "Podana liczba to: " << a << endl return 0; }

Zmienne i ich nazwy Zmienną nazywa się dana mogąca przyjmować różne wartości. Każda zmienna występująca w programie ma swoją nazwę i przyjmuje wartości z określonego zbioru ( zdefiniowanego przez typ zmiennej) Wszystkie zmienne występujące w programie muszą być zadeklarowane przed ich pierwszym użyciem Popularne typy zmiennych całkowite: 10, -243, +78 rzeczywiste 1.5, 3.14, -2450.138 znakowe a, w, 1 napisowe podaj swoje imię:

Zmienne i ich nazwy Nazwa zmiennej Dowolny ciąg liter i cyfr zaczynający się od litery. Znak podkreślenia też jest literą. Małe i duże litery są rozróżniane. Definicja/deklaracja zmiennej Definicja zmiennej informuje o typie zmiennej i przydziela na nią pamięć. Definicja jest zarazem deklaracją, ale nie na odwrót (deklaracja polega tylko na określeniu typu zmiennej). i Najpierw podaje się typ, a potem wymienia nazwy wszystkich zmiennych tego typu. Zmienne tego samego typu można zgrupować w listę, oddzielając je przecinkami Zmienne mogą być definiowane w dowolnym miejscu, jak tylko zajdzie potrzeba ich wykorzystania.

Zmienne i ich nazwy Przykład definicji zmiennych prostych: int i,j,k; double x1,x2,y1,y2 ; y char w s k; string nazwa, opis;

Podstawowe typy danych Typ Typ jest zdefiniowany przez zbiór przyporządkowanych mu wartości Typy predefiniowane (najważniejsze): int - podzbiór liczb całkowitych: -2147483648.. 2147483647 float - podzbiór liczb rzeczywistych: 1.18 e-38.. 3.40 e38 double - podzbiór liczb rzeczywistych: 2.23 e-308.. 1.79 e308 bool - dwie wartości: true, false char - zbiór znaków w kodzie ASCII string - określa napis jako dowolny ciąg znaków (aby można było korzystać z umownego typu string, trzeba dołączyć odpowiednią bibliotekę: # include <string>)

Podstawowe typy danych Typy niestandardowe (definiowane przez użytkownika, do przechowania wielu wartości pod jedną nazwą): typ tablicowy typ strukturalny typ plikowy typy nieprzeliczalne typ obiektowy (w programowaniu obiektowym) typ wskaźnikowy i referencyjny typ wyliczeniowy

Instrukcje: czytania, pisania, przypisania Instrukcje Polecenia dla komputera - zmuszają go do przetwarzania danych podczas procesu obliczeniowego. W języku C++ każda instrukcja kończy się średnikiem Instrukcje pisania i czytania - plik z bibliotekami Instrukcje pisania i czytania wymagają dołączenia pliku nagłówkowego biblioteki iostream. Instrukcja czytania cin>> domyślnie czyta dane z klawiatury, instrukcja pisania cout<< domyślnie wyświetla dane na monitorze. Przestrzenie nazw Jeśli używa się wielu bibliotek z licznymi deklaracjami, można w końcu natknąć się na problem konfliktu nazw. Rozwiązaniem jest zastosowanie przestrzeni nazw, która jest zatem zbiorem obiektów, która ogranicza dostęp do nich - oprócz nazwy obiektu niezbędne jest też wspomnienie, z której przestrzeni nazw chcemy go użyć, obchodząc tym samym problem konfliktu nazw.

Instrukcje: czytania, pisania, przypisania Zastosowanie instrukcji pisania i czytania - określenie przestrzeni nazw #include <iostream> int main() { int a; std::cin >> a; std::cout << a; return 0; }

Instrukcje: czytania, pisania, przypisania Używając using namespace PrzestrzenNazw, podpowiadamy kompilatorowi, w którym miejscu może szukać używanych przez nas obiektów i funkcji, abyśmy mogli swobodnie używać wszystkiego co się znajduje w danej przestrzeni nazw Zastosowanie instrukcji pisania i czytania - ominięcie przestrzeni nazw #include <iostream> using namespace std; int main() { int a; cin >> a; cout << a; return 0; }

Instrukcje: czytania, pisania, przypisania Instrukcja przypisania - podstawienia Instrukcja przypisania służy do nadawania zmiennej nowej wartości Zastosowanie instrukcji przypisania int a; a = 10; // zmienna powinna być wcześniej zdefiniowana int b=-20; //definicja i przypisanie wartości int k = 3; double x = k-4.5; //zmniejsz wartość k - 4.5 k = k+1; // zwiększ wartość k o 1 double y = 2.5*(x+3)/2; char z = a ; string imie = "Witold ";

Definiowanie stałych Stałe Stałe definiujemy, jeśli chcemy je nazwać i używać ich nazw w programie. Definicja stałej musi zawierać jej inicjalizację, bo wartości stałych nie można zmieniać. Przykłady definicji stałych const n = 5; const int k = 2*(n+1); const double xmin = 0.001; const char Esc = \33 ; const string pytanie = "Czy wykonac ponownie - t/n";

Podstawowe wyrażenia Operatory arytmetyczne + : dodawanie / zachowanie znaku,? : odejmowanie / zmiana znaku, * : mnożenie, / : dzielenie, % : reszta z dzielenia (modulo), nie może być stosowany do liczb rzeczywistych. Operatory relacji >, >=, <, <= Operatory porównania ==,!= Operatory logiczne && - iloczyn logiczny (and) - suma logiczna (or)

Podstawowe wyrażenia Uwagi 1 Uwagi 2 Wyrażenia połączone operatorami relacji, porównania i logicznymi 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. Dla większości operatorów dwuargumentowych, można wykorzystywać specjalne operatory przypisania, pozwalające skrócić zapis często wykorzystywanych konstrukcji.

Podstawowe wyrażenia Wersja pełna i = i + 2; y = y * 2; x = x << 1; j = j * ( k + 1 ); flag = flag >> k;

Podstawowe wyrażenia Operatory bitowe & : bitowa koniunkcja (and), : bitowa alternatywa (or), ˆ: bitowa różnica symetryczna (xor) << : przesunięcie w lewo >> : przesunięcie w prawo, : dopełnienie jedynkowe

Podstawowe wyrażenia Wersja skrócona i += 2; y *= 2; x <<= 1; j *= k + 1; flag >>= k;

Komentarze i dokumentacja programu Komentarze są ignorowane przez kompilator, służą wyłącznie osobie czytającej tekst programu. Komentarze zapisuje się wewnątrz par znaków /*...*/ (typ 1), co pozwala tworzyć komentarze złożone z wielu linii, lub pomiędzy znakami // (typ 2) a końcem linii. Dwa różne typy komentarzy pozwalają tworzyć komentarze zagnieżdżone W praktyce komentarze są bardzo przydatne. Istnieją tzw. generatory dokumentacji, które na podstawie odpowiednio ustawionych komentarzy, zgodnie z określoną konwencją, potrafią stworzyć automatycznie dokumentację pisanego oprogramowania. Przykłady narzędzi tego typu to np. Doxygen, ApiGen, EpyDoc.

Komentarze i dokumentacja programu Przykład komentarzy i komentarzy zagnieżdżonych: #include <conio> // ten plik nagłówkowy należy //dołączyć, jeśli chcemy używać instrukcji // getch( ); /* Zobaczymy, co się stanie, jeśli w programie // nie będzie instrukcji getch( );na końcu. getch( ); // to oznacza: poczekaj, aż użytkownik // wciśnie jakiś przycisk; // ta instrukcja zatrzymuje więc działanie programu, //dzięki czemu wyniki pozostają na ekranie, dopóki nie wciśniemy jakiegoś przycisku */

Dodawanie bibliotek - biblioteki i pliki nagłówkowe Plik nagłówkowy plik zawierający deklaracje zmiennych i funkcji tworzących bibliotekę. Powinien być określony na początku pliku z programem. Format dołączania plików nagłówkowych # include <iostream> - sposób standardowy. iostream jest nazwą dołączanej biblioteki języka C++ # include <iostream.h> - starszy sposób. Uwaga Dołączane standardowe biblioteki i pliki nagłówkowe mogą pochodzić z języka C (stdio, stdlib, math), lub z języka C++ (cstdio, cstdlib, cmath)