Podstawy programowania w języku C i C++
|
|
- Gabriela Nowak
- 8 lat temu
- Przeglądów:
Transkrypt
1 Podstawy programowania w języku C i C++ Część piąta suplement Funkcje i struktura programu preprocesor Autor Roman Simiński Kontakt roman.siminski@us.edu.pl Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa. Opracowanie to jest chronione prawem autorskim. Wykorzystywanie jakiegokolwiek fragmentu w celach innych niż nauka własna jest nielegalne. Dystrybuowanie tego opracowania lub jakiejkolwiek jego części oraz wykorzystywanie zarobkowe bez zgody autora jest zabronione.
2 Co to jest preprocesor? Preprocesor to zwykle osobny program, realizujący wstępne przetwarzanie kodu źródłowego programu w języku C (C++, Objective C), realizowane przed przekazaniem programu na wejście kompilatora. Zadaniem preprocesora jest wyszukanie w tekście źródłowym programu przeznaczonych dla niego poleceń, oraz ich wykonanie. Wykonanie polecenia oznacza zwykle operację na tekście źródłowym zamianę jednego tekstu na inny, włączenie zawartości jakiegoś innego pliku, pominięcie pewnego fragmentu tekstu itp.. Polecenia dla preprocesora rozpoczynają się znakiem #, np.: #include, #define. Dawniej preprocesor był po prostu programem przetwarzającym dowolny tekst zgodnie z pewnymi dyrektywami. Teraz stosuje się dla języków z grupy C specjalizowane dla tych właśnie języków preprocesory. Copyright Roman Simiński Strona : 2
3 Działanie preprocesora Wykonanie poleceń Program źródłowy w języku C/C++ Zawiera polecenia dla preprocesora Preprocesor Program źródłowy w języku C/C++ po wykonaniu poleceń preprocesora Kompilator Kod binarny Copyright Roman Simiński Strona : 3
4 Dyrektywy preprocesora wprowadzenie Język poleceń dla preprocesora składa się z dyrektyw, które są wykonywane oraz makr, które są rozwijane. Pozwalają one na: Włączanie w dane miejsce przetwarzanego pliku, zawartości innego pliku. Zastępowanie symboli i makr ich odpowiednikami. Kompilację warunkową pewne fragmenty programu mogą być kompilowane lub nie. Diagnostykę i kontrolowanie kodu źródłowego. Copyright Roman Simiński Strona : 4
5 Dyrektywa #include wstawianie zawartości plików Dyrektywa #include wykorzystywana jest zwykle do wstawiania zawartości plików nagłówkowych. Wstawiany tą dyrektywą plik nie musi być wcale plikiem nagłówkowym, preprocesorowi jest właściwie wszystko jedno, co jest wstawiane. Preprocesor wstawia plik w miejscu wystąpienia dyrektywy #include. Dwie postacie dyrektywy wstawiania plików : #include <nazwa pliku> preprocesor poszukuje pliku w katalogach znanych kompilatorowi, zależą one od systemu operacyjnego, samego kompilatora ale również środowiska programistycznego IDE. #include nazwa pliku preprocesor poszukuje pliku katalogu bieżącym, a gdy tam plik nie występuje, przeszukiwane są lokalizacje znane kompilatorowi. Copyright Roman Simiński Strona : 5
6 Dyrektywa #include przykłady #include <stdio.h> #include <stdlib.h> #include "mojefun.h" int main() { } Przekładowy program test.c zapisanego w katalogu e:\programy\test: Lokalizacje include ustawione w IDE Lokalizacje include właściwe dla kompilatora Katalog bieżący programu Copyright Roman Simiński Strona : 6
7 Dyrektywa #include umożliwia segmentację programu Segmentacja programu źródłowego to jego podział na części nie stanowiące osobnych jednostek kompilacji. Segmenty programu łączone są w jeden plik przed rozpoczęciem kompilacji. Mimo iż w językach C/C++ segmentacja programu stosowana jest rzadko, można ją zrealizować posługując się preprocesorem. Segmenty programu #include <stdio.h> #include <stdlib.h> inc.c double p_k( double bok ) { return bok * bok; } fun.c int main() { pole = p_k( num ); } main.c #include "inc.c" #include "fun.c" #include "main.c" Preprocesor program.c #include <stdio.h> #include <stdlib.h> double p_k( double bok ) { return bok * bok; } int main() { pole = p_k( num ); } Copyright Roman Simiński Strona : 7
8 Dyrektywa #include ciekawostki #include <stdlib.h> #include <stdio.h> int main() { puts( #include "hello.txt" ); return EXIT_SUCCESS; } Copyright Roman Simiński Strona : 8
9 Dyrektywa #include ciekawostki #include <stdlib.h> #include <stdio.h> char hello[] = #include "hello.txt" ; int main() { puts( hello ); return EXIT_SUCCESS; } Copyright Roman Simiński Strona : 9
10 Dyrektywa #define stałe symboliczne Dyrektywa #define oznacza makrodefinicję. Makrodefinicja definiuje symbol oraz odpowiadający mu ciąg znaków, rozciągający się do znaku końca linii. Preprocesor zastępuje zdefiniowany symbol odpowiadającym mu ciągiem znaków. W makrodefinicji mogą występować parametry. W najprostszej postaci, dyrektywa #include wykorzystywana jest do definiowania stałych symbolicznych: #define PI 3.14 #define DWA_PI 2*PI #define LB_MIESIECY 12 #define POLROCZE LB_MIESIECY/2 pole_kola = PI * r * r; obwod_kola = DWA_PI * r; for( i = 0; i < LB_MIESIECY; i++ ) pole_kola = 3.14 * r * r; obwod_kola = 2*3.14 * r; for( i = 0; i < 12; i++ ) Copyright Roman Simiński Strona : 10
11 Dyrektywa #define uwaga na średnik Preprocesor zastępuje zdefiniowany symbol odpowiadającym mu ciągiem znaków aż do znacznika końca linii. Użycie średnika na końcu linii może spowodować problem. Uwaga IDE zwykle pokazuje kod źródłowy przed preprocesingiem, komunikaty kompilator mogą wydać się dziwne. Programista widzi kod źródłowy Kompilator widzi kod po preprocesingu pole_kola = 3.14; * r * r; Niewłaściwy argument operatora * Copyright Roman Simiński Strona : 11
12 Dyrektywa #define stałe symboliczne, cd.... Dyrektywa #definie to nie tylko stałe numeryczne: #define HELLO_PL "Czesc!" #define HELLO_EN "Hello!" #define UWAGA puts( "Uwaga!" ); #define UWAGA_PL_EN puts( "Uwaga!" ); puts( "Warning!" ); printf( HELLO_PL ); UWAGA UWAGA_PL_EN printf( "Czesc!" ); puts( "Uwaga!" ); puts( "Uwaga!" ); puts( "Warning!" ); Dyrektywy mogą być dłuższe niż jeden wiersz: #define POWITANIE "Czesc! Witaj w programie, możesz byc pew\ ny, ze postarczy ci on wielu milych doznan" #define HELLO_PL_EN puts( "Czesc!" ); \ puts( "Hello!" ); Kontynuacja dyrektywy w następnym wierszu Copyright Roman Simiński Strona : 12
13 Dyrektywa #define makrodefinicje z parametrami Dyrektywa #definie może definiować makra z parametrami, przypominające swą postacią funkcje: #define DO_KWADRATU(X) ((X)*(X)) #define SREDNIA(X,Y) (((X)+(Y))/2) Argumenty makra są zastępowane w trakcie jego rozwijania: float wynik, a, b; wynik = DO_KWADRATU(3); a = 1; b = 4; wynik = SREDNIA(a,b); float wynik, a, b; wynik = ((3)*(3)); a = 1; b = 4; wynik = (((a)+(b))/2); Copyright Roman Simiński Strona : 13
14 Dyrektywa #define makrodefinicje z parametrami, cd.... Po co w tych makrach tyle nawiasów? Zobaczmy co by było, gdyby ich nie było: #define DO_KWADRATU(X) X*X Wykorzystajmy makro z parametrami, będącymi wyrażeniami: float wynik; wynik = DO_KWADRATU(3+2); float wynik; wynik = 3+2*3+2; (3+2) 2 = #define DO_KWADRATU(X) (X)*(X) wynik = (3+2)*(3+2); Copyright Roman Simiński Strona : 14
15 Dyrektywa #define makrodefinicje z parametrami, cd.... Czy to makro jest już rzeczywiście dobre? #define DO_KWADRATU(X) (X)*(X) Zobaczmy: float wynik; wynik = 100/DO_KWADRATU(2); float wynik; wynik = 100/(2)*(2); 100/2 2 = 100/4=25 (100/2)*2 = 50*2=100 #define DO_KWADRATU(X) ((X)*(X)) wynik = 100/((2)*(2)); Copyright Roman Simiński Strona : 15
16 Dyrektywa #define makrodefinicje z parametrami, cd.... W makrach zwykle stosujemy nawiasy wokół parametrów o charakterze numerycznym. Jednak cześć problemów z makrami jest niemożliwa do rozwiązania: #define DO_KWADRATU(X) ((X)*(X)) float wynik, a = 2; wynik = DO_KWADRATU(++a); float wynik, a = 2; wynik = ((++a)*(++a)); (++a) 2 = 9 12 albo i jeszcze inaczej... Ponieważ pewnych problemów z makrami nie można uniknąć, programiści zwyczajowo piszą nazwy makr dużymi literami wtedy wiemy, że używamy makra. Copyright Roman Simiński Strona : 16
17 Dyrektywa #define makrodefinicje vs funkcje Makra mogą zastąpić funkcje są szybsze bo rozwinięte makro nie zawiera kodu zarządzającego wywołaniem funkcji. Makro powinno być krótkie, bo każde użycie makra powoduje jego rozwinięcie w miejscu wykorzystania. W wielu bibliotekach coś co wygląda na funkcje, w rzeczywistości jest makrem, często nazwy makr nie są pisane dużymi literami, np.: #define ferror(f) #define feof(f) ((f)->flags & _F_ERR) ((f)->flags & _F_EOF) #define getc(f) \ ((--((f)->level) >= 0)? (unsigned char)(*(f)->curp++) : \ _fgetc (f)) #define putc(c,f) \ ((++((f)->level) < 0)? (unsigned char)(*(f)->curp++=(c)) : \ _fputc ((c),f)) #define getchar() getc(stdin) #define putchar(c) putc((c), stdout) Tego używaliśmy wiele razy jako funkcji..., a to jest makro! Copyright Roman Simiński Strona : 17
18 Dyrektywa #define makrodefinicje vs funkcje Podnoszenie do kwadratu jako funkcja: double do_kwadratu( double x ) { return x * x; } float wynik, a = 2; wynik = do_kwadratu( ++a ); /* OK! */ W funkcjach nie występują omówione problemy z parametrami, jednak właśnie opracowanie parametrów dla funkcji, jej wywołanie oraz powrót trwają czasem ten niewielki pozornie czas może być istotny. Copyright Roman Simiński Strona : 18
19 Funkcje wplatane inline jako alternatywa dla makr W języku C++ oraz C99 wprowadzono funkcje wplatane, które są sygnałem dla kompilatora, że jeżeli to możliwe, kod tej funkcji należy rozwinąć w miejscu wywołania. inline double do_kwadratu( double x ) { return x * x; } float wynik, a = 2; wynik = do_kwadratu( ++a ); /* Tutaj cialo funkcji zostanie rozwiniete */ Być może kompilator rozwinie funkcję do_kwadratu w następujący sposób: double tmp = ++a; wynik = temp * temp; /* Mozliwa postac rozwiniecia funkcji do_kwadratu */ W językach C++ i C99 zaleca się stosowanie funkcji wplatanych zamiast makr. Jednak nie każda funkcja może być przez kompilator rozwinięta istnieją pewne ograniczenia. Zatem mimo użycia inline, może się zdarzyć, że kompilator wywoła funkcję w zwykły sposób. Copyright Roman Simiński Strona : 19
20 Dyrektywa #define przykłady makrodefinicji Krótkie makra ogólnego przeznaczenia: #define MAX(X,Y) ((X) > (Y)? (X) : (Y)) #define ABS(X) ((X) < 0? -(X) : (X)) #define MAX3(X,Y,Z) (MAX( MAX((X), (Y)), (Z) )) Przykładowe makra obsługi kolorów RGB i CMYK: typedef unsigned char BYTE; typedef unsigned short int WORD; typedef unsigned long int DWORD; #define RGB(r,g,b) ((DWORD)((BYTE)(r) ((BYTE)(g) << 8) ((BYTE)(b) << 16))) #define GET_R(color) ((BYTE)(color)) #define GET_G(color) ((BYTE)(((WORD)(color))>>8)) #define GET_B(color) ((BYTE)((color)>>16)) #define CMYK(c,m,y,k) ((DWORD)((BYTE)(k) ((BYTE)(y)<<8) ((BYTE)(m)<<16) \ ((BYTE)(c)<<24))) #define GET_C(cmyk) ((BYTE)(cmyk)) #define GET_M(cmyk) ((BYTE)((cmyk)>> 8)) #define GET_Y(cmyk) ((BYTE)((cmyk)>>16)) #define GET_K(cmyk) ((BYTE)((cmyk)>>24)) Copyright Roman Simiński Strona : 20
21 Dyrektywa #define przykłady makrodefinicji Makra mogą być rozbudowane: #define SWAP(X,Y) { \ double tmp; \ tmp=x; \ X=Y; \ Y=tmp; \ } int a = 5, b = 10; float c = 5.5, d = 10.5; SWAP( a, b ); SWAP( c, d ); Dzięki standardowym przekształceniom typów obowiązującym w C/C++ to makro będzie działać dla większości typów numerycznych. Jednak mieszając mocno różne typy X i Y należy się spodziewać dziwnych rezultatów. Copyright Roman Simiński Strona : 21
22 Dyrektywa #define przykłady makrodefinicji, cd.... Ze złożonymi makrami bywają niespodziewane problemy: #define SWAP(X,Y) { \ double tmp; \ tmp=x; \ X=Y; \ Y=tmp; \ } if( a > b ) SWAP( a, b ); else puts( "a <=b" ); if( a > b ) { double tmp; tmp=a; a=b; b=tmp; }; else puts( "a <=b" ); Błąd kompilacji po rozwinięciu makra blok + instrukcja pusta Copyright Roman Simiński Strona : 22
23 Dyrektywa #define przykłady makrodefinicji, cd.... Takie makro trzeba napisać w wykorzystaniem sztuczki: #define SWAP(X,Y) do{ \ double tmp; \ tmp=x; \ X=Y; \ Y=tmp; \ } while(0) if( a > b ) SWAP( a, b ); else puts( "a <=b" ); if( a > b ) do{ double tmp; tmp=a; a=b; b=tmp; } while(0); else puts( "a <=b" ); Teraz makro rozwija się w jedną instrukcję Copyright Roman Simiński Strona : 23
24 Dyrektywa #define jeżeli komuś brakuje Pascala... ;) Można w C programować i tak: INTEGER I = 10; REPEAT WRITELN( I ); DEC( I ); UNTIL( I == 0 ); Jeżeli zdefiniujemy takie makra: #define REPEAT do{ #define UNTIL(W) }while(!(w)) #define WRITELN(X) printf( "%d\n", X ) #define DEC(X) #define INTEGER X-- int Otrzymamy do kompilacji: int I = 10; do{ printf( "%d\n", I ); I--; }while(!(i == 0)); Copyright Roman Simiński Strona : 24
25 Kompilacja warunkowa #ifdef-#else- Dyrektywa #ifdef powoduje wykonanie wszystkich dyrektyw i skompilowanie kodu zawartego aż do lub #else, jeżeli symbol zapisany za #ifdef został zdefiniowany: #ifdef S Tekst kompilowany warunkowo gdy zdefiniowano symbol lub makro S #ifdef S Tekst kompilowany warunkowo gdy zdefiniowano symbol lub makro S #else Tekst kompilowany warunkowo gdy nie zdefiniowano symbolu lub makra S Copyright Roman Simiński Strona : 25
26 Kompilacja warunkowa #ifdef-#else- przykłady { #ifdef WERSJA_DEMO puts( "Pamietaj o zarejestrowaniu wersji demo!" ); puts( "Podaj identyfikator:" ); Jeżeli gdzieś wcześniej zdefiniowano: #define WERSJA_DEMO To program będzie miał postać: { puts( "Pamietaj o zarejestrowaniu wersji demo!" ); puts( "Podaj identyfikator:" ); Jeżeli nie zdefiniowano symbolu WERSJA_DEMO: { puts( "Podaj identyfikator:" ); Copyright Roman Simiński Strona : 26
27 Kompilacja warunkowa #ifdef-#else- przykłady #ifdef PISZ_PO_POLSKU puts( "Podaj identyfikator:" ); #else puts( "Enter login" ); void wczytywanie_danych( void ) { #ifdef DIAGNOSTYKA puts( "Rozpoczete wczytywanie danych" ); } puts( "Podaj..." ); Copyright Roman Simiński Strona : 27
28 Kompilacja warunkowa #ifndef-#else- przykłady Dyrektywa #ifndef bywa najczęściej wykorzystywana do sprawdzenia, czy potrzebny symbol lub makro zostały zdefiniowane: #ifndef PI #define PI 3.14 #ifndef TRUE #define TRUE (0==0) #ifndef FALSE #define FALSE (!TRUE) Starsze preprocesory wymagały, aby znak # występował w pierwszej kolumnie wiersza: #ifndef PI # define PI 3.14 void wczytywanie_danych( void ) { # ifdef DIAGNOSTYKA puts( "Rozpoczete wczytywanie" ); # endif Copyright Roman Simiński Strona : 28
29 Kompilacja warunkowa #ifndef-#else- Dyrektywa #ifndef wykorzystywana jest zwykle do realizacji zabezpieczenia przed wielokrotnym włączeniem tego samego pliku nagłówkowego do danej jednostki kompilacji: #ifndef _MOJEFUN_H_ #define _MOJEFUN_H_ void przywitanie(); void pozegnanie(); #include "mojefun.h" void przywitanie(); void pozegnanie(); #include "mojefun.h" #include "mojefun.h" Copyright Roman Simiński Strona : 29
30 Przy okazji poprawny nagłówek dla funkcji z biblioteki C #ifndef _MOJEFUN_H_ #define _MOJEFUN_H_ #ifdef cplusplus extern "C" { void przywitanie(); void pozegnanie(); #ifdef cplusplus } Copyright Roman Simiński Strona : 30
31 Kompilacja warunkowa wykorzystanie operatora defined Z dyrektywami kompilacji warunkowej może być wykorzystany operator defined jeżeli symbol lub makro S jest zdefiniowany, wartość wyrażenia defined( S )ma wartość 1, w przeciwnym wypadku 0. Bywa to wygodne w wyrażeniach testujących wiele warunków: #if defined( WINDOWS ) defined( DOS ) Cos dla Windows lub DOS'a Dyrektywa #if z operatorem defined oraz dyrektywy #ifdef i #ifndef mogą być stosowane zamiennie: #ifdef WINDOWS #if defined( WINDOWS ) #ifndef WINDOWS #if!defined( WINDOWS ) Copyright Roman Simiński Strona : 31
32 W dyrektywie #if można testować wartość symboli #if GNUC >= 3 Cos dla kompilatora w wersji 3 i wyzszej #if (_WIN32_WINNT >= 0x0400) #include <winsock2.h> #else #include <winsock.h> Dyrektywa z warunkiem: #if defined( MOJA_BIBLIOTEKA ) && ( MOJA_BIBLIOTEKA < 4 ) Cos dla bibliotek w wersji nizszej ni ż 4 Może być zapisana prościej, bo porównanie z symbolem niezdefiniowanym daje 0: #if MOJA_BIBLIOTEKA < 4 Cos dla bibliotek w wersji nizszej ni ż 4 Copyright Roman Simiński Strona : 32
33 Preprocesor wykorzystuje dyrektywę #elif Zamiast składać wielokrotnie #if-#else: #if MOJA_BIBLIOTEKA == 1 Cos dla biblioteki w wersji 1 #else / #if MOJA_BIBLIOTEKA == 2 Cos dla biblioteki w wersji 1 #else Cos dla biblioteki w innej wersji ni ż 1 i 2 Można wykorzystać dyrektywę #elif #if MOJA_BIBLIOTEKA == 1 Cos dla biblioteki w wersji 1 #elif MOJA_BIBLIOTEKA == 2 Cos dla biblioteki w wersji 1 #else Cos dla biblioteki w innej wersji ni ż 1 i 2 Copyright Roman Simiński Strona : 33
34 Dyrektywy #error i #warning Dyrektywa #error przerywa kompilacje programu ze zgłoszeniem błędu o treści zapisanej za dyrektywą: #ifdef WINDOWS_OS #error "Ten program nie bedzie dzialal w srodowisku Windows." Dyrektywa #warning powoduje zgłoszenie ostrzeżenia ale nie przerywa kompilacji programu: #ifdef WINDOWS_OS #warning "Uklad bajtow w slowie odwrotny ni ż w srodowisku Windows." Copyright Roman Simiński Strona : 34
35 Predefiniowane makra Makro DATE FILE LINE STDC STDC_HOSTED TIME Rezultat makrorozwinięcia Literał łańcuchowy zawierający datę pracy preprocesora, format "MM DD YYYY". Literał łańcuchowy zawierający nazwę bieżącego pliku źródłowego. Literał całkowitoliczbowy, zawierający numer bieżącej linii w przetwarzanym pliku źródłowym. Wartość 1 oznacza, że dana implementacja jest zgodna ze standardem ANSI C. Wartość 1 oznacza, że dana implementacja jest w pełni zgodna ze standardem ANSI C, 0 w przeciwnym wypadku. Literał łańcuchowy zawierający czas, w którym preprocesor przetwarzał dane miejsce kodu źródłowego, format "HH:MM:SS". Istnieją jeszcze inne predefiniowane makra standardowe oraz specyficzne dla środowiska i kompilatora. Copyright Roman Simiński Strona : 35
36 Predefiniowane makra przykłady zastosowań Wyświetl komunikat diagnostyczny: if( dystans < 0 ) printf( "Blad: ujemny dystans w pliku %s, linia %d.", FILE, LINE ); Wyświetl informacje o pracy preprocesora: printf( "\ninformacje o pracy preprocesora" ); printf( "\nplik zrodlowy: %s", FILE ); printf( "\ndata: %s", DATE ); printf( "\nczas: %s", TIME ); printf( "\nstandard C: %s", ( STDC )? "tak" : "nie" ); printf( "\nnr tej linii: %d", LINE ); Copyright Roman Simiński Strona : 36
37 Inne możliwości Predefiniowane makra: STDC_VERSION, func, cplusplus. Budowanie i łączenie napisów z wykorzystaniem operatorów #, ##. Pragmy i inne dyrektywy. Oraz. Zobacz: dokumentacja preprocesora kompilatora gcc: Copyright Roman Simiński Strona : 37
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 Preprocesor koncepcja, rola zasady wykorzystania Co to jest
Wykł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
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.
Co 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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Wprowadzenie 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
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ę
Wykł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
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Wykł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++)
Wstę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
Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie
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,
Etapy 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
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
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
Wprowadzenie do programowania w języku C
Wprowadzenie do programowania w języku C Część druga Instrukcje sterujące przebiegiem programu Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Podstawy 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
zastę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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści
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
Ję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
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,
Podstawy 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
Podstawy programowania
Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
1. 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
Laboratorium 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
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,
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
Programowanie 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
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
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
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,
Poprzedni 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
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ą
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
#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,
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
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
Cwiczenie 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ć
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
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
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót
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
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.
Podstawy Programowania.
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki
Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa
Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory
Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Programowanie Proceduralne
Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest
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 Klasy pamięci, programy wielomodułowe Deklaracje zmiennych
Języki programowania. Tablice struktur, pliki struktur. Część ósma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część ósma Tablice struktur, pliki struktur 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
Wstę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
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.
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
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
Podstawy 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
Podział 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
Zaawansowane 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
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
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
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
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.
Podstawy Programowania
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke O mnie... dr inż. Małgorzata Janik Zakład Fizyki
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.
Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat
02 Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 2012.10.07 Program w języku C Program w języku C jest pisany w pliku tekstowym, następnie przetwarzany przez kompilator do pliku
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest
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.
Wykład 1
Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego
PROGRAMOWANIE w C prolog
PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014
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,
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Abstrakcyjne 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
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,
Wstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
Programowanie w języku C++
Programowanie w języku C++ Część dziewiąta 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 nie zastąpi
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,
Wstę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
Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania
Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe
#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
Wstę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.
Pliki 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
1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.
Literatura Język C 1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. 2. Andrzej Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Nakom, Poznań
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
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
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
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
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Programowanie strukturalne język C - wprowadzenie
Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość
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
Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia
Struktura programu W programach napisanych w C++ litery wielkie i małe są rozróżniane i często po nauce Pascala są przyczyną błędów. Program napisany w języku C++ składa się zazw yczaj z następujących
Wstę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
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą
Utworzenie pliku. Dowiesz się:
Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program
Programowanie 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
Podstawy programowania (1)
Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie
Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)