Top 100 vragen en antwoorden over C-programmeringsinterviews (PDF)

Hier zijn C Programming-sollicitatievragen en -antwoorden voor zowel nieuwere als ervaren kandidaten om hun droombaan te krijgen.

 

Basisvragen en antwoorden over C-programmering voor eerstejaarsstudenten

1) Hoe construeer je een increment- of decrement-instructie in C?

Er zijn eigenlijk twee manieren waarop u dit kunt doen. Eén daarvan is het gebruik van de operator voor verhogen ++ en operator voor verlagen –. De verklaring “x++” betekent bijvoorbeeld dat de waarde van x met 1 wordt verhoogd. Op dezelfde manier betekent de verklaring “x –” dat de waarde van x met 1 wordt verlaagd. Een andere manier om verhogingsinstructies te schrijven is door het conventionele + plusteken te gebruiken of – minteken. In het geval van “x++” is een andere manier om het te schrijven “x = x +1”.

👉 Gratis pdf-download: vragen en antwoorden over C-programmering >>


2) Wat is het verschil tussen Call by Value en Call by Reference?

Wanneer u Call by Value gebruikt, verzendt u de waarde van een variabele als parameter naar een functie, terwijl Call by Reference het adres van de variabele verzendt. Bovendien wordt onder Call by Value de waarde in de parameter niet beïnvloed door welke bewerking dan ook, terwijl in het geval van Call by Reference waarden kunnen worden beïnvloed door het proces binnen de functie.

C Programmering Interview Vraag en antwoorden


3) Sommige programmeurs debuggen hun programma's door commentaarsymbolen op sommige codes te plaatsen in plaats van deze te verwijderen. Hoe helpt dit bij het debuggen?

Het plaatsen van commentaarsymbolen /* */ rond een code, ook wel “commentaar geven” genoemd, is een manier om bepaalde codes te isoleren waarvan u denkt dat ze fouten in het programma veroorzaken, zonder de code te verwijderen. Het idee is dat als de code inderdaad correct is, u eenvoudigweg de commentaarsymbolen verwijdert en verder gaat. Het bespaart u ook tijd en moeite doordat u de codes opnieuw moet typen als u deze in de eerste plaats hebt verwijderd.


4) Wat is de equivalente code van de following instructie in WHILE LOOP-formaat?

for (a=1; a<=100; a++)

printf ("%d\n", a * a);

Antwoord:

a=1;

while (a<=100) {

printf ("%d\n", a * a);

a++;

}

5) Wat is een stapel?

Een stapel is een vorm van een datastructuur. Gegevens worden in stapels opgeslagen met behulp van de FILO-aanpak (First In Last Out). In elk specifiek geval is alleen de bovenkant van de stapel toegankelijk, wat betekent dat om gegevens op te halen die in de stapel zijn opgeslagen, eerst de gegevens op het bovenste gedeelte moeten worden geëxtraheerd. Het opslaan van gegevens in een stapel wordt ook wel een PUSH genoemd, terwijl het ophalen van gegevens een POP wordt genoemd.


6) Wat is een sequentieel toegangsbestand?

Bij het schrijven van programma's die gegevens in een bestand opslaan en ophalen, is het mogelijk om dat bestand in verschillende vormen aan te wijzen. Een sequentieel toegangsbestand is zodanig dat gegevens in opeenvolgende volgorde worden opgeslagen: de ene gegevens worden na de andere in het bestand geplaatst. Om toegang te krijgen tot bepaalde gegevens binnen het sequentiële toegangsbestand, moeten de gegevens gegevens voor gegevens worden gelezen, totdat de juiste gegevens zijn bereikt.


7) Wat is initialisatie van variabelen en waarom is het belangrijk?

Dit verwijst naar het proces waarbij aan een variabele een initiële waarde wordt toegewezen voordat deze in het programma wordt gebruikt. Zonder initialisatie zou een variabele een onbekende waarde hebben, wat kan leiden tot onvoorspelbare resultaten bij gebruik in berekeningen of andere bewerkingen.


8 Wat is spaghettiprogrammering?

Spaghettiprogrammering verwijst naar codes die de neiging hebben om in het programma verstrikt te raken en elkaar te overlappen. Deze ongestructureerde benadering van coderen wordt meestal toegeschreven aan een gebrek aan ervaring van de programmeur. Spaghetti programmeren maakt een programma complex en het analyseren van de codes is moeilijk, en moet daarom zoveel mogelijk worden vermeden.


9) Maak onderscheid tussen broncodes en objectcodes

Broncodes zijn codes die door de programmeur zijn geschreven. Het bestaat uit de opdrachten en andere Engelsachtige trefwoorden die de computer moeten instrueren wat hij moet doen. Computers zouden de broncodes echter niet kunnen begrijpen. Daarom worden broncodes gecompileerd met behulp van een compiler. De resulterende uitvoer zijn objectcodes, die een formaat hebben dat door de computerprocessor kan worden begrepen. In C programmeren, broncodes worden opgeslagen met de bestandsextensie .C, terwijl objectcodes worden opgeslagen met de bestandsextensie .OBJ


10) Hoe voegt u bij C-programmeren aanhalingstekens (' en “) in het uitvoerscherm in?

Dit is een veelvoorkomend probleem voor beginners, omdat aanhalingstekens normaal gesproken deel uitmaken van een printf-instructie. Om het aanhalingsteken in te voegen als onderdeel van de uitvoer, gebruikt u de formaatspecificaties \' (voor enkele aanhalingstekens) en \” (voor dubbele aanhalingstekens).


11) Wat is het nut van een '\0'-teken?

Dit wordt een afsluitend null-teken genoemd en wordt voornamelijk gebruikt om het einde van een tekenreekswaarde weer te geven.


12) Wat is het verschil tussen het =-symbool en het ==-symbool?

Het =-symbool wordt vaak gebruikt bij wiskundige bewerkingen. Het wordt gebruikt om een ​​waarde aan een bepaalde variabele toe te wijzen. Aan de andere kant is het == symbool, ook bekend als “gelijk aan” of “equivalent aan”, een relationele operator die wordt gebruikt om twee waarden te vergelijken.


13) Wat is de modulusoperator?

De modulusoperator voert de rest van een deling uit. Het maakt gebruik van het percentagesymbool (%). Bijvoorbeeld: 10% 3 = 1, wat betekent dat als je 10 door 3 deelt, de rest 1 is.


14) Wat is een geneste lus?

Een geneste lus is een lus die binnen een andere lus loopt. Om het anders te zeggen: je hebt een binnenlus die zich in een buitenlus bevindt. In dit scenario wordt de binnenste lus een aantal keren uitgevoerd, zoals gespecificeerd door de buitenste lus. Voor elke draai aan de buitenste lus wordt eerst de binnenste lus uitgevoerd.


15) Welke van de volgendewing operators is onjuist en waarom? (>=, <=, <>, ==)

<> is onjuist. Hoewel deze operator correct wordt geïnterpreteerd als ‘niet gelijk aan’ bij het schrijven van voorwaardelijke instructies, is het niet de juiste operator om te gebruiken in C programmeren. In plaats daarvan moet de operator != worden gebruikt om de voorwaarde “niet gelijk aan” aan te geven.


16) Vergelijk compilers en tolken.

Compilers en tolken houden zich vaak bezig met de manier waarop programmacodes worden uitgevoerd. Tolken voeren programmacodes regel voor regel uit, terwijl compilers het programma als geheel omzetten in objectcode voordat ze het uitvoeren. Het belangrijkste verschil hier is dat in het geval van tolken een programma tijdens de uitvoering syntaxisfouten kan tegenkomen en vanaf dat moment zal stoppen. Aan de andere kant controleren compilers de syntaxis van het hele programma en gaan ze pas over tot uitvoering als er geen syntaxisfouten worden gevonden.


17) Hoe declareer je een variabele die stringwaarden bevat?

Het trefwoord char kan slechts één tekenwaarde tegelijk bevatten. Door een array met tekens te maken, kunt u daarin tekenreekswaarden opslaan. Voorbeeld: “char MijnNaam[1]; ”verkares een tekenreeksvariabele met de naam MijnNaam die maximaal 50 tekens kan bevatten.


18) Kunnen de accolades { } worden gebruikt om een ​​enkele coderegel te omsluiten?

Hoewel accolades voornamelijk worden gebruikt om meerdere coderegels te groeperen, werkt het nog steeds zonder fouten als u het voor één enkele regel gebruikt. Sommige programmeurs geven de voorkeur aan deze methode als een manier om codes te organiseren om deze er duidelijker uit te laten zien, vooral in voorwaardelijke instructies.


19) Wat zijn headerbestanden en waarvoor worden ze gebruikt bij het programmeren in C?

Headerbestanden worden ook wel bibliotheekbestanden genoemd. Ze bevatten twee essentiële dingen: de definities en prototypes van functies die in een programma worden gebruikt. Simpel gezegd: opdrachten die u gebruikt bij het programmeren in C zijn feitelijk functies die worden gedefinieerd vanuit elk headerbestand. Elk headerbestand bevat een reeks functies. Bijvoorbeeld: stdio.h is een headerbestand dat de definitie en prototypes bevat van opdrachten zoals printf en scanf.


20) Wat is een syntaxisfout?

Syntaxisfouten worden geassocieerd met fouten in het gebruik van een programmeertaal. Het kan een opdracht zijn die verkeerd is gespeld of een opdracht die in kleine letters moet worden ingevoerd, maar in plaats daarvan met een hoofdletter is ingevoerd. Een verkeerd geplaatst symbool, of een gebrek aan symbool, ergens binnen een coderegel kan ook leiden tot syntaxisfouten.


21) Wat zijn variabelen en in welk opzicht verschilt dit van constanten?

Variabelen en constanten kunnen er op het eerste gezicht hetzelfde uitzien, in die zin dat beide identificatiegegevens zijn die uit één teken of meer tekens bestaan ​​(letters, cijfers en enkele toegestane symbolen). Beide zullen ook een bepaalde waarde hebben. Waarden die door een variabele worden vastgehouden, kunnen door het hele programma heen worden gewijzigd en kunnen bij de meeste bewerkingen en berekeningen worden gebruikt. Constanten krijgen slechts één keer waarden en worden aan het begin van een programma geplaatst. Deze waarde wordt in het programma niet gewijzigd. U kunt bijvoorbeeld een constante met de naam PI toewijzen en deze de waarde 3.1415 geven. Je kunt het dan als PI in het programma gebruiken, in plaats van dat je elke keer dat je het nodig hebt 3.1415 moet schrijven.


22) Hoe krijg je toegang tot de waarden binnen een array?

Arrays bevatten een aantal elementen, afhankelijk van de grootte die u eraan hebt gegeven tijdens het declareren van variabelen. Elk element krijgt een nummer toegewezen van 0 tot aantal elementen-1. Om de waarde van een bepaald element toe te kennen of op te halen, raadpleegt u het elementnummer. Bijvoorbeeld: als je een declaratie hebt met de tekst “intscores[5];”, dan heb je 5 toegankelijke elementen, namelijk: scores[0], scores[1], scores[2], scores[3] en scores[4 ].


23) Kan ik het gegevenstype “int” gebruiken om de waarde 32768 op te slaan? Waarom?

Nee. Het gegevenstype “int” kan waarden opslaan van -32768 tot 32767. Om 32768 op te slaan, kunt u in plaats daarvan “long int” gebruiken. U kunt ook “unsigned int” gebruiken, ervan uitgaande dat u niet van plan bent negatieve waarden op te slaan.


24) Kunnen twee of meer operatoren zoals \n en \t gecombineerd worden in één regel programmacode?

Ja, het is volkomen geldig om operators te combineren, vooral als dat nodig is.
Bijvoorbeeld: u kunt een code hebben zoals printf (“Hello\n\n\’World\'”) om de tekst "Hallo" op de eerste regel uit te voeren en "Wereld" tussen enkele aanhalingstekens om op de volgende twee regels te verschijnen.

25) Waarom worden niet alle headerbestanden in elk C-programma gedeclareerd?

De keuze om een ​​headerbestand bovenaan elk C-programma te declareren, hangt af van de opdrachten/functies die u in dat programma gaat gebruiken. Omdat elk headerbestand verschillende functiedefinities en prototypes bevat, zou u alleen die headerbestanden gebruiken die de functies bevatten die u nodig heeft. Het declareren van alle headerbestanden in elk programma zou alleen maar de totale bestandsgrootte en belasting van het programma vergroten, en wordt niet als een goede programmeerstijl beschouwd.


26) Wanneer wordt het trefwoord ‘void’ in een functie gebruikt?

Bij het declareren van functies beslist u of die functie een waarde retourneert of niet. Als die functie geen waarde retourneert, bijvoorbeeld wanneer het doel van een functie is om bepaalde outputs op het scherm weer te geven, dan moet “void” helemaal links in de functiekop worden geplaatst. Wanneer een retourwaarde wordt verwacht na de uitvoering van de functie, wordt het gegevenstype van de retourwaarde geplaatst in plaats van “void”.


27) Wat zijn samengestelde uitspraken?

Samengestelde instructies bestaan ​​uit twee of meer programma-instructies die samen worden uitgevoerd. Dit gebeurt meestal bij het afhandelen van voorwaarden waarbij een reeks instructies wordt uitgevoerd wanneer TRUE of FALSE wordt geëvalueerd. Samengestelde instructies kunnen ook binnen een lus worden uitgevoerd. Accolades { } worden voor en na samengestelde instructies geplaatst.


28) Wat is de betekenis van een algoritme voor C-programmeren?

Voordat een programma kan worden geschreven, moet er eerst een algoritme worden gemaakt. Een algoritme biedt een stapsgewijze procedure voor het verkrijgen van een oplossing. Het fungeert ook als een blauwdruk voor hoe een programma zal beginnen en eindigen, inclusief welk proces en welke berekeningen daarbij betrokken zijn.


29) Wat is het voordeel van een array ten opzichte van individuele variabelen?

Wanneer u meerdere gerelateerde gegevens opslaat, is het een goed idee om arrays te gebruiken. Dit komt omdat arrays een naam krijgen met slechts 1 woord gevolgd door een elementnummer. Bijvoorbeeld: om de 10 testresultaten van 1 leerling op te slaan, kan men 10 verschillende variabelenamen gebruiken (graad1, graad2, graad3…graad10). Bij arrays wordt slechts 1 naam gebruikt, de rest is toegankelijk via de indexnaam (grade[0], grade[1], grade[2]…grade[9]).


30) Schrijf een lusinstructie die het volgende laat zienwing output:

1

12

123

1234

12345

Antwoord:

for (a=1; a<=5; i++) {

for (b=1; b<=a; b++)

printf("%d",b);

printf("\n");

}

Interviewvragen en antwoorden voor C-programmering voor ervaren

31) Wat klopt er niet aan deze uitspraak? scanf(“%d”,welk nummer);

Er moet een ampersand & symbool worden geplaatst vóór de variabelenaam whatnumber. Het plaatsen van & betekent dat welke gehele waarde dan ook door de gebruiker wordt ingevoerd, wordt opgeslagen op het "adres" van de variabelenaam. Dit is een veelgemaakte fout voor programmeurs, die vaak tot logische fouten leidt.


32) Hoe genereer je willekeurige getallen in C?

Willekeurige getallen worden gegenereerd in C met behulp van de rand() command. Bijvoorbeeld: anyNum = rand() genereert elk geheel getal dat begint bij 0, ervan uitgaande dat anyNum een ​​variabele van het type geheel getal is.


33) Wat zou het probleem kunnen zijn als een geldige functienaam zoals tolower() door de C-compiler als ongedefinieerd wordt gerapporteerd?

De meest waarschijnlijke reden achter deze fout is dat het headerbestand voor die functie niet bovenaan het programma werd aangegeven. Headerbestanden bevatten de definitie en het prototype voor functies en opdrachten die in een C-programma worden gebruikt. In het geval van “tolower()” wordt de code “#include ” moet aanwezig zijn aan het begin van het programma.


34) Wat zijn commentaren en hoe voeg je deze in een C-programma in?

Heb je vragen? Stel ze hier. zijn een geweldige manier om opmerkingen of beschrijvingen in een programma te plaatsen. Het kan dienen als herinnering aan waar het programma over gaat, of als beschrijving waarom een ​​bepaalde code of functie daar überhaupt is geplaatst. Opmerkingen beginnen met /* en eindigen met */ tekens. Opmerkingen kunnen uit één regel bestaan, maar kunnen zelfs uit meerdere regels bestaan. Het kan overal in het programma worden geplaatst.


35) Wat is foutopsporing?

Debuggen is het proces waarbij fouten in een programma worden geïdentificeerd. Tijdens het compileren van het programma zorgen fouten ervoor dat het programma niet volledig wordt uitgevoerd. In deze toestand zou de programmeur kijken naar de mogelijke gedeelten waar de fout optrad. Foutopsporing zorgt ervoor dat fouten worden verwijderd en speelt een belangrijke rol bij het garanderen dat aan de verwachte programma-uitvoer wordt voldaan.


36) Wat doet de operator && in een programmacode?

De && wordt ook wel AND-operator genoemd. Wanneer u deze operator gebruikt, moeten alle opgegeven voorwaarden TRUE zijn voordat de volgende actie kan worden uitgevoerd. Als u 10 voorwaarden heeft en op 1 na allemaal niet als WAAR wordt geëvalueerd, wordt de volledige voorwaarde-instructie al als ONWAAR geëvalueerd


37) Welk commando of welke code kan bij C-programmeren worden gebruikt om te bepalen of een aantal oneven of even is?

Er is geen enkel commando of functie in C die kan controleren of een getal even of oneven is. Dit kan echter worden bereikt door dat getal door 2 te delen en vervolgens de rest te controleren. Als de rest 0 is, dan is dat getal even, anders is het oneven. Je kunt het in code schrijven als:

if (num % 2 == 0)

printf("EVEN");

else

printf("ODD");

38) Wat betekent het formaat %10.2 als het is opgenomen in een printf-statement?

Dit formaat wordt voor twee dingen gebruikt: om het aantal toegewezen spaties voor het uitvoernummer in te stellen en om het aantal decimalen in te stellen. Het getal vóór de komma is voor de toegewezen ruimte. In dit geval worden er 10 spaties toegewezen voor het uitvoernummer. Als het aantal spaties dat door het uitvoernummer wordt ingenomen kleiner is dan 10, worden extra spaties ingevoegd vóór het daadwerkelijke uitvoernummer. Het getal achter de komma bepaalt het aantal decimalen. In dit geval zijn het 2 decimalen.


39) Wat zijn logische fouten en hoe verschillen deze van syntaxisfouten?

Programma's die logische fouten bevatten, hebben de neiging het compilatieproces te doorstaan, maar de resulterende uitvoer is mogelijk niet de verwachte uitvoer. Dit gebeurt wanneer een verkeerde formule in de code is ingevoegd of een verkeerde reeks opdrachten is uitgevoerd. Syntaxisfouten daarentegen hebben te maken met onjuiste opdrachten die verkeerd zijn gespeld of niet worden herkend door de compiler.


40) Wat zijn de verschillende soorten besturingsstructuren bij het programmeren?

Er zijn drie hoofdbesturingsstructuren bij het programmeren: Volgorde, Selectie en Herhaling. Sequentiële besturing volgt een stroom van boven naar beneden bij het uitvoeren van een programma, zodat eerst stap 3 wordt uitgevoerd, gevolgd door stap 1, helemaal tot de laatste stap wordt uitgevoerd. Selectie heeft betrekking op voorwaardelijke uitspraken, wat betekent dat codes worden uitgevoerd afhankelijk van de evaluatie van voorwaarden als WAAR of ONWAAR. Dit betekent ook dat niet alle codes kunnen worden uitgevoerd en dat er alternatieve stromen binnenin zijn. Herhalingen worden ook wel lusstructuren genoemd en herhalen een of twee programma-instructies die door een teller zijn ingesteld.


41) Wat is || operator en hoe functioneert deze in een programma?

De || is ook bekend als de OR-operator in C-programmering. Bij gebruik van || om logische voorwaarden te evalueren, zal elke voorwaarde die naar WAAR evalueert, de gehele voorwaarde-instructie als WAAR weergeven.


42) Kan de “if”-functie worden gebruikt bij het vergelijken van strings?

Nee. De opdracht “if” kan alleen worden gebruikt om numerieke waarden en waarden van één teken te vergelijken. Voor het vergelijken van tekenreekswaarden is er een andere functie genaamd strcmp die zich specifiek met tekenreeksen bezighoudt.


43) Wat zijn preprocessorrichtlijnen?

Preprocessor-richtlijnen worden aan het begin van elk C-programma geplaatst. Dit is waar bibliotheekbestanden worden gespecificeerd, wat afhankelijk is van welke functies in het programma moeten worden gebruikt. Een ander gebruik van preprocessor-richtlijnen is de declaratie van constanten. Preprocessor-richtlijnen beginnen met het #-symbool.


44) Wat zal de uitkomst zijn van de following voorwaardelijke verklaring als de waarde van variabele s 10 is?

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

De uitkomst zal WAAR zijn. Omdat de waarde van s 10 is, resulteert s >= 10 in WAAR omdat s niet groter is dan 10 maar nog steeds gelijk is aan 10. s< 25 is ook WAAR omdat 10 kleiner is dan 25. Precies hetzelfde: s!=12 , wat betekent dat s niet gelijk is aan 12, resulteert in WAAR. De && is de AND-operator en volgt de regel dat als alle individuele voorwaarden WAAR zijn, de gehele verklaring WAAR is.


45) Beschrijf de prioriteitsvolgorde met betrekking tot operatoren in C.

De prioriteitsvolgorde bepaalt welke bewerking als eerste moet plaatsvinden in een bewerkingsinstructie of voorwaardelijke instructie. Op het hoogste prioriteitsniveau bevinden zich de unaire operatoren !, +, – en &. Het wordt gevolgd door de reguliere wiskundige operatoren (*, / en modulus % eerst, gevolgd door + en -). De volgende in de rij zijn de relationele operatoren <, <=, >= en >. Dit wordt dan gevolgd door de twee gelijkheidsoperatoren == en !=. De logische operatoren && en || worden vervolgens geëvalueerd. Op het laatste niveau staat de toewijzingsoperator =.


46) Wat is er mis met deze verklaring? mijnNaam = “Robin”;

U kunt het =-teken niet gebruiken om waarden aan een stringvariabele toe te wijzen. Gebruik in plaats daarvan de strcpy-functie. De juiste verklaring zou zijn: strcpy(mijnnaam, “Robin”);


47) Hoe bepaal je de lengte van een stringwaarde die in een variabele is opgeslagen?

Om de lengte van een stringwaarde te bepalen, gebruik je de functie strlen(). Als u bijvoorbeeld een variabele met de naam FullName heeft, kunt u de lengte van de opgeslagen tekenreekswaarde achterhalen door deze instructie te gebruiken: I = strlen(FullName); de variabele I zal nu de tekenlengte van de tekenreekswaarde hebben.


48) Is het mogelijk om een ​​variabele te initialiseren op het moment dat deze werd gedeclareerd?

Ja, u hoeft geen aparte toewijzingsinstructie te schrijven na de variabelendeclaratie, tenzij u van plan bent deze later te wijzigen. Bijvoorbeeld: char planet[15] = “Aarde”; doet twee dingen: het declares een stringvariabele met de naam planet, en initialiseert deze vervolgens met de waarde “Earth”.


49) Waarom wordt C-taal beschouwd als een taal op middenniveau?

Dit komt omdat de C-taal rijk is aan functies waardoor het zich gedraagt ​​als een taal op hoog niveau, terwijl het tegelijkertijd met hardware kan communiceren met behulp van methoden op laag niveau. Het gebruik van een goed gestructureerde benadering van programmeren, gekoppeld aan Engelsachtige woorden die in functies worden gebruikt, zorgt ervoor dat het fungeert als een taal op hoog niveau. Aan de andere kant heeft C rechtstreeks toegang tot geheugenstructuren die lijken op assembleertaalroutines.


50) Wat zijn de verschillende bestandsextensies die betrokken zijn bij het programmeren in C?

Broncodes in C worden opgeslagen met de bestandsextensie .C. Headerbestanden of bibliotheekbestanden hebben de bestandsextensie .H. Telkens wanneer de broncode van een programma met succes is gecompileerd, wordt er een .OBJ-objectbestand en een uitvoerbaar .EXE-bestand gemaakt.


51) Wat zijn gereserveerde woorden?

Gereserveerde woorden zijn woorden die deel uitmaken van de standaard C-taalbibliotheek. Dit betekent dat gereserveerde woorden een speciale betekenis hebben en daarom niet voor andere doeleinden kunnen worden gebruikt dan waarvoor ze oorspronkelijk bedoeld zijn. Voorbeelden van gereserveerde woorden zijn int, void en return.


52) Wat zijn gekoppelde lijsten?

Een gekoppelde lijst bestaat uit knooppunten die met elkaar zijn verbonden. Bij C-programmeren worden gekoppelde lijsten gemaakt met behulp van pointers. Het gebruik van gekoppelde lijsten is een efficiënte manier om geheugen voor opslag te gebruiken.


53) Wat is FIFO?

Bij C-programmeren is er een datastructuur die bekend staat als wachtrij. In deze structuur worden gegevens opgeslagen en toegankelijk gemaakt in het FIFO-formaat, oftewel First-In-First-Out. Een wachtrij vertegenwoordigt een lijn waarin de eerste gegevens die zijn opgeslagen, ook de eerste zijn die toegankelijk zijn.


54) Wat zijn binaire bomen?

Binaire bomen zijn eigenlijk een uitbreiding van het concept van gekoppelde lijsten. Een binaire boom heeft twee wijzers, een linker en een rechter. Elke zijde kan verder vertakken om extra knooppunten te vormen, waarbij elk knooppunt ook twee aanwijzers heeft. Leer meer over Binaire boom in gegevensstructuur als je geïnteresseerd bent.


55) Niet alle gereserveerde woorden zijn in kleine letters geschreven. Waar of niet waar?

ONWAAR. Alle gereserveerde woorden moeten in kleine letters worden geschreven; anders zou de C-compiler dit als niet-geïdentificeerd en ongeldig interpreteren.


56) Wat is het verschil tussen de uitdrukking “++a” en “a++”?

In de eerste uitdrukking zou de verhoging eerst plaatsvinden op variabele a, en de resulterende waarde zal degene zijn die moet worden gebruikt. Dit wordt ook wel een voorvoegselverhoging genoemd. In de tweede uitdrukking zou de huidige waarde van variabele a degene zijn die in een bewerking moet worden gebruikt, voordat de waarde van a zelf wordt verhoogd. Dit wordt ook wel postfix-verhoging genoemd.


57) Wat zou er met X gebeuren in deze uitdrukking: X += 15; (ervan uitgaande dat de waarde van X 5 is)

X +=15 is een korte methode om X = X + 15 te schrijven, dus als de beginwaarde van X 5 is, dan is 5 + 15 = 20.


58) In de C-taal zijn de variabelen NAME, name en Name allemaal hetzelfde. Waar of niet waar?

ONWAAR. C-taal is een hoofdlettergevoelige taal. Daarom zijn NAME, naam en Naam drie uniek verschillende variabelen.


59) Wat is een eindeloze lus?

Een eindeloze lus kan twee dingen betekenen. Een daarvan is dat het is ontworpen om continu te herhalen totdat aan de voorwaarde binnen de lus is voldaan, waarna een break-functie ervoor zorgt dat het programma uit de lus stapt. Een ander idee van een eindeloze lus is wanneer een onjuiste lusvoorwaarde is geschreven, waardoor de lus fout looptneovoor altijd. Eindeloze lussen worden vaak oneindige lussen genoemd.


60) Wat is een programmastroomschema en hoe helpt het bij het schrijven van een programma?

Een stroomdiagram biedt een visuele weergave van de stapsgewijze procedure om een ​​bepaald probleem op te lossen. Stroomdiagrammen zijn gemaakt van symbolen, waarbij elk symbool de vorm heeft van verschillende vormen. Elke vorm kan een bepaalde entiteit vertegenwoordigen binnen de gehele programmastructuur, zoals een proces, een voorwaarde of zelfs een invoer-/uitvoerfase.


61) Wat is er mis met deze programmaverklaring? leegte = 10;

Het woord leegte is een gereserveerd woord in de C-taal. U kunt gereserveerde woorden niet gebruiken als een door de gebruiker gedefinieerde variabele.


62) Is deze programmaverklaring geldig? INT = 10.50;

Ervan uitgaande dat INT een variabele van het type float is, is deze verklaring geldig. Je zou kunnen denken dat INT een gereserveerd woord is en niet voor andere doeleinden mag worden gebruikt. Houd er echter rekening mee dat gereserveerde woorden in kleine letters worden uitgedrukt, zodat de C-compiler dit niet als een gereserveerd woord zal interpreteren.


63) Wat zijn feitelijke argumenten?

Wanneer u functies maakt en gebruikt die een actie op bepaalde gegeven waarden moeten uitvoeren, moet u deze gegeven waarden aan die functie doorgeven. De waarden die worden doorgegeven aan de aangeroepen functie worden feitelijke argumenten genoemd.


64) Wat is een ontsnappingsreeks voor nieuwe regels?

Een ontsnappingsreeks voor een nieuwe regel wordt weergegeven door het teken \n. Dit wordt gebruikt om een ​​nieuwe regel in te voegen bij het weergeven van gegevens in het uitvoerscherm. Er kunnen meer spaties worden toegevoegd door meer \n-tekens in te voegen. \n\n zou bijvoorbeeld twee spaties invoegen. Een ontsnappingsreeks voor nieuwe regels kan vóór of na de daadwerkelijke uitvoerexpressie worden geplaatst.


65) Wat is uitvoeromleiding?

Het is het proces waarbij gegevens worden overgedragen naar een andere uitvoerbron dan het beeldscherm. Door uitvoeromleiding kan de uitvoer van een programma in een bestand worden opgeslagen. Als u bijvoorbeeld een programma met de naam COMPUTE heeft en dit op de opdrachtregel typt als COMPUTE >DATA, kunt u invoer van de gebruiker accepteren, bepaalde berekeningen uitvoeren en de uitvoer vervolgens laten omleiden naar een bestand met de naam DATA, in plaats van showing het op het scherm.


66) Wat zijn runtimefouten?

Dit zijn fouten die optreden terwijl het programma wordt uitgevoerd. Een veel voorkomend voorbeeld waarbij runtimefouten kunnen optreden, is wanneer u een getal door nul probeert te delen. Wanneer runtimefouten optreden, wordt de programma-uitvoering gepauzeerd, showing welke programmaregel de fout veroorzaakte.


67) Wat is het verschil tussen de functies abs() en fabs()?

Deze 2 functies voeren in principe dezelfde actie uit, namelijk het verkrijgen van de absolute waarde van de gegeven waarde. Abs() wordt gebruikt voor gehele getallen, terwijl fabs() wordt gebruikt voor drijvende getallen. Ook is het prototype voor abs() onder , terwijl fabs() onder is .


68) Wat zijn formele parameters?

Bij het gebruik van functies in een C-programma bevatten formele parameters de waarden die zijn doorgegeven door de aanroepende functie. De waarden worden in deze formele parameters vervangen en gebruikt in alle bewerkingen zoals aangegeven in de hoofdtekst van de opgeroepen functie.


69) Wat zijn controlestructuren?

Controlestructuren nemen de leiding over welke instructies in een programma moeten worden uitgevoerd. Dit betekent dat de programmastroom niet noodzakelijkerwijs van de ene instructie naar de volgende gaat, maar dat er mogelijk alternatieve gedeelten moeten worden doorgegeven of omzeild, afhankelijk van de uitkomst van de voorwaardelijke instructies.


70) Schrijf een eenvoudig codefragment dat controleert of een getal positief of negatief is

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) Wanneer verdient een “switch”-verklaring de voorkeur boven een “if”-verklaring?

Het switch-instructie wordt het best gebruikt bij het omgaan met selecties op basis van een enkele variabele of expressie. Switch-instructies kunnen echter alleen gegevenstypen met gehele getallen en tekens evalueren.


72) Wat zijn globale variabelen en hoe declareer je ze?

Globale variabelen zijn variabelen die overal in het programma toegankelijk en gemanipuleerd kunnen worden. Om een ​​variabele globaal te maken, plaatst u de variabeledeclaratie in het bovenste gedeelte van het programma, net na het gedeelte met preprocessorrichtlijnen.


73) Wat zijn opgesomde typen?

Met opgesomde typen kan de programmeur betekenisvollere woorden gebruiken als waarden voor een variabele. Elk item in de opgesomde typevariabele is feitelijk gekoppeld aan een numerieke code. U kunt bijvoorbeeld een opgesomde typevariabele maken met de naam DAYS, waarvan de waarden maandag, dinsdag…zondag zijn.


74) Wat doet de functie toupper()?

Het wordt gebruikt om elke letter naar de hoofdlettermodus te converteren. Toupper()-functieprototype wordt gedeclareerd in . Houd er rekening mee dat deze functie slechts één teken converteert, en niet een hele tekenreeks.


75) Is het mogelijk om een ​​functie als parameter in een andere functie te hebben?

Ja, dat is toegestaan ​​in C-programmeren. U hoeft alleen maar het volledige functieprototype op te nemen in het parameterveld van de andere functie waar het moet worden gebruikt.


76) Wat zijn multidimensionale arrays?

Multidimensionale arrays kunnen gegevens opslaan in een twee- of meerdimensionale structuur. U kunt bijvoorbeeld een tweedimensionale array gebruiken om de huidige positie van stukken in een schaakspel op te slaan, of de positie van spelers in een boter-kaas-en-eierenprogramma.


77) Welke functie in C kan gebruikt worden om een ​​string aan een andere string toe te voegen?

De strcat-functie. Er zijn twee parameters nodig, de bronreeks en de tekenreekswaarde, die aan de bronreeks moeten worden toegevoegd.


78) Wat is het verschil tussen de functies getch() en getche()?

Beide functies accepteren een tekeninvoerwaarde van de gebruiker. Wanneer u getch() gebruikt, verschijnt de ingedrukte toets niet op het scherm, maar wordt deze automatisch vastgelegd en toegewezen aan een variabele. Bij gebruik van getche() verschijnt de toets die door de gebruiker is ingedrukt op het scherm, terwijl deze tegelijkertijd aan een variabele is toegewezen.


79) Voeren deze twee programma-instructies dezelfde uitvoer uit? 1) scanf(“%c”, &letter); 2) letter=getchar()

Ja, ze doen allebei precies hetzelfde, namelijk de volgende door de gebruiker ingedrukte toets accepteren en deze toewijzen aan een variabele met de naam letter.


80) Wat zijn structuurtypen in C?

Structuurtypen worden voornamelijk gebruikt om records op te slaan. Een record bestaat uit gerelateerde velden. Dit maakt het eenvoudiger om een ​​groep gerelateerde gegevens te ordenen.


81) Wat betekenen de tekens “r” en “w” bij het schrijven van programma’s die gebruik maken van bestanden?

“r” betekent “lezen” en opent een bestand als invoer waarin gegevens moeten worden opgehaald. “w” betekent “schrijven” en opent een bestand voor uitvoer. Eerdere gegevens die in dat bestand waren opgeslagen, worden gewist.


82) Wat is het verschil tussen tekstbestanden en binaire bestanden?

Tekstbestanden bevatten gegevens die gemakkelijk door mensen kunnen worden begrepen. Het bevat letters, cijfers en andere tekens. Aan de andere kant bevatten binaire bestanden 1's en 0's die alleen computers kunnen interpreteren.


83) Is het mogelijk om uw eigen headerbestanden te maken?

Ja, het is mogelijk om een ​​aangepast headerbestand te maken. Neem er gewoon de functieprototypes in op die u in uw programma wilt gebruiken, en gebruik de #include-richtlijn gevolgd door de naam van uw headerbestand.


84) Wat is een dynamische datastructuur?

Dynamische datastructuur biedt een manier om gegevens efficiënter in het geheugen op te slaan. Gebruiken dynamische geheugentoewijzing, zal uw programma indien nodig toegang krijgen tot geheugenruimten. Dit is in tegenstelling tot de statische datastructuur, waarbij de programmeur een vast aantal geheugenruimte moet aangeven dat in het programma moet worden gebruikt.


85) Wat zijn de verschillende gegevenstypen in C?

De basis gegevenstypen in C zijn int, char en float. Int wordt gebruikt om variabelen te declareren die gehele waarden opslaan. Float wordt gebruikt om reële getallen op te slaan. Char kan individuele karakterwaarden opslaan.


86) Wat is de algemene vorm van een C-programma?

Het AC-programma begint met de preprocessorrichtlijnen, waarin de programmeur specificeert welk headerbestand en welke constanten (indien aanwezig) moeten worden gebruikt. Dit wordt gevolgd door de kop van de hoofdfunctie. Binnen de hoofdfunctie liggen de variabelendeclaratie en programma-instructie.


87) Wat is het voordeel van een willekeurig toegankelijk bestand?

Als de hoeveelheid gegevens die in een bestand is opgeslagen vrij groot is, kunt u door het gebruik van willekeurige toegang het bestand sneller doorzoeken. Als het een bestand met sequentiële toegang was geweest, zou u record voor record moeten doorlopen totdat u de doelgegevens bereikt. Met een willekeurig toegankelijk bestand kunt u rechtstreeks naar het doeladres springen waar de gegevens zich bevinden.


88) Wat gebeurt er in een switch-instructie als een break-instructie wordt weggelaten?

Als er geen break-instructie aan het einde van een bepaald casusgedeelte is geplaatst? Het gaat verder naar het volgende casusgedeelte, wat mogelijk een onjuiste uitvoer veroorzaakt.


89) Beschrijf hoe arrays kunnen worden doorgegeven aan een door de gebruiker gedefinieerde functie

Eén ding om op te merken is dat je niet de hele array aan een functie kunt doorgeven. In plaats daarvan geeft u er een aanwijzer aan die naar het eerste array-element in het geheugen verwijst. Om dit te doen, geeft u de naam van de array aan zonder de haakjes.


90) Wat zijn aanwijzingen?

Wijzers wijzen naar specifieke gebieden in het geheugen. Pointers bevatten het adres van een variabele, die op zijn beurt een waarde of zelfs een adres naar een ander geheugen kan bevatten.


91) Kun je een hele structuur doorgeven aan functies?

Ja, het is mogelijk om een ​​volledige structuur door te geven aan een functie in een aanroep op methodestijl. Sommige programmeurs geven er echter de voorkeur aan om de structuur globaal te declareren en vervolgens een variabele van dat structuurtype door te geven aan een functie. Deze methode helpt de consistentie en uniformiteit in termen van argumenttype te behouden.


92) Wat is de functie get()?

Het gets() function maakt een volledige gegevensinvoer van de gebruiker mogelijk. Wanneer de gebruiker op de Enter-toets drukt om de invoer te beëindigen, wordt de volledige regel met tekens opgeslagen in een stringvariabele. Merk op dat de enter-toets niet in de variabele is opgenomen, maar dat in plaats daarvan een null-terminator \0 na het laatste teken wordt geplaatst.


93) Het %-symbool heeft een speciaal gebruik in een printf-instructie. Hoe zou je dit personage als onderdeel van de uitvoer op het scherm plaatsen?

U kunt dit doen door %% in de printf-instructie te gebruiken. U kunt bijvoorbeeld printf(“10%%”) schrijven om de uitvoer als 10% op het scherm te laten verschijnen.


94) Hoe zoek je gegevens in een gegevensbestand met behulp van de willekeurige toegangsmethode?

Gebruik de fseek() functie voor het uitvoeren van willekeurige toegang/invoer/uitvoer op een bestand. Nadat het bestand door de functie fopen() was geopend, had fseek drie parameters nodig om te werken: een bestandsaanwijzer naar het bestand, het aantal bytes dat moest worden doorzocht en het punt van oorsprong in het bestand.


95) Worden opmerkingen opgenomen tijdens de compilatiefase en ook in het EXE-bestand geplaatst?

Nee, opmerkingen die door de compiler zijn aangetroffen, worden genegeerd. Opmerkingen zijn meestal alleen bedoeld als leidraad voor de programmeur en hebben geen ander significant nut voor de programmafunctionaliteit.


96) Is er een ingebouwde functie in C die kan worden gebruikt voor het sorteren van gegevens?

Ja, gebruik de qsort() functie. Het is ook mogelijk om door de gebruiker gedefinieerde functies voor sorteren te maken, zoals functies die zijn gebaseerd op het algoritme voor het sorteren van ballonnen en bellen.


97) Wat zijn de voor- en nadelen van een hoop?

Het opslaan van gegevens op de heap gaat langzamer dan bij gebruik van de stapel. Het belangrijkste voordeel van het gebruik van de heap is echter de flexibiliteit. Dat komt omdat geheugen in deze structuur in een bepaalde volgorde kan worden toegewezen en verwijderd. Traagheid in de heap kan worden gecompenseerd als een algoritme goed is ontworpen en geïmplementeerd.


98) Hoe converteer je strings naar getallen in C?

U kunt uw eigen functies schrijven om string-naar-nummer-conversies uit te voeren, of in plaats daarvan de ingebouwde functies van C gebruiken. U kunt atof gebruiken om te converteren naar een drijvende-kommawaarde, atoi om te converteren naar een geheel getal, en atol om te converteren naar een lange gehele waarde.


99) Maak een eenvoudig codefragment dat de waarden van twee variabelen num1 en num2 verwisselt.

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) Wat is het nut van een puntkomma (;) aan het einde van elke programma-instructie?

Het heeft te maken met het parseerproces en het compileren van de code. Een puntkomma fungeert als scheidingsteken, zodat de compiler weet waar elke instructie eindigt, en kan doorgaan met het verdelen van de instructie in kleinere elementen voor syntaxiscontrole.

Deze interviewvragen zullen ook helpen bij je viva (oralen)