Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Podobne dokumenty
Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

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

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

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

( wykł. dr Marek Piasecki )

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

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

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

Programowanie w języku C++

Wykład 1: Wskaźniki i zmienne dynamiczne

Proces tworzenia programu:

Wykład 8: klasy cz. 4

#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 ); }

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

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 9: Polimorfizm i klasy wirtualne

Podstawy Programowania. Wykład 1

Wykład 5: Klasy cz. 3

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

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

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

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Programowanie strukturalne i obiektowe

Część 4 życie programu

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

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

#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 ); }

1 Podstawy c++ w pigułce.

Wykład 9: Metody wirtualne i polimorfizm

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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.

Programowanie komputerowe. Zajęcia 1

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

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

Podstawy programowania - 1

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

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

Języki programowania - podstawy

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

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

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

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

2 Przygotował: mgr inż. Maciej Lasota

I - Microsoft Visual Studio C++

Wstęp do Programowania 2

Zmienne, stałe i operatory

KURS C/C++ WYKŁAD 1. Pierwszy program

Wstęp do programowania. Wykład 1

Podstawy programowania (1)

Wykład 2 Składnia języka C# (cz. 1)

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

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

Język C++ zajęcia nr 1

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

INFORMATYKA Studia Niestacjonarne Elektrotechnika

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

Podstawy programowania w C++

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

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

Jzyk C++ cz 2. Jarosław Gramacki Instytut Informatyki i Elektroniki

Język programowania PASCAL

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

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

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

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

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Podstawy Programowania

Język ludzki kod maszynowy

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

C++ wprowadzanie zmiennych

Wstęp do Programowania, laboratorium 02

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

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

Języki i metody programowania. Omówienie języków C, C++ i Java

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

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

ECLIPSE wnioski z dwóch pierwszych laboratoriów

Podstawy programowania w języku C

Podstawy programowania C. dr. Krystyna Łapin

dr inż. Paweł Myszkowski Wykład nr 8 ( )

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Wykład 1.sxw

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Struktura pliku projektu Console Application

Wstęp do programowania

Programowanie - wykład 4

Transkrypt:

Języki C i C++ Wykład: 1 Wstęp Budowa programu Operacje we/wy Instrukcje wyboru 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Podstawowe pojęcia Środowisko programistyczne Kod źródłowy - program napisany w języku takim jak Pascal lub C++,czyli w języku algorytmicznym - czytelny dla programisty Kod wynikowy - program zapisany jako ciąg rozkazów i danych w kodzie maszynowym procesora (w postaci czytelnej dla komputera), najczęściej w postaci liczb kodu dwójkowego Proces tworzenia programu: edytor - ( *.cpp ) kod źródłowy kompilator - ( obj ) kod wynikowy Linker - ( *.exe ) kod wynikowy połączony z bibliotekami debugger - (step/watch) śledzenie działania, usuwanie błędów 2

Podstawowe pojęcia Środowisko programistyczne Wybrane środowiska programistyczne dla C++ Dev C++ Code::Blocks MS Visual Studio 3

programowania w C++ Budowa programu 4

Pierwszy program (w języku C) 5

Pierwszy program (w języku C++) 6

Budowa programu 7

Budowa programu Int main( ) w języku C i C++ nie ma programu głównego jest za to funkcja o nazwie main( ) która wykonywana jest zawsze jako pierwsza. Każdy program musi posiadać funkcję main( ) 8

Biblioteki standardowe Aby skorzystać z funkcji należy dodać plik nagłówkowy biblioteki standardowej C++ zawierający jej deklaracje. Używając w tym celu dyrektywy: #include< > Przykładowo, aby skorzystać z funkcji cout należy na początku programu napisać #include <iostream>. Obecnie, korzystając z bibliotek klasycznego C, zalecane jest używanie nazw bibliotek poprzedzonych literą c. Czyli w powyższym przypadku należało by napisać #include <cstring> zamiast #include <string> 9

Biblioteki standardowe Oto pełna lista standardowych plików nagłówkowych C++: <algorithm> <cstdarg> <ios> <ostream> <bitset> <cstddef> <iosfwd> <queue> <cassert> <cstdio> <iostream> <set> <cctype> <cstdlib> <istream> <sstream> <cerrno> <cstring> <iterator> <stack> <cfloat> <ctime> <limits> <stdexcept> <ciso646> <cwchar> <list> <streambuf> <climits> <cwctype> <locale> <string> <clocale> <deque> <map> <typeinfo> <cmath> <exception> <memory> <utility> <complex> <fstream> <new> <valarray> <csetjmp> <functional> <numeric> <vector> 10

Biblioteki - Operacje wejścia-wyjścia Operacje wejścia-wyjścia to podstawowe operacje tzw. komunikacji strumieniowej. Należą do tego głównie operacje na plikach i strumieniach standardowych. iosfwd i ios - z definicjami pierwotnymi streambuf, istream, ostream i iostream, - podstawowe klasy operujące abstrakcyjnym "io" (plus strumienie standardowe) Iomanip - manipulatory strumieni Fstream - klasy operacji na plikach Sstream - klasy operacji na strumieniach tekstowych Cstdio - operacje "io" zgodne z biblioteką standardową C 11

Biblioteki - Operacje na tekstach Operacje na tekstach składają się z najróżniejszych operacji na tablicach znaków, implementowanych w różny sposób. Tu wyraźnie rozróżnia się typy tekstowe statyczne, czy też surowe (operujące tablicami surowymi i wskaźnikami) oraz typ string. cctype, cwctype i cwchar, - funkcje klasyfiujące pojedyncze znaki cstring, - funkcje do obsługi stringów surowych (tablic znaków) locale, clocale - obsługa internacjonalizacji 12

Biblioteki - Wyjątki Wyjątki oczywiście mogą być dowolnego typu, ale lepiej jest trzymać się pewnej konwencji hierarchizacji typów wyjątków. exception, - definiuje podstawowe elementy wyjątków: abstrakcyjną klasę exception oraz funkcje set_terminate i set_unexpected. stdexcept, - definiuje standardowe klasy wyjątków csetjmp, - definiuje funkcje obsługi sytuacji wyjątkowych w stylu C Źródło: C++ bez cholesterolu,: http://intercon.pl/~sektor/cbx/ 13

Komentarze W językach C i C++ mamy do dyspozycji trzy rodzaje komentarzy: komentarz jednowierszowy; komentarz wielowierszowy; komentarz wykonany za pomocą dyrektyw preprocesora. 14

programowania w C++ Zmienne (wstęp) 15

Zmienne Nazwa typu Zawartość Przedział wartości Zajęt. pamięć char znak -128 127 1 bajt int liczba całkowita -32768 32767 2 bajty long liczba całkowita -2147mln 2147mln 4 bajty float liczba rzeczyw. 10-38 10 38 (7cyfr) 4 bajty double liczba rzeczyw. 10-308 10 308 (15 cyfr) 8 bajtów 16

Zmienne Modyfikatory typu: signed ze znakiem (±), int char - unsigned bez znaku, int char - short krótka (mniejsza), int - - long długa (większa) int - double np. unsigned long int dluga_liczba_bez_znaku ; Wartości domyślne: long = long int int = signed int char = signed char 17

Zmienne Deklaracja zmiennej - informuje kompilator, że dana nazwa jest znana. Jednak pamięć dla obiektu nie zostaje przydzielona. Do obiektu nie możemy się odwoływać, nie możemy mu przypisywać wartości obiekt jeszcze nie istnieje. extern nazwatypu nazwazmiennej; Np.: extern int liczba; 18

Zmienne Definicja zmiennej - rezerwuje miejsce w pamięci dla danej zmiennej. Po zdefiniowaniu ze zmiennej możemy korzystać. nazwatypu Np.: nazwazmiennej; int liczba; Każda definicja jest jednocześnie deklaracją (ale nie odwrotnie). 19

Zmienne Inicjalizacja (inicjowanie) zmiennej - polega na przypisaniu wartości do danej zmiennej w momencie jej deklaracji nazwatypu nazwazmiennej = wartość; Np.: int liczba = 10; 20

programowania w C++ Operacje we/wy 21

Funkcje printf i scanf (proceduralnie, w C) Wysłanie informacji na zewnętrz (stand. ekran) printf ( lancuch formatujacy,zmienna_1,zmienna_2); Pobranie informacji z zewnętrz (stand. klawitura) scanf ( prototypy zmiennych,&zmienna_1,&zmienna_2); 22

Funkcje printf i scanf (proceduralnie, w C) Prototypy zmiennych dla funkcji printf i scantf %c - pojedynczy znak %s - łańcuch znaków %d - liczba dziesiętna ze znakiem %f - liczba zmiennoprzecinkowa (notacja dziesiętna) %e - liczba zmiennoprzecinkowa (notacja wykładnicza) %g - liczba zmiennoprzecinkowa (krótszy z formatów %f %e) %u - liczba dziesiętna bez znaku %x - liczba w kodzie szesnastkowym (bez znaku) %o - liczba w kodzie ósemkowym (bez znaku) l - przedrostek l (long) stosowany przed: d u x o 23

Funkcje printf i scanf (proceduralnie, w C) Znaki sterujące wypisywaniem tekstu (nie tylko dla printf) \b cofanie o 1 znak \f - nowa strona \n nowa linia \t tabulator \a sygnał dźwiękowy Jeśli jednak chcemy po prostu wypisać znak... \\ - bekslesz \ - apostrof \0 - znak o kosie zero \? - znak zapytania 24

Funkcje printf i scanf (proceduralnie, w C) 25

Klasy cout i cin (obiektowo w C++) Strumień to najprościej mówiąc jest to ciąg bajtów o nieokreślonej długości. Wyróżniamy trzy rodzaje strumieni: 1. Strumienie konsoli wczytanie z klawiatury i wypisanie na ekran 2. Strumienie plikowe 3. Strumienie napisów Do obsługi strumieni służą obiekty cin oraz cout Domyślnym strumieniem jest strumień konsoli, którym będziemy posługiwać się w tym wykładzie. 26

Klasy cout i cin (obiektowo w C++) Wyprowadzenie wartości do strumienia wyjściowego (stdout) cout << tekst ; cout << zmienna; Wczytanie ze strumienia wejściowego (stdin) cin >> zmienna; Prototypy cin i cout znajdują się w bibliotece iostream.h #include <iostream> 27

Klasy cout i cin (obiektowo w C++) 28 Hej tam. To jest 5: 5 Manipulator endl wypisuje nowa linie na ekranie. To jest bardzo duza liczba: 70000 To jest suma 8 i 5: 13 To jest ulamek: 0.625 I bardzo, bardzo duza liczba: 4.9e+007

programowania w C++ Instrukcje sterujące 29

Prawda - Fałsz W języku C++ nie ma osobnych zmiennych przechowujących dane typu prawda-fałsz. Tę rolę pełnić może każda zmienna, wyrażenie lub funkcja, która przyjmuje (lub zwraca) wartość zero lub różną od zera. Wartość zero - FAŁSZ Wartość inna niż zero - PRAWDA 30

Instrukcja warunkowa if if (wyrażenie) instrukcja; if (wyrażenie) instrukcja_1; else instrukcja_2; if (wyrażenie) { instrukcja_1; instrukcja_2; } else instrukcja_3; 31

Instrukcja warunkowa if Przykład: cin >> i; if (i!=0) cout << i rozne od zera ; else cout << i rowne zero ; Można i tak: cin >> i; if (i) cout << i rozne od zera ; else cout << i rowne zero ; 32

Instrukcja wyboru wielokrotnego switch switch (zmienna) { case wartosc_1: instrukcja_1; break; case wartosc_2: instrukcja_2; break; case wartosc_3: instrukcja_3; break; default: instrukcja_defaltowa; } 33

Instrukcja wyboru wielokrotnego switch 34

Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini - instrukcja wykonywana zanim pętla zotanie poraz pierwszy uruchomiona wyrazenie_warunkowe wyrażenie obliczane przed każdym obiegiem pętli. Jeżeli jest ono różne od zera, to pętla będzie dalej wykonywana instrukcja_krok instrukcja wykonywana po zakończeniu każdego obiegu pętli 35

Pętla for 36

Literatura: W prezentacji wykorzystano przykłady i fragmenty: Grębosz J. : Symfonia C++, Programowanie w języku C++ orientowane obiektowo, Wydawnictwo Edition 2000. Jakubczyk K.: Turbo Pascal i Borland C++ Przykłady, Helion. Warto zajrzeć także do: Sokół R. : Microsoft Visual Studio 2012 Programowanie w Ci C++, Helion. Kerninghan B. W., Ritchie D. M.: język ANSI C, Wydawnictwo Naukowo Techniczne. Dla bardziej zaawansowanych: Grębosz J. : Pasja C++, Wydawnictwo Edition 2000. Meyers S.: język C++ bardziej efektywnie, Wydawnictwo Naukowo Techniczne 37