Wskaźniki, funkcje i tablice
|
|
- Kamil Majewski
- 6 lat temu
- Przeglądów:
Transkrypt
1 , funkcje i tablice Zak lad Chemii Teoretycznej UJ 20 listopada 2008
2 wielowymiarowe wielowymiarowe, funkcje i tablice
3 Czym sa wskaźniki? Plan wielowymiarowe Zmienne wskaźnikowe wskazuja na inne zmienne (obiekty) wartościa zmiennej wskaźnikowej(wskaźnika) jest adres obszaru pamieci zajmowanego przez jakaś zmienna (obiekt) wskaźnik należy do konkretnego typu (typu wskazywanego obiektu) wartościa wskaźnika może być adres pusty, funkcje i tablice
4 wielowymiarowe Definicja zmiennej wskaźnikowej i n t * i p ; // i p j e s t w skaznikiem na zmienna typu i n t double *ap, *bp, *cp ; // w s k a z n i k i na zmienne typu d o u b l e unsigned *a, b, c ; // b i c to zmienne typu unsigned, n i e w s k a z n i k i!, funkcje i tablice
5 wielowymiarowe Operator adresu & Zastosowany do zmiennej (obiektu) zwraca jej (jego) adres i n t i = ; i n t *wi = &i ; // wi w s k a z u j e t e r a z na zmienna i i n t *wi2 = wi ; // wi2 r o w n i e z i n t *wi3 = &wi ; // b l e d n e i n t **wi3 = &wi ; // poprawne, wi3 to wskaznik do wskaznika do zmiennej typu i n t i n t *wi4 = i ; // pod a d r e s n i e mozna p r z y p i s a c po p r o s t u w a r t o s c i typu i n t, funkcje i tablice
6 wielowymiarowe Operator wy luskania (adresowania pośredniego) Zastosowany do wskaźnika zwraca zawartość zmiennej (obiektu) wskazywanego przez ten wskaźnik i n t i = ; i n t *wi = &i ; i n t k = *wi ; // k ma t e r a z t a sama w a r t o s c co i /* k i l k a o p e r a c j i na z m i e n n e j wskazywanej p r z e z wi */ *wi = k + 1 ; *wi = abs (* wi ) ; *wi = *wi + 1 ; *wi = *wi + 2 ; // z w i e k s z a w a r t o s c z m i e n n e j wskazywanej p r z e z wi wi = wi + 2 ; // z w i e k s z a w a r t o s c w s k a z n i k a ( a d r e s u ), funkcje i tablice
7 void* Plan wielowymiarowe Wskaznik do typu void: może przechowywać adres zmiennej dowolnego typu nie można go stosować do adresowania pośredniego konwersja z(do) wskaźników innego typu jest automatyczna i n t i = ; v o i d *wv = &i ; // poprawne, konwersja do void* i n t * i p ; double * jp ; ip = wv ; // poprawne, konwersja z void* jp = ip ; // blad, wskazniki roznych typow jp = ( double *) ip ; // poprawne ( jawna konwersja ), funkcje i tablice
8 wielowymiarowe Arytmetyka dla wskaźników i liczby ca lkowite nie moga być stosowane zamiennie double *a ; i n t i = ; a = i ; // b l a d a = 0 ; // poprawne : wyjatek, 0 r e p r e z e n t u j e p u s t y a d r e s a = NULL ; // poprawne : j a k wyzej a = a + 1 ; /* adres zwiekszony o l i c z b e bajtow zajmowanych p r z e z j e d n a l i c z b e typu d o u b l e */ a = a 10; /* adres zmniejszony o l i c z b e bajtow zajmowanych p r z e z d z i e s i e c l i c z b typu d o u b l e */ double j = *a++; /* pod j podstaw w a r t o s c z m i e n n e j wskazywanej p r z e z a i z w i e k s z w s k a z n i k o 1 */, funkcje i tablice
9 wielowymiarowe Sta le wskaźniki i wskaźniki do sta lych i n t i ; c o n s t i n t k = 2 ; i n t * c o n s t wi = &i ; /* wi to s t a l y w s k a z n i k do z m i e n n e j typu i n t j e g o w a r t o s c ( przechowywany a d r e s ) n i e moze u l e c zmianie, c z y l i zawsze bedzie wskazywal na zmienna i */ c o n s t i n t *wi2 = &i ; /* wi2 to w s k a z n i k do s t a l e j typu i n t */ c o n s t i n t *wi3 = &k ; /* wi3 to t e z w s k a z n i k do s t a l e j typu i n t, co prawda k n i e j e s t s t a l a, a l e n i e mozna zmienic wartosci k za pomoca tego wskaznika, kazda zmienna na jaka wskazuje t a k i wskaznik j e s t dla niego s t a l a */ c o n s t i n t * c o n s t wi4 = &k ; /* s t a l y w s k a z n i k do s t a l e j typu i n t */, funkcje i tablice
10 wielowymiarowe Podzia l programu na funkcje Każdy program w C zawiera przynajmniej jedna funkcje, która jest funkcja main. Po co w ogóle wydzielać inne fragmenty jako funkcje? przejrzystość, jeśli pewien ciag operacji tworzy logiczna ca lość, wyodrebnienie go jako funkcji u latwia zrozumienie treści programu i poprawia jego strukture wygoda, jeśli pewien ciag operacji jest powtarzany wielokrotnie na różniacych sie od siebie wartościami argumentach, wyodrebnienie go w postaci funkcji pozwala uniknać powtarzania prawie identycznego kodu przenośność i możliwość wielokrotnego wykorzystania, funkcje można skompilować do osobnych plików (czy stworzyć biblioteki) i do l aczać do tworzonych programów w razie potrzeby, funkcje i tablice
11 wielowymiarowe Definicja funkcji /* t y p z w r a c a n e j w a r t o s c i nazwa ( l i s t a d e k l a r a c j i a r g u m e n t o w ) { */ i n t mojabs ( i n t a ) { r e t u r n ( a < 0? a : a ) ;, funkcje i tablice
12 wielowymiarowe Deklaracje funkcji Użycie funkcji wymaga jej wcześniejszego zadeklarowania. Deklaracj e stanowi również sama definicja funkcji. // w e r s j a p i e r w s z a #i n c l u d e <s t d i o. h> i n t min ( i n t a, i n t b ) { // d e f i n i c j a p e l n i r o l e d e k l a r a c j i r e t u r n ( a < b? a : b ) ; i n t main ( ) { i n t x = 2, y = 4 ; p r i n t f ( %d, min ( x, y ) ) ; r e t u r n 0 ;, funkcje i tablice
13 wielowymiarowe Deklaracje funkcji II /* d e k l a r a c j a : t y p z w r a c a n e j w a r t o s c i n a z w a f u n k c j i ( l i s t a t y p o w a r g u m e n t o w z o p c j o n a l n y m i n a z w a m i ) */ // w e r s j a druga #i n c l u d e <s t d i o. h> i n t min ( i n t, i n t ) ; // d e k l a r a c j a i n t main ( ) { i n t x = 2, y = 4 ; p r i n t f ( %d, min ( x, y ) ) ; r e t u r n 0 ; i n t min ( i n t a, i n t b ) { r e t u r n ( a < b? a : b ) ;, funkcje i tablice
14 wielowymiarowe Specjalne deklaracje /* funkcja o konkretnej, a l e nieznanej w momencie deklarowania l i c z b i e i t y p i e argumentow */ i n t f o o ( ) ; /* f u n k c j a o z e r o w e j l i c z b i e argumentow */ i n t f o o ( v o i d ) ; /* p i e r w s z y argument f u n k c j i j e s t typu c h a r *, moga t e z p o j a w i c s i e i n n e argumenty o nieznanym a p r i o r i t y p i e i l i c z b i e */ i n t p r i n t f ( char *,... ) ; Standardy wcześniejsze niz C99 dopuszczaja domyślna deklaracje. /* min nie zadeklarowane, domyslna d e k l a r a c j a ma p o s t a c i n t min ( ) ; */ i n t main ( ) { i n t x = 2, y = 4 ; p r i n t f ( %d, min ( x, y ) ) ; r e t u r n 0 ;, funkcje i tablice
15 wielowymiarowe Deklarowanie funkcji jako inline Deklarowanie funkcji jako inline jest sugestia dla kompilatora, żeby zastapi l w kodzie wywo lania funkcji jej rozwiniet a treścia. #i n c l u d e <s t d i o. h> i n l i n e i n t min ( i n t, i n t ) ; // d e k l a r a c j a f u n k c j i typu i n l i n e i n t main ( ) { i n t x = 2, y = 4 ; p r i n t f ( %d, min ( x, y ) ) ; r e t u r n 0 ; i n t min ( i n t a, i n t b ) { r e t u r n ( a < b? a : b ) ; /* Funkcja main po r o z w i n i e c i u */ i n t main ( ) { i n t x = 2, y = 4 ; p r i n t f ( %d, ( x < y? x : y ) ) ; r e t u r n 0 ;, funkcje i tablice
16 wielowymiarowe Przekazywanie argumentów do funkcji Argumenty sa przekazywane do funkcji zawsze przez wartość. Oznacza to, że w momencie wywo lania tworzone sa lokalne kopie przekazanych zmiennych(obiektów), które sa używane wewnatrz funkcji. v o i d swap ( i n t a, i n t b ) { i n t tmp = a ; a = b ; b = tmp ; v o i d s w a p c o r r e c t e d ( i n t *a, i n t *b ) { i n t tmp = *a ; *a = *b ; *b = tmp ; i n t main ( ) { i n t x = 2, y = 4 ; swap ( x, y ) ; p r i n t f ( %d %d, x, y ) ; // w y p i s z e : 2 4 swap corrected (&x, &y ) ; p r i n t f ( %d %d, x, y ) ; // w y p i s z e : 4 2 r e t u r n 0 ;, funkcje i tablice
17 wielowymiarowe Użycie zmiennych zewn etrznych w celu przekazania argumentów Pewnym sposobem przekazania argumentów do funkcji jest użycie zmiennych zewn etrznych. i n t x = 2, y = 4 ; v o i d swap ( ) { i n t tmp = x ; x = y ; y = tmp ; i n t main ( ) { swap ( ) ; r e t u r n 0 ; Stanowi to zazwyczaj również świetny sposób na uczynienie kodu mniej odpornym na b l edy., funkcje i tablice
18 wielowymiarowe Wejście i wyjście z funkcji Wejście do funkcji nastepuje w chwili napotkania instrukcji nazwa funkcji(lista argumentów). Wyjście z funkcji nastepuje w momencie napotkania instrukcji return wyrazenie; badź nawiasu klamrowego ja kończacego. Funkcja zadeklarowana jako zwracajaca wartość powinna we wszystkich punktach wyjścia być zaopatrzona w instrukcje return wyrazenie; (wymóg od standardu C99). double min ( double a, double b ) { r e t u r n ( a < b? a : b ) ; double min ( double a, double b ) { i f ( a < b ) r e t u r n a ; e l s e r e t u r n b ; v o i d swap ( double *a, double *b ) { i n t tmp = *a ; *a = *b ; *b = tmp ; r e t u r n 0 ; // b l a d, funkcje i tablice
19 Rekurencja Plan wielowymiarowe Funkcja rekurencyjna, to taka, która bezpośrednio lub pośrednio wywo luje sama siebie. // n! unsigned l o n g s i l n i a ( i n t n ) { i f ( n > 1) r e t u r n n * s i l n i a ( n 1 ) ; r e t u r n n ; // n a j w i e k s z y wspolny d z i e l n i k i n t nwd ( i n t m, i n t n ) { i f (! n ) r e t u r n n ; r e t u r n nwd ( n, m % n ) ; Rekurencyjnie czy iteracyjnie? krótszy i prostszy kod zazwyczaj mniej efektywne wykonanie, funkcje i tablice
20 Typ tablicowy Plan wielowymiarowe Tablica Zajmujacy spójny obszar w pamieci zestaw zmiennych (obiektów) tego samego typu. Poszczególne zmienne(obiekty) nie maja nazw a dostep do nich jest możliwy przez indeks. Pierwszy element tablicy ma indeks równy zeru. i n t i ; // p o j e d y n c z a zmienna typu i n t i n t t i [ 1 0 ] ; // d z i e s i e c i o e l e m e n t o w a t a b l i c a zmiennych typu i n t i = t i [ 2 ] ; // i ma t e r a z w a r t o s c t r z e c i e g o elementu t a b l i c y t i [ 7 ] = i ; // zmodyfikowany osmy e l e m e n t, funkcje i tablice
21 wielowymiarowe Definicja tablicy specyfikator typu nazwa[rozmiar] Rozmiar powinien być wyrażeniem sta lym typu ca lkowitego (z zastrzeżeniem, że standard C99 wprowadza tablice o dynamicznie ustalanym rozmiarze). Definicja tablicy może zawierać jej inicjalizacj e. Rozmiar w pewnych sytuacjach nie musi być podawany, kompilator odgaduje go na podstawie dokonanej inicjalizacji. i n t t i [ 1 0 ] ; //10 elementowa t a b l i c a c o n s t i n t s i z e = 3 ; i n t wi [ s i z e ] = {0, 1, 2 ; /* z a i n i c j a l i z o w a n a : wi [ 0 ] = 0, wi [ 1 ] = 1, wi [ 2 ] = 2 */ i n t x i [ ] = {0, 1, 2 ; /* z a i n i c j a l i z o w a n a, a r o z m i a r u s t a l o n y na 3 */ c o n s t i n t s i z e 2 = 5 ; i n t y i [ s i z e 2 ] = {0, 1, 2 ; /* z a i n i c j a l i z o w a n a : wi [ 0 ] = 0, wi [ 1 ] = 1, wi [ 2 ] = 2, p o z o s t a l y m elementom p r z y p i s a n e 0 */, funkcje i tablice
22 wielowymiarowe o dynamicznym rozmiarze - C99 i n t n ; s c a n f ( %d, &n ) ; double a [ n ] ; /* poprawne w C99, n i e d o z w o l o n e w s t a r s z y m s t a n d a r d z i e */, funkcje i tablice
23 wielowymiarowe znakowe char t z 1 [ ] = { C, D, a ; // r o z m i a r u s t a l o n y na 3 char tz2 [ ] = CDa ; /* rozmiar ustalony na 4, bo kazdy n a p i s z a w i e r a na koncu znak p u s t y \ 0 */ char tz3 [ 3 ] = CDa ; /* poprawne w C, wymuszony rozmiar 3, znak pusty z ko niec zn osc i zignorowany */, funkcje i tablice
24 Ograniczenia Plan wielowymiarowe nie można dokonać przypisania tablicy jako ca lości c o n s t s i z e = 3 ; i n t t i [ s i z e ] = { 0, 1, 2 ; i n t t i 2 [ s i z e ] = t i ; // b l a d /* poprawne r o z w i a z a n i e wymaga p e t l i */ i n t t i 2 [ s i z e ] ; f o r ( i n t i = 0 ; i < s i z e ; ++i ) t i 2 [ i ] = t i [ i ] ; tablica nie pami eta swojego rozmiaru wyjście z indeksem poza obszar tablicy nie jest wykrywane przez kompilator, funkcje i tablice
25 sizeof Plan wielowymiarowe operator jednoargumentowy sk ladnia: sizeof (nazwa typu) sizeof (obiekt) sizeof obiekt zwraca wartość typu ca lkowitego bez znaku odpowiadajac a rozmiarowi obiektu (zmiennej danego typu) wyliczany na etapie kompilacji, wyjatek stanowi użycie do tablic o dynamicznym rozmiarze (C99), funkcje i tablice
26 wielowymiarowe Jeszcze o sizeof i n t a ; double b [ 3 ] ; s i z e o f ( f l o a t ) ; s i z e o f a ; s i z e o f ( b ) ; // r o z m i a r t a b l i c y (w b a j t a c h, n i e w l i c z b i e elementow ) s i z e o f ( b [ 0 ] ) ; // r o z m i a r elementu i n t n o e l e m e n t s = s i z e o f ( b ) / s i z e o f ( b [ 0 ] ) ; size t: typ danych definiowany w bibliotece standardowej, tak aby odpowiada l typowi zwracanemu przez operator sizeof, funkcje i tablice
27 wielowymiarowe Co kryje sie pod nazwa tablicy char buf [ 8 ] = abcdefg ; char var ; /* buf j e s t nazwa t a b l i c y i r o w n o c z e s n i e s t a l y m wskaznikiem do pierwszego j e j elementu ; buf == &buf [ 0 ] */ /* buf [ 0 ] == * buf == a */ v a r = buf [ 1 ] ; v a r = *( buf + 1 ) ; // t e i n s t r u k c j e d a j a i d e n t y c z n y e f e k t f o r ( i n t i x = 0 ; i x < 8 ; ++i x ) i f ( buf [ i x ]!= *( buf + i x ) ) p r i n t f ( Houston, mamy problem \n ) ; char * c o n s t wbuf = buf ; // po obu s t r o n a c h w s k a z n i k tego samego typu char *wbuf 2 = buf ; // automatyczna k o n w e r s j a c h a r * c o n s t do c h a r * /* n o t a c j a t a b l i c a [ i n d e k s ] j e s t rownowazna n o t a c j i *( w s k a z n i k + o f f s e t ) */, funkcje i tablice
28 wielowymiarowe jako argumenty funkcji #i n c l u d e <s t d i o. h> v o i d p r i n t i n t t a b l e ( i n t c [ ], i n t n ) { f o r ( i n t i = 0 ; i < n ; ++i ) p r i n t f ( %d\n, c [ i ] ) ; /* rownowazne znaczeniowo : v o i d p r i n t i n t t a b l e ( i n t c [ 5 ], i n t n ) v o i d p r i n t i n t t a b l e ( i n t c [ 2 ], i n t n ) v o i d p r i n t i n t t a b l e ( i n t *c, i n t n ) */ i n t main ( ) { i n t a [ 5 ] = {2, 3, 5, 9, 1 1 ; p r i n t i n t t a b l e ( a, 3 ) ; // wydrukuj p i e r w s z e 3 e l e m e n t y t a b l i c y a r e t u r n 0 ;, funkcje i tablice
29 wielowymiarowe Jeszcze jedna funkcja operujaca na tablicach(wskaźnikach) #i n c l u d e <s t d i o. h> i n t s t r l e n ( char s [ ] ) { /* argumentem j e s t t a b l i c a znakow, a tak naprawde wskaznik typu char *, w momencie wywolania tworzona j e s t prywatna kopia przekazanego wskaznika */ i n t n ; f o r ( n = 0 ; * s!= \0 ; ++s ) n++; r e t u r n n ; i n t main ( ) { char a [ ] = Napis ; p r i n t f ( Dlugosc n a p i s u wynosi %d\n, s t r l e n ( a ) ) ; /* wywolana z argumentem bedacym nazwa t a b l i c y, c z y l i wskaznikiem typu c h a r * c o n s t */ p r i n t f ( Dlugosc n a p i s u wynosi %d\n, s t r l e n ( Napis ) ) ; /* wywolana z argumentem bedacym w skaznikiem typu c o n s t c h a r * */ r e t u r n 0 ;, funkcje i tablice
30 wielowymiarowe Czym sa tablice wielowymiarowe? i n t t i [ 3 ] [ 2 ] ; /* t a b l i c a dwuwymiarowa o r o z m i a r a c h 3( w i e r s z e ) i 2( kolumny ), a t ak naprawde to t a b l i c a jednowymiarowa o r o z m i a r z e 3, k t o r e j elementami sa t a b l i c e o r o z m i a r z e 2 */ t i [ 2 ] [ 1 ] = 0 ; /* p r z y p i s u j e 0 do elementu w t r z e c i m w i e r s z u i d r u g i e j kolumnie */ i n t i = t i [ 0 ] [ 0 ] ; /* p r z y p i s u j e z m i e n n e j i w a r t o s c elementu z p i e r w s z e g o w i e r s z a i p i e r w s z e j kolumny */ /* Z tego, ze to t a b l i c e t a b l i c wynika, ze e l e m e n t y sa przechowywane w i e r s z a m i. Kolejnosc w pamieci bedzie nastepujaca : t i [ 0 ] [ 0 ], t i [ 0 ] [ 1 ], t i [ 1 ] [ 0 ], t i [ 1 ] [ 1 ], t i [ 2 ] [ 0 ], t i [ 2 ] [ 1 ] */, funkcje i tablice
31 wielowymiarowe Definicje tablic wielowymiarowych i n t t i [ 3 ] [ 2 ] = {0, 1, 2, 3, 4, 5 ; /* t i [ 0 ] [ 0 ] = 0, t i [ 0 ] [ 1 ] = 1, t i [ 1 ] [ 0 ] = 2, t i [ 1 ] [ 1 ] = 3, t i [ 2 ] [ 0 ] = 4, t i [ 2 ] [ 1 ] = 5 */ i n t t i [ 3 ] [ 2 ] = {{0, 1, {2, 3, {4, 5 ; /* I d e n t y c z n y e f e k t j a k w yzej */ i n t t i [ 3 ] [ 2 ] = {0, 2, 4 ; /* t i [ 0 ] [ 0 ] = 0, t i [ 0 ] [ 1 ] = 2, t i [ 1 ] [ 0 ] = 4, r e s z t a z a i n i c j a l i z o w a n a na 0 */ i n t t i [ 3 ] [ 2 ] = {{0, {2, { 4 ; /* t i [ 0 ] [ 0 ] = 0, t i [ 1 ] [ 0 ] = 2, t i [ 2 ] [ 0 ] = 4, r e s z t a z a i n i c j a l i z o w a n a na 0 */, funkcje i tablice
32 wielowymiarowe wielowymiarowe jako argumenty funkcji #i n c l u d e <s t d i o. h> v o i d p r i n t m u l t i a r r a y ( i n t c [ ] [ 2 ], i n t m, i n t n ) { /* w y p i s u j e e l e m e n t y z b l o k u m x n p r z e k a z a n e j t a b l i c y o 2 kolumnach */ f o r ( i n t i = 0 ; i < m; i ++) f o r ( i n t j = 0 ; j < n ; j ++) p r i n t f ( %d\n, c [ i ] [ j ] ) ; /* rownowazne znaczeniowo : v o i d p r i n t m u l t i a r r a y ( i n t c [ 1 2 ] [ 2 ], i n t m, i n t n ) v o i d p r i n t m u l t i a r r a y ( i n t (* c ) [ 2 ], i n t m, i n t n ) */ i n t main ( ) { i n t t i [ 3 ] [ 2 ] = {0, 1, 2, 3, 4, 5 ; p r i n t m u l t i a r r a y ( t i, 2, 2 ) ; /* w y p i s z e e l e m e n t y z b l o k u 2 x 2 t a b l i c y t i */ r e t u r n 0 ;, funkcje i tablice
33 wielowymiarowe wielowymiarowe jako argumenty funkcji II #i n c l u d e <s t d i o. h> v o i d p r i n t m u l t i a r r a y ( i n t *c, i n t np, i n t m, i n t n ) { /* w y p i s u j e e l e m e n t y z b l o k u m x n p r z e k a z a n e j t a b l i c y o np kolumnach */ f o r ( i n t i = 0 ; i < m; i ++) f o r ( i n t j = 0 ; j < n ; j ++) p r i n t f ( %d\n, *( c + i * np + j ) ) ; i n t main ( ) { i n t t i [ 3 ] [ 2 ] = {0, 1, 2, 3, 4, 5 ; p r i n t m u l t i a r r a y (& t i [ 0 ] [ 0 ], 2, 2, 2 ) ; /* w y p i s z e e l e m e n t y z b l o k u 2 x 2 t a b l i c y t i */ r e t u r n 0 ;, funkcje i tablice
Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ
Zak lad Chemii Teoretycznej UJ 26 listopada 2007 wielowymiarowe 1 2 wielowymiarowe 3 Typ tablicowy Plan wielowymiarowe Tablica Zajmujacy spójny obszar w pamieci zestaw zmiennych (obiektów) tego samego
Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ
w C Zak lad Chemii Teoretycznej UJ 30 listopada 2006 1 2 3 Inicjalizacja zmiennych Zmienne jednowymiarowe można inicjować przy ich definicji. #include i n t x = 1 ; l o n g day = 1000L * 60L
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
Tablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
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
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
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.
Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ
Jeszcze o funkcjach i strukturze projektu Zak lad Chemii Teoretycznej UJ 3 grudnia 2008 1 2 3 4 5 typedef Plan typedef specyfikator typu nazwa S luży do stworzenia nowej nazwy dla jakiegoś typu. Nazwa
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 5 1 SPECYFIKATOR const Specyfikator (przydomek) const: Umieszczenie przed nazwą zmiennej specyfikatora const w jej definicji informuje kompilator,
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
Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?
Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.
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
Programowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37
Programowanie w C++ Wykład 4 Katarzyna Grzelak 19 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37 Funkcje cd K.Grzelak (Wykład 1) Programowanie w C++ 2 / 37 Funkcja powtórzenie Funkcje == podprogramy
Ghost in the machine
Operacje na pami eci i odrobina I/O Zak lad Chemii Teoretycznej UJ 8 stycznia 2007 Funkcje operujace Wstep do operacji I/O na plikach 1 Operacje na pami eci 2 Funkcje operujace 3 Wst Funkcje operujace
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
Język C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
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
wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Podstawy Programowania. Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki
Podstawy Programowania Wykład IV Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: specyfikacja
Tablice, funkcje, wskaźniki - wprowadzenie
Tablice, funkcje, wskaźniki - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 4 19 listopada 2018 (Wykład 4) Tablice, funkcje, wskaźniki - wprowadzenie 19 listopada 2018 1 / 37 Outline 1 Tablice
Wykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
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
Język C, tablice i funkcje (laboratorium)
Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
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
Języki i metodyka programowania. Wskaźniki i tablice.
Wskaźniki i tablice. Zmienna1 Zmienna2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Zmienna to fragment pamięci o określonym rozmiarze identyfikowany za pomocą nazwy, w którym może być przechowywana
Podstawy Programowania. Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki
Podstawy Programowania Wykład IV Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki Robert Muszyński ZPCiR IIAiR PWr Zagadnienia: specyfikacja funkcji, operacje
Podstawy Programowania
Podstawy Programowania Wykład IV Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: specyfikacja
Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika
Wyklad 6 Typy i zmienne: wskaznikowe, referencyjne Funkcje deklaracja, definicja. Zasieg deklaracji i widocznosc zmiennych Przekazywanie parametrów przez wartosc, referencje i wskaznik Przekazywanie wyniku
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
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
Języki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
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ą
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
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ę
Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część druga Przetwarzanie tablic znaków Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim
Podstawy programowania
Podstawy programowania Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót treści wykładu,
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
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
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
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
Język C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
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
Paradygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
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
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
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
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
W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Rozdzia l 3. Laboratorium 3. danych zawierajac
Rozdzia l 3 Laboratorium 3 3.1. Tablice Tablica jest struktura danych zawierajac a zmienne tego samego typu. CLR środowiska.net Framework wspiera tworzenie tablic jedno oraz wielo wymiarowych. 3.1.1. Tablice
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie Krzysztof Banaś Podstawy programowania 1 są sposobem na przechowywanie w ramach pojedynczej zmiennej zestawu zmiennych różnych typów,
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
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
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
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
Podstawy programowania
Podstawy programowania I rok Automatyka i Robotyka Eka PWr Ćwiczenia Zestaw 4 Zakres materiału Analiza poprawności konstrukcji, wyliczanie wyrażeń z wskaźnikami i tablicami, ręczna symulacja, opracowywanie
Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16
M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
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,
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
C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia
Język ANSI C część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia najbardziej podstawowe operacje na wskaźnikach int x = 1, y = 2, Tab[10]; int *ip; // czy
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
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Przekazywanie argumentów wskaźniki
Przekazywanie argumentów wskaźniki klasyczne wywołanie wyliczenie i zwrotne przekazanie tylko jednej wielkości moŝliwość uŝycia zmiennych globalnych niebezpieczeństwa z tym związane wyjście wywołanie funkcji
Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.
Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna
Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
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
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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
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
Wykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
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
Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
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
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ć
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.
Paradygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 1 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Dziedziczenie jednobazowe, poliformizm
Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie jednobazowe 2. Polimorfizm część pierwsza 3. Polimorfizm część druga Zofia Kruczkiewicz, ETE8305_6 1 Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie
Szablony klas, zastosowanie szablonów w programach
Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
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
Paradygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
PARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
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
Język C zajęcia nr 12. Struktury i unie
Język C zajęcia nr 12 Struktury i unie Struktura jest zgromadzonym pod jedną nazwą zbiorem elementów nazywanych polami lub składowymi. Pola mają swoje odrębne nazwy (podobnie jak zmienne) i mogą przechowywać
Funkcja (podprogram) void
Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji
Wskaźniki. Programowanie Proceduralne 1
Wskaźniki Programowanie Proceduralne 1 Adresy zmiennych Sterta 1 #include 2 3 int a = 2 ; 4 5 int main ( ) 6 { 7 int b = 3 ; 8 9 printf ( " adres zmiennej a %p\n", &a ) ; 10 printf ( " adres
KURS C/C++ WYKŁAD 8. Deklaracja funkcji informuje komplilator jaką wartość funkcja będzie zwracała i jakiego typu są jej argumenty.
Funkcje. Deklaracja funkcji: KURS C/C++ WYKŁAD 8 #include //deklaracje funkcji: printf(...), scanf(...) #include //double sqrt (double ) #include //void clrscr (void) void main
Wartości domyślne, przeciażenia funkcji
Wartości domyślne, przeciażenia funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:
5 Tablice Tablica jest zestawem obiektów (zmiennych) tego samego typu, do których można się odwołać za pomocą wspólnej nazwy. Obiekty składowe tablicy noszą nazwę elementów tablicy. Dostęp do nich jest
Uzupełnienie dot. przekazywania argumentów
Uzupełnienie dot. przekazywania argumentów #include #include struct nowa { int f; char line[20000]; int k; } reprezentant; int main() { void funkcja7( struct nowa x); reprezentant.k=17;
> 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
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
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,
2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy
2.4 Dziedziczenie Poprzednie dwa rozdziały które dotyczyły zagadnienia automatów komórkowych na przykładach programów w C++. Mogłyby one sugerować że niekoniecznie trzeba programować obiektowo aby napisać
Tablice wielowymiarowe. Przykład tablica 2-wymiarowa. Przykład. Przykład 3-wymiarowy. Tak naprawdę nie istnieją w C! Rozważmy tablicę o rozmiarze 3x2
Tablice wielowymiarowe Przykład tablica 2-wymiarowa Tak naprawdę nie istnieją w C! Tak naprawdę C i Java dopuszczają tworzenie tablic tablic tablica 2-wymiarowa = tablica (zwykłych) tablic tablica 3-wymiarowa