INDEX

Programowanie w C/C++

Zmienne


Ogół zmiennych możemy podzielić na skalary i agregaty. Skalarami są zmienne, którym można przypisać jedynie dane niepodzielne:

Natomiast agregatami są zmienne, którym można przypisać dane strukturalne:

Wyświetlmy plik int.c i zwróćmy uwagę na linię z takim oto kodem:

    int x;
Jest to deklaracja zmiennej całkowitej (typu int) o nazwie x. Słowo int jest zarezerwowanym słowem (reserved word) w języku programowania C, tzw. słowem kluczowym. Słowa kluczowe mają ściśle określone funkcje programowe i nie mogą być używane w innych celach; np. nie możemy użyć jako identyfikatora zmiennej nazwy int.

Dla większości kompilatorów i mikrokomputerów wykorzystany w programie typ zmiennej całkowitej może przechowywać wartości od -32768 do 32767. O innych typach zmiennych jeszcze sobie powiemy. Nazwa zmiennej może być dowolnym napisem, który jest zgodny z zasadami tworzenia identyfikatorów oraz nie jest słowem kluczowym (u nas jest to literka x). Linię z deklaracją zmiennej kończy obowiązkowo średnik.

Mimo iż zdefiniowaliśmy zmienną, to nie przypisaliśmy jej jeszcze żadnej wartości (a właściwie żadnej zamierzonej wartości). Zobaczymy później, że można przypisać określoną wartość zmiennej już w momencie jej definicji.

Obserwując ciało funkcji głównej programu, możemy zauważyć trzy zdania przypisujące za każdym razem inną wartość zmiennej x. Odbywa się to według schematu przypisania:

    nazwa_zmiennej = wartosc;
Jak widzimy pomiędzy nazwą zmiennej a jej wartością występuje operator przypisania (podstawienia wartości) = (znak równości). Odpowiada on pascalowemu operatorowi := (dwukropek i znak równości).

W jaki sposób przekazujemy funkcji printf wartości zmiennych? W ten sam, w jaki przekazywane jest liczba, tyle tylko, że zamiast niej pojawia się nazwa zmiennej. Obie poniższe komendy printf wykonają dokładnie to samo:

    int x;
    x = 0;
    printf("%d", 0);
    printf("%d", x);

Znak procentu % informuje kompilator, że zostanie wyprowadzona dana określonego formatu, w naszym przypadku jest to dana typu int (całkowitego, integer) w formacie dziesiętnym. Każde wystąpienie pojedynczego znaku procentu (dwuznak %% powoduje wyświetlenie procentu), to ucieczka kompilatora poza cudzysłów w poszukiwaniu argumentów. Jakiego typu to mają być argumenty, o tym decyduje wzorzec konwersji, tj. litera występująca przy procencie. To właśnie d (decimal) jest znacznikiem dla wyprowadzenia w systemie dziesiątkowym liczby całkowitej. Najczęściej wystąpienie procentu jest sygnałem do zaprzestania drukowania znaków i wyświetlenia wartości zmiennej. Pamiętajmy, że przed wyświetleniem zmienna powinna zostać zadeklarowana.

W cudzysłowie może pojawić się więcej wzorców konwersji i mogą one implikować wyświetlanie danych różnego typu, ale najważniejszą sprawą jest, aby ilość tych wzorców odpowiadała liczbie argumentów za cudzysłowem. Argumenty te oddzielamy od siebie przecinkami:

    printf("%d %d %d %d", 3, 2, 1, 0);

INDEX