PWSZ Gniezno // codefly 2009

23
PWSZ Gniezno // codefly 2009 Łukasz Tomczak [email protected]

description

Łukasz Tomczak [email protected]. 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 - PowerPoint PPT Presentation

Transcript of PWSZ Gniezno // codefly 2009

Page 1: PWSZ Gniezno // codefly 2009

PWSZ Gniezno // codefly 2009

Łukasz [email protected]

Page 2: PWSZ Gniezno // codefly 2009

Czym jest C?

• Trzecią literą alfabetu łacińskiego• Językiem programowania– imperatywny– strukturalny– następca języka B

Page 3: PWSZ Gniezno // codefly 2009

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

Page 4: PWSZ Gniezno // codefly 2009

Przykładowe programy

• UNIX oraz Linux• Microsoft Windows• Symbian OS• Mozilla Firefox• Opera• Gadu Gadu

Page 5: PWSZ Gniezno // codefly 2009

Przykładowe IDE

• Microsoft VisualStudio• Qt Creator• Borland C++ Builder• Eclipse IDE for C/C++ Developers• NetBeans C/C++

Page 6: PWSZ Gniezno // codefly 2009

Ogólna struktura

// Pliki nagłówkowe#include "stdio.h"// Część głównavoid main(){// instrukcje

}

Page 7: PWSZ Gniezno // codefly 2009

Komentarze

// Komentarz liniowy

/*Komentarz blokowy, który może zajmować wiele linii

*/

Page 8: PWSZ Gniezno // codefly 2009

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

Page 9: PWSZ Gniezno // codefly 2009

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

Page 10: PWSZ Gniezno // codefly 2009

Deklaracja zmiennych

int a;

double b, c;

unsigned long x;

unsigned float y;

Page 11: PWSZ Gniezno // codefly 2009

Definicja zmiennych

int a = 7;

double b = 0.5, c = -0.025;

unsigned long x = 1234567890;

unsigned float y = 0.75;

Page 12: PWSZ Gniezno // codefly 2009

Stałe

const int dni_tygodnia = 7;

const float PI = 3.141592653589793;

const float podatek = 0.22;

Page 13: PWSZ Gniezno // codefly 2009

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;

Page 14: PWSZ Gniezno // codefly 2009

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};

Page 15: PWSZ Gniezno // codefly 2009

Tablice

int lotto[6] = {8, 9, 13, 24, 37, 40};

int tablica2d[4][4];

double tablica3d[3][4][5];

char nazwisko[64] = ”Kowalski”;

Page 16: PWSZ Gniezno // codefly 2009

Wskaźniki

char *znak;

int *a, *b, *c;

double *x;

int liczba = 10;a = &liczba;

int **y;

Page 17: PWSZ Gniezno // codefly 2009

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) ){ }

Page 18: PWSZ Gniezno // codefly 2009

Instrukcja decyzyjna

char opcja[9] = ”druga”;

switch(opcja){case ”pierwsza”: // instrukcje

break;case ”druga”: // instrukcje

break;default: // instrukcje

break;}

Page 19: PWSZ Gniezno // codefly 2009

Pętle - while

int a = 0;

while(a < 5){// instrukcjea++;

}

Page 20: PWSZ Gniezno // codefly 2009

Pętle - do … while

bool flaga = false;

do{// instrukcje

}while(flaga);

Page 21: PWSZ Gniezno // codefly 2009

Pętle - for

for(int i = 0; i < 5; i++){// instrukcje

}

for(int i = 5; i > 0; i--){// instrukcje

}

Page 22: PWSZ Gniezno // codefly 2009

Funkcje

int poleKwadratu(int a){return a * a;

}

void napis(){printf(”Przykładowy

napis!”);}

Page 23: PWSZ Gniezno // codefly 2009

Przydatne linki

http://pl.wikibooks.org/wiki/Chttp://pl.wikibooks.org/wiki/C++

http://msdn.microsoft.com/