Top 100 C programozási interjúkérdések és amp; Válaszok

Anonim

PDF letöltése

1) Hogyan állíthat össze növekményes vagy csökkentő utasítást C-ben?

Ezt valójában kétféleképpen teheti meg. Az egyik a növekmény operátor ++ és a dekrement operátor használata. Például az "x ++" kifejezés azt jelenti, hogy növeljük az x értékét 1-gyel. Hasonlóképpen, az "x -" állítás azt is jelenti, hogy csökkentjük az x értékét 1-gyel. A növekményes utasítások írásának másik módja a hagyományos + plusz jel vagy - mínusz jel. "X ++" esetén az írás másik módja az "x = x +1".

2) Mi a különbség az érték szerinti és a referenciaértékű hívások között?

Az Érték szerinti hívás használatakor paraméterként egy változó értékét küldi el egy függvénynek, míg a Hívás hivatkozással elküldi a változó címét. Ezenkívül az Érték szerinti hívás alatt a paraméter értékét nem befolyásolja semmilyen végrehajtott művelet, míg a Hivatkozás szerinti hívás esetén az értékeket befolyásolhatja a függvényen belüli folyamat.

3) Egyes kódolók hibakeresést végeznek a programjaikkal úgy, hogy törlés helyett megjegyzési szimbólumokat helyeznek egyes kódokra. Hogyan segíti ez a hibakeresést?

A / * * / megjegyzésszimbólumok elhelyezése egy kód körül, más néven "kommentelés", így elkülöníthet néhány kódot, amely szerintetek hibát okozhat a programban, a kód törlése nélkül. Az ötlet az, hogy ha a kód valóban helyes, akkor egyszerűen távolítsa el a megjegyzés szimbólumokat, és folytassa tovább. Időt és energiát takarít meg azzal is, hogy újra be kell írnia a kódokat, ha eleve törölte azokat.

4) Mi az egyenértékű kód a következő állításhoz, Mialatt LOOP formátumban van?

for (a=1; a<=100; a++)printf ("%d\n", a * a);

Válasz:

a=1;while (a<=100) {printf ("%d\n", a * a);a++;}

5) Mi az a verem?

A verem az adatstruktúra egyik formája. Az adatokat a FILO (First In Last Out) megközelítéssel halmokban tárolják. Bármely konkrét esetben csak a verem teteje érhető el, ami azt jelenti, hogy a veremben tárolt adatok lekérése érdekében először a felső részen levőket kell kinyerni. Az adatok veremben való tárolását PUSH-nak, míg az adat-visszakeresést POP-nak is nevezik.

6) Mi az a szekvenciális hozzáférési fájl?

Olyan programok írásakor, amelyek adatokat tárolnak és töltenek le egy fájlban, lehetőség van a fájl különböző formákra történő kijelölésére. A szekvenciális hozzáférési fájl olyan, hogy az adatokat sorrendben menti: az egyik adat a másik után kerül a fájlba. Egy adott adat eléréséhez a szekvenciális hozzáférési fájlban az adatokat egyenként kell elolvasni, amíg el nem éri a megfelelőt.

7) Mi a változó inicializálás és miért fontos?

Ez arra a folyamatra vonatkozik, amelyben egy változóhoz egy kezdeti értéket rendelnek, mielőtt azt a programban felhasználnák. Inicializálás nélkül egy változó ismeretlen értékkel rendelkezik, ami kiszámíthatatlan kimenetekhez vezethet, ha számításokban vagy más műveletekben használják.

8 Mi a spagetti programozás?

A spagetti programozás olyan kódokra utal, amelyek összekuszálódnak és átfedik egymást a program során. A kódolásnak ez a strukturálatlan megközelítése általában a programozó tapasztalatainak hiányának tulajdonítható. A spagetti programozás megnehezíti a programot és a kódok elemzését, ezért a lehető legnagyobb mértékben kerülni kell.

9) Differenciálja a forráskódokat az objektumkódoktól

A forráskódok olyan kódok, amelyeket a programozó írt. Parancsokból és más angolszerű kulcsszavakból áll, amelyek állítólag arra utasítják a számítógépet, hogy mit tegyen. A számítógépek azonban nem lennének képesek megérteni a forráskódokat. Ezért a forráskódokat egy fordító segítségével állítják össze. Az így kapott kimenetek objektumkódok, amelyek a számítógép processzora számára érthető formátumban vannak. A C programozásban a forráskódokat a .C fájlkiterjesztéssel menti, míg az objektumkódokat az .OBJ fájlkiterjesztéssel

10) A C programozásban hogyan illeszthet idézőjeleket ('és ") a kimeneti képernyőre?

Ez gyakori probléma a kezdők számára, mert az idézetek általában a printf utasítás részét képezik. Az idézőjel beillesztéséhez a kimenet részeként használja a \ '(egyetlen árajánlat) és a \ "(kettős idézet) formátummeghatározókat.

11) Mi a '\ 0' karakter használata?

Végződő null karakterként emlegetik, és elsősorban egy karakterlánc végének megmutatására használják.

12) Mi a különbség a = szimbólum és a == szimbólum között?

A = szimbólumot gyakran használják matematikai műveletekben. Egy adott változóhoz értéket rendelünk. Másrészt a == szimbólum, más néven "egyenlő" vagy "egyenértékű", relációs operátor, amelyet két érték összehasonlítására használnak.

13) Mi a modulus operátor?

A modulus operátor kiadja az osztás fennmaradó részét. A százalék (%) szimbólumot használja. Például: 10% 3 = 1, vagyis ha 10-et elosztunk 3-mal, a maradék 1.

14) Mi a beágyazott hurok?

A beágyazott hurok egy másik hurokban futó hurok. Másképp fogalmazva: van egy belső hurkotok, amely egy külső hurokban van. Ebben a forgatókönyvben a belső hurkot a külső hurok által meghatározott számú alkalommal hajtják végre. A külső hurok minden egyes fordulatához először a belső hurok kerül végrehajtásra.

15) Az alábbi operátorok közül melyik hibás és miért? (> =, <=, <>, ==)

<> helytelen. Noha ezt az operátort helyesen értelmezik "nem egyenlőnek" a feltételes utasítások írásakor, a C programozásnál nem ez a megfelelő operátor. Ehelyett a! = Operátort kell használni a "nem egyenlő" feltétel megjelölésére.

16) Hasonlítsa össze és állítsa szembe a tolmácsok fordítóit.

A fordítók és tolmácsok gyakran foglalkoznak a programkódok végrehajtásával. Az értelmezők a programkódokat egyenként hajtják végre, míg a fordítók a program egészét veszik át, és objektumkódokká alakítják át, mielőtt végrehajtanák. A legfontosabb különbség itt az, hogy tolmácsok esetén a program szintaxis hibákkal találkozhat a végrehajtás közepén, és onnan leáll. Másrészt a fordítók ellenőrzik a teljes program szintaxisát, és csak akkor folytatják a végrehajtást, ha nem találnak szintaktikai hibákat.

17) Hogyan deklarálhat olyan változót, amely megtartja a string értékeket?

A char kulcsszó egyszerre csak 1 karakter értéket tartalmazhat. Karaktertömb létrehozásával tárolhat benne karakterlánc-értékeket. Példa: A "char MyName [50];" a MyName nevű karakterlánc-változót deklarálja, amely legfeljebb 50 karaktert képes befogadni.

18) Használhatók-e a göndör zárójelek {} egyetlen kódsor beillesztésére?

Míg a göndör zárójeleket főleg több kódsor csoportosítására használják, akkor is hiba nélkül működik, ha egyetlen sorhoz használta. Egyes programozók ezt a módszert előnyben részesítik a kódok rendezésének módjaként, hogy világosabbá tegyék, különösen a feltételes utasításokban.

19) Mik azok a fejlécfájlok, és mik azok a C programozásban?

A fejlécfájlokat könyvtárfájloknak is nevezik. Két lényeges dolgot tartalmaznak: a programban használt függvények definícióit és prototípusait. Egyszerűen fogalmazva, a C programozásban használt parancsok valójában az egyes fejlécfájlokból definiált függvények. Minden fejlécfájl tartalmaz egy sor funkciót. Például: az stdio.h egy fejlécfájl, amely olyan parancsok definícióját és prototípusait tartalmazza, mint a printf és a scanf.

20) Mi a szintaxis hiba?

A szintaktikai hibák a programozási nyelv használatának hibáival társulnak. Lehet, hogy hibásan írt parancs, vagy olyan parancs, amelyet kisbetűs módban kell megadni, de nagybetűvel írta be. A helytelen szimbólum vagy a szimbólum hiánya valahol a kódsorban szintaktikai hibához is vezethet.

21) Mik a változók, és miben különbözik az konstansoktól?

A változók és az állandók először hasonlónak tűnhetnek bizonyos értelemben, mivel mindkettő azonosító, amely egy vagy több karakterből áll (betűk, számok és néhány megengedett szimbólum). Mindkettő egy bizonyos értékkel is bír. A változó birtokában lévő értékek a program során megváltoztathatók, és felhasználhatók a legtöbb művelethez és számításhoz. Az állandók csak egyszerre kapnak értékeket, a program elején. Ez az érték a programban nem változik. Például hozzárendelhet egy PI nevű konstansot, és megadhat neki 3,1415 értéket. Ezután PI-ként használhatja a programban, ahelyett, hogy minden egyes alkalommal szükség lenne 3,1415 megírására.

22) Hogyan érheti el az értékeket egy tömbön belül?

A tömbök számos elemet tartalmaznak, attól függően, hogy milyen méretet adtál neki a változó deklarálása során. Minden elemhez 0 és 1 számú elem tartozik. Egy adott elem értékének hozzárendeléséhez vagy beolvasásához lásd az elem számát. Például: ha van olyan nyilatkozatod, amely azt mondja, hogy "intscores [5];", akkor 5 hozzáférhető elemed van, nevezetesen: pontszámok [0], pontszámok [1], pontszámok [2], pontszámok [3] és pontszámok [4] ].

23) Használhatok-e "int" adattípust a 32768 érték tárolásához? Miért?

Az "int" adattípus képes -32768 és 32767 közötti értékek tárolására. A 32768 tárolásához használhatja helyette a "long int" szót. Használhatja az "unsigned int" szót is, feltéve, hogy nem szándékozik negatív értékeket tárolni.

24) Kombinálható-e két vagy több operátor, például \ n és \ t egyetlen programkódsorban?

Igen, tökéletesen érvényes az operátorok kombinálása, különösen, ha erre szükség van. Például: rendelkezhet egy olyan kóddal, mint a "printf (" Hello \ n \ n \ 'World \' "") ", hogy az első sorban a" Hello ", az idézőjelekbe zárt" World "szöveg pedig a következőre kerüljön. két sor.

25) Miért van az, hogy nem minden fejlécfájl van deklarálva minden C programban?

A fejlécfájl deklarálása az egyes C programok tetején attól függ, hogy milyen parancsokat / funkciókat fog használni az adott programban. Mivel az egyes fejlécfájlok különböző funkciódefiníciókat és prototípusokat tartalmaznak, csak azokat a fejlécfájlokat használná, amelyek tartalmaznák a szükséges funkciókat. Az összes fejlécfájl deklarálása minden programban csak növelné a program teljes fájlméretét és terhelését, és nem tekinthető jó programozási stílusnak.

26) Mikor használják az "érvénytelen" kulcsszót egy függvényben?

A függvények deklarálásakor eldönti, hogy az adott függvény visszaad-e értéket vagy sem. Ha ez a függvény nem ad vissza értéket, például amikor egy funkció célja néhány kimenet megjelenítése a képernyőn, akkor a "void" -t a függvény fejlécének bal szélére kell helyezni. Amikor a függvény végrehajtása után visszatérési érték várható, a visszatérési érték adattípusa az "érvénytelen" helyett kerül elhelyezésre.

27) Mik az összetett állítások?

Az összetett utasítások két vagy több programkivonatból állnak, amelyeket együtt hajtanak végre. Ez általában olyan körülmények kezelésekor következik be, amikor az IGAZ vagy HAMIS kiértékelésekor egy utasítássorozatot hajtanak végre. Az összetett utasítások cikluson belül is végrehajthatók. A göndör zárójeleket {} az összetett állítások előtt és után helyezzük el.

28) Mi a jelentősége egy algoritmusnak a C programozás szempontjából?

A program megírása előtt először algoritmust kell létrehozni. Egy algoritmus lépésről lépésre biztosítja a megoldás levezetésének módját. Tervként szolgál egy program indításának és befejezésének módjáról is, beleértve azt is, hogy milyen folyamat és számítások vannak benne.

29) Mi az előnye egy tömbnek az egyes változókkal szemben?

Több kapcsolódó adat tárolásakor célszerű tömböket használni. A tömbök elnevezése csak 1 szó, amelyet egy elemszám követ. Például: 1 tanuló 10 teszteredményének tárolásához 10 különböző változónév használható (1. évfolyam, 2. évfolyam, 3. évfolyam… 10. évfolyam). A tömböknél csak 1 név használatos, a többihez az indexnéven keresztül férhet hozzá (fokozat [0], fokozat [1], fokozat [2]… fokozat [9]).

30) Írjon egy ciklus utasítást, amely a következő kimenetet mutatja:

1

12.

123.

1234

12345

Válasz:

for (a=1; a<=5; i++) {for (b=1; b<=a; b++)printf("%d",b);printf("\n");}

31) Mi a baj ebben az állításban? scanf ("% d", mennyi);

Az ampersand & szimbólumot a whatnumber változó neve elé kell helyezni. A & kifejezés elhelyezése azt jelenti, hogy a felhasználó által megadott egész számot a változó neve "címén" tároljuk. Ez a programozók gyakori hibája, gyakran logikai hibákhoz vezet.

32) Hogyan generálsz véletlenszámokat C-ben?

A véletlenszámokat C-ben generáljuk a rand () paranccsal. Például: az anyNum = rand () tetszőleges egész számot generál 0-tól kezdődően, feltételezve, hogy az anyNum egész típusú változó.

33) Mi lehet a probléma, ha egy érvényes függvénynevet, például a tolower (), a C fordító nem definiáltként jelent meg?

A hiba legvalószínűbb oka az, hogy az adott függvény fejlécfájlját nem jelölték meg a program tetején. A fejlécfájlok tartalmazzák a C programban használt funkciók és parancsok definícióját és prototípusát. A "tolower ()" esetén a "#include " kódnak jelen kell lennie a program elején.

34) Mik a megjegyzések, és hogyan illesztheti be egy C programba?

A megjegyzések nagyszerű módja annak, hogy néhány megjegyzést vagy leírást beillesszünk egy programba. Emlékeztetőül szolgálhat arról, hogy miről szól a program, vagy leírásként arról, hogy egy bizonyos kódot vagy funkciót miért helyeztek el oda. A megjegyzések / * -vel kezdődnek és * / karakterekkel végződnek. A megjegyzések lehetnek egysorosak, vagy akár többsorosak is. Bárhol elhelyezhető a programban.

35) Mi a hibakeresés?

A hibakeresés a hibák azonosításának folyamata a programon belül. A programfordítás során a talált hibák meggátolják a program teljes végrehajtását. Ebben az állapotban a programozó megvizsgálja a hiba lehetséges részeit. A hibakeresés biztosítja a hibák eltávolítását, és fontos szerepet játszik a várt programkimenet teljesülésének biztosításában.

36) Mit csinál a && operátor egy programkódban?

Az &&-t AND operátornak is nevezik. Ennek az operátornak a használatakor az összes megadott feltételnek IGAZnak kell lennie a következő művelet végrehajtása előtt. Ha 10 feltétele van, és az összes kivételével az összes nem felel meg IGAZ-nak, akkor a teljes feltétel-állítást már FALSE-ként értékelik

37) A C programozásban milyen parancs vagy kód alapján lehet megállapítani, hogy páros vagy páratlan-e?

A C-ben nincs egyetlen parancs vagy függvény, amely ellenőrizheti, hogy egy szám páratlan vagy páros-e. Ez azonban úgy valósítható meg, hogy ezt a számot elosztjuk 2-vel, majd ellenőrizzük a maradékot. Ha a maradék 0, akkor ez a szám páros, különben furcsa. Kódként beírhatja:

if (num % 2 == 0)printf("EVEN");elseprintf("ODD");

38) Mit jelent a% 10.2 formátum, ha egy printf utasításban szerepel?

Ezt a formátumot két dologra használják: a kimeneti szám számára kijelölt terek számának és a tizedesjegyek számának beállítására. A tizedespont előtti szám a kijelölt térre vonatkozik, ebben az esetben 10 szóközt osztana ki a kimeneti szám számára. Ha a kimeneti szám által elfoglalt hely száma kevesebb, mint 10, akkor a tényleges kimeneti szám elé további szóközök kerülnek. A tizedespont utáni szám a tizedesjegyek számát határozza meg, ebben az esetben ez két tizedeshely.

39) Melyek a logikai hibák, és miben különbözik a szintaxishibáktól?

A logikai hibákat tartalmazó program általában átmegy az összeállítási folyamaton, de a kapott kimenet nem biztos, hogy a várt. Ez akkor fordul elő, ha rossz képletet illesztettek be a kódba, vagy rossz parancssorozatot hajtottak végre. A szintaktikai hibák viszont helytelen parancsokkal foglalkoznak, amelyeket hibásan írtak, vagy amelyeket a fordító nem ismer fel.

40) Melyek a különböző vezérlési struktúrák a programozásban?

A programozásban 3 fő vezérlési struktúra létezik: szekvencia, kiválasztás és ismétlés. A szekvenciális vezérlés a program végrehajtása során a fentről lefelé áramlást követi úgy, hogy először az 1. lépést, majd a 2. lépést kell végrehajtani egészen az utolsó lépésig. A Selection feltételes utasításokkal foglalkozik, amelyek azt jelentik, hogy a kódokat a feltételek IGAZ vagy HAMIS értékelésétől függően hajtják végre. Ez azt is jelenti, hogy nem minden kód futtatható, és vannak alternatív folyamatok. Az ismétlések hurokszerkezetekként is ismertek, és egy vagy két számláló által beállított program utasítást ismételnek meg.

41) Mi az a || operátor és hogyan működik egy programban?

A || a C programozásban OR operátorként is ismert. A || használatakor a logikai feltételek kiértékeléséhez minden olyan feltétel, amely IGAZ-ra változik, az egész feltétel-állítást IGAZsá teszi.

42) Használható-e az "ha" függvény a húrok összehasonlításában?

A "ha" parancs csak a numerikus értékek és az egy karakteres értékek összehasonlítására használható. A karaktersorozatok értékeinek összehasonlításához van egy másik, az strcmp nevű függvény, amely kifejezetten a karakterláncokkal foglalkozik.

43) Mik azok az előfeldolgozókról szóló irányelvek?

Az előfeldolgozó irányelvek minden C program elején találhatók. Itt adják meg a könyvtárfájlokat, amelyek attól függnek, hogy milyen funkciókat kell használni a programban. Az előfeldolgozó irányelvek másik felhasználása az állandók deklarálása. Az előfeldolgozó irányelvek a # szimbólummal kezdődnek.

44) Mi lesz az alábbi feltételes utasítás eredménye, ha az s változó értéke 10?

s> = 10 && s <25 && s! = 12

Az eredmény IGAZ lesz. Mivel s értéke 10, az s> = 10 IGAZ értéket jelent, mert s nem nagyobb 10-nél, de még mindig egyenlő 10-vel. S <25 szintén IGAZ, mivel 10 kisebb, mint 25. , ami azt jelenti, hogy s nem egyenlő 12-vel, IGAZ értéket ad. Az && az AND operátor, és azt a szabályt követi, hogy ha minden egyedi feltétel IGAZ, akkor a teljes utasítás IGAZ.

45) Írja le az elsőbbségi sorrendet a C operátorok vonatkozásában

Az elsőbbségi sorrend határozza meg, hogy melyik műveletet kell először végrehajtani egy műveleti utasításban vagy feltételes utasításban. A legfelsõbb rangsorban az unár operátorok vannak!, +, - és &. Ezt követik a rendszeres matematikai operátorok (először *, / és modulus%, majd + és -). A sorban következnek a <, <=,> = és> relációs operátorok. Ezt követi a két egyenlőségi operátor == és! =. A logikai operátorok && és || értékelik. Az utolsó szinten a hozzárendelés operátor =.

46) Mi a baj ezzel az állítással? myName = "Robin";

A = jel nem használható értékek hozzárendeléséhez egy karakterlánc változóhoz. Ehelyett használja az strcpy függvényt. A helyes állítás a következő lenne: strcpy (myName, "Robin");

47) Hogyan határozhatja meg egy változóban tárolt karakterlánc értékét?

A string érték hosszának megadásához használja a strlen () függvényt. Például, ha van egy FullName nevű változó, akkor a következő utasítással kaphatja meg a tárolt karakterlánc értékét: I = strlen (FullName); az I változónak mostantól a karakterlánc értéke lesz.

48) Lehetséges-e egy változó inicializálása a deklarálás idején ?

Igen, a változó deklaráció után nem kell külön hozzárendelési utasítást írni, hacsak nem tervezi később változtatni. Például: char bolygó [15] = "Föld"; két dolgot csinál: deklarál egy bolygó nevű string változót, majd inicializálja a "Earth" értékkel.

49) Miért tekintik a C nyelvet középszintű nyelvnek?

A C nyelv ugyanis olyan funkciókban gazdag, amelyek miatt magas szintű nyelvként viselkedik, ugyanakkor alacsony szintű módszerekkel kölcsönhatásba léphet a hardverekkel. A programozás jól strukturált megközelítésének használata a funkciókban használt angolszerű szavakkal együtt magas szintű nyelvként hat. Másrészt a C közvetlenül hozzáférhet az összeállítási nyelv rutinjához hasonló memóriastruktúrákhoz.

50) Melyek a különböző fájlkiterjesztések a C programozásakor?

A forráskódok C-ben .C fájlkiterjesztéssel vannak mentve. A fejlécfájlok vagy a könyvtárfájlok kiterjesztése .H. Minden alkalommal, amikor a program forráskódját sikeresen lefordítják, létrehoz egy .OBJ objektumfájlt és egy futtatható .EXE fájlt.

51) Mik a fenntartott szavak?

A fenntartott szavak azok a szavak, amelyek a standard C nyelvkönyvtár részét képezik. Ez azt jelenti, hogy a fenntartott szavak különleges jelentéssel bírnak, ezért nem használhatók fel más célokra, mint amire eredetileg szánták. A fenntartott szavak példái: int, void és return.

52) Mi a linkelt lista?

A csatolt lista csomópontokból áll, amelyek kapcsolódnak egy másikhoz. A C programozásban hivatkozott listákat hoznak létre mutatók segítségével. Az összekapcsolt listák használata a memória tárolásra történő felhasználásának egyik hatékony módja.

53) Mi a FIFO?

A C programozásnál létezik egy adatstruktúra, amelyet sornak neveznek. Ebben a struktúrában az adatokat FIFO vagy First-In-First-Out formátumban tárolják és elérik. A várólista egy sort jelent, ahol az első tárolt adat lesz az első, amely szintén elérhető.

54) Mik azok a bináris fák?

A bináris fák valójában a kapcsolt listák fogalmának kiterjesztése. A bináris fának két mutatója van, egy bal és egy jobb. Mindkét oldal elágazhat, hogy további csomópontokat képezzen, amelyek mindegyikének két mutatója is van.

55) Nem minden fenntartott szót írunk kisbetűvel. Igaz vagy hamis?

HAMIS. Minden fenntartott szót kisbetűvel kell írni; különben a C fordító ezt azonosítatlannak és érvénytelennek értelmezné.

56) Mi a különbség a "++ a" és az "a ++" kifejezés között?

Az első kifejezésben a növekmény először az a változónál következik be, és az így kapott érték lesz az, amelyet használni kell. Ezt nevezik előtag növekménynek is. A második kifejezésben az a változó aktuális értéke felelne meg a művelet során, mielőtt maga az a értéke növekszik. Ez más néven postfix növekmény.

57) Mi történne X-szel ebben a kifejezésben: X + = 15; (feltételezve, hogy X értéke 5)

X + = 15 az X = X + 15 rövid írásmódja, tehát ha X kezdeti értéke 5, akkor 5 + 15 = 20.

58) C nyelven a NAME, a name és a Name változók megegyeznek. Igaz vagy hamis?

HAMIS. A C nyelv megkülönbözteti a kis- és nagybetűket. Ezért a NAME, a name és a Name három egyedileg eltérő változó.

59) Mi az a végtelen hurok?

A végtelen hurok két dolgot jelenthet. Az egyik az, hogy úgy tervezték, hogy folyamatosan hurokoljon, amíg a cikluson belüli feltétel nem teljesül, ezután egy törésfüggvény miatt a program kilép a hurokból. A végtelen hurok másik ötlete az, amikor helytelen ciklusfeltételt írtak, aminek következtében a hurok örökre tévesen fut. A végtelen hurkok gyakran végtelen hurkok.

60) Mi a program folyamatábra, és hogyan segít a program megírásában?

A folyamatábra vizuális ábrázolást nyújt az adott probléma megoldása felé vezető lépésről lépésre. A folyamatábrák szimbólumokból készülnek, mindegyik szimbólum különböző formájú. Minden alakzat egy adott entitást képviselhet a teljes programszerkezetben, például folyamatot, feltételt vagy akár egy bemeneti / kimeneti fázist.

61) Mi a baj ezzel a programnyilatkozattal? érvénytelen = 10;

A void szó fenntartott szó C nyelven. Nem használhat fenntartott szavakat felhasználó által definiált változóként.

62) Érvényes ez a programkivonat? INT = 10,50;

Feltételezve, hogy az INT float típusú változó, ez az állítás érvényes. Azt gondolhatja, hogy az INT egy fenntartott szó, és nem szabad más célokra használni. Emlékezzünk azonban arra, hogy a fenntartott szavak kisbetűvel vannak kifejezve, ezért a C fordító nem értelmezi ezt fenntartott szóként.

63) Melyek a tényleges érvek?

Amikor olyan funkciókat hoz létre és használ, amelyeknek műveletet kell végrehajtania egyes megadott értékeken, ezeket az adott értékeket át kell adnia az adott függvénynek. A hívott függvénybe átadott értékeket tényleges argumentumoknak nevezzük.

64) Mi az új vonalas menekülési sorrend?

Az újsorú menekülési szekvenciát \ n karakter képviseli. Ez egy új sor beszúrására szolgál, amikor az adatok megjelennek a kimeneti képernyőn. További szóközök hozzáadhatók \ n karakterek beszúrásával. Például \ n \ n két szóközt szúr be. Új sor menekülési szekvencia elhelyezhető a tényleges kimeneti kifejezés előtt vagy után.

65) Mi a kimenet átirányítása?

Ez az adatátviteli folyamat a kijelzőtől eltérő alternatív kimeneti forrásra. A kimenet átirányítása lehetővé teszi a program számára, hogy a kimenetét fájlba mentse. Például, ha van egy COMPUTE nevű programja, írja be ezt a parancssorba, mivel a COMPUTE> DATA elfogadhatja a felhasználó bemenetét, elvégezhet bizonyos számításokat, majd a kimenetet átirányíthatja egy DATA nevű fájlba, ahelyett, hogy azt a képernyőn megjelenítené. .

66) Mik a futásidejű hibák?

Ezek olyan hibák, amelyek a program futtatása közben jelentkeznek. Az egyik gyakori eset, amikor futásidejű hibák történhetnek, az az, amikor megpróbál egy számot nullával felosztani. Futásidejű hibák esetén a program végrehajtása szünetel, megmutatva, hogy melyik programsor okozta a hibát.

67) Mi a különbség az abs () és a fabs () függvények között?

Ez a 2 függvény alapvetően ugyanazt a műveletet hajtja végre, amely az adott érték abszolút értékének megszerzése. Az Abs () értéket egész számokhoz, míg a fabs () értéket lebegő típusú számokhoz használják. Az abs () prototípusa alatt van, míg a fabs () alatt van.

68) Melyek a formai paraméterek?

A függvények C programban való használatakor a formális paraméterek tartalmazzák azokat az értékeket, amelyeket a hívó függvény adott át. Az értékeket ezekben a formális paraméterekben helyettesítik, és bármilyen művelethez használják, amint az a meghívott függvény fő törzsében szerepel.

69) Mik azok az ellenőrzési struktúrák?

A vezérlő struktúrák átveszik a felelősséget, hogy mely utasításokat kell végrehajtani egy programban. Ez azt jelenti, hogy a program folyamata nem feltétlenül halad át az egyik utasításból a másikba, sokkal inkább szükség lehet néhány alternatív rész átadására vagy megkerülésére, a feltételes utasítások eredményétől függően.

70) Írjon egy egyszerű kódrészletet, amely ellenőrzi, hogy egy szám pozitív vagy negatív .

If (num>=0)printf("number is positive");elseprintf ("number is negative");

71) Mikor előnyösebb a "switch" utasítás az "if" utasítással szemben?

A switch utasítást akkor lehet a legjobban használni, ha egyetlen változó vagy kifejezés alapján kiválasztásokat kezelünk. A switch utasítások azonban csak egész és karakter adattípusokat tudnak értékelni.

72) Mik azok a globális változók, és hogyan deklarálja őket?

A globális változók olyan változók, amelyekhez a program bárhol hozzáférhető és manipulálható. A változó globális jellegűvé tételéhez tegye a változó deklarációt a program felső részére, közvetlenül az előfeldolgozó irányelvek szakasz után.

73) Melyek a felsorolt ​​típusok?

A felsorolt ​​típusok lehetővé teszik a programozó számára, hogy értelmesebb szavakat használjon egy változó értékeként. A felsorolt ​​típusú változó minden eleme tulajdonképpen numerikus kóddal van társítva. Például létrehozhat egy DAYS nevű felsorolt ​​típusú változót, amelynek értéke hétfő, kedd ... vasárnap.

74) Mit csinál a toupper () függvény?

Bármely betűt nagybetűsre konvertálhatunk. A Toupper () függvény prototípusát a -ban adjuk meg. Vegye figyelembe, hogy ez a függvény csak egyetlen karaktert alakít át, és nem egy teljes karakterláncot.

75) Lehet-e egy függvényt paraméterként használni egy másik függvényben?

Igen, ez megengedett a C programozásnál. Csak be kell foglalnia a teljes függvény prototípust a másik függvény paraméter mezőjébe, ahol használni kívánja.

76) Mik azok a többdimenziós tömbök?

A többdimenziós tömbök képesek adatokat két vagy több dimenziós struktúrában tárolni. Például használhat egy 2 dimenziós tömböt a sakkjáték darabjainak aktuális helyzetének vagy a játékosok helyzetének a tic-tac-toe programban történő tárolásához.

77) A C-ben melyik függvénnyel lehet stringet fűzni egy másik stringhez?

Az strcat függvény. Két paraméterre van szükség, a forrás karakterláncra és a karakterlánc értékére, amelyet hozzá kell fűzni a forrás karakterlánchoz.

78) Mi a különbség a getch () és a getche () függvények között?

Mindkét funkció elfogadja a felhasználó által bevitt karakterek értékét. A getch () használatakor a megnyomott gomb nem jelenik meg a képernyőn, és automatikusan rögzíti és hozzárendeli egy változóhoz. A getche () használatakor a felhasználó által megnyomott gomb megjelenik a képernyőn, miközben egy változóhoz van rendelve.

79) Ez a két program utasítás ugyanazt a kimenetet hajtja végre? 1) scanf ("% c", & letter); 2) betű = getchar ()

Igen, mindkettő pontosan ugyanazt csinálja, vagyis elfogadja a felhasználó által megnyomott következő kulcsot, és hozzárendeli azt a letter nevű változóhoz.

80) Milyen szerkezettípusok vannak C-ben?

A szerkezettípusokat elsősorban a nyilvántartások tárolására használják. A rekord kapcsolódó mezőkből áll. Ez megkönnyíti a kapcsolódó adatok csoportjának szervezését.

81) Mit jelentenek az "r" és a "w" karakterek, ha fájlokat használó programokat írnak?

Az "r" jelentése "olvasás", és megnyit egy fájlt bemenetként, amelyben az adatokat be kell szerezni. A "w" jelentése "ír", és kinyit egy fájlt. A fájlban tárolt korábbi adatok törlődnek.

82) Mi a különbség a szöveges és a bináris fájlok között?

A szöveges fájlok olyan adatokat tartalmaznak, amelyeket az emberek könnyen érthetnek. Betűket, számokat és egyéb karaktereket tartalmaz. Másrészt a bináris fájlok tartalmaznak 1-et és 0-t, amelyeket csak a számítógépek képesek értelmezni.

83) lehetséges-e saját fejlécfájlokat létrehozni?

Igen, lehetőség van testreszabott fejlécfájl létrehozására. Csak foglalja bele a programban használni kívánt függvény prototípusokat, és használja a #include direktívát, amelyet a fejlécfájl neve követ.

84) Mi a dinamikus adatszerkezet?

A dinamikus adatstruktúra lehetőséget nyújt az adatok hatékonyabb tárolására a memóriában. A dinamikus memória-allokáció segítségével a program szükség esetén hozzáfér a memóriaterületekhez. Ez ellentétben áll a statikus adatszerkezettel, ahol a programozónak rögzített számú memóriaterületet kell megjelölnie a programban felhasználásra.

85) Melyek a C különböző adattípusai?

Az alapvető adattípusok: int, char és float. Az Int azon változók deklarálására szolgál, amelyek egész értékeket tárolnak. Az úszót valós számok tárolására használják. A Char képes tárolni az egyes karaktereket.

86) Mi a C program általános formája?

Az AC program az előfeldolgozó irányelvekkel kezdődik, amelyekben a programozó meghatározza, hogy melyik fejlécfájlt és milyen állandókat (ha vannak) kell használni. Ezt követi a fő funkciócím. A fő funkción belül a változó deklaráció és a program utasítás található.

87) Mi az előnye a véletlen hozzáférésű fájlnak?

Ha a fájlban tárolt adatok mennyisége meglehetősen nagy, akkor a véletlenszerű hozzáférés lehetővé teszi, hogy gyorsabban keressen benne. Ha ez egy szekvenciális hozzáférési fájl lett volna, akkor egyszerre csak egy rekordot kell átélnie, amíg el nem éri a céladatokat. A véletlen hozzáférésű fájl segítségével közvetlenül arra a címre ugorhat, ahol az adatok találhatók.

88) A switch utasításban mi történik, ha kihagyunk egy break utasítást?

Ha egy töréskivonatot nem egy adott esetrész végén helyeztek el? Ez továbblép a következő esetrészre, esetleg hibás kimenetet okozva.

89) Írja le, hogyan adhatók át a tömbök egy felhasználó által definiált függvénynek

Egy dolgot meg kell jegyezni, hogy nem adhatja át a teljes tömböt egy függvénynek. Ehelyett átad neki egy mutatót, amely a memória első tömb elemére mutat. Ehhez zárójelek nélkül kell megadni a tömb nevét.

90) Mik a mutatók?

A mutatók a memória meghatározott területeire mutatnak. A mutatók egy változó címét tartalmazzák, amely viszont tartalmazhat értéket, vagy akár egy másik memória címét is.

91) Átadhat egy teljes struktúrát a függvényeknek?

Igen, lehetőség van egy teljes struktúra átadására egy függvényhez egy hívás módszer szerinti stílusban. Egyes programozók azonban inkább deklarálják a struktúrát globálisan, majd egy ilyen típusú struktúrájú változót átadnak egy függvénynek. Ez a módszer segít fenntartani az érvelés típusának következetességét és egységességét.

92) Mi az a get () függvény?

A get () függvény lehetővé teszi a felhasználó teljes soros adatbevitelét. Amikor a felhasználó megnyomja az Enter billentyűt a bevitel befejezéséhez, a karakterek teljes sora egy karakterlánc változóba kerül. Ne feledje, hogy az enter kulcs nem szerepel a változóban, ehelyett egy null terminátor \ 0 kerül az utolsó karakter után.

93) A% szimbólum speciálisan használható a printf utasításban. Hogyan helyezné el ezt a karaktert a kimenet részeként a képernyőn?

Ezt megteheti a %% használatával a printf utasításban. Például beírhatja a printf ("10 %%") kifejezést, hogy a kimenet 10% -ként jelenjen meg a képernyőn.

94) Hogyan kereshet adatokat egy adatfájlban véletlenszerű hozzáférés módszerével?

A fseek () függvény segítségével véletlenszerű hozzáférésű bemenetet / fájlkimenetet hajthat végre egy fájlban. Miután a fájlt megnyitotta a fopen () függvény, a fseek működéséhez három paraméterre volt szükség: a fájlra mutató fájlmutatóra, a keresendő bájtok számára és a fájlban található kiindulási pontra.

95) A megjegyzések szerepelnek-e az összeállítás szakaszában, és az EXE fájlba is kerülnek-e?

Nem, a fordító észrevételeit figyelmen kívül hagyjuk. A megjegyzések többnyire csak a programozó útmutatásait szolgálják, és a program funkcióiban nincs más jelentős felhasználásuk.

96) Van-e beépített funkció C-ben, amely felhasználható az adatok rendezésére?

Igen, használja a qsort () függvényt. Lehetőség van a felhasználó által definiált függvények létrehozására is, például a ballon rendezés és a buborék rendezés algoritmus alapján.

97) Milyen előnyei és hátrányai vannak a kupacnak?

Az adatok tárolása a kupacon lassabb, mint amire a verem használatakor lenne szükség. A kupac használatának legfőbb előnye azonban a rugalmassága. Ennek oka, hogy az ebben a struktúrában lévő memória bármilyen sorrendben lefoglalható és eltávolítható. A halom lassúsága kompenzálható, ha egy algoritmust jól megterveztek és megvalósítottak.

98) Hogyan konvertálhatod a húrokat számokra C-ben?

Írhat saját függvényeket, hogy karakterláncokat alakítson ki számkonverziókra, vagy ehelyett használhatja a C beépített függvényeit. Az atof segítségével lebegőpontos értékre, az atoi egész számra, az atol pedig hosszú egész számra konvertálhat.

99) Hozzon létre egy egyszerű kódrészletet, amely felcseréli két num1 és num2 változó értékét.

int temp;temp = num1;num1 = num2;num2 = temp;

100) Mit használ a pontosvessző (;) minden programleírás végén?

Köze van az elemzési folyamathoz és a kód fordításához. A pontosvessző elválasztóként működik, így a fordító tudja, hogy az egyes utasítások hol végződnek, és folytathatja az utasítás kisebb szintekre osztását a szintaxis ellenőrzéséhez.