ANSI C 1

ANSI C 1



7 WEJŚCIE I WYJŚCIE

W punkcie 8.7 pokażemy taką realizację dystrybutora pamięci podobnego do malloc, w którym przydzielane bloki mogą być zwalniane w dowolnej kolejności.

7.8.6 Funkcje matematyczne

W standardowym nagłówku <math.h> zadeklarowano ponad dwadzieścia funkcji matematycznych. Tutaj wymieniamy tylko te najczęściej używane. Każda z nich oczekuje jednego lub dwóch argumentów typu double i zwraca wartość typu double.

sin(x)

sinus jc; wartość x w radianach

cos(;t)

cosinus jc; wartość x w radianach

atan2(y^c)

arcus tangens y/x\ wartość w radianach

exp(;t)

funkcja wykładnicza ex

iog(*)

logarytm naturalny x (przy podstawie e)\ x > 0

logi 0(x)

logarytm x (przy podstawie 10); x > 0

pow(x,y)

funkcja potęgowa xy

sqrt(x)

pierwiastek kwadratowy z x\ x > 0

fabs(x)

wartość bezwzględna x

7.8.7 Generowanie liczb losowych

Funkcja rand() oblicza ciąg pseudolosowych liczb całkowitych z przedziału od zera do RAND_MAX; ta górna wartość jest zdefiniowana w nagłówku <stdlib.h>. Jednym ze sposobów obliczenia losowych liczb zmiennopozycyjnych większych lub równych zero, lecz mniejszych niż jeden, jest zdefiniowanie makra

#define frand() ((double) rand() / (RAND__MAX+1.0))

(Jeśli w Twojej bibliotece występuje funkcja obliczająca losowe liczby zmiennopozycyjne, to należy się spodziewać, że statystyczne właściwości tej funkcji są lepsze niż właściwości tak zdefiniowanego makra.)

Funkcja srand(unsigned) określa zarodek (ang. seed) dla funkcji rand. Zalecaną przez standard przenośną implementację funkcji rand i srand opisano w p. 2.7.

Ćwiczenie 7.9. Funkcje podobne do isupper można zrealizować tak, aby oszczędzały pamięć albo oszczędzały czas. Zbadaj obie możliwości.

8 ŚRODOWISKO SYSTEMU UNIX

System operacyjny Unix oferuje swoje usługi poprzez zestaw odwołań systemowych. W rzeczywistości są to funkcje rezydujące wewnątrz systemu operacyjnego, które mogą być wywoływane w programach użytkowników. Tutaj wyjaśniamy, jak w programach w języku C skorzystać z kilku najważniejszych odwołań systemowych. Jeśli pracujesz z systemem Unix, te informacje mogą Ci się bezpośrednio przydać. Czasem trzeba bowiem odwołać się do systemu, by osiągnąć maksymalną sprawność programu lub zastosować taką usługę systemu, dla której nie ma funkcji w bibliotece standardowej. A jeżeli nawet korzystasz z języka C w innym systemie operacyjnym, to po przestudiowaniu przykładów będziesz mieć lepsze wyobrażenie o programowaniu w języku C; szczegóły mogą ulec zmianie, ale podobny kod można znaleźć w każdym systemie. Biblioteka standardowa ANSI C w wielu przypadkach jest wzorowana na możliwościach systemu Unix, zatem nasze przykłady mogą Ci się przydać także do , lepszego zrozumienia samej biblioteki.

Materiał tego rozdziału podzielono na trzy zasadnicze części: wejście-wyjście, system plików oraz zarządzanie pamięcią. W dwóch pierwszych zakłada się umiarkowaną znajomość zewnętrznych właściwości systemu Unix.

W rozdziale 7 zajmowaliśmy się obsługą wejścia i wyjścia, ujednoliconą dla różnych systemów operacyjnych. W każdym konkretnym systemie podprogramy z biblioteki standardowej muszą korzystać z mechanizmów obowiązujących w tym właśnie systemie. W kilku następnych punktach opiszemy te odwołania systemowe obowiązujące w systemie Unix, które realizują wejście i wyjście, a następnie pokażemy, jak posługując się nimi można zaprogramować niektóre elementy biblioteki standardowej.


powered by

Mi si ol


Deskryptory plików

ty systemie Unix wszelkie operacje wejścia i wyjścia wyraża się za pomocą czytania * plików lub pisania do plików. Wszystkie bowiem urządzenia zewnętrzne - nawet klawiatura i ekran - są plikami wchodzącymi w skład systemu plików. Oznacza to, że

Język ANSI C 225


Wyszukiwarka

Podobne podstrony:
ANSI C 1 7 WEJŚCIE I WYJŚCIE Najprostszym mechanizmem wejścia jest czytanie po jednym znaku ze sta
ANSI C 2 7 WEJŚCIE I WYJŚCIE_______- kretnej maszynie, programom z nich korzystającym oszczędzono
ANSI C 3 7 WEJŚCIE I WYJŚCIE ____ ________ printf(s);    /* ŹLE, jeśli w s występuj
ANSI C 5 7 WEJŚCIE I WYJŚCIE______ tabulacji, znak nowego wiersza, znak powrotu karetki, znak tabu
ANSI C 6 7 WEJŚCIE I WYJŚCIE_______ Ćwiczenie 7.5. Napisz na nowo program kalkulatora przyrostkowe
ANSI C 7 7 WEJŚCIE I WYJŚCIE ^ OBSŁUGA BŁĘDÓW - PLIK STDERR I FUNKCJA EXIT Funkcje getchar i putch
ANSI C 8 7 WEJŚCIE I WYJŚCIE #include <stdio.h> /* cat: sklej zawartość plików, wersja 2 */
ANSI C 9 7 WEJŚCIE I WYJŚCIE Aby wykazać, że nie ma nic magicznego w takich funkcjach, jak fgets i
ANSI C 0 7 WEJŚCIE I WYJŚCIE 7.8.2 Badanie klasy znaków i ich przekształcenia Wiele funkcji ze sta
Operacje wejścia wyjścia II Je żeli kilka instrukcji wysyłania danych do strumienia wyj ściowego
adm1 65 a Płyta przednia zdobiona wybijanymi, podłużnymi żłobkami, z plastycznym podobnym do plecio
OBIEKTOWA REALIZACJA OPERACJI WEJŚCIA-WYJŚCIA W języku C++ możliwa jest obiektowa realizacja operacj
162 4 318 b) r A B C=A- B a) wejścia i wyjścia. Rys.8. 8. Układ mnożący z przykładu 8.2: realizacja
img023 (71) EUWiP / MECHATRONIKAWzmacniacze o różnicowym wejściu i wyjściuTechniczna realizacja(na p
ANSI C 1 6 STRUKTURY /* getword: weź następne słowo lub znak z wejścia */ int getword(char *word,
Image1 b) wejście: u(t), u(s) wyjście: i(t), i(s) y(t)=i(t), y(s)=i(s) Rys. a) Obwód przekaźnika P i
Image163 Parametry statyczne i dynamiczne Podstawowe charakterystyki wejściowe i wyjściowe pamięci p

więcej podobnych podstron