ANSI C 8

ANSI C 8



DODATEK A PRZEWODNIK JĘZYKA C

stałe przypadków są różne od wartości wyrażenia i nie występuje etykieta domyślna, wówczas nie wykonuje się żadnej z podinstrukcji instrukcji switch.

W pierwszym wydaniu książki dla wyrażenia kontrolnego i stałych przypadków instrukcji switch wymagano typu int.

A9.5 Instrukcje powtarzania (pętle)

Instrukcje powtarzania wskazują iteracyjne wykonywanie fragmentu programu.

instrukcja-powtarzania:

while ( wyrażenie ) instrukcja do instrukcja while ( wyrażenie ) ;

for ( wyrażenienlK ; wyraż.enie0]K ; wyrażenie^ ) instrukcja

W instrukcjach while i do wykonanie podinstrukcji powtarza się dopóty, dopóki wartość wyrażenia jest różna od zera; wyrażenie musi mieć typ arytmetyczny lub wskaźnikowy. W instrukcji while wartość wyrażenia (po obliczeniu wszystkich efektów ubocznych) jest sprawdzana przed wykonaniem podinstrukcji; w instrukcji do - za każdym razem po wykonaniu podinstrukcji.

W instrukcji for pierwsze podwyrażenie oblicza się tylko raz; jest to część inicjująca stan pętli. Nie ma ograniczeń dotyczących typu tego wyrażenia. Drugie wyrażenie musi mieć typ arytmetyczny lub wskaźnikowy; jest ono obliczane przed każdym przebiegiem pętli i jeśli stanie się zerem, to wykonanie instrukcji for zostanie przerwane. Trzecie wyrażenie jest obliczane po każdym przebiegu pętli i określa zmianę stanu pętli. Nie ma ograniczeń dotyczących typu tego wyrażenia. Efekty uboczne spowodowane wyrażeniami wykonuje się bezpośrednio po obliczeniu każdego z nich. Jeśli podinstrukcja nie zawiera instrukcji continue, to instrukcja

for ( wyrażenie 1 ; wyrażenie2 ; wyrażenie3 ) instrukcja

jest równoważna z ciągiem instrukcji

wyrażenie1 ; while ( wyrażenie2 ) { instrukcja wyrażenie3 ;

}

Dowolne z tych trzech wyrażeń można pominąć. Pominięcie drugiego wyrażenia jest równoważne z zastąpieniem go stałą różną od zera.

A10 DEKLARACJE ZEWNĘTRZNE

_I

[ powered by

I

| Misiól


A9.6 Instrukcje skoku

Instrukcje skoku powodują bezwarunkowe przekazanie sterowania do innego miejsca w programie.

instrukcja-skoku:

goto identyfikator ; continue ; break ;

return wy rażenie opc \

W instrukcji goto identyfikator musi być etykietą (p. A9.1) umieszczoną w tej samej funkcji. Sterowanie jest przekazywane do instrukcji opatrzonej tą etykietą.

Instrukcja continue może wystąpić tylko w instrukcjach powtarzania. Powoduje przekazanie sterowania do miejsca wznawiania najciaśniej otaczającej ją pętli. Dokładniej mówiąc, w poniższych instrukcjach:

while (...) {    do {    for (...) {

••• ••• ••• contin: ;    contin:;    contin:;

}    } while (...);    }

instrukcja continue nie występująca w ciaśniej otaczającej pętli jest tym samym, co goto contin.

Instrukcja break może wystąpić tylko w instrukcjach powtarzania i instrukcji switch, i powoduje przerwanie najciaśniej otaczającej ją takiej instrukcji; sterowanie jest przekazywane do instrukcji następnej po przerwanej instrukcji.

Funkcja wraca do miejsca wywołania za pomocą instrukcji return. Jeśli po słowie return występuje wyrażenie, to wartość tego wyrażenia jest przekazywana do miejsca wywołania. Wartość wyrażenia przekształca się (jak w przypisaniu) do typu zwracanego przez funkcję.

Przekroczenie treści funkcji jest równoważne z wykonaniem instrukcji return bez wyrażenia. W obu przypadkach wartość funkcji nie jest określona.


Deklaracje zewnętrzne

Tekst programu przekazany do kompilatora języka C jest jednostką tłumaczenia; jednostka ta składa się z ciągu deklaracji zewnętrznych, które są albo deklaracjami obiektów, albo definicjami funkcji.

299


Wyszukiwarka

Podobne podstrony:
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C_________ Wszystkie z typów zmiennopozycyjnych: pojedynczej
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA C Struktury i tablice są obiektami złożonymi. Jeśli obiekt zł
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C ______ wyrażenie-XOR: wy rażenie-AND wyraż.enie-XOR ~ wy
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C______ Etykiety przypadków (case) i domyślne (default) są uż
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C_____.____A2.5.2 Stałe znakowe Stała znakowa jest ciągiem zł
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C------- czaj umieszczane w oddzielnych wierszach; w kilku pr
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA CA7.8 Operatory przesunięcia Operatory przesunięcia « i » są
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA C_________A2.1 Jednostki leksykalne Istnieje sześć klas jedno
ANSI C 9 DODATEK A PRZEWODNIK JĘZYKA C_______—- Gdy wartość całkowita jest przekształcana do typu
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C_________ Obiekt typu całkowitego można jawnie przekształcić
ANSI C 1 DODATEK A PRZEWODNIK JĘZYKA C Implementacje różnią się reakcjami na dzielenie przez zero
ANSI C 2 DODATEK A PRZEWODNIK JĘZYKA C W pierwszym wydaniu książki typ wyrażenia przyrostkowego by
ANSI C 4 DODATEK A PRZEWODNIK JĘZYKA C_______ wynikiem jest 1; jeśli odnosi się do tablicy, to wyn
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C_____ Wynikiem tej operacji jest bitowa różnica symetryczna
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C__________ rekurencyjnie, podskładowych nie może być kwalifi
ANSI C 9 DODATEK A PRZEWODNIK JĘZYKA C________■ Kwalifikatory typu wskazują specjalne właściwości
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C ___——- łujących się do samych siebie: struktura lub unia mo
ANSI C 1 DODATEK A PRZEWODNIK JĘZYKA C union { struct { int type; ł n; struct { int type

więcej podobnych podstron