230 likes | 374 Views
Łukasz Tomczak lukasz@lukers.pl. PWSZ Gniezno // codefly 2009. Czym jest C?. Trzecią literą alfabetu łacińskiego Językiem programowania imperatywny strukturalny następca języka B. Historia. 1972r. - pojawienie się C, Dennis Ritchie 1973r. - implementacja jądra UNIX
E N D
Łukasz Tomczak lukasz@lukers.pl PWSZ Gniezno // codefly 2009
Czym jest C? • Trzecią literą alfabetu łacińskiego • Językiem programowania • imperatywny • strukturalny • następca języka B
Historia 1972r. - pojawienie się C, Dennis Ritchie 1973r. - implementacja jądra UNIX 1978r. - publikacja dokumentacji języka C 1980r. - C dominującym językiem programowania 1983r. - pojawienie się C++, Bjarne Stroustrup Więcej: http://pl.wikipedia.org/wiki/C_(język_programowania) PWSZ Gniezno // codefly 2009
Przykładowe programy • UNIX oraz Linux • Microsoft Windows • Symbian OS • Mozilla Firefox • Opera • Gadu Gadu
Przykładowe IDE • Microsoft VisualStudio • Qt Creator • Borland C++ Builder • Eclipse IDE for C/C++ Developers • NetBeans C/C++
Ogólna struktura // Pliki nagłówkowe #include "stdio.h" // Część główna void main() { // instrukcje }
Komentarze // Komentarz liniowy /* Komentarz blokowy, który może zajmować wiele linii */
Deklaracja zmiennych int a; double b, c; unsigned long x; unsigned float y;
Definicja zmiennych int a = 7; double b = 0.5, c = -0.025; unsigned long x = 1234567890; unsigned float y = 0.75;
Stałe const int dni_tygodnia = 7; const float PI = 3.141592653589793; const float podatek = 0.22;
Operacje arytmetyczne int a = 3; int b = 8; int c = a + b; int d = a – b; int e = a * b; float f = a / b; int g = a++ - b; // a = 4; g = -4; int h = ++a – b; // a = 5; h = 8; a += --b; // a = 13; b = 7;
Typy pochodne enum dni {po, wt, sr, cz, pt, so, nd}; struct wspolrzedne {int x;int y; }; union liczba {int mala_liczba; // 4 bajtylong long duza_liczba; // 8 bajtów };
Tablice int lotto[6] = {8, 9, 13, 24, 37, 40}; int tablica2d[4][4]; double tablica3d[3][4][5]; char nazwisko[64] = ”Kowalski”;
Wskaźniki char *znak; int *a, *b, *c; double *x; int liczba = 10; a = &liczba; int **y;
Instrukcja warunkowa bool flaga = true; // zmienna logiczna true / false if(flaga){ // wykona się, gdy flaga = true; }else{ // wykona się, gdy flaga = false; } if(a == b && (b > c || b <= d) ){ }
Instrukcja decyzyjna char opcja[9] = ”druga”; switch(opcja){case ”pierwsza”: // instrukcje break; case ”druga”: // instrukcje break;default: // instrukcje break; }
Pętle - while int a = 0; while(a < 5){ // instrukcje a++; }
Pętle - do … while bool flaga = false; do{ // instrukcje }while(flaga);
Pętle - for for(int i = 0; i < 5; i++){// instrukcje } for(int i = 5; i > 0; i--){// instrukcje }
Funkcje int poleKwadratu(int a){return a * a; } void napis(){ printf(”Przykładowy napis!”); }
Przydatne linki http://pl.wikibooks.org/wiki/C http://pl.wikibooks.org/wiki/C++ http://msdn.microsoft.com/