Preprocesor. natychmiast następuje \n są usuwane następny wiersz zostaje połączony z tym, w którym był znak \ o usuwane są wszystkie komentarze są
|
|
- Wanda Szczepańska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Preprocesor włącza się automatycznie, bez udziału uŝytkownika poprzedza kompilację dokonuje konwersji tekstu realizuje dyrektywy (linie zaczynające się od znaku #) dyrektywy mogą wystąpić w dowolnym miejscu tekstu programu oprócz realizacji dyrektyw wykonanie pewnych standardowych przekształceń: o wszystkie wystąpienia znaków \ po którym natychmiast następuje \n są usuwane następny wiersz zostaje połączony z tym, w którym był znak \ o usuwane są wszystkie komentarze są zamieniane na pojedynczą spację o sekwencje specjalne w stałych znakowych i tekstowych są zamieniane na ich równowaŝniki (np. sekwencja \n jest zamieniana znakiem o kodzie ASCII 13) o następuje połączenie sąsiednich stałych tekstowych w jedną stałą tekstową, np.: Ala ma kota Ala ma kota
2 Makrodefinicje (dyrektywa #define) składnia #define identyfikator ciąg_symboli lub #define ident1(ident2, ident3,, identk) ciąg_symboli Forma krótka: nakazuje preprocesorowi zastąpienie dalszych wystąpień identyfikatora przez ciąg_symboli nie penetruje wnętrza stringów (stałych tekstowych) #define CZTERY 4 extern void funkcja(int k); main() { float tablica[cztery]; int i; i=cztery + 2*CZTERY; funkcja(cztery-1); printf( Mowilem Ci to CZTERY razy!!!\n ); } Dyrektywy #define mogą wykorzystywać wcześniej wykonane definicje #define DLUGOSC 20 #define SZEROKOSC 15 #define POLE (DLUGOSC*SZEROKOSC)
3 dyrektywa #define słuŝy nie tylko definicji stałych, np.: #define forever for( ; ; ) forever { break; } długie dyrektywy gdy ciąg_znaków jest długi, to moŝemy wpisać kończąc linię znakiem \, po którym następuje \n i kontynuując w następnej linijce: #define ADRES Politechnika Krakowska\n\ im. Tadeusza Kosciuszki\nul. Warszawska 24\n\ Krakow\n cout << ADRES; definiowanie stałych o poprzez dyrektywę #define o poprzez kwalifikator const #define PI const double PI= ; RóŜnice: gdy uŝyjemy #define to identyfikator nie jest znany kompilatorowi; gdy const jest. To daje większą szansę wykrycia błędów składniowych przez kompilator.
4 Forma długa: słuŝy do definiowania makr z argumentami (zastępowany tekst moŝe być róŝny dla róŝnych makrowywołań) pomiedzy ident1 a prawym nawiasem nie moŝe być spacji #define KWADRAT(a) ((a) * (a)) Działanie: KWADRAT(parametr) ((parametr)*(parametr)) np. KWADRAT(x+0.5) ((x+0.5)*(x+0.5)) a=kwadrat(c)+kwadrat(a+1) a=((c)*(c))+((a+1)*(a+1)) Zalety brak zaleŝności od typu (gdybyśmy zdefiniowali makro jako funkcję, to musielibyśmy zdefiniować wiele wariantów dla roŝnych typów Pułapki o moŝliwe efekty uboczne: KWARDAT(n++) dwukrotna inkrementacja o uwaga na nawiasy gdy określimy: #define KWADR(a) a*a to KWADR(n+1) n+1*n +1 = 2*n +1 naleŝy definiować jako ((a)*(a))
5 Odwołanie definicji dyrektywa #undef dyrektywa #define obowiązuje od momentu wystąpienia do końca pliku jeŝeli zamieścimy dyrektywę #undef wyraz to od tej chwili definicja dokonana przez dyrektywę #define wyraz... przestaje obowiązywać Dyrektywy kompilacji warunkowej stosowane w sytuacjach, gdy chcemy pewne fragmenty kodu włączyć selektywnie do kompilacji x=i*c + szereg(x0); printf( x = %f\n,x); /* wydruk pomocniczy */ m=funkcja(x); Po uruchomieniu wydruk pomocniczy niepotrzebny; moŝemy: fizycznie usunąć pracochłonne; być moŝe znów będzie potrzebny zakomentować j.w., ryzyko zagnieŝdŝenia komentarza (gdy usuwamy kilka linii zawierających juŝ komentarze) zastosować kompilację warunkową najlepsze rozwiązanie
6 Jak to się robi? obszar kompilacji warunkowej ograniczamy linijkami będącymi dyrektywami preprocesora #if warunek linie kompilacji warunkowej #endif warunek wyraŝenie stałe (takie, w którym kaŝdy element jest stały a jego wartość jest znana w momencie, gdy preprocesor pracuje nad daną linijką) #define PRZYPADEK 2 printf( Ta linia jest kompilowana zawsze\n ); #if (PRZYPADEK==1) printf( Ta linia jest kompilowana gdy PRZYPADEK=1\n ); #endif printf( Ta linia jest znowu kompilowana zawsze\n ); Opłaca się ostatnią dyrektywę zapisywać: #endif warunek wersja dwuwariantowa: #if warunek instrukcje 1 #else instrukcje 2 #endif dalsze uogólnienie wersja wielowariantowa (dyrektywa #elif)
7 podprogram opisujący wysuwanie podwozia samolotu (kilka wersji) #define PODWOZIE_707 1 #define PODWOZIE_747 2 #define PODWOZIE_DC11 3 #define PODWOZIE_LIL 4 #define TYP_PODWOZIA PODWOZIE_747 int wystaw_kola(void); { #if (TYP_PODWOZIA== PODWOZIE_707) printf( O.K. Wystawiam 707\n ); #elif (TYP_PODWOZIA== PODWOZIE_747) printf( O.K. Wystawiam 747\n ); #elif (TYP_PODWOZIA== PODWOZIE_LIL) printf( O.K. Wystawiam LIL\n ); #elif (TYP_PODWOZIA== PODWOZIE_DC11) printf( O.K. Wystawiam DC11\n ); #else printf( To sie nie moŝe zdarzyc\n ); #error zle zdefiniowana wersja programu!!! #endif TYP_PODWOZIA return 1; } Dla ustawień jak wyŝej po preprocessingu dostaniemy tekst: int wystaw_kola(void) { printf( O.K. Wystawiam 747\n ); return 1; }
8 inne dyrektywy kompilacji warunkowej: dyrektywy #ifdef oraz #ifndef (#if defined () lub #if! defined()) Składnia: #ifdef nazwa lub #if defined(nazwa)... grupa_instrukcji... #endif Działanie: grupa_instrukcji zostanie włączona do kompilacji o ile wcześniej wystąpiła dyrektywa #define nazwa oraz nie nastąpiło jej odwołanie poprzez #undef nazwa Podobnie: #ifndef nazwa warunek spełniony, gdy nie było dyrektywy #define nazwa zagnieŝdŝanie dyrektyw kompilacji warunkowej #if (WERSJA==1) #if (NUMER==1) c_inst1 #else c_inst2 #endif NUMER #else #if (NUMER==1) c_inst3 #else c_inst4 #endif NUMER #endif WERSJA np. gdy WERSJA=7, NUMER=1, to wybrany zostanie ciąg instrukcji c_instr3
9 Dyrektywa #error składnia #error string działanie: gdy dyrektywa ta zostanie osiągnięta, to kompilacja jest przerywana i wypisywany jest komunikat o błędzie, którego fragment stanowi treść napisu string Dyrektywa #line słuŝy do zmiany numerów linii i nazw plików uŝywanych do wyświetlania komunikatów o błędach i ostrzeŝeniach o przebiegu kompilacji Normalnie komunikat zawiera nazwę pliku (z systemu plików) i numer linii (liczony od początku pliku) miejsca, gdzie wystąpił błąd. MoŜna to zmienić stosując dyrektywę #line składnia #line stała_liczba nazwa_pliku działanie o kompilator przyjmie, Ŝe linia w której wystąpi dyrektywa znajduje się w pliku o nazwie nazwa_pliku w linii o numerze stała_liczba o wszystkie dalsze komunikaty o błędach w tym pliku przyjmują jako punkt odniesienia tak zdefiniowaną nazwę pliku i numer linii o parametr nazwa_pliku jest opcjonalna
10 Wstawianie treści innych plików (#include) dotyczy zwłaszcza plików nagłówkowych składnia #include <nazwa_pliku> #include nazwa_pliku pierwsza forma plik będzie poszukiwany w standardowym miejscu druga forma plik będzie poszukiwany najpierw w bieŝącym katalogu; jeŝeli tam go nie będzie, to w miejscu standardowym reguła: - włączanie własnych plików < > - włączanie nagłówkowych plików bibliotecznych Problem włączanie wielu plików do programu Włączamy pliki A, B, C, X. W definicji B jest włączenie pliku X. To powoduje, Ŝe do kompilacji będą włączone pliki: A, B, X, C, X MoŜliwe błędy (gdy X zawiera definicje stałych lub funkcji) MoŜliwe rozwiązanie kompilacja warunkowa: Plik X powinien mieć postać: #ifndef PLIK_X #define PLIK_X tresc pliku X #endif
11 Inny przykład wielowariantowy wybór nagłówka #if SYSTEM==SYSV #define HDR sysv.h #elif SYSTEM==BCD #define HDR bcd.h #elif SYSTEM==MSDOS #define HDR msdos.h #else #define HDR default.h #endif #include HDR Operator ## (sklejacz) Dokleja jeden z argumentów makrodefinicji do stojącego po jego lewej stronie, np.: #define cat(x,y) x##y wywołanie cat(var,123) daje var123 Dyrektywa pusta # nie powoduje Ŝadnego działania preprocesor ją ignoruje Dyrektywa #pragma #pragma komenda pozwala wykonać komendę charakterystyczną dla danego kompilatora wykaz komend w opisie kompilatora gdy komenda nieznana kompilatorowi dyrektywa ignorowana
12 Nazwy predefiniowane w preprocesorze LINE - liczba całkowita, numer bieŝącej linii kodu NAME - napis reprezentujący nazwa aktualnie kompilowanego pliku DATE - napis reprezentujący datę w chwili komplilacji (format Mmm dd yyyy ) TIME - napis reprezentujący czas w chwili kompilacji (format gg:mm:ss) Przykład uŝycia: printf( Kompilacja pliku %s\n (linia %d)\n, FILE, LINE ); printf( zaczela się %s o godz.%s.\n, DATE, TIME ); Gdy plik się nazywa test.c, pierwsza linijka wydruku ma numer 10, zaś kompilacja miała miejsce 20 marca 2003 o godz. 12:33:03, to kaŝde wywołanie programu będzie generować wydruk: Kompilacja pliku test.c (linia 10) zaczela się Mar o godz.12:33:03
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowozastępować zarezerwowane słowa lub symbole innymi,
Wykład 7 7. Preprocesor i dyrektywy kompilatora 7.1. Makrodefinicje proste 7.2. Makrodefinicje parametryczne 7.3. Usuwanie definicji makra 7.4. Włączanie innych zbiorów do tekstu programu 7.5. Dyrektywy
Bardziej szczegółowoCo nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
Bardziej szczegółowo#line #endif #ifndef #pragma
8.1 Instrukcje preprocesorowe... 1 8.1.1 Instrukcja #define... 1 8.1.2 Instrukcje #pragma... 2 8.2 Polecenie _asm... 3 8.3 Polecenie declspec... 4 8.4 Definiowanie makr... 5 8.5 Programy wieloplikowe,
Bardziej szczegółowoEtapy kompilacji. Wykład 7. Przetwarzanie wstępne, str. 1. #define ILE for(i=0; i<ile; i++)...
Etapy kompilacji Wykład 7 Przetwarzanie wstępne, str 1 #define ILE 100 for(i=0; i
Bardziej szczegółowoMETODY 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ółowoWykład. Materiały bazują częściowo na slajdach Marata Dukhana
Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory
Bardziej szczegółowoPodstawy programowania. Wykład 9 Preprocesor i modularna struktura programów. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 9 Preprocesor i modularna struktura programów Krzysztof Banaś Podstawy programowania 1 Programy Większość programów w C stanowią rozbudowane kody, definiujące wiele funkcji
Bardziej szczegółowoLaboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot
Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów mgr inż. Arkadiusz Chrobot 10 listopada 2010 1 Preprocesor Preprocesor jest programem uruchamianym przed właściwym procesem kompilacji
Bardziej szczegółowoFunkcja (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
Bardziej szczegółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoCwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Bardziej szczegółowo1 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ółowoSpis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
Bardziej szczegółowoInformatyka, Ć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ółowoPoprzedni wykład [ ] :
Poprzedni wykład [ 20.11.2018 ] : - Funkcje w języku C (definicje i prototypy) - Struktura programu: Zmienne zewnętrzne, zasięg nazw; programy wieloplikowe (wprowadzenie) - Klasy pamięci: static, register
Bardziej szczegółowoWykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
Bardziej szczegółowo1 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ółowoJę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 Preprocesor koncepcja, rola zasady wykorzystania Co to jest
Bardziej szczegółowoProgramowanie I C / C++ laboratorium 01 Organizacja zajęć
Programowanie I C / C++ laboratorium 01 Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-12 Program zajęć Zasady zaliczenia Program operacje wejścia i wyjścia instrukcje
Bardziej szczegółowoJę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ółowoWstę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ółowoFUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1)
Programowanie Obiektowe (język C++) Wykład 10. FUNKCJE WZORCOWE Funkcje wzorcowe wprowadzenie (1) Funkcje wzorcowe wprowadzenie (2) int max ( int a, int b ) return a>b? a : b; Aby mieć analogiczną funkcję
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoProgramowanie 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ółowoJęzyk C - podstawowe informacje
Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły
Bardziej szczegółowoWstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
Bardziej szczegółowoPodstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch
INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 60 04-12-2002 Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch Wstęp PoniŜsza dokumentacja oparta na przykładach stworzonych
Bardziej szczegółowoWstę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ółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Bardziej szczegółowoZmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.
Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez
Bardziej szczegółowoZmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoPodstawy 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ółowoStał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ółowoTablice (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
Bardziej szczegółowoTablice, funkcje - wprowadzenie
Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoCzęść 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ółowoTablice. int rozmiar; cout << Jaki ma być rozmiar tabeli? ; cin >> rozmiar; { int tablica[rozmiar]; /* TU JEST ŹLE */... }
Tablice grupa obiektów tego samego typu tablica tablica ciąg obiektów tego samego typu, zajmujący ciągły obszar w pamięci korzyść zamiast wielu definicji poszczególnych obiektów jedna wspólna; odniesienia
Bardziej szczegółowoPARADYGMATY 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
Bardziej szczegółowoPodział programu na moduły
Materiały Podział programu na moduły Informatyka Szczegółowe informacje dotyczące wymagań odnośnie podziału na moduły: http://www.cs.put.poznan.pl/wcomplak/bfiles/c_w_5.pdf Podział programu na moduły pozwala
Bardziej szczegółowoTemat 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ółowoMetodyki 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ółowoProgram 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:
Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe
Bardziej szczegółowoI - 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ółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami
Bardziej szczegółowoMikrokontroler ATmega32. Język symboliczny
Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami
Bardziej szczegółowo1. 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ółowoWstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami
Bardziej szczegółowoFunkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów
Funkcje. Spotkanie 5 Dr inż. Dariusz JĘDRZEJCZYK Tworzenie i używanie funkcji Przekazywanie argumentów do funkcji Domyślne wartości argumentów Przeładowanie nazw funkcji Dzielenie programu na kilka plików
Bardziej szczegółowoAbstrakcyjne struktury danych w praktyce
Abstrakcyjne struktury danych w praktyce Wykład 13 7.4 notacja polska A.Szepietowski Matematyka dyskretna rozdział.8 stos kompilacja rozłączna szablony funkcji Przypomnienie Drzewo binarne wyrażenia arytmetycznego
Bardziej szczegółowo2 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ółowoint 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ółowoWstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla
Bardziej szczegółowoJĘ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,
Bardziej szczegółowoPodstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura
Bardziej szczegółowoProgramowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:
Bardziej szczegółowoProgramowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 6 Katarzyna Grzelak kwiecień 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Bardziej szczegółowoProgramowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoPliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
Bardziej szczegółowo1. Wypisywanie danych
1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout
Bardziej szczegółowoĆwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:
Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji
Bardziej szczegółowoPMiK Programowanie Mikrokontrolera 8051
PMiK Programowanie Mikrokontrolera 8051 Wykład 3 Mikrokontroler 8051 PMiK Programowanie mikrokontrolera 8051 - wykład S. Szostak (2006) Zmienna typu bit #define YES 1 // definicja stałych #define NO 0
Bardziej szczegółowoPodstawy programowania - 1
Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl
Bardziej szczegółowoInterpreter - EasyCompile
Akademia Podlaska w Siedlcach Siedlce, dn. 20.V.2006r. Wydział Nauk Ścisłych Instytut Informatyki Interpreter - EasyCompile Projekt z SISW Wykonali: Paweł Sawczuk Edwin Tomczuk Krzysztof Pietraszek I Inf.
Bardziej szczegółowowykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 5 6 7 Charakter wykładu ˆ zakłada znajomość idei programowania strukturalnego (np. w Pascalu) oraz podstaw używania środowiska UNIX (wykonywanie
Bardziej szczegółowoInformatyka 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
Bardziej szczegółowoKURS 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ółowoPodstawowe 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
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoISO/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
Bardziej szczegółowoPrzekazywanie 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
Bardziej szczegółowo#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }
#include using namespace std; Prototypy funkcji Funkcja 1 void ela(int); double info (double); int main( ); return 0; Funkcja 2 void ela(int); Funkcja 3 double info(double); return 4*t; jeszcze
Bardziej szczegółowoProgramowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoProgram 14. #include <iostream> #include <ctime> using namespace std;
Program 14 Napisać: * funkcję słuŝącą do losowego wypełniania tablicy liczbami całkowitymi z podanego zakresu (*). Parametrami funkcji mają być tablica, jej długość oraz dwie liczby stanowiące krańce przedziału
Bardziej szczegółowoProgramowanie I C / C++ laboratorium 03 arytmetyka, operatory
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include
Bardziej szczegółowoJę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ółowoPodstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 10 Translacja sterowana składnią w generatorze YACC. Zadanie 1: Proszę napisać program, który dla danej liczby całkowitej j oraz niepustego ciągu liczb naturalnych c
Bardziej szczegółowoWprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część trzecia Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów
Bardziej szczegółowoINSTRUKCJE REPETYCYJNE PĘTLE
INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ) while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna
Bardziej szczegółowoSSK - Techniki Internetowe
SSK - Techniki Internetowe Ćwiczenie 2. Obsługa formularzy. Operatory, instrukcje warunkowe oraz instrukcje pętli w PHP. Obsługa formularzy Skryptu PHP moŝna uŝyć do obsługi formularza HTML. Aby tego dokonać,
Bardziej szczegółowoJęzyki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Bardziej szczegółowoPodstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Bardziej szczegółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31
Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Bardziej szczegółowoProgramowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Bardziej szczegółowoPodstawy 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ółowoWIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}
1 WIADOMOŚCI WSTĘPNE Programowanie komputerów najogólniej mówiąc polega na zapisaniu pewniej listy poleceń do wykonania przez komputer w pewnym umownym języku Taką listę poleceń nazywamy programem Program
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoPytania 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ółowoZaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce
Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Bardziej szczegółowoLaboratorium 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ółowoPracownia specjalistyczna. Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka
Pracownia specjalistyczna Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka Język C++ 1. Podstawowa struktura pliku źródłowego: #include #include "main.h" using
Bardziej szczegółowoWartoś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.
Bardziej szczegółowo