100 populaarseimat C-programmeerimise intervjuu küsimust ja vastust (PDF)

Siin on C Programmingu intervjuu küsimused ja vastused nii värskematele kui ka kogenumatele kandidaatidele oma unistuste töökoha saamiseks.

 

C-programmeerimise põhiintervjuu küsimused ja vastused esmakursuslastele

1) Kuidas konstrueerida C-s juurdekasvu- või kahanemislause?

Tegelikult saate seda teha kahel viisil. Üks on kasutada juurdekasvutehteid ++ ja kahandamistehteid –. Näiteks avaldus “x++” tähendab x väärtuse suurendamist 1 võrra. Samamoodi tähendab avaldus “x –” x väärtuse vähendamist 1 võrra. Teine viis juurdekasvulausete kirjutamiseks on kasutada tavapärast + plussmärki. või – miinusmärk. “x++” puhul on teine ​​viis selle kirjutamiseks “x = x +1”.

👉 Tasuta PDF-i allalaadimine: C-programmeerimisintervjuu küsimused ja vastused >>


2) Mis vahe on Call by Value ja Call by Reference vahel?

Kui kasutate Call by Value, saadate muutuja väärtuse parameetrina funktsioonile, samas kui Call by Reference saadab muutuja aadressi. Samuti ei mõjuta jaotises Call by Value parameetri väärtust mis tahes toimuv toiming, samas kui funktsiooni Call by Reference puhul võib väärtusi mõjutada funktsioonisisene protsess.

C Programmeerimisintervjuu küsimused ja vastused


3) Mõned kodeerijad siluvad oma programme, pannes mõnele koodile kustutamise asemel kommentaarisümboleid. Kuidas see aitab silumist?

Kommentaarisümbolite /* */ paigutamine koodi ümber, mida nimetatakse ka "väljakommenteerimiseks", on viis eraldada mõned koodid, mis teie arvates võivad programmis vigu põhjustada, ilma koodi kustutamata. Idee seisneb selles, et kui kood on tegelikult õige, eemaldate lihtsalt kommentaari sümbolid ja jätkate edasi. Samuti säästab see teie aega ja vaeva, kui peate koodid uuesti sisestama, kui olete selle esmalt kustutanud.


4) Mis on järgmise lause samaväärne kood vormingus WHILE LOOP?

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

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

Vastus:

a=1;

while (a<=100) {

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

a++;

}

5) Mis on virn?

Pinu on üks andmestruktuuri vorme. Andmeid salvestatakse pinudesse FILO (First In Last Out) meetodi abil. Igal konkreetsel juhul on ligipääs ainult pinu ülemisele osale, mis tähendab, et pinu sees olevate andmete kättesaamiseks tuleks ülemises osas olevad andmed välja otsida.tracesmalt ted. Andmete salvestamist pinu nimetatakse ka PUSH-iks, andmete hankimist aga POP-iks.


6) Mis on järjestikuse juurdepääsu fail?

Kui kirjutate programme, mis salvestavad ja toovad failis andmeid, on võimalik seda faili määrata erinevateks vormideks. Järjestikuse juurdepääsu fail on selline, et andmed salvestatakse järjestikuses järjekorras: faili sisestatakse ühed andmed teise järel. Järjestikuse juurdepääsu faili teatud andmetele juurdepääsuks tuleb andmeid lugeda ükshaaval, kuni jõutakse õigeteni.


7) Mis on muutuja initsialiseerimine ja miks see on oluline?

See viitab protsessile, kus muutujale määratakse algväärtus enne selle kasutamist programmis. Ilma lähtestamiseta oleks muutujal tundmatu väärtus, mis võib arvutustes või muudes toimingutes kasutamisel põhjustada ettearvamatuid väljundeid.


8 Mis on spagettide programmeerimine?

Spagettide programmeerimine viitab koodidele, mis kipuvad kogu programmi jooksul sassi minema ja kattuma. Selline struktureerimata lähenemine kodeerimisele on tavaliselt tingitud programmeerija kogemuste puudumisest. Spagettide programmeerimine muudab programmi keeruliseks ja koodide analüüsimise keeruliseks ning seetõttu tuleb seda nii palju kui võimalik vältida.


9) Erista allikat Codes objektist Codes

Lähtekoodid on koodid, mille on kirjutanud programmeerija. See koosneb käskudest ja muudest ingliskeelsetest märksõnadest, mis peaksid andma arvutile juhiseid, mida teha. Arvutid aga ei saaks lähtekoodidest aru. Seetõttu kompileeritakse lähtekoodid kompilaatori abil. Saadud väljundid on objektkoodid, mis on arvutiprotsessorile arusaadavas vormingus. sisse C programmeerimine, lähtekoodid salvestatakse faililaiendiga .C, objektikoodid aga faililaiendiga .OBJ


10) Kuidas sisestada C-programmeerimisel väljundekraanile jutumärke (' ja ")?

See on algajate jaoks tavaline probleem, sest jutumärgid on tavaliselt printf-lause osa. Jutumärgi sisestamiseks väljundi osana kasutage vorminguspetsifikaatoreid \' (üksjutumärgi jaoks) ja \” (topeltjutueerimiseks).


11) Mis kasu on tähemärgist '\0'?

Seda nimetatakse lõpetavaks nullmärgiks ja seda kasutatakse peamiselt stringi väärtuse lõpu näitamiseks.


12) Mis vahe on sümbolil = ja == sümbolil?

Sümbolit = kasutatakse sageli matemaatilistes operatsioonides. Seda kasutatakse antud muutujale väärtuse määramiseks. Teisest küljest on sümbol ==, tuntud ka kui "võrdne" või "võrdne", relatsioonioperaator, mida kasutatakse kahe väärtuse võrdlemiseks.


13) Mis on moodulite operaator?

Moodulioperaator väljastab jaotuse ülejäänud osa. See kasutab protsendi (%) sümbolit. Näiteks: 10% 3 = 1, mis tähendab, et kui jagate 10 3-ga, on jääk 1.


14) Mis on pesastatud silmus?

Pesastatud silmus on tsükkel, mis jookseb teises tsüklis. Teises mõttes on teil sisemine silmus, mis asub välimise ahela sees. Selle stsenaariumi korral sooritatakse sisemine tsükkel mitu korda, nagu on määranud välimine tsükkel. Iga välimise ahela sisselülitamise korral tehakse esmalt sisemine ahel.


15) Milline järgmistest operaatoritest on valed ja miks? (>=, <=, <>, ==)

<> on vale. Kuigi seda operaatorit tõlgendatakse tingimuslausete kirjutamisel õigesti kui "ei võrdne", ei ole see õige operaator, mida kasutada C programmeerimine. Selle asemel tuleb kasutada operaatorit !=, et näidata tingimust "ei ole võrdne".


16) Võrrelge ja vastandage tõlkide kompilaatoreid.

Kompilaatorid ja tõlgid tegelevad sageli programmikoodide täitmisega. Tõlgid täidavad programmikoode üks rida korraga, kompilaatorid aga võtavad programmi tervikuna ja teisendavad selle enne käivitamist objektkoodiks. Peamine erinevus seisneb selles, et interpretaatorite puhul võib programm esineda keset täitmist süntaksiviga ja sealt edasi peatub. Teisest küljest kontrollivad kompilaatorid kogu programmi süntaksit ja jätkavad käivitamist ainult siis, kui süntaksivigu ei leita.


17) Kuidas deklareerida muutujat, mis hoiab stringiväärtusi?

Märksõna char võib sisaldada korraga ainult 1 tähemärgi väärtust. Luues märkide massiivi, saate sellesse stringiväärtusi salvestada. Näide: “char MinuNimi[50]; ” deklareerib stringi muutuja nimega MyName, mis võib sisaldada maksimaalselt 50 tähemärki.


18) Kas lokkis sulgusid { } saab kasutada ühe koodirea sulgemiseks?

Kuigi lokkis sulgusid kasutatakse peamiselt mitme koodirea rühmitamiseks, töötab see siiski vigadeta, kui kasutasite seda ühe rea jaoks. Mõned programmeerijad eelistavad seda meetodit koodide korrastamiseks, et muuta see selgemaks, eriti tingimuslausetes.


19) Mis on päisefailid ja milleks neid kasutatakse C-programmeerimises?

Päisefaile tuntakse ka teegifailidena. Need sisaldavad kahte olulist asja: programmis kasutatavate funktsioonide määratlusi ja prototüüpe. Lihtsamalt öeldes on C-programmeerimises kasutatavad käsud tegelikult funktsioonid, mis on määratletud igas päisefailis. Iga päisefail sisaldab funktsioonide komplekti. Näiteks: stdio.h on päisefail, mis sisaldab selliste käskude definitsiooni ja prototüüpe nagu printf ja scanf.


20) Mis on süntaksiviga?

Süntaksivead on seotud vigadega programmeerimiskeele kasutamisel. See võib olla valesti kirjutatud käsk või käsk, mis peab olema sisestatud väiketähtedega režiimis, kuid sisestati selle asemel suurtähtedega. Valesti paigutatud sümbol või sümboli puudumine kusagil koodireas võib samuti põhjustada süntaksivea.


21) Mis on muutujad ja mille poolest see konstantidest erineb?

Muutujad ja konstandid võivad alguses tunduda sarnased selles mõttes, et mõlemad on identifikaatorid, mis koosnevad ühest või mitmest märgist (tähed, numbrid ja mõned lubatud sümbolid). Mõlemal on ka konkreetne väärtus. Muutuja väärtusi saab kogu programmi jooksul muuta ning neid saab kasutada enamikes operatsioonides ja arvutustes. Konstantidele antakse väärtused ainult ühel hetkel, asetades need programmi algusesse. Seda väärtust programmis ei muudeta. Näiteks saate määrata konstandi nimega PI ja anda sellele väärtuse 3.1415 . Seejärel saate seda programmis kasutada PI-na, selle asemel, et iga kord, kui seda vajate, kirjutada 3.1415.


22) Kuidas pääsete juurde massiivi väärtustele?

Massiivid sisaldavad mitmeid elemente, olenevalt suurusest, mille andsite muutuja deklareerimisel. Igale elemendile omistatakse number 0 kuni elementide arv-1. Konkreetse elemendi väärtuse määramiseks või hankimiseks vaadake elemendi numbrit. Näiteks: kui teil on deklaratsioon, mis ütleb "intscores[5];", siis on teil 5 juurdepääsetavat elementi, nimelt: hinded[0], hinded[1], hinded[2], hinded[3] ja hinded[4 ].


23) Kas ma saan väärtuse 32768 salvestamiseks kasutada andmetüüpi "int"? Miks?

Nr. Andmetüüp "int" suudab salvestada väärtusi vahemikus -32768 kuni 32767. 32768 salvestamiseks võite kasutada selle asemel "long int". Võite kasutada ka "unsigned int", eeldades, et te ei kavatse negatiivseid väärtusi salvestada.


24) Kas kahte või enamat operaatorit, nagu \n ja \t, saab ühendada ühele programmikoodireale?

Jah, operaatorite kombineerimine on täiesti kehtiv, eriti kui selleks vajadus tekib.
Näiteks: sul võib olla selline kood printf (“Hello\n\n\’World\'”) et väljastada esimesele reale tekst "Tere" ja kahele järgmisele reale jutumärkides "Maailm".

25) Miks ei ole igas C programmis deklareeritud kõiki päisefaile?

Päisefaili deklareerimise valik iga C-programmi ülaosas sõltub sellest, milliseid käske/funktsioone te selles programmis kasutate. Kuna iga päisefail sisaldab erinevaid funktsioonide määratlusi ja prototüüpe, kasutaksite ainult neid päisefaile, mis sisaldavad teile vajalikke funktsioone. Kõigi päisefailide deklareerimine igas programmis suurendaks ainult programmi üldist failimahtu ja koormust ning seda ei peeta heaks programmeerimisstiiliks.


26) Millal kasutatakse funktsioonis märksõna "tühine"?

Funktsioonide deklareerimisel otsustate, kas see funktsioon tagastab väärtuse või mitte. Kui see funktsioon väärtust ei tagasta, näiteks kui funktsiooni eesmärk on kuvada ekraanil mõningaid väljundeid, tuleb funktsiooni päise kõige vasakpoolsemasse ossa asetada "tühine". Kui pärast funktsiooni täitmist oodatakse tagastatavat väärtust, asetatakse tagastatava väärtuse andmetüüp "void" asemel.


27) Mis on liitväited?

Liitlaused koosnevad kahest või enamast programmilausest, mida täidetakse koos. See juhtub tavaliselt selliste tingimuste käsitlemisel, kus TRUE või FALSE hindamisel täidetakse rida avaldusi. Liitlauseid saab täita ka tsükli sees. Lokkis sulud { } asetatakse liitlause ette ja järele.


28) Mis tähtsus on algoritmil C programmeerimisel?

Enne programmi kirjutamist tuleb kõigepealt luua algoritm. Algoritm pakub samm-sammult protseduuri, kuidas lahendust tuletada. See toimib ka kavana selle kohta, kuidas programm algab ja lõpeb, sealhulgas protsessi ja arvutustega.


29) Mis on massiivi eelis üksikute muutujate ees?

Mitme seotud andmete salvestamisel on hea mõte kasutada massiive. Selle põhjuseks on asjaolu, et massiivide nimetamisel kasutatakse ainult ühte sõna, millele järgneb elemendi number. Näiteks: 1 õpilase 10 testitulemuse salvestamiseks võib kasutada 1 erinevat muutujanime (hinne10, hinne1, hinne2… hinne3). Massiivide puhul kasutatakse ainult ühte nime, ülejäänud on juurdepääsetavad indeksi nime kaudu (hinne[10], hinne[1], hinne[0]… hinne[1]).


30) Kirjutage silmuslause, mis näitab järgmist väljundit:

1

12

123

1234

12345

Vastus:

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

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

printf("%d",b);

printf("\n");

}

C Programmeerimisintervjuu küsimused ja vastused kogenud inimestele

31) Mis on selles väites valesti? scanf("%d",misnumber);

Ampersand & sümbol tuleb asetada muutuja nime whatnumber ette. Paigutamine & tähendab, et mis tahes täisarv, mille kasutaja sisestab, salvestatakse muutuja nime "aadressile". See on programmeerijate jaoks tavaline viga, mis põhjustab sageli loogikavigu.


32) Kuidas genereerida C-s juhuslikke numbreid?

Juhuslikud arvud genereeritakse C-s kasutades rand() command. Näiteks: anyNum = rand() genereerib mis tahes täisarvu, mis algab 0-st, eeldades, et anyNum on täisarvu tüüpi muutuja.


33) Mis võib olla probleem, kui C-kompilaator teatab kehtiva funktsiooni nime, näiteks tolower(), määratlemata?

Selle vea kõige tõenäolisem põhjus on see, et selle funktsiooni päisefaili ei näidatud programmi ülaosas. Päisefailid sisaldavad C-programmis kasutatavate funktsioonide ja käskude määratlust ja prototüüpi. „Tolower()“ puhul on kood „#include ” peab olema programmi alguses.


34) Mis on kommentaarid ja kuidas neid C-programmi lisada?

Kommentaarid on suurepärane viis mõne märkuse või kirjelduse lisamiseks programmi. See võib olla meeldetuletus selle kohta, mida programm endast kujutab, või kirjeldus selle kohta, miks teatud kood või funktsioon sinna üldse paigutati. Kommentaarid algavad /* ja lõpevad */ tähemärkidega. Kommentaarid võivad koosneda ühest reast või isegi mitmest reast. Selle saab programmis kõikjale paigutada.


35) Mis on silumine?

Silumine on programmis vigade tuvastamise protsess. Programmi koostamise ajal peatavad leitud vead programmi täieliku täitmise. Selles olekus uurib programmeerija võimalikke osi, kus viga ilmnes. Silumine tagab vigade eemaldamise ja mängib olulist rolli programmi oodatud väljundi täitmise tagamisel.


36) Mida teeb &&-operaator programmikoodis?

&&-i nimetatakse ka AND-operaatoriks. Selle operaatori kasutamisel peavad enne järgmise toimingu sooritamist kõik määratud tingimused olema TRUE. Kui teil on 10 tingimust ja kõiki peale 1 ei saa hinnata kui TRUE, hinnatakse kogu tingimuslauset juba väärtuseks VÄÄR


37) Millise käsu või koodi abil saab C-programmeerimises määrata, kas arv on paaritu või paaritu?

Pole olemas ühte käsku või funktsioon C-s mis saab kontrollida, kas arv on paaritu või paaritu. Kuid seda saab teha, jagades selle arvu 2-ga ja kontrollides seejärel ülejäänud osa. Kui jääk on 0, on see arv paaris, vastasel juhul on see paaritu. Saate selle koodi kirjutada järgmiselt:

if (num % 2 == 0)

printf("EVEN");

else

printf("ODD");

38) Mida tähendab vorming %10.2, kui see sisaldub printf-lauses?

Seda vormingut kasutatakse kahel eesmärgil: väljundnumbri jaoks eraldatud tühikute arvu ja kümnendkohtade arvu määramiseks. Arv enne koma on eraldatud tühiku jaoks, sel juhul eraldaks see väljundnumbri jaoks 10 tühikut. Kui väljundnumbri poolt hõivatud ruumi arv on väiksem kui 10, lisatakse tegeliku väljundi numbri ette tühikuid. Arv pärast koma määrab kümnendkohtade arvu, antud juhul on see 2 koma.


39) Mis on loogikavead ja kuidas see erineb süntaksivigadest?

Loogikavigu sisaldav programm kipub kompileerimisprotsessi läbima, kuid tulemuseks olev väljund ei pruugi olla oodatud. See juhtub siis, kui koodi sisestati vale valem või sooritati vale käskude jada. Süntaksivead aga käsitlevad valesid käske, mis on valesti kirjutatud või mida kompilaator ei tunne.


40) Millised on programmeerimise erinevat tüüpi juhtimisstruktuurid?

Programmeerimisel on 3 peamist juhtimisstruktuuri: järjestus, valik ja kordamine. Järjestikune juhtimine järgib programmi täitmisel ülalt alla voogu, nii et kõigepealt sooritatakse samm 1, millele järgneb samm 2, kuni viimase sammuni. Valik käsitleb tingimuslauseid, mis tähendab, et koodid käivitatakse sõltuvalt tingimuste hindamisest kas TRUE või FALSE. See tähendab ka seda, et kõiki koode ei pruugita käivitada ja sees on alternatiivsed vood. Kordusi nimetatakse ka tsüklistruktuurideks ja need kordavad üht või kahte loenduri määratud programmilauset.


41) Mis on || operaator ja kuidas see programmis toimib?

|| on C-programmeerimises tuntud ka kui operaator VÕI. Kui kasutate || loogiliste tingimuste hindamiseks muudab iga tingimus, mis annab väärtuseks TÕENE, kogu tingimuslause TÕENE.


42) Kas funktsiooni "if" saab kasutada stringide võrdlemisel?

Ei. “if” käsku saab kasutada ainult arvväärtuste ja ühe märgi väärtuste võrdlemiseks. Stringi väärtuste võrdlemiseks on veel üks funktsioon strcmp, mis tegeleb spetsiaalselt stringidega.


43) Mis on eeltöötlusjuhised?

Eelprotsessori direktiivid asetatakse iga C-programmi algusesse. Siin määratakse teegi failid, mis sõltuvad sellest, milliseid funktsioone programmis kasutada. Teine eeltöötlejate käskude kasutusala on konstantide deklareerimine. Eelprotsessori direktiivid algavad sümboliga #.


44) Mis on järgmise tingimuslause tulemus, kui muutuja s väärtus on 10?

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

Tulemus on TÕE. Kuna s väärtus on 10, on s >= 10 väärtuseks TÕENE, sest s ei ole suurem kui 10, kuid on siiski võrdne 10-ga. s


45) Kirjeldage C-i operaatorite paremusjärjestust.

Paremusjärjestus määrab, milline toiming peab esmalt toimuma toimingulauses või tingimuslauses. Kõige kõrgemal tähtsuse astmel on unaarsed operaatorid !, +, – ja &. Sellele järgnevad tavalised matemaatilised operaatorid (esmalt *, / ja moodul %, seejärel + ja -). Järgmisena on relatsioonioperaatorid <, <=, >= ja >. Sellele järgnevad kaks võrdusoperaatorit == ja !=. Loogilised operaatorid && ja || hinnatakse järgmisena. Viimasel tasemel on määramise operaator =.


46) Mis selles väites valesti on? minuNimi = "Robin";

Märgi = ei saa kasutada stringimuutujale väärtuste määramiseks. Selle asemel kasutage funktsiooni strcpy. Õige väide oleks: strcpy(minunimi, "Robin");


47) Kuidas määrata muutujasse salvestatud stringiväärtuse pikkust?

Stringi väärtuse pikkuse saamiseks kasutage funktsiooni strlen(). Näiteks kui teil on muutuja nimega FullName, saate salvestatud stringi väärtuse pikkuse saamiseks kasutada järgmist lauset: I = strlen(FullName); muutujal I on nüüd stringi väärtuse tähemärgi pikkus.


48) Kas muutujat on võimalik lähtestada selle deklareerimise ajal?

Jah, muutuja deklaratsiooni järel ei pea te eraldi määramislauset kirjutama, kui te ei kavatse seda hiljem muuta. Näiteks: char planet[15] = "Maa"; teeb kahte asja: see deklareerib stringmuutuja nimega planeet, seejärel initsialiseerib selle väärtusega "Maa".


49) Miks peetakse C-keelt kesktaseme keeleks?

Selle põhjuseks on asjaolu, et C-keel on rikas funktsioonide poolest, mis panevad selle käituma nagu kõrgetasemeline keel, kuid samal ajal saab riistvaraga suhelda madala taseme meetodeid kasutades. Hästi struktureeritud lähenemisviisi kasutamine programmeerimisel koos funktsioonides kasutatavate ingliskeelsete sõnadega muudab selle toimima kõrgetasemelise keelena. Teisest küljest pääseb C otse juurde mälustruktuuridele, mis sarnanevad montaažikeele rutiinidega.


50) Milliseid faililaiendeid kasutatakse C-vormingus programmeerimisel?

C-i lähtekoodid salvestatakse .C-faililaiendiga. Päisefailidel või teegifailidel on .H-faililaiend. Iga kord, kui programmi lähtekood on edukalt kompileeritud, loob see OBJ-objektifaili ja käivitatava .EXE-faili.


51) Mis on reserveeritud sõnad?

Reserveeritud sõnad on sõnad, mis on osa standardse C-keele raamatukogust. See tähendab, et reserveeritud sõnadel on eriline tähendus ja seetõttu ei saa neid kasutada muul otstarbel kui see, milleks need algselt mõeldud on. Reserveeritud sõnade näited on int, void ja return.


52) Mis on lingitud loend?

Lingitud loend koosneb sõlmedest, mis on ühendatud teisega. C-programmeerimises luuakse lingitud loendid osutite abil. Lingitud loendite kasutamine on üks tõhus viis mälu kasutamiseks.


53) Mis on FIFO?

C-programmeerimises on andmestruktuur, mida nimetatakse järjekorraks. Selles struktuuris salvestatakse andmeid ja neile pääseb juurde FIFO-vormingus ehk First-In-First-Out. Järjekord kujutab endast rida, kus esimesed salvestatud andmed on samuti esimesed, millele on juurdepääs.


54) Mis on kahendpuud?

Binaarsed puud on tegelikult lingitud loendite kontseptsiooni laiendus. Binaarsel puul on kaks osutit, vasak ja parem. Iga külg võib edasi hargneda, moodustades täiendavaid sõlme, millel on ka kaks osutit. Lisateavet Binaarne puu andmestruktuuris kui olete huvitatud.


55) Kõiki reserveeritud sõnu ei kirjutata väiketähtedega. TÕE või VALE?

VALE. Kõik reserveeritud sõnad tuleb kirjutada väiketähtedega; vastasel juhul tõlgendaks C-kompilaator seda tuvastamatuna ja kehtetuna.


56) Mille poolest erinevad väljendid “++a” ja “a++”?

Esimeses avaldises toimub juurdekasv kõigepealt muutujal a ja sellest tulenev väärtus on see, mida kasutatakse. Seda tuntakse ka kui prefiksi juurdekasvu. Teises avaldises kasutatakse toimingus muutuja a praegust väärtust, enne kui a enda väärtust suurendatakse. Seda tuntakse ka kui postfixi juurdekasvu.


57) Mis juhtuks X-ga selles avaldises: X += 15; (eeldades, et X väärtus on 5)

X +=15 on lühike meetod X = X + 15 kirjutamiseks, nii et kui X algväärtus on 5, siis 5 + 15 = 20.


58) C-keeles on muutujad NAME, name ja Name kõik ühesugused. TÕE või VALE?

VALE. C-keel on tõstutundlik keel. Seetõttu on NAME, nimi ja nimi kolm unikaalselt erinevat muutujat.


59) Mis on lõputu silmus?

Lõputu silmus võib tähendada kahte asja. Üks on see, et see oli mõeldud pidevaks tsükliks, kuni tsükli sees olev tingimus on täidetud, pärast mida katkestusfunktsioon põhjustab programmi tsüklist väljumise. Teine lõputu tsükli idee on see, kui kirjutati vale silmuse tingimus, mis põhjustab tsükli eksliku töötamise igavesti. Lõputuid silmuseid nimetatakse sageli lõpmatuteks silmusteks.


60) Mis on programmi vooskeem ja kuidas see aitab programmi kirjutamisel?

Vooskeem kujutab visuaalselt etteantud probleemi lahendamise samm-sammulist protseduuri. Vooskeemid on valmistatud sümbolitest, kusjuures iga sümbol on erineva kujuga. Iga kujund võib esindada konkreetset olemit kogu programmistruktuuris, näiteks protsessi, tingimust või isegi sisend-/väljundfaasi.


61) Mis selles programmi avalduses valesti on? tühi = 10;

Sõna tühi on C-keeles reserveeritud sõna. Reserveeritud sõnu ei saa kasutada kasutaja määratud muutujana.


62) Kas see programmi avaldus kehtib? INT = 10.50;

Eeldades, et INT on float tüüpi muutuja, on see väide kehtiv. Võib arvata, et INT on reserveeritud sõna ja seda ei tohi kasutada muudel eesmärkidel. Kuid pidage meeles, et reserveeritud sõnad on väljendatud väiketähtedega, nii et C-kompilaator ei tõlgenda seda reserveeritud sõnana.


63) Mis on tegelikud argumendid?

Kui loote ja kasutate funktsioone, mis peavad teatud väärtustega toimingu sooritama, peate need antud väärtused sellele funktsioonile edastama. Väärtusi, mida kutsutud funktsiooni edastatakse, nimetatakse tegelikeks argumentideks.


64) Mis on reavahetusjada?

Reavahetust tähistab märk \n. Seda kasutatakse väljundekraanil andmete kuvamisel uue rea lisamiseks. Rohkem tühikuid saab lisada, sisestades rohkem \n tähemärki. Näiteks \n\n lisab kaks tühikut. Reavahetuse paojärjestuse saab paigutada tegeliku väljundavaldise ette või järele.


65) Mis on väljundi ümbersuunamine?

See on andmete edastamise protsess alternatiivsele väljundallikale peale kuvariekraani. Väljundi ümbersuunamine võimaldab programmil oma väljundi faili salvestada. Näiteks kui teil on programm nimega COMPUTE, siis...ping seda käsurealt kujul COMPUTE >DATA saab vastu võtta kasutaja sisendit, teha teatud arvutusi ja seejärel suunata väljundi faili nimega DATA, selle asemel, et seda ekraanil kuvada.


66) Mis on käitusaegsed vead?

Need on vead, mis ilmnevad programmi täitmise ajal. Üks levinud juhtum, kus käitusaegsed vead võivad juhtuda, on siis, kui proovite numbrit nulliga jagada. Käitusaja tõrgete ilmnemisel programmi täitmine peatub, näidates, milline programmirida tõrke põhjustas.


67) Mis vahe on funktsioonidel abs() ja fabs()?

Need 2 funktsiooni täidavad põhimõtteliselt sama toimingut, milleks on antud väärtuse absoluutväärtuse saamine. Abs() kasutatakse täisarvude väärtuste jaoks, fabs() aga ujuvat tüüpi numbrite jaoks. Samuti on all abs() prototüüp , samas kui fabs() on all .


68) Mis on formaalsed parameetrid?

Funktsioonide kasutamisel C-programmis sisaldavad formaalsed parameetrid väärtusi, mille kutsuv funktsioon edastas. Väärtused asendatakse nendes formaalsetes parameetrites ja neid kasutatakse mis tahes operatsioonides, nagu on näidatud kutsutava funktsiooni põhiosas.


69) Mis on kontrollistruktuurid?

Juhtstruktuurid vastutavad selle eest, millised juhised programmis täidetakse. See tähendab, et programmivoog ei pruugi tingimata liikuda ühest lausest teise, vaid sõltuvalt tingimuslausete tulemusest võib olla vaja mõnda alternatiivset osa sisestada või neist mööda minna.


70) Kirjutage lihtne koodilõik, mis kontrollib, kas arv on positiivne või negatiivne

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) Millal on „lüliti” avaldus „if”-lausele eelistatavam?

. lüliti avaldus on kõige parem kasutada ühel muutujal või avaldisel põhinevate valikute käsitlemisel. Lülituslaused saavad aga hinnata ainult täisarvude ja tähemärkide andmetüüpe.


72) Mis on globaalsed muutujad ja kuidas neid deklareerida?

Globaalsed muutujad on muutujad, millele pääseb juurde ja mida saab manipuleerida kõikjal programmis. Muutuja globaalseks muutmiseks asetage muutuja deklaratsioon programmi ülemisse ossa, vahetult eeltöötluse direktiivide jaotise järele.


73) Mis on loetletud tüübid?

Loetletud tüübid võimaldavad programmeerijal kasutada muutuja väärtustena tähendusrikkamaid sõnu. Iga loetletud tüüpi muutuja üksus on tegelikult seotud numbrikoodiga. Näiteks saab luua loendatud tüüpi muutuja nimega DAYS, mille väärtused on Monday, teisipäeval… pühapäeval.


74) Mida teeb funktsioon toupper()?

Seda kasutatakse mis tahes tähe teisendamiseks suurtähtede režiimi. Funktsiooni Toupper() prototüüp on deklareeritud . Pange tähele, et see funktsioon teisendab ainult ühe märgi, mitte tervet stringi.


75) Kas funktsiooni saab parameetrina kasutada mõnes teises funktsioonis?

Jah, see on C-programmeerimises lubatud. Peate lihtsalt lisama kogu funktsiooni prototüübi teise funktsiooni parameetriväljale, kus seda kasutada.


76) Mis on mitmemõõtmelised massiivid?

Mitmemõõtmelised massiivid on võimelised salvestama andmeid kahe- või enamamõõtmelises struktuuris. Näiteks võite kasutada 2-dimensioonilist massiivi, et salvestada nuppude praegune asukoht malemängus või mängijate positsioon tic-tac-toe programmis.


77) Millist funktsiooni C-s saab kasutada stringi lisamiseks teisele stringile?

Funktsioon strcat. Lähtestringile lisamiseks on vaja kahte parameetrit, lähtestringi ja stringi väärtust.


78) Mis vahe on funktsioonidel getch() ja getche()?

Mõlemad funktsioonid aktsepteerivad kasutajalt sisestatud tähemärgi väärtust. Funktsiooni getch() kasutamisel ei kuvata vajutatud klahvi ekraanil ning see salvestatakse automaatselt ja määratakse muutujale. Getche() kasutamisel kuvatakse ekraanile kasutaja vajutatud klahv, mis on samal ajal määratud muutujale.


79) Kas need kaks programmilauset täidavad sama väljundit? 1) scanf(“%c”, &täht); 2) letter=getchar()

Jah, nad mõlemad teevad täpselt sama asja, st aktsepteerivad kasutaja järgmise klahvivajutust ja määravad selle muutujale nimega täht.


80) Mis on C struktuuritüübid?

Struktuuritüüpe kasutatakse peamiselt kirjete salvestamiseks. Kirje koosneb seotud väljadest. See muudab seotud andmete rühma korraldamise lihtsamaks.


81) Mida tähendavad märgid “r” ja “w” faile kasutavate programmide kirjutamisel?

"r" tähendab "lugeda" ja avab sisendiks faili, kust andmeid tuleb hankida. "w" tähendab "kirjutamist" ja avab väljastamiseks faili. Sellesse faili varem salvestatud andmed kustutatakse.


82) Mis vahe on tekstifailidel ja binaarfailidel?

Tekstifailid sisaldavad andmeid, mida inimesed saavad hõlpsasti mõista. See sisaldab tähti, numbreid ja muid märke. Teisest küljest sisaldavad binaarfailid 1-sid ja 0-sid, mida saavad tõlgendada ainult arvutid.


83) kas on võimalik luua oma päisefaile?

Jah, kohandatud päisefaili on võimalik luua. Lihtsalt lisage sellesse funktsioonide prototüübid, mida soovite oma programmis kasutada, ja kasutage käsku #include, millele järgneb päisefaili nimi.


84) Mis on dünaamiline andmestruktuur?

Dünaamiline andmestruktuur pakub vahendit andmete tõhusamaks salvestamiseks mällu. Kasutamine Kasutamine dünaamiline mälu eraldamine, pääseb teie programm vajaduse korral juurde mäluruumi. See on vastupidine staatilisele andmestruktuurile, kus programmeerija peab näitama programmis kasutatava mäluruumi fikseeritud arvu.


85) Millised on C-s erinevad andmetüübid?

Põhiline andmetüübid C-s on int, char ja float. Int kasutatakse muutujate deklareerimiseks, mis salvestavad täisarvulisi väärtusi. Ujukit kasutatakse reaalarvude salvestamiseks. Char võib salvestada üksikuid märgiväärtusi.


86) Mis on C-programmi üldkuju?

AC programm algab eelprotsessori direktiividega, milles programmeerija määrab, millist päisefaili ja milliseid konstante (kui neid on) kasutada. Sellele järgneb põhifunktsiooni pealkiri. Põhifunktsiooni sees on muutuja deklaratsioon ja programmilause.


87) Mis on juhusliku juurdepääsu faili eelis?

Kui failis salvestatud andmete hulk on üsna suur, võimaldab juhusliku juurdepääsu kasutamine failis kiiremini otsida. Kui see oleks olnud järjestikuse juurdepääsu fail, peaksite sihtandmeteni jõudmiseni läbima ühe kirje korraga. Suvajuurdepääsuga fail võimaldab teil hüpata otse sihtaadressile, kus andmed asuvad.


88) Mis juhtub lülitilauses, kui katkestuslause jäetakse välja?

Kui katkestuslauset ei pandud konkreetse käändeosa lõppu? See liigub edasi järgmisele juhtumiosale, põhjustades võib-olla vale väljundi.


89) Kirjeldage, kuidas massiive saab edastada kasutaja määratud funktsioonile

Üks asi, mida tuleb märkida, on see, et te ei saa kogu massiivi funktsioonile edastada. Selle asemel edastate sellele osuti, mis osutab massiivi esimesele elemendile mälus. Selleks märgite massiivi nime ilma sulgudeta.


90) Mis on osutid?

Osutajad osutavad teatud piirkondadesse mälus. Osutajad sisaldavad muutuja aadressi, mis omakorda võib sisaldada väärtust või isegi teise mälu aadressi.


91) Kas saate funktsioonidele üle kanda terve struktuuri?

Jah, funktsioonile on võimalik meetodi järgi kutsumise stiilis edastada terve struktuur. Mõned programmeerijad eelistavad aga struktuuri globaalselt deklareerida, seejärel edastavad funktsioonile seda struktuuritüüpi muutuja. See meetod aitab säilitada argumenditüübi järjepidevust ja ühtsust.


92) Mis on gets() funktsioon?

. gets() function võimaldab kasutajalt täisrea andmesisestuse. Kui kasutaja vajutab sisestuse lõpetamiseks sisestusklahvi, salvestatakse kogu märgirida stringimuutujasse. Pange tähele, et muutujas ei sisaldu sisestusklahvi, vaid selle asemel asetatakse viimase märgi järele nullterminaator \0.


93) % sümbolil on printf-lauses eriline kasutus. Kuidas paigutaksite selle tegelase ekraanile väljundi osana?

Seda saate teha, kasutades printf-lauses %%. Näiteks võite kirjutada printf(“10%%”), et väljund kuvatakse ekraanil 10%.


94) Kuidas otsite andmefailist andmeid juhusliku juurdepääsu meetodil?

Kasuta fseek() funktsioon faili juhusliku juurdepääsu sisendi/väljundi tegemiseks. Pärast faili avamist funktsiooniga fopen() vajab fseek töötamiseks kolme parameetrit: faili kursorit, otsitavate baitide arvu ja faili lähtepunkti.


95) Kas kommentaarid lisatakse kompileerimisetapis ja paigutatakse ka EXE-faili?

Ei, kommentaare, mida koostaja kohtas, ei võeta arvesse. Kommentaarid on enamasti ainult programmeerija juhendamiseks ja neil pole programmi funktsionaalsuses muud olulist kasu.


96) Kas C-s on sisseehitatud funktsioon, mida saab kasutada andmete sorteerimiseks?

Jah, kasuta qsort() funktsiooni. Samuti on võimalik sortimiseks luua kasutaja määratud funktsioone, näiteks selliseid, mis põhinevad ballooni sortimise ja mulli sortimise algoritmil.


97) Millised on hunniku eelised ja puudused?

Andmete salvestamine hunnikusse on aeglasem, kui see kuluks virna kasutamisel. Kuhja kasutamise peamine eelis on aga selle paindlikkus. Selle põhjuseks on asjaolu, et selle struktuuri mälu saab eraldada ja eemaldada mis tahes kindlas järjekorras. Kuhja aeglust saab kompenseerida, kui algoritm on hästi kavandatud ja rakendatud.


98) Kuidas teisendada stringe C-s numbriteks?

Saate kirjutada oma funktsioone stringidest numbriteks teisendamiseks või kasutada selle asemel C sisseehitatud funktsioone. Saate kasutada atof-i, et teisendada ujukoma väärtuseks, atoi-d täisarvuks ja atol-i pikaks täisarvuks teisendamiseks.


99) Looge lihtne koodifragment, mis vahetab kahe muutuja num1 ja num2 väärtused.

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) Mis kasu on semikoolonist (;) iga programmilause lõpus?

See on seotud parsimisprotsessi ja koodi kompileerimisega. Semikoolon toimib eraldajana, nii et kompilaator teab, kus iga lause lõpeb, ja saab jätkata lause jagamist väiksemateks elementideks süntaksi kontrollimiseks.

Need intervjuu küsimused aitavad ka teie viva (suuline)

Võta see postitus kokku järgmiselt: