Programowanie w języku C
|
|
- Kajetan Górski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Wprowadzenie do języka programowania C. Programowanie w języku C Język C to imperatywny, strukturalny język programowania stworzony na początku lat siedemdziesiątych (1972 rok) przez Denis M. Ritchie. Nazwa języka związana z językiem ALGOL-60. Pierwsza wersja nowego języka miała nazwę "A", następna wersja - "B", i na końcu - "C". Język C opisali Brian W. Kernighan i Denis M. Ritchie w 1988 roku. Język jest standaryzowany od 1989 roku: standard ISO/IEC 9899:1989, w skrócie "C89", późnej powstał standard ISO/IEC 9899:1990, w skrócie "C90". Ostatni standard ISO/IEC 9899:1999 był opublikowany i jest nazywany standardem "C99". Trwają prace nad rozwinięciem standardu C99. Instytut ANSI nie udostępnia standardy bezpłatnie. Cena udostępnienia C99 349$. Każdy ze standardów opisuje język, preprocesor i bibliotekę funkcji. Struktury danych, stałe i prototypy funkcji bibliotecznych są zdefiniowane w plikach nagłówkowych.
2 W standardzie języka C jest podana zawartość plików nagłówkowych przedstawionych w tab. 1. Tabela 1. Standardowe pliki nagłówkowe w ANSI C Plik nagłówkowy assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdio.h stdlib.h string.h time.h Przeznaczenie Definiuje makro assert używane do diagnostyki programu Deklaruje funkcje do klasyfikacji i konwersji znaków Definiuje makro dla warunków błędu, EDOM i ERANGE, oraz zmienną całkowitą errno, poprzez którą funkcje biblioteczne zwracają kod błędu Definiuje zakres wartości, które mogą być zapamiętywane w typach zmiennoprzecinkowych Definiuje wartości ograniczające dla wszystkich danych typu całkowitego Deklaruje strukturę lconv i funkcje niezbędne do przystosowania programu w C do poszczególnych środowisk lokalnych Deklaruje funkcje matematyczne oraz makro HUGE_VAL Definiuje funkcje setjmp oraz longjmp, które mogą przekazywać kontrolę z jednej funkcji do drugiej bez opierania się na wywołaniach i powrotach z funkcji. Definiuje również typ danych jmp_buf używany przez setjmp i longjmp. Definiuje symbole i procedury niezbędne dla obsługi wyjątków. Definiuje makra, które umożliwiają dostęp do nienazwanych argumentów w funkcji, która akceptuje zmienną liczbę argumentów Definiuje standardowe typy danych ptrdi_t, size_t, wchar_t, symbol NULL oraz makro offsetof Deklaruje funkcje i typy danych niezbędne do obsługi operacji we/wy. Definiuje makro takie jak BUFSIZ, EOF, NULL, SEEK_CUR, SEEK_END i SEEK_SET Deklaruje wiele funkcji, w tym procedury konwersji łańcuchów, generator liczb losowych, procedury alokacji pamięci i procedury kontroli procesów (takie, jak abort, exit i system) Deklaruje funkcje do manipulowania łańcuchami takie, jak strcmp i strcpy Deklaruje typy danych i definiuje funkcje do manipulowania czasem. Definiuje typy clock_t i time_t oraz strukturę danych tm
3 Język C wywarł wielki wpływ na inne języki programowania. Język C jest bazą najpopularniejszego języka programowania C++. Istnieją liczne kompilatory dla programów napisanych w języku C. Popularne kompilatory to bc.exe i bcc32.exe firmy Borland, kompilator ml.exe firmy Microsoft, kompilator OpenWatcom C/C++ Compiler firmy Watcom, kompilator Bloodshed Dev-C++ Compiler. Istnieją liczne kompilatory dla języka C skierowane na mikrokontrolery i mikroprocesory. W języku C zwykle są tworzone aplikacje działające w trybie konsolowym. W trybie konsolowym aplikacja przyjmuje z klawiatury kody znaków, a monitor wyświetla tylko znaki (działa w tzw. "trybie tekstowym"). W języku C można programować też aplikacje działające w trybie graficznym. Powstanie środowisk graficznych dla języka C++ spowodowało, że programy dla trybu graficznego stosunkowo rzadko powstają w języku C.
4 Struktura programu w języku C Pliki z programami w języku C mają standardowe rozszerzenie ".c". W języku C deklaracje i definicje globalnych zmiennych powinny być na poczatku pliku, a deklaracje i definicje lokalnych zmiennych - na początku podprogramu. Program w języku C musi zawierać obowiązkowo podprogram z nazwą "main" mający typ int. Funkcja (podprogram, procedura) "main" ma trzy argumenty: int main(int argc, char* argv[], char* envp[]) { /*** instrukcje ***/ } Gdzie: "argc" jest ilością elementów argumentu - tablicy "argv", "argv" jest tablicą wskaźników na wierszy z wiersza poleceń, "envp" jest tablicą wskaźników na wierszy z przestrzeni środowiska. Elementy tablicy "argv" wskazują na pojedyncze wierszy wiersza poleceń zastosowanego przy wywołaniu aplikacji. Na przykład, niech aplikacja "aplik" jest wywołana następująco: aplik.exe eksperim.txt 10 Elementy tablicy "argv" w tym przypadku: argv[0] = wskaźnik na wiersz "aplik.exe", który jest nazwą aplikacji (w środowisku Visual C++ nie jest to gwarantowane), argv[1] = wskaźnik na wiersz "eksperim.txt" (pierwszy parametr wywołania), argv[2] = wskaźnik na wiersz "10" (drugi parametr wywołania). Elementy tablicy "envp" wskazują na pojedyncze wierszy przestrzeni środowiska, co daje możliwość wykorzystania ustawień systemowych. Na koniec tablicy wskazuje zerowy element, tj. element z wartością NULL. Funkcja "main" musi być zakończona przez instrukcję "return N", gdzie N - wartość, która jest zwracana do środowiska operacyjnego. Często N jest ustawiane na 0: return 0; W środowisku Visual C++ funkcja (podprogram, procedura) "main" może być bez argumentów: int main(void) { /*** instrukcje ***/ return 0; }
5 Kompilator Visual C++ przyjmuje też amorficzną wersje funkcji "main": void main(void) { /*** instrukcje ***/ return; } która nie zwraca wartości i dlatego może nie być zakończona przez instrukcję "return": void main(void) { /*** instrukcje ***/ } Oprócz funkcji "main" program może zawierać: instrukcje preprocesora, podprogramy podprogramu "main".
6 Dyrektywy preprocesora Polecenia programu przeznaczone dla kompilatora nazywamy dyrektywami przeprocesora. Preprocesor jest funkcjonalną częścią kompilatora. Preprocesor przygotowuje tekst programu do kompilacji. Dyrektywa include wskazuje na wstawiane innego pliku. Przykłady: #include <stdio.h> #include ".\\include\\kolo.h" Jeśli wstawiany plik należy do plików systemu programowania, to stosują się nawiasy "<", ">", w innym przypadku mają zastosowanie cudzysłowy. Dyrektywa #define służy do definicji identyfikatorów i makrodefinicji, a dyrektywa #undef - do rezygnacji z definicji. Dyrektywy #if, #ifdef, #ifndef, #else, #elif, #endif są grupą dyrektyw warunkowych. Uogólniona struktura, która stosuje się dla tej grupy: #if <warunek> lub #ifdef <identyfikator> lub #ifndef <identyfikator> <grupa_instrukcji_lub_dyrektyw> #elif <warunek> <grupa_instrukcji_lub_dyrektyw> #else <grupa_instrukcji_lub_dyrektyw> #endif
7 Dyrektywy #ifdef, #ifndef są stosowane do sprawdzania, czy identyfikator był zdefiniowany, czy nie. Przykład: #define NULL 0 #define max(a,b) ((a>b)? a: b) #define STDIO_H... #ifndef STDIO_H #define STDIO_H #endif Wewnątrz dyrektyw warunkowych działa operator defined, który zwraca wartość 1, gdy identyfikator jest zdefiniowany, lub wartość 0, gdy nie jest. Przykład: //--- plik stdio.h --- #if!defined( STDIO_H)) #define STDIO_H #endif Pliki nagłówkowe często zawierają dyrektywy, które mają na celu wyeliminować powtórną kompilację pliku. Na przykład: //--- plik stdio.h --- #ifndef STDIO_H #define STDIO_H... <instrukcje_lub_dyrektywy>... #endif Dyrektywa #line jest stosowana do przełączenia kompilatora na inny wiersz i opcjonalne na inny plik. Składnia dyrektywy: #line <numer_wierszu> [<nazwa_pliku>] Przykład: #line 177 "nowy.c"
8 Dyrektywa #error wprowadza komunikat, który będzie wyświetlony w chwili kompilacji. Składnia dyrektywy: #error "tekst_komunikatu" Przykład: #ifndef STDIO_H #error "Brak pliku \"stdio.h\"." #endif Dyrektywy #pragma są stosowane często. Dyrektywa #pragma ma strukture: #pragma token-string parametry (opcje) Dyrektywy pragma zastosowane w Visual C++ dla języka C Token-string alloc_text auto_inline bss_seg check_stack code_seg comment component const_seg data_seg deprecated fenv_access float_control fp_contract function hdrstop include_alias inline_depth inline_recursion intrinsic make_public managed Zastosowanie Łączenie funkcji i sekcji, w której ona może być stosowana Zezwolenie/zakaz trybu automatycznego wstawiania dla funkcji Zaznacza segment z danymi, które nie potrzebują inicjalizacji Powoduje sprawdzanie stosu na przepełnienie Zaznacza segment z programem Umieszcza komentarz w kodzie obiektowym Włącza/wyłącza akumulację danych dla wykrywacza błędów Zaznacza segment z danymi, które są stałe Zaznacza segment z danymi, które potrzebują inicjalizacji Zaznacza element, który już nie jest stosowany Włącza/wyłącza optymalizację Steruje dokładnością obliczeń liczb rzeczywistych Steruje redukcją liczb rzeczywistych Zakazuje wstawianie funkcji Od miejsca zaznaczonego przez hdrstop wynik kompilacji nie jest przechowywany Wprowadza alias (skrót) dla długiej nazwy pliku Wprowadza "głębokość" dla funkcji wstawianych Steruje rekurencją dla funkcji wstawianych Zakazuje wstawianie Wskazuje typ z dostępem publicznym Steruje typem "managed/unmanaged"
9 message once optimize pack pop_macro push_macro region, endregion runtime_checks section setlocale unmanaged warning Zatrzymuje kompilację i wprowadza komunikat Zakaz powtórnej kompilacji Włącza/wyłącza optymalizację Ustawia krok rozmieszczenia elementów struktury, unii lub klasy Zdejmuje ze stosu wartość makrodefinicji Odkłada na stos wartość makrodefinicji Zaznacza granice fragmentu tekstu wyświetlanego przez edytor Visual Studio Ustawia sprawdzanie stosu w czasie wykonania aplikacji Zaznacza początek sekcji Ustawia opcje regionalne i językowe Steruje typem "managed/unmanaged" Steruje blokowaniem ostrzeżeń Makra predefiniowane: DATE - aktualna data; FILE - aktualny plik; LINE - aktualny wiersz; STDC stała równa 1; STDC_HOSTED - stała 1, gdy aplikacja jest główną, lub 0, gdy nie; STDC_VERSION - stała L; TIME - czas kompilacji. Typy standardowe Liczbowe typy danych języka C są przedstawione w niżej położonej tabeli. Rodzaj danych i zakres wartości Typ Rozmiar w bajtach Liczba całkowita od -128 do +127 signed char 1 Liczba całkowita bez znaku od 0 do 255 unsigned char (lub char) 1 Liczba całkowita od do short int (lub short) 2 Liczba całkowita bez znaku od 0 do unsigned short int (lub unsigned short) 2 Liczba całkowita od do long int(lub long, lub int) 4 Liczba całkowita od 0 do unsigned long int 4 (lub unsigned long) (lub unsigned int) Liczba całkowita od long long int 8 do (lub long long) Liczba całkowita bez znaku od 0 unsigned long long int 8 do (lub unsigned long long) Liczba rzeczywista ze znakiem, float 4 dokładność 7 cyfr Liczba rzeczywista ze znakiem, double 8 dokładność 15 cyfr Liczba rzeczywista ze znakiem, dokładność 18 cyfr long double 10
10 Znakowe typy danych języka C są przedstawione w niżej położonej tabeli. Rodzaj danych i zakres wartości Typ Rozmiar w bajtach Znak w kodzie rozszerzonego ASCII signed char, unsigned char 1 Znak w kodzie UNICODE UTF-16 short int, unsigned short int 2 Znak w kodzie UNICODE UTF-32 long int, unsigned long int, float 4 W języku C nie ma typu logicznego. Dla deklaracji zmiennych z dwoma wartościami fałsz i prawda stosuje się typ "int" oraz wartości 0 i nie 0. Funkcje standardowe Funkcja printf wyprowadza dane do strumienia wyjściowego stdout, tj. na ekran monitora w trybie tekstowym. Zaznaczając słowo "printf" i naciskając F1 można otrzymać pełną informację o tej funkcji, a w tym o nazwie pliku nagłówkowego stdio.h zawierającego deklarację funkcji. Aby wprowadzić nazwie pliku nagłówkowego, należy na początku programu dodać instrukcję preprocesora, na przykład: #include <stdio.h> Funkcja getch czeka na wprowadzenie znaku z klawiatury. System operacyjny Windows też "czeka", i okno nie znika. Funkcja getch zwraca kod znaku. Opis funkcji getch znajduje się w pliku conio.h. Należy na początku pliku dodawać instrukcję dla preprocesora: #include <conio.h>
11 Programowanie z zastosowaniem funkcji API Win32 W programowaniu aplikacji Windows są używane funkcje API (Application Programming Interface). Wewnątrz systemu Windows funkcja API wykorzystuje funkcje przerwań MS-DOS, ale programista nie widzi tego i pracuje jakby o jeden poziom wyżej. Ponieważ ilość funkcji API przekracza 2000, programowanie aplikacji Windows nie jest możliwe bez dokumentacji Microsoft Win32 Programmer s Reference. Aplikacje Windows można rozdzielić na następujące grupy 1 : o aplikacja bezokienkowa, o aplikacja klasyczna korzystająca z jednego głównego okna, o aplikacja dialogowa, w której główne okno jest oknem dialogowym, o aplikacja konsolowa, w której główne okno jest oknem konsoli, o usługa specjalizowana aplikacja lub biblioteka dynamiczna, o sterownik - aplikacja lub biblioteka dynamiczna sterująca urządzeniem peryferyjnym. Funkcje API (Application Programming Interface) Win32 Na początku programu z funkcjami API Win32 należy dodawać instrukcję dla preproceso- #include <windows.h> ra: Funkcje API Win32 przyjmują parametry tylko przez stos; nie stosuje się przekazywania parametrów przez rejestry. Nazwa bibliotecznej funkcji API może być trochę inna niż nazwa pokazana przez system na ekranie pomocy. Na przykład w bibliotekach import32.lib i user32.lib znajduje się funkcja WriteConsoleA, a na ekranie widzimy informacje o funkcji WriteConsole. Dodatkowa litera A w nazwie funkcji WriteConsoleA i podobnych funkcji odpowiada rodzaju tej funkcji dla wierszy w kodzie ANSI. Jeśli na końcu nazwy funkcji jest litera W, to funkcja współdziała z wierszami UNICODE. Na zakończenie swojej pracy funkcja API przez rejestr EAX zwraca wartość, która świadczy o wyniku procedury. Często wartość 0 lub wartość dodatnia odpowiadają pomyślnemu zakończeniu działań, a wartość -1 wskazuje na niepowodzenie. W przypadku niepowodzenia funkcja API wywołuje funkcję SetLastError, do której przekazuje podwójne słowo z kodem niepowodzenia. Ten kod można przeczytać wywołując funkcje GetLastError bezpośrednio po wywołaniu funkcji API. W dwóch starszych bitach (31 i 30) słowa z kodem zwróconym funkcją GetLastError może być: 00 wywołana wcześniej funkcja jest zakończona z powodzeniem, 01 kod jest numerem komunikatu informującego, 10 kod jest numerem ostrzeżenia, 11 kod jest numerem błędu. Kody niepowodzenia funkcji API Win32 mają 0 w bicie 29. Programista może wprowadzić w swoim programie kody niepowodzeń z 1 w bicie 29 i tym samym uniknąć konfliktów z systemem operacyjnym. Część funkcji API wywołuje funkcję SetLastError w przypadku normalnego zakończenia, aby przez funkcję GetLastError przekazać informację o wyniku działania. 1 Pirogov V., Asembler. Podręcznik programisty, Wydawnictwo HELION, 2005, ISBN
12 Aby komunikaty były wyświetlane na ekranie z poprawnymi polskimi literami, należy stosować funkcję AnsiToOem z zestawu "Platform SDK (Software Development Kit)", tj. funkcji API (Application Programming Interface) Win32. Funkcja AnsiToOem pobiera tekst z pierwszego argumentu - tablicy tekstowej, przekoduje i zapisuje do drugiego argumentu - tablicy tekstowej. Aby zastosować funkcję AnsiToOem należy przenieść teksty do tablic tekstowych i zdefiniować bufor tekstowy, na przykład: char tekst1[]="program w C. Autor Ąćęł Ńóśżź \r\n\r\n"; char buf[256]; AnsiToOem(tekst1,buf); printf(buf); Funkcje API Win32 związane z konsolą BOOL AllocConsole(void); Alokacja konsoli. BOOL FreeConsole(void); Zamykanie wszystkich konsoli. HANDLE GetStdHandle(DWORD nstdhandle) Pobranie deskryptora buforu konsoli: wejściowego przy nstdhandle = STD_INPUT_NANDLE, wyjściowego przy nstdhandle = STD_OUTPUT_NANDLE. BOOL SetConsoleTitleA(LPCTSTR lpconsoletitle); Wypisywanie nagłówka okna konsolowego. Argument: lpconsoletitle adres wiersza - nagłówka. BOOL SetConsoleTextAttribute(HANDLE hconsoleoutput, WORD wattributes); Ustawienie atrybutów tekstowych. Argumenty: hconsoleoutput deskryptor buforu wyjściowego konsoli, wattributes kolor. COORD GetLargestConsoleWindowSize(HANDLE hconsoleoutput); Zwraca maksymalny rozmiar okna konsoli. Argument: hconsoleoutput deskryptor buforu wyjściowego konsoli. Struktura typu COORD: typedef struct _COORD { SHORT X; //współrzędna X SHORT Y; //współrzędna Y } COORD, *PCOORD; BOOL FillConsoleOutputAttribute(HANDLE hconsoleoutput,word wattribute, DWORD nlength,coord dwwritecoord,lpdword lpnumberofattrswritten); Wpisuje do buforu wyjściowego (ekranu) atrybuty znakowe. Argumenty: hconsoleoutput deskryptor buforu wyjściowego konsoli, wattribute kolor, nlength ilość pozycji, dwwritecoord współrzędne X, Y pierwszej pozycji w oknie konsoli, lpnumberofattrswritten adres zmiennej, do której będzie zapisana faktyczna ilość pozycji.
13 BOOL SetConsoleCursorPosition(HANDLE hconsoleoutput,coord dwcursorposition); Ustawienie pozycji kursora. Argumenty: hconsoleoutput deskryptor buforu wyjściowego konsoli, dwcursorposition współrzędne X, Y (typ COORD) pozycji w oknie konsoli. BOOL WriteConsoleOutputCharacter(HANDLE hconsoleoutput, LPCTSTR lpcharacter,dword nlength,coord dwwritecoord, LPDWORD lpnumberofcharswritten); Wyprowadzenie znaków od pozycji kursora. Argumenty: hconsoleoutput deskryptor buforu wyjściowego konsoli, lpcharacter adres bufora z tekstem, nlength ilość znaków, dwwritecoord współrzędne X, Y pierwszej pozycji w oknie konsoli, lpnumberofcharswritten adres zmiennej, do której będzie zapisana faktyczna ilość wyprowadzonych znaków. BOOL WriteConsole(HANDLE hconsoleoutput,const VOID* lpbuffer, DWORD nnumberofcharstowrite,lpdword lpnumberofcharswritten, LPVOID lpreserved); Wyprowadzenie znaków do buforu konsoli Argumenty: hconsoleoutput deskryptor buforu wyjściowego konsoli, lpbuffer adres bufora z tekstem, nnumberofcharstowrite ilość znaków, lpnumberofcharswritten adres zmiennej, do której będzie zapisana faktyczna ilość wyprowadzonych znaków,. lpreserved rezerwa (musi być 0). Tworzenie okna konsolowego Konsolową nazywamy aplikację, w której stosuje się tylko tekstowy tryb monitora. Aplikacja konsolowa przyjmuje polecenia użytkownika z klawiatury lub od myszy oraz wyświetla wyniki pracy w postaci tekstu. Aplikacja konsolowa może być otwarta w osobnym oknie lub aplikacja może korzystać z okna, które Windows otwiera spod punktu menu Start/ Programy/ Akcesoria/ Wiersz poleceń. Do zalet aplikacji konsolową należy szybkość jej napisania, co wynika z prostego faktu, że nie trzeba opracowywać graficzną część aplikacji. System Windows tworzy okno konsoli jako okno najprostszego rodzaju i kieruje do okna minimalną ilość komunikatów. Do komunikacji z oknem konsoli Windows tworzy trzy bufory: wejściowy, przez który konsola przyjmuje symboli z klawiatury, wyjściowy, zawartość którego jest wyświetlana przez konsolę, komunikatów o błędach. Każdy z buforów posiada deskryptor. Do pobrania deskryptora buforu służy funkcja API GetStdHandle. Na rodzaj deskryptora wskazuje stała STD_INPUT_HANDLE lub STD_OUTPUT_HANDLE. W aplikacjach konsolowych często jest stosowana funkcja CharToOem, która zamienia kody znaków tekstu na kody OEM (Original Equipment Manufacturer), aby konsol wyświetlała polskie znaki.
14 Przez stos funkcja otrzymuje dwa argumenty: wskaźnik na wiersz źródłowy i wskaźnik na bufor dla tekstu przekształconego. Sterowanie kolorem W trybie konsolowym jest możliwe zastosowanie 16 kolorów tła i 16 kolorów znaku. W buforze wyjściowym każdej pozycji na ekranie odpowiada 2 bajta, w których są przechowane kod i kolor znaku. Cztery starszych bitów bajta koloru znaku to kolor tła, cztery młodszych bitów to kolor znaku. W każdej czwórce przeznaczenie bitów w kolejności od starszego do młodszego jest następujące: Intensywność, Kolor czerwony, Kolor zielony, Kolor niebieski
15 W pliku "wincon.h" znajdują się stałe pokazane w niżej przytoczonej tabeli (skopiowanej z pomocy Visual Studio). Attribute FOREGROUND_BLUE FOREGROUND_GREEN FOREGROUND_RED FOREGROUND_INTENSITY BACKGROUND_BLUE BACKGROUND_GREEN BACKGROUND_RED BACKGROUND_INTENSITY Meaning Text color contains blue. Text color contains green. Text color contains red. Text color is intensified. Background color contains blue. Background color contains green. Background color contains red. Background color is intensified. Aby wskazać kolor należy połączyć stałe za pomocą operatora sumy bitowej lub "zwykłej". Funkcja SetConsoleTextAttribute ustawia atrybut koloru w buforze ekranu: BOOL SetConsoleTextAttribute( HANDLE hconsoleoutput, //deskryptor ekranu WORD wattributes //atrybut koloru ); Funkcja FillConsoleOutputAttribute przypisuje do komórek bufora zadany atrybut koloru. Opis funkcji FillConsoleOutputAttribute: BOOL FillConsoleOutputAttribute( HANDLE hconsoleoutput, //deskryptor ekranu WORD wattribute, //atrybut koloru DWORD nlength, //ilość pozycji COORD dwwritecoord, //współrzędne pierwszej pozycji LPDWORD lpnumberofattrswritten /* adres zmiennej, do której będzie zapisana ilość pozycji zapełnionych */ ); Sterowanie kursorem Do ustawienia kursora służy funkcja SetConsoleCursorPosition: BOOL SetConsoleCursorPosition( HANDLE hconsoleoutput, //deskryptor ekranu COORD dwcursorposition //współrzędne pozycji );
16 Aplikacja z tworzeniem okna konsoli Rozpatrzmy programowanie aplikacji konsolową, w której jest tworzone okno konsoli. Program musi zawierać alokacje konsoli za pomocą funkcji AllocConsole i zamykanie konsoli przez wywołanie funkcji FreeConsole. Funkcja FreeConsole musi być wywołana też na początku programu, aby zamknąć inne konsoli tego procesu. Niżej w przykładzie jest przedstawiony program, który tworzy okno konsolowe białego koloru. Fragmenty programu //Aplikacja z tworzeniem okna konsoli #include <stdio.h> #include <stdlib.h> #include <math.h> #include <conio.h> #include <windows.h> #pragma warning (disable:4996)... char tytul[]="..."; char tekst1[]="..."; HANDLE hinp,hout; COORD pole; int rbuf,rfakt,rout,lengbuf; //--- Kolory ---- unsigned short kolor1 = 0xFC; // Kolory: BG_I,R,G,B,FG I,R,G,B unsigned short kolor2 = 0xF9; // Kolory: BG_I,R,G,B,FG I,R,G,B int main(void) { //--- tworzenie konsoli --- FreeConsole(); AllocConsole(); //--- AnsiToOem(tytul,tytul); SetConsoleTitleA(tytul); //--- hout=getstdhandle(std_output_handle);//deskryptor buforu wyjściowego hinp=getstdhandle(std_input_handle); // deskryptor buforu wejściowego //--- obliczenie rozmiaru buforu ekranu pole=getlargestconsolewindowsize(hout); rbuf=pole.x * pole.y; //--- napełnienie komórek jednakowym atrybutem --- pole.x=0; pole.y=0; FillConsoleOutputAttribute(hout,kolor2,rbuf,pole,&rfakt); //--- ustawienie kursora --- pole.x=0; pole.y=20; SetConsoleCursorPosition(hout,pole); //ustawienie pozycji kursora //--- wyprowadzenie komunikatu informacyjnego --- SetConsoleTextAttribute(hout,kolor1); CharToOemA(tekst1,buf); //konwersja polskich znaków lengbuf=(int)strlen(buf); WriteConsoleA(hout,buf,lengbuf,&rfakt,NULL); //--- getch(); //--- zamknięcie konsoli FreeConsole();
17 } return 0; Nowo otwarte okno konsoli posiada nagłówek, który przekazuje do okna konsoli funkcja SetConsoleTitleA. Przykład ilustruje też sterowanie kolorem tekstu. W trybie konsolowym jest możliwe zastosowanie 16 kolorów tła i 16 kolorów znaku. Funkcja FillConsoleOutputAttribute przypisuje do każdej komórki bufora zadany atrybut koloru (w tym przykładzie niebieski znak na tle białym).
Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio
Programowanie Ćwiczenie Język C. Środowisko programowania Visual Studio Tematy ćwiczenia praca ze środowiskiem, tworzenie i uruchomienie programu, struktura programu, deklaracje i definicje typy standardowe,
Ćwiczenie Obsługa klawiatury i myszy
Ćwiczenie Obsługa klawiatury i myszy Tematy ćwiczenia klawiatura, mysz, wyprowadzenie tekstu. Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie na bazie materiałów
#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,
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.
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 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
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
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
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,
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
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
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
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++
Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
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,
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
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,
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
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
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
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
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
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
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
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
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
Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach
Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
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ść
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
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
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,
INFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
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
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
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ą
Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli
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++)
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
Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak
Biblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline
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
Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim
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
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
Argumenty wywołania programu, operacje na plikach
Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują
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
Programowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
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ć
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
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S
PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Dziekan Wydziału Nauk Społecznych i Technik Komputerowych S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko
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
Wykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
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
PMiK 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
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego
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,
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
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 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
Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
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
Podstawy programowania komputerów
Podstawy programowania komputerów Wykład 14: Programowanie współbieżne w C Definicja programowania współbieżnego Programowanie współbieżne jest tworzeniem programów, których wykonanie powoduje uruchomienie
Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski
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
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
1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
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
Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach
Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,
Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1
Funkcje czyli jak programować proceduralne. Programowanie Proceduralne 1 Struktura programu w C # include / Dyrektywy p r e p r o c e s o r a / #define PI 3.1415 float g =. 5 ; / Zmienne
Kompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Ję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
Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 12 Struktury, unie, pola bitowe 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Struktury 2 Struktury Struktury to złożone typy danych
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
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...)
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 1 Literatura Literatura podstawowa: Prata Stephen. Szkoła programowania. Język C++. Wydanie V. Helion,
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.
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
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
main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!
Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje
Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.
Typy danych Aby zapisać w komputerze jakąś daną, trzeba zapamiętać trzy jej podstawowe cechy: miejsce przechowywania informacji, przechowywaną wartość, rodzaj przechowywanej wartości. Typ użyty w deklaracji
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
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
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 9 - sem.iii. Dr inż. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 9 - sem.iii Dr inż. M. Czyżak Język ANSI C tablice znaków Tablice znaków (łańcuchy) Tablice znaków stanowią specjalny rodzaj tablic o budowie ułatwiającej
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
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ą
Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
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ń
Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
Programowanie w językach wysokiego poziomu
Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie
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
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,
WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)