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.

C Intervju za programiranje, pitanja i odgovori


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

Saลพmite ovu objavu uz: