Informatyka I - Wykład ANSI C
description
Transcript of 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
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
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)
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
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
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
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
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);