Programowanie w języku C - Praca zbiorowa.pdf
(
871 KB
)
Pobierz
200726301 UNPDF
Programowanie w C
Aktualna, edytowalna wersja tego podręcznika jest dostępna w Wikibooks, bibliotece wolnych
podręczników pod adresem
http://pl.wikibooks.org/wiki/C
Całość tekstu jest objęta licencją GNU Free Documentation License.
Spis treści
1.
Wstęp
1. O podręczniku
2. O języku C
3. Czego potrzebujesz
4. Używanie kompilatora
2.
C dla początkujących
1. Pierwszy program
2. Podstawowe wiadomości
3. Zmienne w C
4. Operatory
5. Instrukcje sterujące
6. Podstawowe procedury wejścia i wyjścia
7. Funkcje
8. Preprocesor
9. Biblioteka standardowa
10.Czytanie i pisanie do plików
11.Ćwiczenia
3.
Zaawansowany C
1. Tablice
2. Wskaźniki
3. Napisy
4. Typy złożone
5. Tworzenie bibliotek
6. Więcej o kompilowaniu
7. Zaawansowane operacje matematyczne
8. Powszechne praktyki
9. Przenośność programów
10.Łączenie z innymi językami
11.Ćwiczenia
4.
Dodatek A
1. Składnia
2. Przykłady z komentarzem
5.
Przypisy
6.
Licencja
O podręczniku
O czym jest ten podręcznik?
Niniejszy podręcznik stanowi przewodnik dla początkujących programistów po języku
programowania C.
Jaka minimalna wiedza jest potrzebna?
Ten podręcznik ma nauczyć programowania w C od podstaw do poziomu zaawansowanego. Do
zrozumienia rozdziału dla początkujących wymagana jest jedynie znajomość podstawowych pojęć z
zakresu algebry oraz terminów komputerowych. Doświadczenie w programowaniu w innych
językach bardzo pomaga, ale nie jest konieczne.
Czy mogę pomóc?
Oczywiście że możesz. Mało tego, będziemy zadowoleni z każdej pomocy – możesz pisać
rozdziały lub tłumaczyć je z
angielskiej
wersji tego podręcznika. Nie musisz pytać się nikogo o
zgodę - jeśli chcesz, możesz zacząć już teraz. Prosimy jedynie o zapoznanie się ze stylem
podręcznika, użytymi w nim szablonami i zachowanie układu rozdziałów. Propozycje zmiany spisu
treści należy zgłaszać na stronie
dyskusji
.
Jeśli znalazłeś jakiś błąd a nie umiesz go poprawić, koniecznie powiadom o tym fakcie autorów
tego podręcznika za pomocą strony dyskusji danego modułu książki. Dzięki temu przyczyniasz się
do rozwoju tego podręcznika.
Przyjęte konwencje
Informacje ważne oznaczamy w następujący sposób:
Uwaga!
Ważna informacja!
Dodatkowe informacje, które odrobinę wykraczają poza zakres podręcznika, a także wyjaśniają
kwestie niezwiązane bezpośrednio z językiem C, oznaczamy tak:
Wyjaśnienie
Ponadto kod w języku C będzie prezentowany w następujący sposób:
#include <stdio.h>
int main (int argc, char *argv[])
{
return 0;
}
Innego rodzaju przykłady, dialog użytkownika z konsolą i programem, wejście / wyjście programu,
informacje teoretyczne będą wyglądały tak:
typ zmienna = wartość;
Autorzy
Istotny wkład w powstanie podręcznika mają:
•
CzarnyZajaczek
•
Kj
•
mina86
Dodatkowo w rozwoju podręcznika pomagali między innymi:
•
Noisy
Źródła
• podręcznik
C Programming
na anglojęzycznej wersji Wikibooks, licencja
GFDL
• Brian W. Kernighan, Dennis M. Ritchie,
Język ANSI C
•
ISO C Committee Draft, 18 styczna 1999
O języku C
Wikipedia
,
nasz siostrzany projekt, zawiera artykuł na temat
C (język programowania)
.
C
jest językiem programowania wysokiego poziomu. Jego nazwę interpretuje się jako następną
literę po B (nazwa jego poprzednika), lub drugą literę języka BCPL (poprzednik języka B).
Historia C
W 1947 roku trzej naukowcy z Bell Telephone Laboratories - William Shockley, Walter Brattain i
John Bardeen - stworzyli pierwszy tranzystor; w 1956 roku, w MIT skonstruowano pierwszy
komputer oparty wyłącznie na tranzystorach: TX-O; w 1958 roku Jack Kilby z Texas Instruments
skonstruował układ scalony. Ale zanim powstał pierwszy układ scalony, pierwszy język wysokiego
poziomu został już napisany.
W 1954 powstał
Fortran
(Formula Translator), który zapoczątkował napisanie języka Fortran I
(1956). Później powstały kolejno:
58 - Algorithmic Language w 1958 r.
• Algol 60 (1960)
•
CPL
- Combined Programming Language (1963)
•
BCPL
- Basic CPL (1967)
•
B
(1969)
i C w oparciu o B.
•
Derbeth
•
Lrds
• Bruce Eckel,
Thinking in C++
. Rozdział
Język C w programie C++
.
•
Algol
B został stworzony przez Kena Thompsona z Bell Labs; był to
język interpretowany
, używany we
wczesnych, wewnętrznych wersjach systemu operacyjnego
UNIX
.
Inni pracownicy Bell Labs,
Thompson i Dennis Richie, rozwinęli B, nazywając go NB; dalszy rozwój NB dał C -
język
kompilowany
.
Większa część UNIXa została ponownie napisana w NB, a następnie w C, co dało w
efekcie bardziej przenośny system operacyjny. W 1978 roku wydana została książka pt. "The C
Programming Language", która stała się pierwszym podręcznikiem do nauki języka C.
Możliwość uruchamiania UNIX-a na różnych komputerach była główną przyczyną początkowej
popularności zarówno UNIX-a, jak i C; zamiast tworzyć nowy system operacyjny, programiści
mogli po prostu napisać tylko te części systemu, których wymagał inny sprzęt, oraz napisać
kompilator C dla nowego systemu. Odkąd większa część narzędzi systemowych była napisana w C,
logiczne było pisanie kolejnych w tym samym języku.
Kilka z obecnie powszechnie stosowanych systemów operacyjnych takich jak
Linux
,
Microsoft
Windows
zostało napisanych w języku C.
Standaryzacje
W 1978 roku Ritchie i Kerninghan opublikowali pierwszą książkę nt. języka C - "The C
Programming Language". Owa książka przez wiele lat była swoistym "wyznacznikiem", jak
programować w języku C. Była więc to niejako pierwsza standaryzacja, nazywana od nazwisk
twórców "K&R". Oto nowości, wprowadzone przez nią do języka C w stosunku do jego pierwszych
wersji (pochodzących z początku lat 70.):
• możliwość tworzenia struktur (słowo
struct
)
• dłuższe typy danych (modyfikator
long
)
• liczby całkowite bez znaku (modyfikator
unsigned
)
• zmieniono operator "=+" na "+="
Ponadto producenci kompilatorów (zwłaszcza AT&T) wprowadzali swoje zmiany, nieobjęte
standardem:
• funkcje nie zwracające wartości (void) oraz typ void*
• funkcje zwracające struktury i unie
• przypisywanie wartości strukturom
• wprowadzenie słowa kluczowego
const
• utworzenie biblioteki standardowej
• wprowadzenie słowa kluczowego
enum
Owe nieoficjalne rozszerzenia zagroziły spójności języka, dlatego też powstał standard, regulujący
wprowadzone nowinki. Od 1983 roku trwały prace standaryzacyjne, aby w 1989 roku wydać
standard C89 (poprawna nazwa to: ANSI X3.159-1989). Niektóre zmiany wprowadzono z języka
C++, jednak rewolucję miał dopiero przynieść standard C99, który wprowadził m.in.:
• funkcje inline
• nowe typy danych (np. long long int)
• nowy sposób komentowania, zapożyczony od C++ (//)
• przechowywanie liczb zmiennoprzecinkowych zostało zaadaptowane do norm IEEE
• utworzono kilka nowych plików nagłówkowych (stdbool.h, inttypes.h)
Na dzień dzisiejszy normą obowiązującą jest norma
C99
.
Zastosowania języka C
Język C został opracowany jako strukturalny język programowania do celów ogólnych. Przez całą
swą historię (czyli ponad 30 lat) służył do tworzenia przeróżnych programów - od systemów
operacyjnych po programy nadzorujące pracę urządzeń przemysłowych. C, jako język dużo szybszy
od języków interpretowanych (Perl, Python) oraz uruchamianych w
maszynach wirtualnych
(np.
C#, Java) może bez problemu wykonywać złożone operacje nawet wtedy, gdy nałożone są dość
duże limity czasu wykonywania pewnych operacji. Jest on przy tym bardzo przenośny - może
działać praktycznie na każdej architekturze sprzętowej pod warunkiem opracowania odpowiedniego
kompilatora. Często wykorzystywany jest także do oprogramowywania mikrokontrolerów i
systemów wbudowanych. Jednak w niektórych sytuacjach język C okazuje się być mało przydatny,
zwłaszcza chodzi tu o obliczenia matematyczne, wymagające dużej precyzji (w tej dziedzinie
znakomicie spisuje się
Fortran
)
lub też dużej optymalizacji dla danego sprzętu (wtedy niezastąpiony
jest język asemblera).
Kolejną zaletą C jest jego dostępność - właściwie każdy system typu UNIX posiada kompilator C,
w C pisane są funkcje systemowe.
Problemem w przypadku C jest zarządzanie pamięcią, które nie wybacza programiście błędów,
niewygodne operowanie napisami i niestety pewna liczba "kruczków", które mogą zaskakiwać
nowicjuszy. Na tle młodszych języków programowania, C jest językiem dosyć niskiego poziomu
więc wiele rzeczy trzeba w nim robić ręcznie, jednak zarazem umożliwia to robienie rzeczy
nieprzewidzianych w samym języku (np. implementację liczb 128 bitowych), a także łatwe łączenie
C z
Asemblerem
.
Przyszłość C
Pomimo sędziwego już wieku (C ma ponad 30 lat) nadal jest on jednym z najczęściej stosowanych
języków programowania. Doczekał się już swoich następców, z którymi w niektórych dziedzinach
nadal udaje mu się wygrywać. Widać zatem, że pomimo pozornej prostoty i niewielkich możliwości
język C nadal spełnia stawiane przed nim wymagania. Warto zatem uczyć się języka C, gdyż nadal
jest on wykorzystywany (i nic nie wskazuje na to, by miało się to zmienić), a wiedza którą
zdobędziesz ucząc się C na pewno się nie zmarnuje. Składnia języka C, pomimo że przez wielu
uważana za nieczytelną, stała się podstawą dla takich języków jak C++, C# czy też Java.
Czego potrzebujesz
Wbrew powszechnej opinii nauczenie się któregoś z języków programowania (w tym języka C) nie
jest takie trudne. Do nauki wystarczą Ci:
języka C
Kompilator języka C jest programem, który tłumaczy kod źródłowy napisany przez
nas do języka asembler, a następnie do postaci zrozumiałej dla komputera (maszyny
cyfrowej) czyli do postaci ciągu zer i jedynek które sterują pracą poszczególnych
elementów komputera. Kompilator języka C można dostać za darmo. Przykładem są:
gcc
pod systemy uniksowe,
DJGPP
pod systemy DOS,
MinGW
oraz
lcc
pod systemy
typu Windows. Jako kompilator C może dobrze służyć kompilator języka
C++
(różnice między tymi językami przy pisaniu prostych programów są nieistotne).
Spokojnie możesz więc użyć na przykład Microsoft Visual C++® lub
kompilatorów
firmy Borland
.
Jeśli lubisz eksperymentować, wypróbuj
Tiny C Compiler
,
bardzo
szybki kompilator o ciekawych funkcjach. Możesz ponadto wypróbować interpreter
• komputer z dowolnym
systemem operacyjnym
,
takim jak
FreeBSD
,
Linux
,
Windows
;
Język C jest bardzo przenośny, więc będzie działał właściwie na każdej platformie
sprzętowej i w każdym nowoczesnym systemie operacyjnym.
•
kompilator
Plik z chomika:
chesschempion
Inne pliki z tego folderu:
Advanced C.pdf
(4179 KB)
Brian W. Kernighan, Dennis M. Ritchie - Język ANSI C. Programowanie. Wydanie II.rar
(111736 KB)
C - Wgłąb języka.pdf
(499 KB)
c oxford.pdf
(277 KB)
C.pdf
(1774 KB)
Inne foldery tego chomika:
- mecze - ▉ MUNDIAL 2018 CHOMIKUJ [ MECZE ] PL
--- filmy ▉ NOWOSCI FILMOWE LEKTOR NAPISY PL
--- filmy WARTO OBEJZEC ▉ NOWOSCI FILMOWE LEKTOR NAPISY PL
-- ---- ---- Young Fatties
- 💦 𝐅𝐈𝐋𝐌𝐘- 𝐋𝐄𝐊𝐓𝐎𝐑 II 𝐏𝐋
Zgłoś jeśli
naruszono regulamin