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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

#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

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

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

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

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

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

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

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

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

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

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

#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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

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

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

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

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

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki 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

Informatyka 2. Informatyka 2. Wykład nr 1 (04.10.2008) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

Informatyka 2. Informatyka 2. Wykład nr 1 (04.10.2008) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2) Rok akademicki 2008/2009, Wykład nr 1 2/25 Dane podstawowe Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia (zaoczne) Rok akademicki

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

Pytania sprawdzające wiedzę z programowania C++ Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?

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 Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera

Bardziej szczegółowo

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Techniki Programowania wskaźniki

Techniki Programowania wskaźniki Techniki Programowania wskaźniki Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Wskaźniki Dla typu T zapis T* oznacza

Bardziej szczegółowo

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

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 11. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 11 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Łańcuchy znaków 2. Wprowadzanie i wyprowadzanie znaków w i łańcuchów

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Tablice wielowymiarowe inaczej Efekt tablicy wielowymiarowej można uzyskać definiując tablicę jednowymiarową odpowiedniego

Bardziej szczegółowo

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================

Bardziej szczegółowo

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 4

Programowanie komputerowe. Zajęcia 4 Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości

Bardziej szczegółowo

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

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

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

1 Wskaźniki. 1.1 Główne zastosowania wskaźników 1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować

Bardziej szczegółowo

Języki programowania - podstawy

Języki programowania - podstawy Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania

Bardziej szczegółowo

Wstęp do wskaźników w języku ANSI C

Wstęp do wskaźników w języku ANSI C Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,

Bardziej szczegółowo

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

Bardziej szczegółowo

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle! Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje

Bardziej szczegółowo

Struktury czyli rekordy w C/C++

Struktury czyli rekordy w C/C++ Struktury czyli rekordy w C/C++ Wprowadzenie do programowania w języku C struktury. pola bitowe, unie Struktury (rekordy) są złożonymi zmiennymi, składającymi się z elementów różnych typów zwanych polami,

Bardziej szczegółowo

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

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

Bardziej szczegółowo

Funkcje printf() i scanf() i operatory

Funkcje printf() i scanf() i operatory Funkcje printf() i scanf() i operatory Elwira Wachowicz elwira@ifd.uni.wroc.pl 4 kwietnia 2013 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Funkcje printf() i scanf() i operatory 4 kwietnia 2013 1 / 23 Łańcuch

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

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

Języki i metody programowania. Omówienie języków C, C++ i Java Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

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

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne

Bardziej szczegółowo

> C++ typy wyliczeniowe, struktury, unie, konwersje napis <-> liczba, formatowanie wyjścia

> C++ typy wyliczeniowe, struktury, unie, konwersje napis <-> liczba, formatowanie wyjścia > C++ typy wyliczeniowe, struktury, unie, konwersje napis liczba, formatowanie wyjścia Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1426512600 > Typy wyliczeniowe

Bardziej szczegółowo

Wprowadzenie do programowania w języku C

Wprowadzenie do programowania w języku C Wprowadzenie do programowania w języku C Część szósta Zmienne wskaźnikowe koncepcja, zastosowania, sztuczki i triki Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Techniki Programowania wskaźniki 2

Techniki Programowania wskaźniki 2 Techniki Programowania wskaźniki 2 Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Jeżeli wskaźnik pokazuje na element

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Programowanie w językach wysokiego poziomu

Programowanie w językach wysokiego poziomu Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie

Bardziej szczegółowo

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

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Stałe, tablice dynamiczne i wielowymiarowe

Stałe, tablice dynamiczne i wielowymiarowe Stałe, tablice dynamiczne i wielowymiarowe tylko do odczytu STAŁE - CONST tablice: const int dni_miesiaca[12]=31,28,31,30,31,30,31,31,30,31,30,31; const słowo kluczowe const sprawia, że wartość zmiennej

Bardziej szczegółowo