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

  1. 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 %.
  2. 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 typu int. Při implementaci se vyhněte operacím *, / a %.
  3. Napište funkci short encode_date(char day, char month, short year), která zakóduje datum do 16bitového čísla následovně: YYYY-YYYM-MMMD-DDDD.
  4. Napište funkci void decode_date(short date, int *day, int *month, int *year), která dekóduje datum vytvořené předchozí funkcí a vrátí hodnoty pomocí předaných ukazatelů.
  5. Implementujte funkci void my_memcpy(void *dest, void *src, size_t size), která se chová jako funkce memcpy a přenese po jednolivých bytech obsah paměti z jednoho místa na druhé, předpokládejte, že úseky paměti se nepřekrývají.
  6. 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.
  7. Napište funkci, která zjistí, v jakém pořadí jsou vyhodnocovány argumenty.

Last update on 13. 2. 2018 10:52
Powered by Schemik.

© Petr Krajča, 2010, 2012
petr.krajca (at) upol.cz