Opakování C
Literatura
Zopakujte si
- reprezentace hodnot, velikosti datových typů, znaménkové a bezznaménkové čísla
- operace s bity -- <<, >>, &, |, ^, ~
- pointerová aritmetika, operátory *, &
- alokace paměti, práce se strukturovanými datovými typy
Úkoly
- Napište funkci
void int2bits(char *, int)
, která převede číslo na textový řetězec představující jeho zápis v binární podobě. Při implementaci se vyhněte operacím *, / a %. - Napište funkci
int bits2int(char *)
, která převede textový řetězec představující zápis čísla v binární podobě (tj.010110010010...
na hodnotu typuint
. Při implementaci se vyhněte operacím *, / a %. - Implementujte funkci
void my_memset(void *dest, unsigned char c, size_t count)
, která se chová jako funkcememset
nastaví obsah paměti daný ukazatelemdest
tak, že zaplnícount
bytů hodnotouc
. - Navrhněte vhodnou strukturu pro spojový seznam obsahující dvě hodnoty jméno (textový řetězec) a věk (celé číslo). Napište funkci, která bude přidávat prvky do seznamu a funkci, která vypíše obsah tohoto seznamu.
- Napište funkci, která zjistí, v jakém pořadí jsou vyhodnocovány argumenty.
Body budou uděleny za vyřešení úkolů 1 až 3.