9. gyakorlat (2008. november 3.)
TYPEDEF
- Hogyan tudunk létrehozni egy olyan vector nevű tömb típust, amely egy
háromdimenziós térbeli vektort reprezentál?
Hogyan lehet létrehozni egy N hosszúságú sztringek tárolására szolgáló
karaktertömb típust?
Hozz létre külön típust 16 bites nemnegatív értékek tárolására. - Definiálj egy felsorolástípust a hét napjainak tárolására,
majd írasd ki a napok értékeit!enum.c - Vedd külön a típusdefiníciót és a változódeklarációt!enum2.c
CHAR
- Hány bájton tárolódnak a char típus?meret-char.c
- Írasd ki a 64 és 95 közé eső kódú karaktereket.kiir-char.c
- Írasd ki az 'a' és 'z' közé eső karakterek kódjait.kiir-kod.c
- Mi a különbség a signed char és az unsigned char értékkészlete között?
Írasd ki -128-tól 255-ig egy signed és egy unsigned char típusú változó
számértékét!kiir-ertekkeszlet.c - Olvass be két legfeljebb 20 karakter hosszúságú szót, és fűzd őket egymás
után egy harmadik sztringbe. A string.h függvényeit használdsztring.c
FLOAT, DOUBLE
- Hány bájton tárolódik a float és double típus?meret-float.c
- Mi a különbség a float és a double pontossága között?
Add hozzá az 1, 0.1, 0.01, 0.001, ... sorozat elemeit egy-egy float és double
változóhoz. Milyen értékeket kapsz lépésenként?kiir-pontossag.c - Mi a különbség a float és a double értékkészlete között?
Szorozgasd egy float és double változó értékét 0.1-gyel, amíg 0 nem lesz
mindkettő. Milyen értékeket kapsz lépésenként?float-ertekkeszlet.c
INT
- Hány bájton tárolódik a short int, int, long int, long long típus?meret-int.c
- Mi a különbség ugyanazon típus előjeles és előjeltelen verziója között?
Deklarálj 6 változót (signed/unsigned, short/long/long long) változót, 0
kezdőértékkel, és vonj ki belőlük egyet. Milyen értékeket kapsz? Add
értékül a változóknak a legnagyobb előjelesen ábrázolható értéket (ez fele
az előjeltelen maximális értéknek), és adj hozzá egyet. Most mik a változók
értékei?signed-unsigned.c - Írj egy programot, ami beolvas egy előjeltelen short int értéket, és
nyolcas számrendszerbe átváltva írja ki.nyolcas.c - Írj egy programot, ami beolvas egy hexadecimális egész számot, majd 15
karakter szélességben kiírja a decimális értékét, mindenképpen előjellel és
vezető nullákkal.hexa.c - Olvass be egy double és egy egész értéket, majd a valós értéket
írasd ki az egészben megadott pontossággal.pontossag.c
STRING.H
- Olvass be egy csupa kisbetűből álló, legfeljebb 20 karakteres sztringet,
majd írasd ki 10 karakteren jobbra igazítva az első legfeljebb 8
karakterét. A bemeneten a kisbetűket közvetlenül bármi követheti.
sztringek.c
PRINTF, SCANF
- Egy sor kiíratási formátuma: "nev: %s; pont: %d;". Olvasd be a kiírt számot
úgy, ha tudod, hogy a kiírt sztring nem tartalmazhat pontosvesszőt.
Ellenőrízd le, hogy az input sor valóban helyes-e.ertek.c - Írasd ki a fájlvége jelig (^D) tartó bemenetet úgy, hogy a számjegyeket
törlöd belőle. A végén írd ki, hogy hány számjegyet töröltél.
ertek2.c
FILE-BA ÍRÁS, OLVASÁS
- Írj egy programot, ami beolvas két egész számot, majd kiírja az összegüket
és a szorzatukat.normio.c - Módosítsuk úgy a programot, hogy használja az stdin, stdout, fscanf és
fprintf függvényeket.filestdio.c - Módosítsuk úgy a programot, hogy valódi fájlokat használjon.fileio.c
- Hibakóddal lépjen ki a program, ha valamelyik fájl megnyitása nem sikerült.
fileiohandle.c
POINTEREK
- Nézzük meg, mi a különbség p, q, illetve *p és *q értéke között.pointerek.c
- Futtassuk le a következő programot, és értelmezzük! Melyik érték melyik
értékkel egyenlő, és miért?cim.c - Írj egy csere() függvényt, ami megcseréli két int típusú változó értékét.csere.c
- Mi a hiba? Javítsuk a programot!csere2.c
- Deklarálj egy 20 elemű int tömböt, majd töltsd fel értékekkel az inputról.
Deklarálj egy pointert, és a beolvasást azon keresztül valósítsd meg.tomb.c - Először olvasd be a tömb méretét, és foglalj neki dinamikusan helyet!
tomb-din.c - Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek
pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd ki, majd
szabadítsd fel a lefoglalt területet!tomb2d.c
STRUCT, UNION
- Hozz létre típust egy háromdimenziós térbeli pozíció tárolására. Ezt
felhasználva hozz létre egy típust, ami részecskék helyzetét, tömegét,
nevét és töltését (pozitív/negatív/semleges) tárolja. Készíts egy
függvényt, ami két részecskéről eldönti, hogy melyik nehezebb, és egy
másikat, ami megmondja, hogy elektromosan vonzzák vagy taszítják egymást,
esetleg nem hatnak egymásra. Inicializálj két részecskét, és használd a
függvényeket.struct.c - Adott a síkon 3 pont, mi az általuk meghatározott háromszög területe?harom.c
- Készítsünk komplex számok tárolására alkalmas adatszerkezetet (egész
komponensekkel). Készítsünk továbbá olyan függvényeket, melyek feladata:
- kiír egy komplex számot az stdout-ra,
- összead két komplex számot, és visszaadja az eredményt
- összeszoroz két komplex számot, és visszaadja az eredményt
komplex.c - Láncolt lista. Olvassunk be egész számokat egy láncolt listába egy adott
végjelig, majd írassuk ki őket. linkedlist.c - Mi a különbség a struct és a union között? Deklarálj egy struct és egy
union típust ugyanolyan mezőkkel. Adj értéket a mezőknek, majd írasd ki
őket!union.c - Így nem látszik semmi. De mi van, ha egyszerre íratjuk ki a mezők értékeit?
union2.c - Írasd ki a mezők kezdőcímét!union3.c
-
FELADATOK
/pub/progalap/Gyakorlat/gyak09
VISSZA