Informatyka I - Wykład ANSI C

8
Informatyka I 1 Informatyka I - Wykład ANSI C dr inż. Jerzy Kotowski Instytut Informatyki Automatyki i Robotyki I-6 Wydział Elektroniki W-4 Politechnika Wrocławska pok. 219 C-3 tel. 071 320 38 52 [email protected] http://diuna.ict.pwr.wroc.pl

description

Informatyka I - Wykład ANSI C. dr inż. Jerzy Kotowski Instytut Informatyki Automatyki i Robotyki I-6 Wydział Elektroniki W-4 Politechnika Wrocławska pok. 219 C-3 tel. 071 320 38 52 [email protected] http://diuna.ict.pwr.wroc.pl. Literatura. - PowerPoint PPT Presentation

Transcript of Informatyka I - Wykład ANSI C

Page 1: Informatyka I - Wykład ANSI C

Informatyka I 1

Informatyka I - WykładANSI C

dr inż. Jerzy KotowskiInstytut Informatyki Automatyki i Robotyki I-6

Wydział Elektroniki W-4Politechnika Wrocławska

pok. 219 C-3tel. 071 320 38 52

[email protected]://diuna.ict.pwr.wroc.pl

Page 2: Informatyka I - Wykład ANSI C

Informatyka I 2

Literatura

• Brian W. Kernigham, Dennis M. Ritchie, Język C, WNT, Warszawa 1988

• Brian W. Kernigham, Dennis M. Ritchie, Język ANSI C, WNT 1994

• Claude Delennoy; Ćwiczenia z języka C, WNT 1993

Reguły zaliczenia przedmiotu21100E Semestr I ECTS: 6

Egzamin: 01 luty 2006 godz. 0915-1100 s. 201-205 C-109 luty 2006 godz. 0915-1100 s. 201 C-1

Page 3: Informatyka I - Wykład ANSI C

Informatyka I 3

Dlaczego C?

• 1972, Dennis M. Ritchie, Bell Laboratories, New Jersey

• Pierwsze opracowanie dla systemu UNIX na minikomputer DEC PDP-11

• Kryteria jakości języka programowania• - wysoki poziom

• łatwość projektowania

• - niski poziom

• optymalność

• - łatwość przenoszenia oprogramowania

• uniezależnienie się od typu maszyny oraz środowiska (DOS, UNIX)

• Problem wielokryterialny - najbliższy utopii (ideału) jest język C

W C pisze się systemy operacyjne, kompilatory innych języków (również języka C)

Page 4: Informatyka I - Wykład ANSI C

Informatyka I 4

Podstawowe cechy języka C

- język ogólnego stosowania

- prostota wyrażeń

- nowoczesne sterowanie

- nowoczesne struktury danych

- bogaty zestaw operatorów

Page 5: Informatyka I - Wykład ANSI C

Informatyka I 5

Szczególne cechy języka C:

- wskaźniki

- przekazywanie argumentów funkcjom przez kopiowanie

- przekazywanie argumentów funkcjom przez referencję

- rekurencja (funkcja może wywołać samą siebie)

- słabo określone typy danych ( np. liczby typu char, brak boolean itp.)

- brak kontroli indeksów tablic w czasie pracy programu

samochód wyścigowy bez hamulców

Page 6: Informatyka I - Wykład ANSI C

Informatyka I 6

Wady (zdaniem twórcy):- źle określone priorytety operatorów- istnienie różnych wersji języka

American National Standard Institute => ANSIMicrosoft => Quick C, Microsoft CBorland => Turbo C, Borland C

Sposób postępowania- Napisać program źródłowy

- Skompilować (uzyskać kod maszynowy)

- Uruchomić program maszynowy

Page 7: Informatyka I - Wykład ANSI C

Informatyka I 7

#include <stdio.h>void main(void){

printf("\nAla ma kota.\n");

}

Każdy program napiany w języku C składa się z segmentów noszących nazwę funkcji, opisujących żądane operacje procesu obliczeniowego ( w przykładzie jest to funkcja main)

Nazwy funkcji są praktycznie dowolne (za wyjątkiem słów zastrzeżonych)

Program rozpoczyna działanie od początku funkcji main

Początek i koniec segmentu {..} (odpowiednik begin i end w Pascalu)

Wywołanie każdej funkcji musi zawierać nawiasy (..). Nawiasy muszą być nawet wtedy, gdy funkcja nie posiada argumentów

Słowo kluczowe void. Obsługa stosu.

"...." - stała tekstowa

\n - stała znakowa

Page 8: Informatyka I - Wykład ANSI C

Informatyka I 8

Przykład

int power(int x, int n) /* podnies x do potegi n */{

int i,p=1;for(i=1;i<=n;i++)

p*=x;return p;

}void main(void)/* testowanie funkcji power */{

int i=0;while(i<10){ printf("%d

%d",i,power(2,i)); i++;}

}

Analiza funkcji main1. /* ... */ - komentarz2. int i=0; - deklaracja typu zmiennej z

równoczesnym przypisaniem wartości początkowej

3. Pętla while4. Wydruk wartości poprzez funkcję printf5. "%d %d" - format wydruku6. i++; - operator inkrementacji7. Każda instrukcja kończy się średnikiem

Analiza funkcji power1. Funkcja zwraca wartość typu int2. Funkcja ma dwa argumenty typu int3. Funkcja ma dwie zmienne lokalne i,p -

zmienne i w funkcji main i w funkcji power nie mają z sobą nic wspólnego!

4. Pętla forMożna napisać return(p);