MODUL: III. modul
| 1. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A direktívák # karakterét nem előzheti meg semmilyen karakter a sorban. | | A direktívákat mindig le kell zárni ;-vel. | | A direktíva soremelést megelőző \ karaktere azt jelzi, hogy a következő sor folytatássor lesz, és a sorokat egyesíteni kell. | | A direktívák a forrásszövegnek csak az őket követő részeire hatnak. | | Az #include direktívával betöltött fájl nem tartalmazhat további #include-okat. | |
|
2. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A makrókifejtés nem történik meg karakterlánc konstansokban. | | A __DATE__ makró segítségével a forrásfájl létrehozásának dátuma automatikusan bekerül a forrásba. | | Nem létező makró definiálatlanná tétele #undef segítségével fordítási hibát okoz. | | Paraméteres makrók paramétereit és a teljes makrótestet külön is érdemes kerek zárójelpárokba zárni. | | Ha a paraméteres makró testében ugyanaz a paraméter többször is előfordul, akkor a mellékhatások többször is jelentkezhetnek. | |
|
3. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A karakterosztályozó makrók használatához be kell kapcsolni a string.h fejfájlt. | | A makrók és a függvények azonosítói azonos névteret használnak. | | Egy fejfájl többszöri bekapcsolása meggátolható a helyesen használt #ifndef direktívával. | | A #pragma direktívát követő szimbólumokat nem rögzíti az ANSI C szabványa. | | A tárolási osztály meghatározza az objektum élettartamát, hatáskörét és kapcsolódását. | |
|
4. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A függvényparaméterek automatikus tárolási osztályúak. | | A blokkon belül definiált objektumok alapértelmezett tárolási osztálya az extern. | | Az auto tárolási osztály specifikátor globális hatáskörű objektumok deklarációjában is használható. | | Az automatikus tárolási osztályú objektumoknak nincs kapcsolódásuk. | | A register tárolási osztályú változókat a fordító mindig a processzor regisztereiben tárolja, és sosem helyezi el a memóriában. | |
|
5. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A register tárolási osztályú változók címére nem lehet hivatkozni. | | A static kulcsszavas deklaráció definíció. | | A blokkon belüli static tárolási osztályú változónak történő memóriafoglalást követően implicit kezdőérték adás is történik. | | Külső kapcsolódású változó definíciója az extern kulcsszó használatával lehetséges. | | A statikus élettartamú változóknak a programozó felelőssége használat előtt memóriát foglalni, majd használat után azt felszabadítani. | |
|
6. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A statikus élettartamú objektumok fájl szintű (globális) hatáskörrel rendelkeznek. | | Az automatikus változók explicit inicializálásra szorulnak. | | A lokális élettartamú objektum mindig lokális hatáskörű. | | A statikus élettartamú objektum mindig globális hatáskörű. | | A függvények paraméterei lokális hatáskörűek. | |
|
7. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A blokk hatáskörű változók mindig láthatóak a beágyazott blokkokban. | | A függvény paraméterei függvény hatáskörrel rendelkeznek. | | A függvény prototípusában szereplő paraméterlista azonosítóinak hatásköre a függvény teljes definíciójára kiterjed. | | A függvény prototípusában szereplő paraméterek azonosítóit nem kell egyeztetni a függvény definíciójában szereplő paraméterek azonosítóival. | | A globális (minden függvény testén kívül) elhelyezett azonosítók hatásköre a teljes forrásfájlra kiterjed. | |
|
8. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! Egy programban szerepelhet több egyforma azonosítójú, belső kapcsolódású objektum. | | Ugyanaz a függvény egy programban akár többször is deklarálható. | | A függvény prototípusok használata egyáltalán nem kötelező. | | A hívott függvényből akár return utasítás nélkül is vissza lehet térni a hívóba. | | Függvény lokális változóinak hatásköre a beágyazott függvényre is kiterjed. | |
|
9. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! Egy függvény hívását meg kell előznie legalább egy deklarációjának. | | A függvény visszatérési értékének típusát röviden csak a függvény típusaként szoktuk említeni. | | Függvénynek tömböt átadva igazából nem is a tömb, hanem csak annak címe kerül átadásra. | | Függvény aktuális paraméterének típusa nem feltétlenül kell, hogy egyezzen a formális paraméter típusával. | | A függvény prototípusából mindig egyértelműen kiderül, hogy pontosan hány paraméter átadására számít a függvény. | |
|
10. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A fordító mindig ellenőrzi, hogy a függvény aktuális paramétereinek típusai hozzárendelés kompatibilisek-e a formális paraméterekkel. | | A függvénytestben minden változó tárolási osztálya auto. | | A függvénytestben minden változó alapértelmezett tárolási osztálya auto. | | A void visszatérési értékű függvényben nem szerepelhet a return kulcsszó. | | A nem deklarált függvény alapértelmezett visszatérési érték típusa void. | |
|
11. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A nem deklarált függvény alapértelmezett visszatérési érték típusa int. | | Az int fv() és az int fv(void) deklarációk ekvivalensek. | | A függvény paraméterei külön intézkedés nélkül úgy használhatóak, mint bármely lokális változója, akár az értékük is megváltoztatható. | | Rekurzív függvényhívások során az aktuális paramétereknek mindig újabb memóriaterületet foglal a fordító. | | A mutatók adatot, függvényt és típust is képesek megcímezni. | |
|
12. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A mutatók memóriacímek tárolására szolgálnak. | | A mutatókat más néven vektoroknak is szokták nevezni. | | A mutatók technikailag előjel nélküli egészek, de használatukra speciális szabályok, korlátozások vonatkoznak. | | A mutató típusa a deklarációban rögzíti annak az objektumnak a típusát, amelyet a mutató megcímezhet. | | A void* típusú mutató semmit sem képes megcímezni. | |
|
13. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A lokális élettartamú mutatók implicit módon NULL kezdőértéket kapnak. | | A NULL mutató az ú.n. nulláslap megcímzésére szolgál. | | Típustól függetlenül, bármilyen mutató összehasonlítható a NULL értékkel. | | Típustól függetlenül, bármilyen mutató felveheti a NULL értéket. | | register tárolási osztályú változók címe a & operátorral képezhető. | |
|
14. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! Egy adatmutató értékét felveheti egy másik adatmutató, bár explicit típuskényszerítésre szükség lehet. | | Egy adatmutató értékét felveheti egy kódmutató, bár explicit típuskényszerítésre szükség lehet. | | A mutató által nyilvántartott helyen lévő érték elérése a * operátorral lehetséges. | | A printf képes mutatók értékeinek megjelenítésére a p típuskarakterrel. | | A void* típusú mutató egy meg nem határozott típusú adatot címez meg. | |
|
15. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! Statikus élettartamú objektum címével inicializálható egy lokális élettartamú mutató. | | Lokális élettartamú objektum címével inicializálható egy statikus élettartamú mutató. | | A const char* s paramétert fogadó függvény nem változtathatja meg az s változó értékét. | | A const char* s paramétert fogadó függvény nem változtathatja meg az s címen lévő karakterlánc tartalmát. | | A char* const s paramétert fogadó függvény nem változtathatja meg az s változó értékét. | |
|
16. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A char* const s paramétert fogadó függvény nem változtathatja meg az s címen lévő karakterlánc tartalmát. | | Tömbindexelésnél semmi akadálya annak, hogy az index mögé szögletes zárójelpárba a tömb nevét írjuk. | | A C-ben nincs külön szintaktikai lehetőség a cím szerinti paraméterátadásra, de a címképző operátor használatával ez a probléma megkerülhető. | | A t[i] tömbindexelés ekvivalens módon átírható *(t+i)-re. | | A t[i] tömbindexelés ekvivalens módon átírható *t+i-re. | |
|
17. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A tömb utolsó utáni "elemét" címző mutató még legális. | | A tömb első előtti "elemét" címző mutató még legális. | | A címaritmetikai műveletek csak tömbökön történő alkalmazás esetén értelmezettek. | | Ha két mutató azonos címet tárol, de az egyik konstans mutató, a másik azonban nem, akkor az egyezőségi reláció hamis eredményre vezet. | | A karakterlánc kezelő függvények akkor is biztonságosan használhatók, ha a memóriában egymást átfedő karaktertömbökre használjuk őket. | |
|
18. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! Az strcat függvény nem ellenőrzi, hogy az eredmény karakterlánc el fog-e férni a neki szánt helyen. | | A str... kezdetű könyvtári függvények feltételezik, hogy a paraméterként átadott karaktertömbök a lánczáró karaktert már tartalmazzák. | | Az strcmp a karakterláncok összehasonlításakor nem különbözteti meg a kis- és nagybetűket. | | Az strlen függvény a paraméter karakterlánc hosszába a lánczáró karaktert is beleszámítja. | | Az strtok függvény minden hívásánál nyugodtan lecserélhetjük az elválasztó jeleket valami másra. | |
|
19. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! Az strtok függvény működése közben megváltoztatja a karakterláncot, amiben a szimbólumokat keresi. | | A mutatótömb olyan mutató, amely egy tömböt címez meg. | | A mutatótömb olyan tömb, ami mutatókból áll. | | A nyelv nem korlátozza egy tömb dimenzióinak számát. | | Tömindexelésnél a szögletes zárójelpárban egymástól vesszővel elválasztva kell felsorolni az indexeket. | |
|
20. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A tömbindexelésnél az indexek dimenziónként eltérő intervallumba eshetnek. | | A többdimenziós tömb inicializálásakor akár beágyazott inicializátor listák is használhatóak. | | Többdimenziós tömbök inicializálásakor a kapcsoszárójel párok számának egyeznie kell a tömb dimenzióinak számával. | | srand hívás hiányában az egymást követő rand hívások mindig ugyanazt az értéket fogják szolgáltatni. | | srand hívás hiányában az egymást követő rand hívások az értékeknek mindig ugyanazt a sorozatát fogják szolgáltatni. | |
|
21. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A rand függvény nem képes negatív érték visszaadására. | | A time függvény minden hívásakor más-más eredményt ad. | | A fordító a globális változóknak a heap-en foglal helyet. | | A fordító a lokális változókat a veremben helyezi el. | | Dinamikus memóriakezeléshez be kell szerkeszteni az stdlib.h fejfájlt. | |
|
22. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! A globális errno változó vizsgálatával lehet kideríteni, mi okozta a malloc függvény futása során a hibát. | | Ha a program futása során minden rendben zajlott, a main függvény ezt 1 érték visszaadásával jelezheti az operációs rendszernek. | | A main függvény első, általában argc nevű paraméterének értéke mindig eggyel nagyobb a parancssori paraméterek számánál. | | A main függvény második, általában argv nevű paramétere egy karakteres mutatótömb. | | A getenv függvény üres karakterláncot címző mutató visszaadásával jelzi, ha a paraméterként átadott nevű környezeti változó nem létezik. | |
|
23. Az alábbi állításokról döntse el, hogy igazak vagy hamisak! Az abort() és az exit(3) hívások ekvivalensek. | | int fv(double, int); -ben az fv típusa konstans kódmutató. | | Az int *fv(int); függvény egészet címző mutatóval tér vissza. | | Az int (*fv)(int); függvény egészet címző mutatóval tér vissza. | | Mutatóaritmetika kódmutatókon is végezhető. | |
|