Wprowadzenie do języka CWstęp Budowa programów Typy danych Operatory arytmetyczne Wiadomości wstępne.Język C jest jednym z najważniejszych współczesnych języków programowania- Został opracowany przez Kernighama i Ritchiego ponad 20 lat temu. Język ten został użyty do napisania przeważającej części systemu operacyjnego UNIX i tym samym stał się językiem programowania systemowego. Od systemu UNIX wziął się system operacyjny LINUX.Tworzenie programu odbywa się w dwóch etapach:
a) opracowanie kodu źródłowego (jest to czysty plik tekstowy) b) generowanie kodu wynikowego Język C korzysta z doświadczeń języków Algol i Pascal. Programy nauczania często przewidują nauczanie języka C dopiero po opanowaniu języka Pascal. Znajomość Pascala jest pomocna w nauce języka C, ponieważ oba te języki mają wiele cech wspólnych. Wspólne cechy języka Pascal i C 1. Blokowa budowa programów. Programy zbudowane są z funkcji, a instrukcje w funkcjach są blokowane nawiasami {}
(begin - end). Każdy zblokowany ciąg instrukcji traktuje się jak pojedynczą instrukcję. W porównaniu z Pascalem język C ma prostszą logikę, dzięki czemu Jest on bardziej elegancki i daje większą swobodę programowania. Na uwagę zasługują następujące uproszczenia. Uproszczenia języka C 1. Wszystkie wartości są liczbowe (całkowite lub zmiennoprzecinkowe), dozwolone są zatem wyrażenia takie jak 'A'-1, czy 3+(a < b). Szata graficzna programu napisanego w języku C może być dowolna. Zaleca się, aby każda instrukcja była napisana w oddzielnym wierszu - tak samo jak w języku Pascal. Budowa programów w języku CProgram w języku C jest podzielony na bloki zawarte między nawiasami klamrowymi { i } (są to odpowiedniki "begin" i "end" z Pascala). Każdy blok może być kompletną funkcją, albo po prostu fragmentem kodu w ramach danej funkcji. Funkcja jest to po prostu wydzielona cząstka programu, która wykonuje jakieś zadanie (np. oblicza pole powierzchni prostokąta o danych bokach). W każdym programie napisanym w języku C musi znaleźć się funkcja o nazwie "main". Jest to główna programu, od której zaczyna się program. Najprostszy program w języku C wygląda więc tak: void main(void) {
}
lub
main( ) {
return 0;
}
Istnieje tutaj jedna funkcję "main", która w tym przypadku nie zawiera żadnego kodu (czyli nic nie robi). Jak widzimy definicja funkcji składa się z nagłówka, który określa jej nazwę, parametry wejściowe i rodzaj zwracanej wartości oraz z właściwego ciała funkcji zawartego między { i }. Zapisując to inaczej definicja funkcji wygląda to tak: typ_zwracanej_wartości
nazwa_funkcji(lista parametrów) {
}
Funkcja w Pascalu wyglądała nastepująco: function
nazwa_funkcji(lista parametrów) :
typ_zwracanej_wartości;
|
|
Nazwa typu |
Typ |
Zakres |
Wielkość (w bajtach) |
|
char |
całkowity |
-128..127 |
1 |
|
unsigned
char |
całkowity |
0..255 |
1 |
|
int |
całkowity |
-2^31..2^31-1 |
4 |
|
unsigned
int |
całkowity |
0..2^32 |
4 |
|
short
int |
całkowity |
-32768..32767 |
2 |
|
unsigned
short int |
całkowity |
0..65535 |
2 |
|
long
int |
całkowity |
-2^31..2^31-1 |
4 |
|
unsigned
long int |
całkowity |
0..2^32 |
4 |
|
float |
rzeczywisty |
6 znaków precyzji |
4 |
|
double |
rzeczywisty |
10 znaków precyzji |
8 |
Deklaracja zmiennej:
Przykłady deklaracji zmiennych:
Konstrukcja taka nie występuje w Pascalu, gdzie blok
deklaracji zmiennych jest wydzielony.
Deklaracja zmiennej całkowitej o nazwie "dlugosc" (wraz z
przypisaniem jej wartości początkowej) wygląda tak:
Natomiast deklaracja zmiennej rzeczywistej o nazwie "pole" (wraz z przypisaniem jej wartości początkowej) może wyglądać nastepujaco:
Część całkowitą oddzielamy od części ułamkowej przy
pomocy kropki, nie przecinka.
Deklaracja wszystkich zmiennych musi być wpisana zaraz za znakiem {
(znak ten rozpoczyna każdy blok). Zmienna taka jest lokalna, czyli jest
dostępna tylko wewnątrz bloku, w którym jest zadeklarowana.
{
Istnieje jeszcze typ bezwartościowy “void”, który użyty był w
przykładzie. Oznacza on tyle, że dana funkcja „main” nie zwraca żadnej
wartości i nie przyjmuje żadnych parametrów.
Stosowanie typów danych i deklaracji zmiennych będzie dalej opisane.
Język C jest zawiera dużą ilość operatorów. Poznaliśmy już operator przypisania, przyszła pora na następne. Przedstawię to w formie tabeli, która będzie także zawierać pascalowy odpowiednik.
|
C |
Pascal |
Opis |
|
+ |
+ |
dodawanie |
|
- |
- |
odejmowanie |
|
/ |
/ lub div |
dzielenie |
|
* |
* |
mnożenie |
|
% |
mod |
reszta z dzielenia |
|
++ |
brak |
zwiększenie o 1 |
|
-- |
brak |
zmniejszenie o 1 |
|
<< |
shl |
przesunięcie bitowe w lewo |
|
>> |
shr |
przesunięcie bitowe w prawo |