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