ANSI C 0

ANSI C 0



2 TYPY, OPERATORY I WYRAŻENIA

Kwalifikatory signed (ze znakiem liczby) i unsigned (bez znaku liczby) można stosować razem z typem char lub dowolnym typem całkowitym. Liczby unsigned są zawsze dodatnie lub równe zero i podlegają regułom arytmetyki modulo 2n , gdzie n jest liczbą bitów reprezentujących dany typ. A więc, na przykład, gdy obiekt typu char zajmuje 8 bitów, wówczas zmienne typu unsigned char przyjmują wartości od 0 do 255, podczas gdy zmienne typu signed char wartości od -128 do 127 (dla maszyn, w których stosuje się notację uzupełnieniową do dwójki). To, czy zwykły obiekt typu char jest liczbą ze znakiem czy bez znaku, zależy od maszyny, przy czym wartości znaków drukowalnych z założenia są zawsze dodatnie.

Typ long double wprowadza liczbę zmiennopozycyjną o rozszerzonej precyzji. Podobnie jak dla typów całkowitych, rozmiary obiektów zmiennopozycyjnych zależą od implementacji; typy float, double i long double mogą reprezentować jeden, dwa lub trzy odmienne rozmiary obiektów.

W standardowych plikach nagłówkowych <limits.h> i <float.h> zdefiniowano stałe symboliczne dla wszystkich tych rozmiarów danych oraz dla innych właściwości maszyny i kompilatora. Ten temat omawiamy szerzej w dodatku B.    ,

Ćwiczenie 2.1. Napisz program wyznaczający dziedziny wartości zmiennych typu char, short, int i long opatrzonych kwalifikatorami signed i unsigned. Wynik powinien zawierać odpowiednie wartości ze standardowych plików nagłówkowych oraz wartości obliczone bezpośrednio przez program. Trudniejszym zadaniem jest wyliczenie zakresów dla różnych typów zmiennopozycyjnych.

2.3


]


Stałe


Stała całkowita, taka jak 1234, jest obiektem typu int. W stałej typu long na kona występuje litera I (el) lub L, jak w 123456789L. Stała całkowita nie mieszcząca stf w zakresie typu int jest także traktowana jak stała typu long. W stałych typ^ unsigned na końcu występuje litera u lub U, a końcówka ul oraz UL oznacza stall typu unsigned long.    I

Stałe zmiennopozycyjne zawierają albo kropkę dziesiętną (np. 123.4), albo wykładnik (np. 1 e-2), albo obie te części naraz. Typem stałej zmiennopozycyjnej ja double, chyba że końcówka stanowi inaczej. Występująca na końcu litera f 1^ F oznacza obiekt typu float, a litera I lub L - obiekt typu long double.

Wartość całkowitą - zamiast w postaci dziesiętnej - można przedstawiać równik w postaci ósemkowej lub szesnastkowej. Początkowe zero w stałej całkowitej oznacz* liczbę ósemkową, natomiast początkowe znaki 0x lub 0X oznaczają liczbę szesna*kową. Zatem na przykład liczbę dziesiętną 31 można przedstawić jako 037 ósemki wo oraz jako 0x1 f (bądź 0X1F) szesnastkowo. Umieszczenie litery L na końcu stafc

2.3 STAŁE


ósemkowej lub szesnastkowej tworzy z niej stałą typu long, a m/a.

U tworzy stałą bez znaku. Zapis OXFUL oznacza stałą typu unsigned long o wartości dziesiętnej równej 15.

Stała znakowa jest liczbą całkowitą; taką stałą tworzy jeden znak ujęty w apostrofy, np. x\ Jej wartością jest wartość kodu znaku w maszynowym zbiorze znaków. Na przykład w zbiorze znaków ASCII wartością stałej ’0’ jest 48 - liczba nie mająca nic wspólnego z numeryczną wartością 0. Napisanie ’0’ zamiast wartości numerycznej, takiej jak 48 (która zależy od zbioru znaków), uniezależnia program od specyficznych wartości i sprawia, że jest on bardziej czytelny. Stałe znakowe uczestniczą w operacjach numerycznych na równi z innymi liczbami całkowitymi, najczęściej jednak są stosowane do porównań z innymi znakami.

Pewne znaki niegraficzne mogą być reprezentowane w stałych znakowych i napisowych przez sekwencje specjalne, takie jak\n (znak nowego wiersza). Sekwencja specjalna wygląda jak dwa znaki, ale reprezentuje tylko jeden znak. Dodatkowo za pomocą takiej sekwencji można utworzyć dowolny bitowy wzorzec bajtu w postaci

'\ooo'

gdzie ooo oznacza jedną, dwie lub trzy cyfry ósemkowe (0...7), bądź w postaci

i\xhh*

gdzie hh oznacza jedną lub więcej cyfr szesnastkowych (0...9, a...f, A...F). Możemy więc napisać

#define VTAB ’\013’    /* ASCII:    pionowy tabulator    */

#define BELL ’\007’    /* ASCII:    znak alarmu */

lub to samo w postaci szesnastkowej

#define VTAB ’\xb’    /* ASCII:    pionowy tabulator    */

#define BELL ’\x7’    /* ASCII:    znak alarmu */

Niżej podajemy kompletną listę sekwencji specjalnych języka C:

\a

znak alarmu

w

znak \

\b

znak cofania

\?

znak zapytania

\f

znak nowej strony

V

znak apostrofu

\n

znak nowego wiersza

\”

znak cudzysłowu

\r

znak powrotu karetki

\ooo

liczba ósemkowa

\t

znak tabulacji poziomej

\xhh

liczba szesnastkowa

W

znak tabulacji pionowej

63


Wyszukiwarka

Podobne podstrony:
ANSI C 0 2 TYPY, OPERATORY I WYRAŻENIA struktury; będą szczegółowo opisane w rozdz. 6 razem z oper
ANSI C 1 2 TYPY, OPERATORY I WYRAŻENIA Stała znakowa ’’ reprezentuje znak o wartości zero, tzw. z
ANSI C 4 2 TYPY, OPERATORY I WYRAŻENIA__.______ n = 0; for (i = 0; s[i] >= ’0’ && s[i]
ANSI C 5 2 TYPY. OPERATORY I WYRAŻENIA • Następnie, jeśli którykolwiek z argumentów ma kwalifikato
ANSI C 9 TYPY, OPERATORY I WYRAŻENIA Zmienne i stałe są podstawowymi obiektami danych, jakimi posł
ANSI C 2 2 TYPY, OPERATORY I WYRAŻENIA_____— kiej zmiennej, jest poprawną wartością wyliczenia. Zm
ANSI C 3 2 TYPY, OPERATORY I WYRAŻENIA_______ W tablicy 2.1 na końcu tego rozdziału podano prioryt
ANSI C 6 2 TYPY, OPERATORY I WYRAŻENIA unsigned long int next = 1; I* rand: daj pseudo-losowo licz
ANSI C 7 2 TYPY, OPERATORY I WYRAŻENIA możemy zapisać w bardziej zwartej postaci if (c != ’

ANSI C 8 2 TYPY, OPERATORY I WYRAŻENIA________ -077 jest wyrażeniem stałym, które może być obliczo
ANSI C 9 2 TYPY, OPERATORY I WYRAŻENIA______________ „weź i, dodaj 2, a następnie umieść wynik z p
We fragmencie „Przed” porównujemy liczbę całkowitą ze znakiem z liczbą całkowitą bez znaku. Kompilat
ANSI C 0 7 WEJŚCIE I WYJŚCIE 7.8.2 Badanie klasy znaków i ich przekształcenia Wiele funkcji ze sta
PRZYGODA NA WSI ZOBACZ CO CI ZAGRAŻA 0 <A do tego tak sie kurzy, że nawet nikt by nie Jf (T
RZYM 100 rysopis jej gwałciciela, zorientowałem się, że chodzi o nie go, i zrozumiałem, że przeszed
skanowanie0028 (27) TEORIA PRZEDSIĘBIORSTWA dr Anna Mazurkiewicz Już samo wyrażenie kapitał ukazuje,

więcej podobnych podstron