ANSI C 6

ANSI C 6



DODATEK A PRZEWODNIK JĘZYKA C_____.____

A2.5.2 Stałe znakowe

Stała znakowa jest ciągiem złożonym z jednego lub więcej znaków, zawartym w apostrofach, np. ’x\ Wartością stałej znakowej zawierającej tylko jeden znak jest numeryczna wartość tego znaku w zbiorze znaków maszyny wykonującej program. Wartość stałej wieloznakowej zależy od implementacji.

Stałe znakowe nie zawierają apostrofów i znaków nowego wiersza; dla wyrażenia tych oraz kilku innych znaków można stosować następujące sekwencje specjalne:

nowy wiersz

NL(LF)

\n

kreska ukośna w lewo

\

W

tabulacja pozioma

HT

\t

znak zapytania

?

\?

tabulacja pionowa

VT

\v

apostrof

V

V

cofanie

BS

\b

cudzysłów

99

\”

powrót karetki

CR

\r

liczba ósemkowa

ooo

\ooo

nowa strona

FF

\f

liczba szesnastkowa

hh

\xhh

alarm

BEL

\a

Sekwencja \ooo składa się ze znaku \, po którym następuje jedna, dwie lub trzy cyfry ósemkowe określające wartość żądanego znaku. Szczególnym przypadkiem takiej sekwencji jest \0 (bez dalszych cyfr) reprezentujące znak NUL. Sekwencja \ xJih składa się ze znaku \, litery x i ciągu cyfr szesnastkowych określających wartość znaku. Nie ma ograniczenia dotyczącego liczby cyfr, ale wynik nie jest zdefiniowany, jeżeli otrzymana wartość przekracza wartość największego znaku. Jeśli w danej implementacji typ char jest traktowany jak typ ze znakiem arytmetycznym, to bit znaku w ósemkowych i szesnastkowych sekwencjach specjalnych jest powielany tak samo, jak przy rzutowaniu do typu char. Wynik nie jest zdefiniowany, jeśli znak następujący po \ nie jest żadnym z wymienionych znaków.

W niektórych implementacjach istnieje rozszerzony zbiór znaków, który nie może być reprezentowany przez typ char. Zapis stałych z tego rozszerzonego zbioru poprzedza się literą L, np. L’x’. Stałe te nazywa się rozszerzonymi stałymi znakowymi. Mają one typ wchar_t - typ całkowity zdefiniowany w standardowym nagłówku <Stddef.h>. Podobnie jak w przypadku zwykłych stałych znakowych, można tu również stosować ósemkowe i szesnastkowe sekwencje specjalne; wynik nie jest zdefiniowany, jeśli wskazana wartość przekracza możliwości typu wchar_t.

Niektóre z sekwencji specjalnych są nowe, w szczególności szesnastkowa reprezentacja znaków. Rozszerzone znaki są także nowe. Zbiory znaków stosowane powszechnie w Ameryce i zachodniej Europie mogą być żako-dowane w typie char; głównym powodem wprowadzenia typu wcharJ było dopasowanie się do języków azjatyckich.

A3 NOTACJA OPISU SKŁADNI —


A2.5.3 Stałe zmiennopozycyjne

Stała zmiennopozycyjna składa się z części całkowitej, kropki dziesiętnej, części ułamkowej, litery e lub E, wykładnika potęgi (być może ze znakiem) i opcjonalnego przyrostka typu (f, F, I lub L). Część całkowita i ułamkowa są ciągami cyfr. Część całkowitą albo część ułamkową (ale nie obie jednocześnie) można pominąć. Można także pominąć kropkę dziesiętną lub część wykładniczą wraz z literą e (ale nie obie naraz). Typ stałej wyznacza przyrostek: f lub F oznacza float, I lub L oznacza long double, brak przyrostka oznacza double.

Przyrostki w stałych zmiennopozycyjnych są nowe.

A2.5.4 Stałe wyliczeń

Identyfikatory zadeklarowane jako wyliczniki (patrz p. A8.4) są stałymi typu int.

A2.6 Napisy

Napis (stała napisowa) jest ciągiem znaków ujętym w znaki cudzysłowu, np. Typem napisu jest „tablica znakowa”, a klasą pamięci - Static (patrz p. A4). Jego wartością jest dany ciąg znaków. Od implementacji zależy, czy rozróżnia się identyczne napisy. Zachowanie się programu, który próbuje modyfikować napisy, nie jest zdefiniowane.

Sąsiadujące ze sobą napisy są łączone w jeden napis. Po ewentualnych połączeniach, na koniec napisu jest dopisywany znak zerowy \0, aby program przeglądający tekst mógł znaleźć jego koniec. Napisy nie zawierają znaków cudzysłowu i znaków nowego wiersza. Do wyrażenia tych znaków można stosować te same sekwencje specjalne, co w stałych znakowych.

Podobnie jak w przypadku stałych znakowych, napisy złożone z rozszerzonych znaków poprzedza się literą L, np. L”...”. Mają one typ „tablica elementów typu wchar_t”. Łączenie normalnych i rozszerzonych napisów nie jest zdefiniowane.

Zastrzeżenie, że identyczne napisy mogą nie być rozróżniane, zakaz modyfikowania napisów, jak również łączenie sąsiadujących napisów są nowe w ANSI C. Rozszerzone napisy są nowe.


Notacja opisu składni

W opisie składni, stosowanym w przewodniku, kategorie składniowe wyróżnia się kur-sywą, a słowa i znaki języka C pismem specjalnym. Alternatywne kategorie są zazwy-

255


Wyszukiwarka

Podobne podstrony:
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA C_________A2.1 Jednostki leksykalne Istnieje sześć klas jedno
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C_____ Wynikiem tej operacji jest bitowa różnica symetryczna
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA ______ o nieokreślonej liczbie elementów całkowitych”, „funkc
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C struktura-unia: jeden z struct union lista-deklaracji-skład
ANSI C 3 DODATEK A PRZEWODNIK JĘZYKA C____- tablicą o pięciu elementach, z których każdy jest tabl
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C_______ int max(a, b, c) int a, b, c;{ /* .» *1} gdzie dekla
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C stałe przypadków są różne od wartości wyrażenia i nie wystę
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C------- czaj umieszczane w oddzielnych wierszach; w kilku pr
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C_________ Wszystkie z typów zmiennopozycyjnych: pojedynczej
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 5 DODATEK A PRZEWODNIK JĘZYKA CA7.8 Operatory przesunięcia Operatory przesunięcia « i » są
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C__________ rekurencyjnie, podskładowych nie może być kwalifi
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA
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

więcej podobnych podstron