Top 100 pitanja i odgovora za intervju za C programiranje (PDF)
Ovdje su pitanja i odgovori na razgovoru za C programiranje za svjeลพije kao i iskusne kandidate da dobiju posao iz snova.
Pitanja i odgovori za intervju za osnovno C programiranje za brucoลกe
1) Kako konstruirate naredbu inkrementiranja ili dekrementiranja u C-u?
Zapravo postoje dva naฤina na koje to moลพete uฤiniti. Jedan je koriลกtenje operatora inkrementiranja ++ i operatora dekrementiranja โ. Na primjer, iskaz "x++" znaฤi poveฤanje vrijednosti x za 1. Isto tako, iskaz "x โ" znaฤi smanjenje vrijednosti x za 1. Drugi naฤin pisanja iskaza poveฤanja je koriลกtenje konvencionalnog znaka + plus ili โ znak minus. U sluฤaju "x++", drugi naฤin za pisanje je "x = x +1".
๐ Besplatno preuzimanje PDF-a: C Programming Interview Questions & Answers >>
2) Koja je razlika izmeฤu poziva prema vrijednosti i poziva prema referenci?
Kada koristite Call by Value, ลกaljete vrijednost varijable kao parametar funkciji, dok Call by Reference ลกalje adresu varijable. Takoฤer, pod pozivom prema vrijednosti, na vrijednost u parametru ne utjeฤe bilo koja operacija koja se odvija, dok u sluฤaju poziva prema referenci, na vrijednosti moลพe utjecati proces unutar funkcije.
3) Neki koderi otklanjaju pogreลกke u svojim programima stavljanjem simbola komentara na neke kodove umjesto da ih briลกu. Kako ovo pomaลพe u otklanjanju pogreลกaka?
Postavljanje simbola komentara /* */ oko koda, ลกto se takoฤer naziva i "komentiranje", naฤin je izoliranja nekih kodova za koje mislite da mogu uzrokovati pogreลกke u programu, bez brisanja koda. Ideja je da ako je kรดd doista ispravan, jednostavno uklonite simbole komentara i nastavite dalje. Takoฤer vam ลกtedi vrijeme i trud na ponovnom upisivanju kodova ako ste ga uopฤe izbrisali.
4) Koji je ekvivalentni kod sljedeฤe izjave u formatu WHILE LOOP?
for (a=1; a<=100; a++)
printf ("%d\n", a * a);
Odgovor:
a=1;
while (a<=100) {
printf ("%d\n", a * a);
a++;
}
5) ล to je hrpa?
Stog je jedan oblik strukture podataka. Podaci se pohranjuju u nizove pomoฤu pristupa FILO (First In Last Out). U bilo kojoj odreฤenoj instanci dostupan je samo vrh stoga, ลกto znaฤi da bi se podaci koji su pohranjeni unutar stoga mogli dohvatiti, prvo treba ekstrahirati one na gornjem dijelu. Pohranjivanje podataka u stog takoฤer se naziva PUSH, dok se dohvaฤanje podataka naziva POP.
6) ล to je datoteka sa sekvencijalnim pristupom?
Prilikom pisanja programa koji ฤe pohranjivati โโi dohvaฤati podatke u datoteku, moguฤe je odrediti tu datoteku u razliฤite oblike. Datoteka sa sekvencijalnim pristupom je takva da se podaci spremaju u sekvencijalnom redoslijedu: jedan podatak se stavlja u datoteku za drugim. Za pristup odreฤenom podatku unutar datoteke sekvencijalnog pristupa, podaci se moraju ฤitati jedan po jedan, dok se ne doฤe do pravog.
7) ล to je inicijalizacija varijable i zaลกto je vaลพna?
Ovo se odnosi na proces u kojem se varijabli dodjeljuje poฤetna vrijednost prije nego ลกto se koristi u programu. Bez inicijalizacije, varijabla bi imala nepoznatu vrijednost, ลกto moลพe dovesti do nepredvidivih rezultata kada se koristi u proraฤunima ili drugim operacijama.
8 ล to je ลกpageti programiranje?
ล pageti programiranje odnosi se na kodove koji imaju tendenciju da se zapetljaju i preklapaju kroz program. Ovaj nestrukturirani pristup kodiranju obiฤno se pripisuje nedostatku iskustva kod programera. ล pageti programiranje ฤini program sloลพenim i analizu kodova teลกkom, pa se mora izbjegavati ลกto je viลกe moguฤe.
9) Razlikujte izvorne kodove od objektnih kodova
Izvorni kodovi su kodovi koje je napisao programer. Sastoji se od naredbi i drugih kljuฤnih rijeฤi sliฤnih engleskom koje bi trebale raฤunalu dati upute ลกto treba uฤiniti. Meฤutim, raฤunala ne bi mogla razumjeti izvorne kodove. Stoga se izvorni kodovi sastavljaju pomoฤu prevoditelja. Rezultirajuฤi izlazi su objektni kodovi, koji su u formatu koji moลพe razumjeti raฤunalni procesor. U C programiranje, izvorni kodovi se spremaju s datoteฤnim nastavkom .C, dok se objektni kodovi spremaju s datoteฤnim nastavkom .OBJ
10) U C programiranju, kako umetnuti znakove navodnika (' i โ) u izlazni ekran?
Ovo je ฤest problem za poฤetnike jer su navodnici obiฤno dio naredbe printf. Da biste umetnuli znak navodnika kao dio izlaza, koristite specifikatore formata \' (za jednostruke navodnike) i \โ (za dvostruke navodnike).
11) ฤemu sluลพi znak '\0'?
Naziva se zavrลกnim nultim znakom i prvenstveno se koristi za prikaz kraja vrijednosti niza.
12) Koja je razlika izmeฤu simbola = i simbola ==?
Simbol = ฤesto se koristi u matematiฤkim operacijama. Koristi se za dodjeljivanje vrijednosti zadanoj varijabli. S druge strane, simbol ==, poznat i kao "jednako" ili "ekvivalentno", relacijski je operator koji se koristi za usporedbu dviju vrijednosti.
13) ล to je operator modula?
Operator modula ispisuje ostatak dijeljenja. Koristi simbol postotka (%). Na primjer: 10 % 3 = 1, ลกto znaฤi da kada podijelite 10 sa 3, ostatak je 1.
14) ล to je ugnijeลพฤena petlja?
Ugnijeลพฤena petlja je petlja koja se izvodi unutar druge petlje. Drugim rijeฤima, imate unutarnju petlju koja je unutar vanjske petlje. U ovom scenariju, unutarnja petlja se izvodi onoliko puta koliko je navedeno u vanjskoj petlji. Za svaki okret vanjske petlje, prvo se izvodi unutarnja petlja.
15) Koji od sljedeฤih operatora nije ispravan i zaลกto? (>=, <=, <>, ==)
<> je netoฤno. Dok se ovaj operator ispravno tumaฤi kao "nije jednako" u pisanju uvjetnih iskaza, to nije ispravan operator za upotrebu u C programiranje. Umjesto toga, operator != mora se koristiti za oznaฤavanje uvjeta "nije jednako".
16) Usporedite prevoditelje i prevoditelje.
Prevoditelji i tumaฤi ฤesto se bave naฤinom na koji se programski kodovi izvrลกavaju. Tumaฤi izvrลกavaju programske kodove redak po redak, dok prevoditelji uzimaju program kao cjelinu i pretvaraju ga u objektni kod, prije nego ลกto ga izvrลกe. Kljuฤna razlika ovdje je u tome ลกto u sluฤaju tumaฤa, program moลพe naiฤi na sintaktiฤke pogreลกke usred izvoฤenja i od tada ฤe stati. S druge strane, prevoditelji provjeravaju sintaksu cijelog programa i nastavljaju s izvoฤenjem samo ako se ne pronaฤu pogreลกke u sintaksi.
17) Kako deklarirati varijablu koja ฤe sadrลพavati vrijednosti niza?
Kljuฤna rijeฤ char moลพe istovremeno sadrลพavati samo 1 vrijednost znaka. Stvaranjem niza znakova, u njega moลพete pohraniti nizove vrijednosti. Primjer: โchar MyName[50]; โ deklarira string varijablu pod nazivom MyName koja moลพe sadrลพavati najviลกe 50 znakova.
18) Mogu li se vitiฤaste zagrade { } koristiti za zatvaranje jedne linije koda?
Iako se vitiฤaste zagrade uglavnom koriste za grupiranje nekoliko redaka kodova, i dalje ฤe raditi bez pogreลกke ako ste ih upotrijebili za jedan redak. Neki programeri preferiraju ovu metodu kao naฤin organiziranja kodova kako bi izgledali jasnije, posebno u uvjetnim izjavama.
19) ล to su datoteke zaglavlja i koja je njihova upotreba u C programiranju?
Datoteke zaglavlja takoฤer su poznate kao datoteke knjiลพnice. Sadrลพe dvije bitne stvari: definicije i prototipove funkcija koje se koriste u programu. Jednostavno reฤeno, naredbe koje koristite u C programiranju zapravo su funkcije koje su definirane unutar svake datoteke zaglavlja. Svaka datoteka zaglavlja sadrลพi skup funkcija. Na primjer: stdio.h je datoteka zaglavlja koja sadrลพi definiciju i prototipove naredbi kao ลกto su printf i scanf.
20) ล to je sintaktiฤka pogreลกka?
Sintaktiฤke pogreลกke povezane su s pogreลกkama u koriลกtenju programskog jezika. Moลพda je naredba pogreลกno napisana ili naredba koja je morala biti unesena malim slovima, ali je umjesto toga unesena velikim slovima. Pogreลกno postavljen simbol ili nedostatak simbola negdje unutar retka koda takoฤer moลพe dovesti do sintaktiฤke pogreลกke.
21) ล to su varijable i po ฤemu se razlikuju od konstanti?
Varijable i konstante mogu isprva izgledati sliฤno u smislu da su oboje identifikatori sastavljeni od jednog ili viลกe znakova (slova, brojeva i nekoliko dopuลกtenih simbola). Oba ฤe takoฤer imati odreฤenu vrijednost. Vrijednosti koje drลพi varijabla mogu se mijenjati kroz program i mogu se koristiti u veฤini operacija i izraฤuna. Konstante dobivaju vrijednosti samo u jednom trenutku, smjeลกtene na poฤetku programa. Ova vrijednost se ne mijenja u programu. Na primjer, moลพete dodijeliti konstantu pod nazivom PI i dati joj vrijednost 3.1415. Zatim ga moลพete koristiti kao PI u programu, umjesto da morate pisati 3.1415 svaki put kada vam zatreba.
22) Kako pristupate vrijednostima unutar polja?
Nizovi sadrลพe brojne elemente, ovisno o veliฤini koju ste im dali tijekom deklaracije varijable. Svakom elementu je dodijeljen broj od 0 do broja elemenata-1. Da biste dodijelili ili dohvatili vrijednost odreฤenog elementa, pogledajte broj elementa. Na primjer: ako imate deklaraciju koja kaลพe "intscores[5];", tada imate 5 dostupnih elemenata, naime: scores[0], scores[1], scores[2], scores[3] i scores[4 ].
23) Mogu li koristiti tip podataka "int" za pohranjivanje vrijednosti 32768? Zaลกto?
Ne. Vrsta podataka "int" moลพe pohraniti vrijednosti od -32768 do 32767. Za pohranu 32768 moลพete umjesto toga koristiti "long int". Takoฤer moลพete koristiti "unsigned int", pod pretpostavkom da ne namjeravate pohraniti negativne vrijednosti.
24) Mogu li se dva ili viลกe operatora kao ลกto su \n i \t kombinirati u jednoj liniji programskog koda?
Da, savrลกeno je opravdano kombinirati operatere, pogotovo ako se ukaลพe potreba.
Na primjer: moลพete imati kod poput printf (โHello\n\n\โWorld\'โ) da ispiลกe tekst โHelloโ u prvom retku i โWorldโ u jednostrukim navodnicima da se pojavi u sljedeฤa dva retka.
25) Zaลกto nisu sve datoteke zaglavlja deklarirane u svakom C programu?
Odabir deklariranja datoteke zaglavlja na vrhu svakog C programa ovisit ฤe o tome koje naredbe/funkcije ฤete koristiti u tom programu. Buduฤi da svaka datoteka zaglavlja sadrลพi razliฤite definicije funkcija i prototip, koristili biste samo one datoteke zaglavlja koje bi sadrลพavale funkcije koje su vam potrebne. Deklariranje svih datoteka zaglavlja u svakom programu samo bi poveฤalo ukupnu veliฤinu datoteke i optereฤenje programa i ne smatra se dobrim stilom programiranja.
26) Kada se kljuฤna rijeฤ "void" koristi u funkciji?
Prilikom deklariranja funkcija, odluฤit ฤete hoฤe li ta funkcija vraฤati vrijednost ili ne. Ako ta funkcija neฤe vratiti vrijednost, primjerice kada je svrha funkcije prikazati neke izlaze na zaslonu, tada se "void" treba postaviti na krajnji lijevi dio zaglavlja funkcije. Kada se nakon izvrลกenja funkcije oฤekuje povratna vrijednost, tip podataka povratne vrijednosti stavlja se umjesto "void".
27) ล to su sloลพeni iskazi?
Sloลพene izjave sastoje se od dvije ili viลกe programskih izjava koje se izvode zajedno. To se obiฤno dogaฤa tijekom rukovanja uvjetima u kojima se niz naredbi izvrลกava kada se procijeni TRUE ili FALSE. Sloลพeni iskazi takoฤer se mogu izvrลกiti unutar petlje. Vitiฤaste zagrade { } stavljaju se prije i iza sloลพenih naredbi.
28) Koje je znaฤenje algoritma za C programiranje?
Prije nego ลกto se program moลพe napisati, prvo se mora izraditi algoritam. Algoritam daje postupak korak po korak o tome kako se rjeลกenje moลพe izvesti. Takoฤer sluลพi kao nacrt kako ฤe program zapoฤeti i zavrลกiti, ukljuฤujuฤi koji su procesi i proraฤuni ukljuฤeni.
29) Koja je prednost niza u odnosu na pojedinaฤne varijable?
Kada pohranjujete viลกe povezanih podataka, dobra je ideja koristiti nizove. To je zato ลกto su nizovi imenovani pomoฤu samo jedne rijeฤi iza koje slijedi broj elementa. Na primjer: za pohranjivanje 1 rezultata testa 10 uฤenika, moลพe se koristiti 1 razliฤitih naziva varijabli (ocjena10, ocjena1, ocjena2โฆ ocjena3). Kod nizova se koristi samo 10 naziv, a ostalima se moลพe pristupiti preko naziva indeksa (ocjena[1], ocjena[0], ocjena[1]โฆ ocjena[2]).
30) Napiลกite naredbu petlje koja ฤe pokazati sljedeฤi izlaz:
1
12
123
1234
12345
Odgovor:
for (a=1; a<=5; i++) {
for (b=1; b<=a; b++)
printf("%d",b);
printf("\n");
}
C Pitanja i odgovori za intervju za programiranje za iskusne
31) ล to je pogreลกno u ovoj izjavi? scanf(โ%dโ,koji broj);
Znak & simbol mora se staviti ispred naziva varijable whatnumber. Postavljanje & znaฤi da je bilo koja cjelobrojna vrijednost koju korisnik unese pohranjena na "adresu" naziva varijable. Ovo je uobiฤajena pogreลกka programera, koja ฤesto dovodi do logiฤkih pogreลกaka.
32) Kako generirate sluฤajne brojeve u C-u?
Nasumiฤni brojevi generiraju se u C-u pomoฤu rand() command, Na primjer: anyNum = rand() ฤe generirati bilo koji cijeli broj poฤevลกi od 0, pod pretpostavkom da je anyNum varijabla tipa integer.
33) ล to bi mogao biti problem ako valjani naziv funkcije kao ลกto je tolower() C prevodilac prijavi kao nedefiniran?
Najvjerojatniji razlog iza ove pogreลกke je taj ลกto datoteka zaglavlja za tu funkciju nije navedena na vrhu programa. Datoteke zaglavlja sadrลพe definiciju i prototip za funkcije i naredbe koje se koriste u C programu. U sluฤaju "tolower()", kod "#include โ mora biti prisutan na poฤetku programa.
34) ล to su komentari i kako ih umetnuti u C program?
Komentari izvrstan su naฤin za stavljanje nekih napomena ili opisa u program. Moลพe posluลพiti kao podsjetnik o ฤemu se radi u programu ili kao opis zaลกto je odreฤeni kod ili funkcija tamo uopฤe postavljena. Komentari poฤinju znakovima /* i zavrลกavaju znakovima */. Komentari mogu biti u jednom retku ili se ฤak mogu protezati u nekoliko redaka. Moลพe se postaviti bilo gdje u programu.
35) ล to je otklanjanje pogreลกaka?
Debugging je proces identificiranja greลกaka unutar programa. Tijekom kompilacije programa, greลกke koje se pronaฤu zaustavit ฤe potpuno izvrลกavanje programa. U ovom stanju, programer bi pregledao moguฤe dijelove gdje se greลกka dogodila. Otklanjanje pogreลกaka osigurava uklanjanje pogreลกaka i igra vaลพnu ulogu u osiguravanju ispunjenja oฤekivanog rezultata programa.
36) ล to operator && radi u programskom kodu?
&& se takoฤer naziva i operator AND. Kada koristite ovaj operator, svi navedeni uvjeti moraju biti TRUE prije nego ลกto se moลพe izvrลกiti sljedeฤa radnja. Ako imate 10 uvjeta i svi osim 1 se ne uspije ocijeniti kao TRUE, cijela izjava uvjeta veฤ je ocijenjena kao FALSE
37) U C programiranju, koja se naredba ili kod mogu koristiti za odreฤivanje je li broj neparan ili paran?
Ne postoji jedinstvena naredba ili funkcija u C koji moลพe provjeriti je li broj neparan ili paran. Meฤutim, to se moลพe postiฤi dijeljenjem tog broja s 2, a zatim provjerom ostatka. Ako je ostatak 0, onda je taj broj paran, u protivnom je neparan. Moลพete ga napisati u kodu kao:
if (num % 2 == 0)
printf("EVEN");
else
printf("ODD");
38) ล to znaฤi format %10.2 kada je ukljuฤen u naredbu printf?
Ovaj se format koristi za dvije stvari: za postavljanje broja mjesta dodijeljenih za izlazni broj i za postavljanje broja decimalnih mjesta. Broj ispred decimalne toฤke je za dodijeljeni prostor, u ovom sluฤaju dodijelio bi 10 mjesta za izlazni broj. Ako je broj razmaka koji zauzima izlazni broj manji od 10, dodani razmaci bit ฤe umetnuti prije stvarnog izlaznog broja. Broj iza decimalne toฤke postavlja broj decimalnih mjesta, u ovom sluฤaju to su 2 decimalna mjesta.
39) ล to su logiฤke pogreลกke i po ฤemu se razlikuju od sintaktiฤkih pogreลกaka?
Program koji sadrลพi logiฤke pogreลกke obiฤno prolazi proces kompilacije, ali rezultat moลพda neฤe biti oฤekivani. To se dogaฤa kada je pogreลกna formula umetnuta u kod ili je izvrลกen pogreลกan niz naredbi. Sintaktiฤke pogreลกke, s druge strane, bave se netoฤnim naredbama koje su pogreลกno napisane ili ih kompajler ne prepoznaje.
40) Koje su razliฤite vrste kontrolnih struktura u programiranju?
Postoje 3 glavne kontrolne strukture u programiranju: redoslijed, odabir i ponavljanje. Sekvencijalna kontrola slijedi tijek od vrha do dna u izvrลกavanju programa, tako da se prvo izvodi korak 1, nakon ฤega slijedi korak 2, sve do posljednjeg koraka. Odabir se bavi uvjetnim izjavama, ลกto znaฤi da se kodovi izvrลกavaju ovisno o procjeni uvjeta kao TRUE ili FALSE. To takoฤer znaฤi da se svi kodovi ne mogu izvrลกiti i da unutar njih postoje alternativni tokovi. Ponavljanja su takoฤer poznata kao strukture petlje, a ponavljat ฤe jednu ili dvije programske izjave postavljene brojaฤem.
41) ล to je || operator i kako on funkcionira u programu?
The || je takoฤer poznat kao OR operator u C programiranju. Kada koristite || za procjenu logiฤkih uvjeta, bilo koji uvjet koji ima vrijednost TRUE prikazat ฤe cijelu izjavu uvjeta kao TRUE.
42) Moลพe li se funkcija โifโ koristiti u usporedbi nizova?
Ne. Naredba โifโ moลพe se koristiti samo za usporedbu numeriฤkih vrijednosti i vrijednosti jednog znaka. Za usporedbu string vrijednosti, postoji joลก jedna funkcija koja se zove strcmp koja se posebno bavi stringovima.
43) ล to su direktive pretprocesora?
Naredbe pretprocesora nalaze se na poฤetku svakog C programa. Ovdje se odreฤuju datoteke biblioteke, ลกto bi ovisilo o funkcijama koje ฤe se koristiti u programu. Joลก jedna upotreba direktiva pretprocesora je deklaracija konstanti. Direktive pretprocesora poฤinju simbolom #.
44) Kakav ฤe biti ishod sljedeฤe uvjetne naredbe ako je vrijednost varijable s 10?
s >=10 && s < 25 && s!=12
Ishod ฤe biti ISTINIT. Buduฤi da je vrijednost s 10, s >= 10 daje vrijednost TRUE jer s nije veฤe od 10, ali je joลก uvijek jednako 10. s< 25 je takoฤer TRUE jer je 10 manje od 25. Isto tako, s!=12 , ลกto znaฤi da s nije jednako 12, daje vrijednost TRUE. && je operator I i slijedi pravilo da ako su svi pojedinaฤni uvjeti TRUE, cijela izjava je TRUE.
45) Opiลกite redoslijed prvenstva s obzirom na operatore u C.
Redoslijed prvenstva odreฤuje koja se operacija mora prva dogoditi u naredbi operacije ili uvjetnoj naredbi. Na najviลกoj razini prednosti su unarni operatori !, +, โ i &. Nakon njega slijede uobiฤajeni matematiฤki operatori (prvo *, / i modul %, a zatim + i -). Sljedeฤi na redu su relacijski operatori <, <=, >= i >. Zatim slijede dva operatora jednakosti == i !=. Logiฤki operatori && i || sljedeฤi se ocjenjuju. Na posljednjoj razini je operator dodjele =.
46) ล to nije u redu s ovom izjavom? mojeIme = โRobinโ;
Ne moลพete koristiti znak = za dodjelu vrijednosti varijabli niza. Umjesto toga upotrijebite funkciju strcpy. Ispravna izjava bi bila: strcpy(myName, โRobinโ);
47) Kako odrediti duljinu vrijednosti niza koja je pohranjena u varijabli?
Da biste dobili duljinu vrijednosti niza, koristite funkciju strlen(). Na primjer, ako imate varijablu pod imenom FullName, moลพete dobiti duljinu pohranjene vrijednosti niza pomoฤu ove izjave: I = strlen(FullName); varijabla I sada ฤe imati duljinu znakova vrijednosti niza.
48) Je li moguฤe inicijalizirati varijablu u trenutku kada je deklarirana?
Da, ne morate pisati zasebnu izjavu o dodjeli nakon deklaracije varijable, osim ako je ne planirate kasnije promijeniti. Na primjer: char planet[15] = โZemljaโ; radi dvije stvari: deklarira string varijablu pod nazivom planet, zatim je inicijalizira s vrijednoลกฤu "Earth".
49) Zaลกto se jezik C smatra jezikom srednje razine?
To je zato ลกto je C jezik bogat znaฤajkama zbog kojih se ponaลกa kao jezik visoke razine, dok u isto vrijeme moลพe komunicirati s hardverom koristeฤi metode niske razine. Koriลกtenje dobro strukturiranog pristupa programiranju, zajedno s rijeฤima sliฤnim engleskom koje se koriste u funkcijama, ฤini ga jezikom visoke razine. S druge strane, C moลพe izravno pristupiti memorijskim strukturama sliฤno rutinama asemblerskog jezika.
50) Koje su razliฤite ekstenzije datoteka ukljuฤene pri programiranju u C-u?
Izvorni kodovi u C-u spremaju se s nastavkom datoteke .C. Datoteke zaglavlja ili datoteke biblioteke imaju datoteฤni nastavak .H. Svaki put kad se izvorni kod programa uspjeลกno kompajlira, stvara se .OBJ objektna datoteka i izvrลกna .EXE datoteka.
51) ล to su rezervirane rijeฤi?
Rezervirane rijeฤi su rijeฤi koje su dio standardne knjiลพnice jezika C. To znaฤi da rezervirane rijeฤi imaju posebno znaฤenje i stoga se ne mogu koristiti u druge svrhe osim one za koju su izvorno namijenjene. Primjeri rezerviranih rijeฤi su int, void i return.
52) ล to su povezani popisi?
Povezani popis sastoji se od ฤvorova koji su povezani s drugim. U C programiranju, povezane liste se stvaraju pomoฤu pokazivaฤa. Koriลกtenje povezanih popisa jedan je od uฤinkovitih naฤina koriลกtenja memorije za pohranu.
53) ล to je FIFO?
U C programiranju postoji struktura podataka poznata kao red. U ovoj strukturi podaci se pohranjuju i pristupaju im se pomoฤu FIFO formata ili First-In-First-Out. Red ฤekanja predstavlja liniju u kojoj ฤe prvi podaci koji su pohranjeni biti i prvi koji ฤe biti dostupni.
54) ล to su binarna stabla?
Binarna stabla zapravo su proลกirenje koncepta povezanih popisa. Binarno stablo ima dva pokazivaฤa, lijevi i desni. Svaka strana se moลพe dalje granati da formira dodatne ฤvorove, od kojih svaki ฤvor takoฤer ima dva pokazivaฤa. Nauฤi viลกe o Binarno stablo u strukturi podataka ako si zainteresiran.
55) Ne piลกu se sve rezervirane rijeฤi malim slovom. Istina ili laลพ?
NETOฤNO. Sve rezervirane rijeฤi moraju biti napisane malim slovima; inaฤe bi C prevodilac ovo protumaฤio kao neidentificirano i nevaljano.
56) Koja je razlika izmeฤu izraza โ++aโ i โa++โ?
U prvom izrazu, poveฤanje bi se prvo dogodilo na varijabli a, a rezultirajuฤa vrijednost ฤe biti ona koja ฤe se koristiti. Ovo je takoฤer poznato kao poveฤanje prefiksa. U drugom izrazu, trenutna vrijednost varijable a bi bila ona koja bi se koristila u operaciji, prije nego se vrijednost same a poveฤa. Ovo je takoฤer poznato kao postfiksni inkrement.
57) ล to bi se dogodilo s X u ovom izrazu: X += 15; (pod pretpostavkom da je vrijednost X 5)
X +=15 je kratka metoda pisanja X = X + 15, pa ako je poฤetna vrijednost X 5, tada je 5 + 15 = 20.
58) U jeziku C, varijable NAME, name i Name su sve iste. Istina ili laลพ?
NETOฤNO. C jezik je jezik koji razlikuje velika i mala slova. Stoga su IME, ime i ime tri jedinstveno razliฤite varijable.
59) ล to je beskrajna petlja?
Beskrajna petlja moลพe znaฤiti dvije stvari. Jedan je da je dizajniran za kontinuiranu petlju sve dok se ne ispuni uvjet unutar petlje, nakon ฤega bi funkcija prekida uzrokovala izlazak programa iz petlje. Joลก jedna ideja beskonaฤne petlje je kada je napisan neispravan uvjet petlje, uzrokujuฤi da se petlja neprestano izvodi pogreลกno. Beskonaฤne petlje se ฤesto nazivaju beskonaฤnim petljama.
60) ล to je dijagram toka programa i kako pomaลพe u pisanju programa?
Dijagram toka pruลพa vizualni prikaz postupka korak po korak prema rjeลกavanju zadanog problema. Dijagrami toka sastoje se od simbola, pri ฤemu je svaki simbol u obliku razliฤitih oblika. Svaki oblik moลพe predstavljati odreฤeni entitet unutar cijele programske strukture, kao ลกto je proces, stanje ili ฤak faza ulaza/izlaza.
61) ล to nije u redu s ovom programskom izjavom? praznina = 10;
Rijeฤ praznina je rezervirana rijeฤ u jeziku C. Ne moลพete koristiti rezervirane rijeฤi kao korisniฤki definiranu varijablu.
62) Je li ova programska izjava vaลพeฤa? INT = 10.50;
Pod pretpostavkom da je INT varijabla tipa float, ova izjava je vaลพeฤa. Netko moลพe pomisliti da je INT rezervirana rijeฤ i da se ne smije koristiti u druge svrhe. Meฤutim, zapamtite da su rezervirane rijeฤi izraลพene malim slovima, tako da C prevodilac ovo neฤe protumaฤiti kao rezerviranu rijeฤ.
63) ล to su stvarni argumenti?
Kada stvarate i koristite funkcije koje trebaju izvrลกiti radnju na nekim zadanim vrijednostima, trebate proslijediti te zadane vrijednosti toj funkciji. Vrijednosti koje se prosljeฤuju u pozvanu funkciju nazivaju se stvarnim argumentima.
64) ล to je izlazna sekvenca novog retka?
Sekvenca izlaza za novi redak predstavljena je znakom \n. Ovo se koristi za umetanje novog retka pri prikazu podataka na izlaznom zaslonu. Viลกe razmaka moลพe se dodati umetanjem viลกe \n znakova. Na primjer, \n\n umetnulo bi dva razmaka. Escape sekvenca novog retka moลพe se postaviti prije stvarnog izlaznog izraza ili iza njega.
65) ล to je preusmjeravanje izlaza?
To je proces prijenosa podataka na alternativni izvor izlaza koji nije zaslon. Preusmjeravanje izlaza omoguฤuje programu da svoj izlaz spremi u datoteku. Na primjer, ako imate program pod nazivom COMPUTE, upisivanje ovog u naredbeni redak kao COMPUTE >DATA moลพe prihvatiti unos od korisnika, izvrลกiti odreฤena izraฤunavanja, a zatim imati izlaz preusmjeren u datoteku pod nazivom DATA, umjesto da se prikaลพe na zaslonu .
66) ล to su pogreลกke u vremenu izvoฤenja?
To su greลกke koje se javljaju dok se program izvrลกava. Jedan uobiฤajeni sluฤaj u kojem se mogu dogoditi pogreลกke tijekom izvoฤenja je kada pokuลกavate podijeliti broj s nulom. Kada se pojave pogreลกke tijekom izvoฤenja, izvoฤenje programa ฤe se zaustaviti, pokazujuฤi koji je programski redak uzrokovao pogreลกku.
67) Koja je razlika izmeฤu funkcija abs() i fabs()?
Ove dvije funkcije u osnovi izvode istu radnju, a to je dobivanje apsolutne vrijednosti zadane vrijednosti. Abs() se koristi za cjelobrojne vrijednosti, dok se fabs() koristi za brojeve plutajuฤeg tipa. Takoฤer, prototip za abs() je ispod , dok je fabs() ispod .
68) ล to su formalni parametri?
U koriลกtenju funkcija u C programu, formalni parametri sadrลพe vrijednosti koje je proslijedila pozivna funkcija. Vrijednosti se zamjenjuju u ovim formalnim parametrima i koriste u svim operacijama koje su naznaฤene unutar glavnog tijela pozvane funkcije.
69) ล to su kontrolne strukture?
Kontrolne strukture preuzimaju odgovornost za izvrลกavanje instrukcija u programu. To znaฤi da tijek programa ne mora nuลพno prelaziti s jedne naredbe na sljedeฤu, veฤ ฤe moลพda trebati prijeฤi ili zaobiฤi neke alternativne dijelove, ovisno o ishodu uvjetnih naredbi.
70) Napiลกite jednostavan fragment koda koji ฤe provjeriti je li broj pozitivan ili negativan
If (num>=0)
printf("number is positive");
else
printf ("number is negative");
71) Kada je naredba "switch" bolja od naredbe "if"?
The izjava prebaciti najbolje se koristi kada se radi o odabirima temeljenim na jednoj varijabli ili izrazu. Meฤutim, naredbe switch mogu procijeniti samo cjelobrojne i znakovne tipove podataka.
72) ล to su globalne varijable i kako ih deklarirati?
Globalne varijable su varijable kojima se moลพe pristupiti i kojima se moลพe manipulirati bilo gdje u programu. Da biste varijablu uฤinili globalnom, postavite deklaraciju varijable na gornji dio programa, odmah nakon odjeljka s direktivama pretprocesora.
73) ล to su nabrojani tipovi?
Nabrojani tipovi omoguฤuju programeru da koristi smislenije rijeฤi kao vrijednosti varijable. Svaka stavka u varijabli nabrojanog tipa zapravo je povezana s numeriฤkim kodom. Na primjer, moลพe se stvoriti varijabla nabrojenog tipa pod nazivom DANI ฤije su vrijednosti Monday, utorakโฆ nedjelja.
74) ล to radi funkcija toupper()?
Koristi se za pretvaranje bilo kojeg slova u naฤin rada s velikim slovima. Prototip funkcije Toupper() je deklariran u . Imajte na umu da ฤe ova funkcija pretvoriti samo jedan znak, a ne cijeli niz.
75) Je li moguฤe imati funkciju kao parametar u drugoj funkciji?
Da, to je dopuลกteno u C programiranju. Samo trebate ukljuฤiti cijeli prototip funkcije u polje parametara druge funkcije gdje ฤe se koristiti.
76) ล to su viลกedimenzionalni nizovi?
Viลกedimenzionalni nizovi mogu pohranjivati โโpodatke u dvodimenzionalnoj ili viลกedimenzionalnoj strukturi. Na primjer, moลพete koristiti dvodimenzionalni niz za pohranjivanje trenutne pozicije figura u ลกahovskoj partiji ili pozicije igraฤa u tic-tac-toe programu.
77) Koja se funkcija u C-u moลพe koristiti za dodavanje niza drugom nizu?
Funkcija strcat. Potrebna su dva parametra, izvorni niz i vrijednost niza koji se dodaju izvornom nizu.
78) Koja je razlika izmeฤu funkcija getch() i getche()?
Obje funkcije prihvatit ฤe vrijednost unosa znakova od korisnika. Kada koristite getch(), tipka koja je pritisnuta neฤe se pojaviti na ekranu i automatski se hvata i dodjeljuje varijabli. Kada koristite getche(), tipka koju je korisnik pritisnuo pojavit ฤe se na ekranu, a istovremeno ฤe biti dodijeljena varijabli.
79) Izvode li ove dvije programske naredbe isti izlaz? 1) scanf(โ%cโ, &slovo); 2) slovo=getchar()
Da, oba rade potpuno istu stvar, a to je prihvaฤanje sljedeฤe tipke koju pritisne korisnik i dodjeljivanje je varijabli pod nazivom letter.
80) ล to su tipovi struktura u C-u?
Tipovi strukture prvenstveno se koriste za pohranu zapisa. Zapis se sastoji od povezanih polja. To olakลกava organiziranje grupe povezanih podataka.
81) ล to znaฤe znakovi โrโ i โwโ kada piลกete programe koji ฤe koristiti datoteke?
"r" znaฤi "ฤitaj" i otvorit ฤe datoteku kao ulaz u kojoj se podaci trebaju dohvatiti. "w" znaฤi "pisati" i otvorit ฤe datoteku za izlaz. Prethodni podaci koji su bili pohranjeni u toj datoteci bit ฤe izbrisani.
82) Koja je razlika izmeฤu tekstualnih i binarnih datoteka?
Tekstualne datoteke sadrลพe podatke koje ljudi lako mogu razumjeti. Sadrลพi slova, brojeve i druge znakove. S druge strane, binarne datoteke sadrลพe 1 i 0 koje samo raฤunala mogu protumaฤiti.
83) je li moguฤe stvoriti vlastite datoteke zaglavlja?
Da, moguฤe je izraditi prilagoฤenu datoteku zaglavlja. Samo ukljuฤite u njega prototipove funkcija koje ลพelite koristiti u svom programu i upotrijebite direktivu #include nakon koje slijedi naziv vaลกe datoteke zaglavlja.
84) ล to je dinamiฤka struktura podataka?
Dinamiฤka struktura podataka pruลพa naฤin za uฤinkovitije pohranjivanje podataka u memoriju. Koriลกtenje Koriลกtenje dinamiฤka dodjela memorije, vaลก ฤe program prema potrebi pristupiti memorijskim prostorima. Ovo je u suprotnosti sa statiฤkom strukturom podataka, gdje programer mora naznaฤiti fiksni broj memorijskog prostora koji ฤe se koristiti u programu.
85) Koji su razliฤiti tipovi podataka u C-u?
Osnovni tipovi podataka u C-u su int, char i float. Int se koristi za deklariranje varijabli koje ฤe pohranjivati โโcjelobrojne vrijednosti. Float se koristi za pohranu realnih brojeva. Char moลพe pohraniti pojedinaฤne vrijednosti znakova.
86) Koji je opฤi oblik C programa?
AC program poฤinje s direktivama pretprocesora, u kojima bi programer odredio koju ฤe datoteku zaglavlja i koje konstante (ako postoje) koristiti. Nakon toga slijedi naslov glavne funkcije. Unutar glavne funkcije nalazi se deklaracija varijable i programska naredba.
87) Koja je prednost datoteke s nasumiฤnim pristupom?
Ako je koliฤina podataka pohranjenih u datoteci priliฤno velika, koriลกtenje nasumiฤnog pristupa omoguฤit ฤe vam brลพe pretraลพivanje. Da je to bila datoteka sa sekvencijalnim pristupom, morali biste prolaziti kroz jedan po jedan zapis dok ne doฤete do ciljanih podataka. Datoteka s nasumiฤnim pristupom omoguฤuje vam izravni skok na ciljnu adresu na kojoj se nalaze podaci.
88) U switch naredbi, ลกto ฤe se dogoditi ako se break naredba izostavi?
Ako izjava o prekidu nije postavljena na kraju odreฤenog dijela sluฤaja? Prijeฤi ฤe na sljedeฤi dio sluฤaja, ลกto moลพe uzrokovati netoฤan izlaz.
89) Opiลกite kako se nizovi mogu proslijediti korisniฤki definiranoj funkciji
Jedna stvar koju treba napomenuti je da ne moลพete proslijediti cijelo polje funkciji. Umjesto toga, prosljeฤujete mu pokazivaฤ koji ฤe pokazivati โโna prvi element niza u memoriji. Da biste to uฤinili, oznaฤite naziv niza bez zagrada.
90) ล to su pokazivaฤi?
Pokazivaฤi pokazuju na odreฤena podruฤja u memoriji. Pokazivaฤi sadrลพe adresu varijable, koja pak moลพe sadrลพavati vrijednost ili ฤak adresu druge memorije.
91) Moลพete li proslijediti cijelu strukturu funkcijama?
Da, moguฤe je proslijediti cijelu strukturu funkciji u pozivu stilom metode. Meฤutim, neki programeri viลกe vole deklarirati strukturu globalno, a zatim proslijediti varijablu tog tipa strukture funkciji. Ova metoda pomaลพe u odrลพavanju dosljednosti i ujednaฤenosti u smislu tipa argumenta.
92) ล to je funkcija gets()?
The gets() function omoguฤuje unos podataka u punoj liniji od korisnika. Kada korisnik pritisne tipku enter za zavrลกetak unosa, cijeli redak znakova pohranjuje se u varijablu niza. Imajte na umu da tipka enter nije ukljuฤena u varijablu, veฤ se umjesto toga nulti zavrลกetak \0 postavlja iza posljednjeg znaka.
93) Simbol % ima posebnu upotrebu u naredbi printf. Kako biste postavili ovaj znak kao dio izlaza na ekranu?
To moลพete uฤiniti koriลกtenjem %% u printf izjavi. Na primjer, moลพete napisati printf(โ10%%โ) da bi se rezultat prikazao kao 10% na ekranu.
94) Kako pretraลพujete podatke u podatkovnoj datoteci koristeฤi metodu sluฤajnog pristupa?
Koristite fseek() funkcija za izvrลกavanje ulaza/izlaza sluฤajnim pristupom na datoteci. Nakon ลกto je datoteka otvorena funkcijom fopen(), fseek bi zahtijevao tri parametra za rad: pokazivaฤ datoteke na datoteku, broj bajtova za pretraลพivanje i izvornu toฤku u datoteci.
95) Jesu li komentari ukljuฤeni tijekom faze kompilacije i takoฤer smjeลกteni u EXE datoteku?
Ne, komentari na koje je naiลกao kompilator se zanemaruju. Komentari su uglavnom samo za smjernice programera i nemaju nikakvu drugu znaฤajnu upotrebu u funkcionalnosti programa.
96) Postoji li ugraฤena funkcija u C koja se moลพe koristiti za sortiranje podataka?
Da, koristite qsort() funkcija. Takoฤer je moguฤe kreirati korisniฤki definirane funkcije za sortiranje, kao ลกto su one koje se temelje na algoritmu sortiranja balonom i balonom.
97) Koje su prednosti i nedostaci gomile?
Pohranjivanje podataka na gomilu je sporije nego ลกto bi bilo potrebno kada se koristi stog. Meฤutim, glavna prednost koriลกtenja gomile je njezina fleksibilnost. To je zato ลกto se memorija u ovoj strukturi moลพe dodijeliti i ukloniti bilo kojim redoslijedom. Sporost u hrpi moลพe se kompenzirati ako je algoritam dobro dizajniran i implementiran.
98) Kako pretvarate nizove u brojeve u C-u?
Moลพete napisati vlastite funkcije za pretvaranje niza u broj ili umjesto toga koristiti funkcije ugraฤene u C. Moลพete koristiti atof za pretvaranje u vrijednost s pomiฤnim zarezom, atoi za pretvaranje u vrijednost cijelog broja i atol za pretvaranje u vrijednost dugog cijelog broja.
99) Napravite jednostavan fragment koda koji ฤe zamijeniti vrijednosti dviju varijabli num1 i num2.
int temp; temp = num1; num1 = num2; num2 = temp;
100) ฤemu sluลพi toฤka-zarez (;) na kraju svake programske naredbe?
Ima veze s procesom parsiranja i kompilacije koda. Toฤka-zarez djeluje kao graniฤnik, tako da prevodilac zna gdje svaka izjava zavrลกava i moลพe nastaviti s podjelom izjave na manje elemente za provjeru sintakse.
Ova pitanja za intervju takoฤer ฤe vam pomoฤi u vaลกem ลพivotu

