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

Wielkość: px
Rozpocząć pokaz od strony:

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

Transkrypt

1 dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 8 ( )

2 Plan prezentacji: instrukcje wejścia/wyjścia w C/C++ wskaźniki i ich zastosowanie dynamiczny przydział pamięci w C/C++

3 Instrukcje wejścia/wyjścia w C/C++ standardowe wyjście ekran, okno konsoli standardowe wejście - klawiatura instrukcje wejścia/wyjścia w języku C obsługa znaków obsługa łańcuchów znaków wejście i wyjście sformatowane instrukcje wejścia/wyjścia w języku C++ strumienie wejście, wyjście, błędy

4 Instrukcje wejścia/wyjścia w języku C obsługa znaków wyjście putchar() funkcja wyprowadzająca pojedynczy znak na standardowe wyjście składnia: int putchar(const char c); przykład: putchar('a'); putchar('\n'); char znak = '!'; putchar(znak);

5 Instrukcje wejścia/wyjścia w języku C obsługa znaków wejście getchar() funkcja przechwytująca znak podany na standardowe wejście i zwracająca go jako wynik; (analogicznie działa funkcja getch()) składnia: int getchar(void); przykład: char znak_z_klawiatury; znak_z_klawiatury = getchar();

6 Instrukcje wejścia/wyjścia w języku C obsługa łańcuchów znaków wyjście puts() funkcja wyprowadzająca łańcuch znaków na standardowe wyjście, dołączając po nim znak końca wiersza ('\n') składnia: int puts(const char *s); przykład: puts("oto komunikat jednoliniowy"); char napis[] = "A to inny komunikat"; puts(napis); //poprawna deklaracja

7 Instrukcje wejścia/wyjścia w języku C obsługa łańcuchów znaków wejście gets() funkcja przechwytująca łańcuch znaków podany na standardowe wejście; po odczytaniu znaku końca wiersza, zamienia go na znak '\0' składnia: char* gets(char *s); przykład: char wczytany_napis[50]; gets(wczytany_napis);

8 Instrukcje wejścia/wyjścia w języku C wyjście sformatowane printf() funkcja o zmiennej liczbie parametrów, wyświetlająca tekst na ekranie; gdy w łańcuchu sterującym znajduje się sekwencja %znak, w to miejsce trafia wartość kolejnego parametru. składnia: printf("łańcuch sterujący", param1, param2, ); przykłady: printf("oto różne sposoby wywołania funkcji: \n"); printf("średnia = %d \n", suma/n); printf("pierwiastek = %f \n", sqrt(suma));

9 Instrukcje wejścia/wyjścia w języku C składnia specyfikatora formatu - %znak specyfikator = %[znacznik][szerokość][.precyzja][modyfikator]typ [znacznik] "+" przed liczbą pojawi się jej znak "-" wyrównanie wyświetlanych znaków do lewej strony " " (spacja) przed liczbą pojawią się spacje "0" przed liczbą pojawią się dodatkowe zera "#" przed liczbą ósemkową pojawi się dodatkowe zero (0), a przed szesnastkową " 0x" [szerokość] określa minimalną liczbę wyświetlanych znaków; jeśli znaków jest mniej z lewej strony pojawią się spacje, jeśli więcej ograniczenie szerokości jest ignorowane

10 Instrukcje wejścia/wyjścia w języku C składnia specyfikatora formatu - %znak [.precyzja] typ określa liczbę cyfr znaczących po kropce dziesiętnej określa rodzaj i typ przekazywanego argumentu d, i liczba całkowita dziesiętna ze znakiem u liczba całkowita dziesiętna bez znaku x, X liczba całkowita szesnastkowa bez znaku o liczba całkowita ósemkowa bez znaku f liczba rzeczywista w postaci [-]ddd.ddd e, E liczba rzeczywista w formacie wykładniczym g liczba rzeczywista (wybór formatu zależy od precyzji) s łańcuch znaków c pojedynczy znak

11 Instrukcje wejścia/wyjścia w języku C składnia specyfikatora formatu - %znak [modyfikator] modyfikuje podstawowy typ określony przez znak typu h hh l ll L dla specyfikatora całkowitego oznacza short int (%hd) lub unsigned short int (%hu) dla specyfikatora całkowitego oznacza signed char (%hhd) lub unsigned char (%hhu) dla specyfikatora całkowitego oznacza long int (%ld) lub unsigned long int (%lu) dla specyfikatora całkowitego oznacza long long int (%lld) lub unsigned long long int (%llu) oznacza wartość rzeczywistą typu long double

12 Instrukcje wejścia/wyjścia w języku C wyjście sformatowane printf() uwagi specyfikator wpływa jedynie na wyświetlanie danej wartości, a nie na sposób jej przechowywania w pamięci komputera aby wyświetlić na ekranie znak '%', w łańcuchu sterującym wpisz %% aby wyświetlić na ekranie znak '\', w łańcuchu sterującym wpisz \\ znaki sterujące (przypomnienie): \t tabulator \n przejście do nowego wiersza \r powrót na początek bieżącego wiersza \a alarm (sygnał dźwiękowy)

13 Instrukcje wejścia/wyjścia w języku C wyjście sformatowane printf() przykłady float pipi = 3.14; printf("%010.1f",pipi); printf("%+1.6f",pipi); printf("%.4e",pipi); e+000 int liczba = 21; printf("%#x",liczba); 0x15 printf("%#o",liczba); 025

14 Instrukcje wejścia/wyjścia w języku C wejście sformatowane scanf() funkcja o zmiennej liczbie parametrów, pobierająca wartości z klawiatury; każda sekwencja %znak w łańcuchu sterującym oznacza wartość, która zostanie pobrana i trafi do zmiennej, której adres jest kolejnym parametrem. składnia: scanf("łańcuch sterujący", adr_par1, adr_par2, ); przykład: int liczba; char znaki[50]; printf("podaj liczbę całkowitą i łańcuch znaków"); scanf("%d %s", &liczba, znaki);

15 Instrukcje wejścia/wyjścia w języku C składnia specyfikatora formatu - %znak specyfikator = %[szerokość][modyfikator]typ [szerokość] określa, ile znaków zostanie przeczytanych typ określa rodzaj i typ argumentu d, D liczba całkowita dziesiętna (typ int lub long) o, O liczba całkowita ósemkowa (typ int lub long) x, X liczba całkowita szesnastkowa (typ int lub long) i, I liczba całkowita (różne systemy) (typ int lub long) u, U liczba całkowita dziesiętna bez znaku, typ unsigned (int lub long)

16 Instrukcje wejścia/wyjścia w języku C składnia specyfikatora formatu - %znak f, e, E liczba rzeczywista, typ float g, G liczba rzeczywista, typ float s łańcuch znaków c pojedynczy znak, typ char [modyfikator] zmienia podstawowy typ, określony przez znak typu l L h zmienia wszystkie typy całkowite na ich długie wersje; zastosowany do znaków typu f, e, E, g,g zmienia typ na double zastosowany do znaków typu f, e, E, g,g zmienia typ na long double zmienia typy całkowite na short

17 Instrukcje wejścia/wyjścia w języku C wejście sformatowane scanf() uwagi parametry, do których wczytane zostaną wartości, muszą być przekazane w formie adresów dlatego wczytując liczby lub pojedyncze znaki, przed parametrem dodajemy operator pobrania adresu & wczytywanie łańcucha znaków nie wymaga tego operatora, ponieważ nazwa tablicy jest adresem jej pierwszego elementu podczas wczytywania ignorowane są tzw. białe znaki (spacja, tabulator, enter)

18 Instrukcje wejścia/wyjścia w języku C++ uwagi ogólne operacje wejścia/wyjścia w C++ oparte zostały na strumieniach strumień = transfer danych od źródła do ujścia obsługa strumieni zrealizowana jest na zasadzie klas i zdefiniowana w bibliotece iostream #include <iostream> //bez.h w nazwie strumienie w C++ cout (Console OUTput) związany ze standardowym wyjściem (ekran) cin (Console INput) związany ze standardowym wejściem (klawiatura) cerr (Console ERRor) i clog (Console LOGger) związane ze standardowym wyjściem diagnostycznym niebuforowany i buforowany

19 Instrukcje wejścia/wyjścia w języku C++ przestrzeń nazw pełna postać odwołania do strumieni wyjścia i wejścia to std::cout i std::cin std:: oznacza, że instrukcje pochodzą z przestrzeni nazw std, zawartej w bibliotece standardowej aby skrócić ścieżkę dostępu, umieszczamy w sekcji nagłówkowej dyrektywę: using namespace std; operatory przekierowania strumieni << - operator wysyłający dane do strumienia >> - operator odbierający dane ze strumienia endl przejście do nowego wiersza, odpowiednik "\n" z języka C

20 Instrukcje wejścia/wyjścia w języku C++ wyświetlanie danych ogólne zasady liczby całkowite wyświetlane w systemie dziesiętnym zmienne typów char i unsigned char wyświetlane jako pojedyncze znaki liczby zmiennoprzecinkowe wyświetlane z dokładnością do 6 cyfr wskaźniki wyświetlane są w systemie szesnastkowym zmienne typu char* wyświetlane jako łańcuchy znaków wczytywanie danych ogólne zasady białe znaki (spacja, tabulator, enter) są ignorowane liczby wczytywane w systemie dziesiętnym liczby wczytywane są do napotkania nie-cyfry łańcuchy znaków wczytywane są do pierwszego białego znaku

21 Instrukcje wejścia/wyjścia w języku C++ przykłady int a = 21; float b = ; char napis[20] = "Wynik"; cout << napis << endl; Na ekranie: Wynik cout << napis << a<< " " << b << endl; Na ekranie: Wynik cout << napis << ": " << a << "*" << b << "=" << (a*b) << endl; Na ekranie: Wynik: 21* =

22 Instrukcje wejścia/wyjścia w języku C++ przykłady int a, b; float c; char napis[20]; cin >> a; cin >> a >> b; cin >> a >> c; cin >> napis; //wczyta jedną liczbę całkowitą //wczyta dwie liczby całkowite //wczyta liczbę całkowitą i liczbę rzeczywistą //wczyta łańcuch znaków

23 Instrukcje wejścia/wyjścia w języku C++ manipulatory specjalne wartości, które po umieszczeniu w strumieniu zmieniają sposób formatowania danych działają trwale (oprócz setw), czyli do użycia innego manipulatora zmiana systemu liczbowego przy wyświetlaniu/wczytywaniu hex system szesnastkowy dec system dziesiętny (domyślnie) oct system ósemkowy zmiana notacji fixed notacja dziesiętna scientific notacja wykładnicza (naukowa)

24 Instrukcje wejścia/wyjścia w języku C++ wyświetlanie kropki dziesiętnej i nieznaczących zer showpoint pokazuje kropkę dziesiętną i nieznaczące zera (domyślnie) noshowpoint nie pokazuje kropki i nieznaczących zer wyświetlanie znaku liczby dodatniej showpos wyświetla znak liczby dodatniej noshowpos nie wyświetla znaku liczby dodatniej wyświetlanie podstawy systemu liczbowego showbase wyświetla 0x na początku liczby szesnastkowej oraz 0 na początku liczby ósemkowej noshowbase nie wyświetla podstawy systemu

25 Instrukcje wejścia/wyjścia w języku C++ przykłady int x = 10, y = 100; cout << x << " " << hex << x << " " << oct << x << endl; 10 A 12 cout << y << endl; 144 //nadal aktywny format ósemkowy float a = 21; cout << showpoint << a << " " << noshowpoint << a; cout << showpos << a << " " << noshowpos << a; cout << hex << a << " " << showbase << a; 15 0x15 float a = ; cout << fixed << a << endl; cout << scientific << a << endl; e+002

26 Instrukcje wejścia/wyjścia w języku C++ manipulatory z biblioteki <iomanip> setprecision(int) określa precyzję wyświetlania liczb zmiennoprzecinkowych dla fixed ilość miejsc po kropce dla scientific dokładność mantysy setw(int) ustawia szerokość wyświetlania liczb lub wczytywania tekstów (działa tylko w najbliższej instrukcji wejścia/wyjścia) setfill(char) ustawia znak wypełnienia cout << setw(10) << setfill('%') << 121; %%%%%%%121

27 Wskaźniki i ich zastosowanie W języku C/C++ mogą istnieć zmienne zawierające adres jakiegoś obszaru w pamięci (zmienne wskaźnikowe)

28 Wskaźniki i ich zastosowanie Cztery domeny zastosowania wskaźników: tworzenie i przetwarzanie dynamicznych struktur danych ulepszone zarządzanie blokami pamięci, łańcuchami i tablicami przekazywanie parametrów do funkcji tak, aby mogły w funkcji ulec zmianie dostęp do specjalnych komórek pamięci

29 Wskaźniki i ich zastosowanie Deklarowanie zmiennych wskaźnikowych: char *wsk_znak; //wskaźnik na znak int *wsk_lcalk; //wskaźnik na liczbę całkowitą double *wsk_lrzecz; //wskaźnik na liczbę rzeczywistą char *tab_wsk[10]; //10-elem. tablica wskaźników na char char (*wsk_tab)[10]; //wskaźnik na tablicę 10 znaków int **wsk_wsk_lcalk; //wskaźnik na wskaźnik na typ int

30 Wskaźniki i ich zastosowanie Odwołanie do zmiennych char znak = 'a'; wsk_znak = &znak; int liczba = 89; wsk_lcalk = &liczba; double liczba_rz = 3.14; wsk_lrzecz = &liczba_rz; Na etapie deklaracji: int* wsk = &liczba; *wsk_znak = 'b'; //równoważne znak = 'b'; *wsk_lcalk = 1924; //równoważne liczba = 1924; *wsk_lrzecz = 2.71; //równoważne liczba_rz = 2.71;

31 Wskaźniki i ich zastosowanie Arytmetyka wskaźników: dodawanie i odejmowanie od nich liczb naturalnych odejmowanie dwóch wskaźników wskazujących na tę samą tablicę porównywanie wskaźników (operatory relacyjne) Obsługa tablic za pomocą wskaźników int tab[20]; tab[9] = 10; *(tab+9) = 10; //deklaracja tablicy //odwołanie za pomocą typowego operatora //równoważne odwołanie za pomocą wskaźnika

32 Wskaźniki i ich zastosowanie Obsługa tablic wielowymiarowych za pomocą wskaźników int tab[2][4]; //deklaracja tablicy dwuwymiarowej Dostępne są różne sposoby odwołań: tab[1][2] = 100; //odwołanie za pomocą typowych operatorów *(tab+6) = 100; //przesunięcie względem początku tablicy *(*(tab+1)+2) = 100; //przesunięcie względem wskaźnika drugiego wiersza 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1, X pamięć operacyjna

33 Dynamiczny przydział pamięci w C/C++ pamięć w sposób dynamiczny przydzielamy wtedy, gdy rozmiar tablicy nie jest ustalony podczas kompilacji, a dopiero później Pamięć dostępna dla programu obszary: miejsce na kod programu miejsce na dane statyczne (stałe i zmienne globalne) stos (STACK) miejsce na dane automatyczne (zmienne lokalne funkcji) sterta (HEAP) miejsce na dane dynamiczne (pamięć przydzielana i zwalniana przez użytkownika)

34 Dynamiczny przydział pamięci w C Przydzielanie pamięci: calloc() przydziela pamięć dla tablicy malloc() przydziela pamięć dla zmiennej (ogólnie) Zwalnianie pamięci free() zwalnia blok pamięci przydzielony dynamicznie Zmiana rozmiaru przydzielonej pamięci realloc() zwalnia częściowo przydzieloną wcześniej pamięć i przydziela zmiennej nowy obszar pamięci, o innej długości Pamięć nie jest automatycznie zwalniana w trakcie działania programu, a dopiero po jego zakończeniu!

35 Dynamiczny przydział pamięci w C Przydzielenie bloku pamięci dla tablicy: void* calloc(int n, int rozmiar); przydziela blok pamięci o rozmiarze n*rozmiar (specjalnie dla n-elementowej tablicy) i zwraca wskaźnik do tego bloku w przypadku błędu zwraca NULL (wskaźnik pusty) przydzielona pamięć jest inicjowana bitowo zerami Przydzielenie bloku pamięci dla zmiennej (ogólnie): void* malloc(int rozmiar); przydziela blok pamięci o rozmiarze określonym parametrem rozmiar i zwraca wskaźnik do tego bloku w przypadku błędu zwraca NULL (wskaźnik pusty) przydzielona pamięć nie jest inicjowana

36 Dynamiczny przydział pamięci w C Zwolnienie pamięci: void* free(void *wskaznik); zwalnia blok pamięci wskazywany przez wskaznik wartość zmiennej wskaznik musi być wynikiem wcześniejszego użycia funkcji malloc() lub calloc() Zmiana rozmiaru przydzielonej pamięci: void* realloc(void* wskaznik, int nowy_rozmiar); zmienia rozmiar przydzielonego wcześniej bloku pamięci, wskazywanego przez wskaznik, do rozmiaru określonego przez parametr nowy_rozmiar bajty poprzednio zajęte przez zmienną nie ulegają zmianie w przypadku przydziału większego obszaru pamięci

37 Dynamiczny przydział pamięci w C przykład 1 float *liczba, *tablica; int n; liczba = (float*) malloc(sizeof(float)); //przydział pamięci pojedynczej zmiennej printf("podaj ilość elementów tablicy: \n"); scanf("%d",&n); rzutowanie na odpowiedni typ rzutowanie na odpowiedni typ tablica = (float*) calloc(n,sizeof(float)); //przydział pamięci dla tablicy if ((liczba == NULL) (tablica == NULL)) //kontrola błędów przydziału pamięci { printf("nie przydzielono pamięci!"); exit (-1); }}

38 Dynamiczny przydział pamięci w C przykład 1 *liczba = 21; //przypisanie wartości z operatorem wyłuskiwania for (i=0; i<n; i++) { printf("podaj %d element tablicy: \n", i+1); scanf("%f",(tab+i)); //nazwa tablicy jest adresem, i jest przesunięciem } free(liczba); free(tablica); //zwolnienie pamięci zmiennej //zwolnienie pamięci tablicy

39 Dynamiczny przydział pamięci w C przykład 2 Macierz trójkątna o boku 4 const int R=4; int i; int **tab; int* int* int* int int int int int int int int int tab = (int**) calloc(r, sizeof(int*); for (i=0;i<r;i++) tab[i] = (int*) calloc(r-i, sizeof(int); int* int for (i=0;i<r;i++) for (j=0;j<r-i-1;j++) *(*(tab+i)+j) = i+j;

40 Dynamiczny przydział pamięci w C++ Przydzielanie pamięci: new operator przydziału pamięci <wskaźnik> = new <typ> [parametry]; Zwalnianie pamięci delete operator zwolnienia pamięci delete [parametry]<wskaźnik>; int *wskaznik; wskaznik = new int; *wskaznik = 1294; delete wskaznik; int ile, *tablica; tablica = new int[ile] delete []tablica;

41 Dziękuję za uwagę. KOLOKWIUM nr 1: 29 kwietnia 2015 AULA 23C, Wydział Informatyki Zapraszam!

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

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2

Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to

Bardziej szczegółowo

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

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 2 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Liczby Korzystanie z liczn C++ zna różne rodzaje liczb (różne typy liczbowe) i potrafi wykonywać na nich różne operacje

Bardziej szczegółowo

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom). Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3, WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)

Bardziej szczegółowo

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

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

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

Operacje wejścia/wyjścia odsłona pierwsza Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

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

Język C++ Różnice między C a C++ Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Struktury, unie, formatowanie, wskaźniki

Struktury, unie, formatowanie, wskaźniki Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej

Bardziej szczegółowo

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17 Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory 1 Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

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

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

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

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 1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne

Bardziej szczegółowo

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

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania Rok akademicki 2013/2014, Pracownia nr 10 2/20 Informatyka 1 Tablica elementów ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu Politechnika Białostocka - Wydział Elektryczny Elektrotechnika,

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi

Bardziej szczegółowo

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:

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: 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: typ nw; /* definicja zmiennej nw typu typ */ typ *w_nw; /* definicja

Bardziej szczegółowo

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

#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 ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty

Bardziej szczegółowo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

tablica: dane_liczbowe

tablica: dane_liczbowe TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica

Bardziej szczegółowo

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

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami: Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie

Bardziej szczegółowo

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

Bardziej szczegółowo

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

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe Wstęp do programowania obiektowego Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe 1 PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI W C++ 2 W C++

Bardziej szczegółowo

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki > C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1429536600 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Tablice, funkcje - wprowadzenie

Tablice, funkcje - wprowadzenie Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład

Bardziej szczegółowo

Wskaźniki w C. Anna Gogolińska

Wskaźniki w C. Anna Gogolińska Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

Bardziej szczegółowo

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

// Liczy srednie w wierszach i kolumnach tablicy dwuwymiarowej // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib. Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy

Bardziej szczegółowo

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

#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 ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

KURS C/C++ WYKŁAD 5. Typ wyliczeniowy enum

KURS C/C++ WYKŁAD 5. Typ wyliczeniowy enum Typ wyliczeniowy enum KURS C/C++ WYKŁAD 5 Istnieje inna często wygodniejsz niż deklaracja const metoda nazywania stałych całkowitych Deklaracja: enum {WRITE, READ, DELETE); definiuje trzy stałe całkowite

Bardziej szczegółowo

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

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 2 Stałe całkowite inne niż dziesiętne Stałe ósemkowe Stałe szesnastkowe Aby wskazać czy dane maj a

Bardziej szczegółowo

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

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

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

Biblioteka standardowa - operacje wejścia/wyjścia

Biblioteka standardowa - operacje wejścia/wyjścia Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline

Bardziej szczegółowo

Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)

Bardziej szczegółowo

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

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

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki Typy wyliczeniowe Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Typy wyliczeniowe Służą do łatwiejszej kontroli nad stałymi Ustawianie parametrów o ściśle określonym zbiorze wartości

Bardziej szczegółowo

KURS C/C++ WYKŁAD 6. Wskaźniki

KURS C/C++ WYKŁAD 6. Wskaźniki Wskaźniki KURS C/C++ WYKŁAD 6 Każda zmienna ma unikalny adres wskazujący początkowy obszar pamięci zajmowany przez tą zmienną. Ilość pamięci zajmowanej przez zmienną zależy od typu zmiennej. Adres można

Bardziej szczegółowo

Język C++ zajęcia nr 1

Język C++ zajęcia nr 1 I. Programowanie obiektowe Język C++ zajęcia nr 1 Zasadniczą cechą programowania obiektowego jest łączne rozpatrywanie zagadnień dotyczących algorytmów i struktur danych. Wyrazem tego jest zmiana w sposobie

Bardziej szczegółowo

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst

Bardziej szczegółowo

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

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski Wykład 2 Wejście i wyjście - funkcje scanf i printf Operator przypisania prostego Operatory arytmetyczne Kolejność wykonywania operacji Operatory przypisania arytmetycznego Operatory inkrementacji/dekrementacji

Bardziej szczegółowo

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

Bardziej szczegółowo

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

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017 > C++ wskaźniki Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017 >??? Co to jest WSKAŹNIK? ++ wskaźniki 2 / 20 >??? Co to jest WSKAŹNIK? To po prostu ADRES

Bardziej szczegółowo

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Zmienne i struktury dynamiczne

Zmienne i struktury dynamiczne Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Programowanie obiektowe W3

Programowanie obiektowe W3 Programowanie obiektowe W3 Przegląd typów strukturalnych w C++ : tablice statyczne i dynamiczne Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Typy złożone: tablice

Bardziej szczegółowo

Język C i C++. Podstawy. Zagadnienia do opanowania. Przykład 1. (modyfikuj kod, aby zrealizować punkty 5., 7.)

Język C i C++. Podstawy. Zagadnienia do opanowania. Przykład 1. (modyfikuj kod, aby zrealizować punkty 5., 7.) Język C i C++. Podstawy Materiały do samodzielnego opanowania, ale także propozycja zadań na zajęcia laboratoryjne Zagadnienia do opanowania 1) Czym jest standardowe wejście-wyjście (stdio)? 2) Czym może

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury

typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;

Bardziej szczegółowo

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster Wykład nr 3 Temat: Wskaźniki i referencje. Cytaty: Mylić się jest rzeczą ludzką, ale żeby coś naprawdę spaprać potrzeba komputera. Edward Morgan Forster Gdyby murarze budowali domy tak, jak programiści

Bardziej szczegółowo

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

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

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty

Bardziej szczegółowo

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

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

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

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka

Bardziej szczegółowo

Programowanie obiektowe w C++ Wykład 1

Programowanie obiektowe w C++ Wykład 1 Programowanie obiektowe w C++ Wykład 1 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) POwCPP 1 / 24 Literatura Prata Stephen, Szkoła programowania. Język C++. Wydawnictwo Helion,

Bardziej szczegółowo

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

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

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

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119 Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 2 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Inicjalizacja zmiennych Zmiennej możemy nadać wartość już w momencie jej definiowania (inicjalizacja zmiennej). Przypisywana

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 1 Literatura Literatura podstawowa: Prata Stephen. Szkoła programowania. Język C++. Wydanie V. Helion,

Bardziej szczegółowo

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Podstawy programowania w C++

Podstawy programowania w C++ Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout

Bardziej szczegółowo

Podstawy programowania komputerów

Podstawy programowania komputerów Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych

Bardziej szczegółowo

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia

Bardziej szczegółowo