PWSZ Gniezno // codefly 2009
description
Transcript of PWSZ Gniezno // codefly 2009
PWSZ Gniezno // codefly 2009
Łukasz [email protected]
Czym jest C?
• Trzecią literą alfabetu łacińskiego• Językiem programowania– imperatywny– strukturalny– następca języka B
Historia
1972r. - pojawienie się C, Dennis Ritchie1973r. - implementacja jądra UNIX1978r. - publikacja dokumentacji języka C1980r. - C dominującym językiem programowania1983r. - 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łównavoid main(){// instrukcje
}
Komentarze
// Komentarz liniowy
/*Komentarz blokowy, który może zajmować wiele linii
*/
Typy liczb całkowitych
charsigned -128, +127
unsigned
0, 255
shortsigned -32768, +32767
unsigned
0, 65535
int, longsigned -2 147 483 648, +2 147 483 647
unsigned
0, 4 294 967 295
long long
signed-9 223 372 036 854 775 808, +9 223 372 036 854
775 807
unsigned
0, 18 446 744 073 709 551 615
Typy liczb zmiennoprzecinkowych
float -3,4*10-38, 3,4*1038 precyzja 7 - 8 cyfr
double-1,8*10-308, 1,8*10308 precyzja 15 - 16 cyfr
long double-1,7*10-4932, 1,7*104932 precyzja 19 - 20 cyfr
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){// instrukcjea++;
}
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/Chttp://pl.wikibooks.org/wiki/C++
http://msdn.microsoft.com/