Populiariausi 100 C programavimo interviu klausimai ir Atsakymai

Turinys

Atsisiųsti PDF

1) Kaip sukonstruoti prieaugio ar mažinimo teiginį C?

Iš tikrųjų tai galite padaryti dviem būdais. Vienas yra naudoti prieaugio operatorių ++ ir mažinimo operatorių -. Pvz., Teiginys „x ++“ reiškia padidinti x reikšmę 1. Taip pat teiginys „x -“ reiškia sumažinti x reikšmę 1. Kitas prieauginių sakinių rašymo būdas yra naudoti įprastą + pliusą ženklas arba - minuso ženklas. „X ++“ atveju kitas būdas jį parašyti yra „x = x +1“.

2) Kuo skiriasi skambutis pagal vertę ir skambutis pagal nuorodą?

Kai naudojate skambutį pagal vertę, jūs siunčiate kintamojo reikšmę kaip parametrą funkcijai, o skambinimas pagal nuorodą siunčia kintamojo adresą. Be to, pagal skambutį pagal vertę parametro reikšmei neturi įtakos jokia atliekama operacija, o skambučio pagal nuorodą atveju reikšmes gali paveikti funkcijos procesas.

3) Kai kurie koduotojai derina savo programas, užuot ištrynę komentavimo simbolius ant kai kurių kodų. Kaip tai padeda derinant?

Komentarų simbolių / * * / įdėjimas aplink kodą, dar vadinamas „komentavimu“ yra būdas išskirti kai kuriuos kodus, kurie, jūsų manymu, gali sukelti klaidų programoje, neištrinant kodo. Idėja yra ta, kad jei kodas iš tikrųjų yra teisingas, paprasčiausiai pašalinkite komentaro simbolius ir tęskite toliau. Tai taip pat taupo jūsų laiką ir pastangas, kai reikia iš naujo įvesti kodus, jei pirmiausia juos ištrynėte.

4) Koks yra lygiavertis šio teiginio kodas, O VISO LOOP formato?

for (a=1; a<=100; a++)printf ("%d\n", a * a);

Atsakymas:

a=1;while (a<=100) {printf ("%d\n", a * a);a++;}

5) Kas yra kaminas?

Šūsnis yra viena duomenų struktūros forma. Duomenys kaupiami rietuvėse, naudojant FILO (First In Last Out) metodą. Bet kuriuo konkrečiu atveju prieinama tik viršuje esanti viršuje, o tai reiškia, kad norint gauti duomenis, kurie yra saugomi rietuvės viduje, pirmiausia reikia išgauti viršutinėje dalyje esančius duomenis. Duomenų kaupimas rietuvėje taip pat vadinamas PUSH, o duomenų gavimas - POP.

6) Kas yra nuoseklios prieigos failas?

Rašant programas, kuriose bus saugomi ir gaunami duomenys faile, galima nurodyti tą failą į skirtingas formas. Nuoseklios prieigos failas yra toks, kad duomenys įrašomi eilės tvarka: vieni duomenys dedami į failą po kito. Norint pasiekti tam tikrus nuosekliosios prieigos failo duomenis, duomenis reikia skaityti po vieną, kol bus pasiektas tinkamas.

7) Kas yra kintamasis inicijavimas ir kodėl jis yra svarbus?

Tai reiškia procesą, kurio metu kintamajam priskiriama pradinė reikšmė prieš jį naudojant programoje. Be inicializavimo, kintamasis reikšmė būtų nežinoma, o tai gali sukelti nenuspėjamų rezultatų, kai naudojamas skaičiuojant ar atliekant kitas operacijas.

8 Kas yra spagečių programavimas?

Spageti programavimas reiškia kodus, kurie yra linkę susipainioti ir sutampa per visą programą. Šis nestruktūruotas požiūris į kodavimą dažniausiai siejamas su programuotojo patirties stoka. Spagečių programavimas apsunkina programos sudėtingumą ir kodų analizavimą, todėl jų reikia kiek įmanoma vengti.

9) Išskirkite šaltinio kodus nuo objektų kodų

Šaltinių kodai yra kodai, kuriuos parašė programuotojas. Jį sudaro komandos ir kiti į angliškus žodžius panašūs raktiniai žodžiai, kurie turėtų nurodyti kompiuteriui, ką daryti. Tačiau kompiuteriai negalėtų suprasti šaltinio kodų. Todėl šaltinio kodai sudaromi naudojant kompiliatorių. Rezultatai yra objektų kodai, kurie yra kompiuterio procesoriaus suprantamo formato. Programuojant C, šaltinio kodai įrašomi su failo plėtiniu .C, o objektų kodai - failo plėtiniu .OBJ

10) Kaip programuoti C, kaip įvesties ekrane įterpti kabučių simbolius ('ir ")?

Tai dažna problema pradedantiesiems, nes kabutės paprastai yra „printf“ teiginio dalis. Norėdami įterpti citatos simbolį kaip išvesties dalį, naudokite formatų nurodiklius \ '(vienai citatai) ir \ "(dvigubai citatai).

11) Kam naudojamas simbolis „\ 0“?

Jis vadinamas baigiamuoju nuliniu simboliu ir pirmiausia naudojamas eilutės vertės pabaigai parodyti.

12) Kuo skiriasi = simbolis ir == simbolis?

Simbolis = dažnai naudojamas matematinėse operacijose. Jis naudojamas priskirti tam tikram kintamajam vertę. Kita vertus, == simbolis, taip pat žinomas kaip „lygus“ arba „lygiavertis“, yra reliacinis operatorius, naudojamas dviem reikšmėms palyginti.

13) Koks yra modulio operatorius?

Modulio operatorius pateikia likusią dalybos dalį. Čia naudojamas procentų (%) simbolis. Pvz .: 10% 3 = 1, tai reiškia, kad padalijus 10 iš 3, likusi dalis yra 1.

14) Kas yra įdėta kilpa?

Įterptoji kilpa yra kilpa, einanti kitoje kilpoje. Kitaip tariant, jūs turite vidinę kilpą, esančią išorinės kilpos viduje. Šiuo atveju vidinė kilpa atliekama kelis kartus, kaip nurodyta išorinėje kilpoje. Kiekvienam išorinės kilpos pasukimui pirmiausia atliekama vidinė kilpa.

15) Kuris iš šių operatorių yra neteisingas ir kodėl? (> =, <=, <>, ==)

<> yra neteisingas. Nors rašant sąlyginius sakinius šis operatorius teisingai interpretuojamas kaip „nėra lygus“, C programavimui jis nėra tinkamas operatorius. Užuot nurodžius sąlygą „nelygu“, reikia naudoti operatorių! =.

16) Palyginkite ir palyginkite vertėjų žodžiu sudarytojus.

Kompiliatoriai ir vertėjai dažnai sprendžia, kaip vykdomi programos kodai. Vertėjai atlieka programos kodus po vieną eilutę, o kompiliatoriai ima programą kaip visumą ir prieš ją vykdydami konvertuoja ją į objekto kodą. Pagrindinis skirtumas yra tas, kad vertėjų atveju programa gali susidurti su sintaksės klaidomis vykdymo viduryje ir nuo to sustos. Kita vertus, kompiliatoriai tikrina visos programos sintaksę ir bus vykdomi tik tada, kai nerandama sintaksės klaidų.

17) Kaip deklaruoti kintamąjį, kuriame bus eilutės vertės?

Char simbolis vienu metu gali turėti tik 1 simbolio vertę. Sukūrę simbolių masyvą, jame galite išsaugoti eilutės reikšmes. Pavyzdys: „char MyName [50];“ skelbia eilutės kintamąjį MyName, kuriame gali būti daugiausia 50 simbolių.

18) Ar galima garbanotais skliaustais {} pridėti vieną kodo eilutę?

Nors garbanotieji skliaustai dažniausiai naudojami grupuojant kelias kodų eilutes, vis tiek veiks be klaidų, jei naudosite ją vienai eilutei. Kai kurie programuotojai teikia pirmenybę šiam metodui kaip kodų tvarkymo būdui, kad jis atrodytų aiškiau, ypač sąlyginiuose sakiniuose.

19) Kas yra antraštės failai ir kokie jų naudojimo būdai programuojant C?

Antraštės failai taip pat žinomi kaip bibliotekos failai. Juose yra du esminiai dalykai: programoje naudojamų funkcijų apibrėžimai ir prototipai. Paprasčiau tariant, komandos, kurias naudojate programuojant C, iš tikrųjų yra funkcijos, apibrėžtos kiekviename antraštės faile. Kiekviename antraštės faile yra funkcijų rinkinys. Pvz .: stdio.h yra antraštės failas, kuriame yra komandų, tokių kaip printf ir scanf, apibrėžimas ir prototipai.

20) Kas yra sintaksės klaida?

Sintaksės klaidos siejamos su programavimo kalbos vartojimo klaidomis. Tai gali būti klaidingai parašyta komanda arba komanda, kuri turi būti įvesta mažosiomis raidėmis, bet vietoj to buvo įvesta su didžiosiomis raidėmis. Netinkamas simbolis arba jo trūkumas kodo eilutėje taip pat gali sukelti sintaksės klaidą.

21) Kas yra kintamieji ir kuo jis skiriasi nuo konstantų?

Kintamieji ir konstantos iš pradžių gali atrodyti panašūs tam tikra prasme, kad abu yra identifikatoriai, sudaryti iš vieno ar daugiau simbolių (raidžių, skaičių ir kelių leistinų simbolių). Abi taip pat turės tam tikrą vertę. Kintamojo turimas vertes galima keisti visoje programoje, jas galima naudoti daugumoje operacijų ir skaičiavimų. Konstantoms vertės pateikiamos tik vienu metu, dedamos programos pradžioje. Ši vertė programoje nekeičiama. Pavyzdžiui, galite priskirti konstantą, pavadintą PI, ir suteikti jai vertę 3,1415. Tada galite naudoti jį kaip PI programoje, užuot kiekvieną kartą prireikus parašyti 3.1415.

22) Kaip pasiekti masyvo reikšmes?

Masyvuose yra keletas elementų, atsižvelgiant į dydį, kurį pateikėte kintamojo deklaravimo metu. Kiekvienam elementui priskiriamas skaičius nuo 0 iki elementų skaičiaus-1. Norėdami priskirti ar gauti tam tikro elemento vertę, žiūrėkite į elemento numerį. Pvz .: jei turite deklaraciją, kurioje sakoma „įterpia [5];“, tada turi 5 prieinamus elementus, ty: balai [0], balai [1], balai [2], balai [3] ir balai [4] ].

23) Ar galiu naudoti „int“ duomenų tipą 32768 vertei išsaugoti? Kodėl?

Ne. „Int“ duomenų tipas gali saugoti reikšmes nuo -32768 iki 32767. Norėdami išsaugoti 32768, vietoj to galite naudoti „long int“. Taip pat galite naudoti „nepasirašytą int“, darant prielaidą, kad neketinate saugoti neigiamų verčių.

24) Ar du ar daugiau operatorių, pvz., \ N ir \ t, gali būti sujungti į vieną programos kodo eilutę?

Taip, visiškai tinka derinti operatorius, ypač jei to reikia. Pvz .: galite turėti kodą, pvz., „Printf („ Labas \ n \ n \ 'Pasaulis \' "") ", kad tekstas„ Sveiki “būtų išvestas pirmoje eilutėje, o„ Pasaulis “, uždarytas vienkartinėse kabutėse, kad būtų rodomas kitoje. dvi eilutės.

25) Kodėl ne visi antraštės failai yra deklaruojami kiekvienoje C programoje?

Deklaravimo antraštės failo pasirinkimas kiekvienos C programos viršuje priklausys nuo to, kokias komandas / funkcijas naudosite toje programoje. Kadangi kiekviename antraštės faile yra skirtingi funkcijų apibrėžimai ir prototipai, jūs naudotumėte tik tuos antraštės failus, kuriuose būtų jums reikalingos funkcijos. Deklaravus visus kiekvienos programos antraštės failus, tik padidėtų bendras failo dydis ir apkrova, ir tai nėra laikoma geru programavimo stiliumi.

26) Kada funkcijoje naudojamas raktinis žodis „negaliojantis“?

Deklaruodami funkcijas nuspręsite, ar ta funkcija grąžins vertę, ar ne. Jei ši funkcija negrąžins vertės, pvz., Kai funkcijos tikslas yra parodyti kai kuriuos išvestis ekrane, tada „tuštuma“ turi būti dedama kairiausioje funkcijos antraštės dalyje. Kai tikimasi grąžinimo vertės atlikus funkcijos vykdymą, grąžinimo vertės duomenų tipas dedamas vietoj „negaliojantis“.

27) Kas yra sudėtiniai teiginiai?

Sudėtinius teiginius sudaro du ar daugiau programos sakinių, kurie vykdomi kartu. Tai paprastai įvyksta tvarkant sąlygas, kai teiginių serija yra vykdoma, kai vertinama TIKRA ar IŠTIKRA. Sudėtiniai teiginiai taip pat gali būti vykdomi ciklo metu. Garbanotieji skliaustai {} dedami prieš ir po sudėtinių sakinių.

28) Kokia yra algoritmo reikšmė C programavimui?

Prieš pradedant rašyti programą, pirmiausia reikia sukurti algoritmą. Algoritmas pateikia žingsnis po žingsnio procedūrą, kaip galima gauti sprendimą. Tai taip pat veikia kaip programos pradžios ir pabaigos planas, įskaitant tai, koks procesas ir skaičiavimai yra susiję.

29) Koks masyvo pranašumas prieš atskirus kintamuosius?

Saugant kelis susijusius duomenis, verta naudoti masyvus. Taip yra todėl, kad masyvai pavadinami naudojant tik 1 žodį, po kurio nurodomas elemento numeris. Pvz .: norint išsaugoti 10 mokinių 10 testų rezultatų, galima naudoti 10 skirtingų kintamųjų pavadinimų (1, 2, 3 ir 10 pažymiai). Naudojant masyvus, naudojamas tik 1 vardas, o likusius galima pasiekti naudojant indekso pavadinimą (laipsnis [0], laipsnis [1], laipsnis [2] ... laipsnis [9]).

30) Parašykite ciklo sakinį, kuriame bus rodoma ši išvestis:

1

12

123

1234 m

12345

Atsakymas:

for (a=1; a<=5; i++) {for (b=1; b<=a; b++)printf("%d",b);printf("\n");}

31) Kas yra neteisinga šiame teiginyje? scanf ("% d", kiek);

Ampersandas ir simbolis turi būti dedamas prieš kintamojo pavadinimą whatnumber. Pateikimas ir reiškia, kad visa vartotojo įvestoji sveikojo skaičiaus reikšmė yra saugoma kintamojo pavadinimo „adresu“. Tai yra dažna programuotojų klaida, dažnai sukelianti logines klaidas.

32) Kaip generuoti atsitiktinius skaičius C?

Atsitiktiniai skaičiai generuojami C, naudojant komandą rand (). Pvz .: anyNum = rand () sugeneruos bet kurį sveiką skaičių, prasidedantį nuo 0, darant prielaidą, kad anyNum yra sveiko skaičiaus kintamasis.

33) Kokia gali būti problema, jei galimas funkcijos pavadinimas, pvz., Tolower (), C kompiliatorius praneša kaip neapibrėžtą?

Labiausiai tikėtina šios klaidos priežastis yra ta, kad tos funkcijos antraštės failas nebuvo nurodytas programos viršuje. Antraštės failuose yra funkcijų ir komandų, naudojamų C programoje, apibrėžimas ir prototipas. "Tolower ()" atveju programos pradžioje turi būti kodas "#include ".

34) Kas yra komentarai ir kaip juos įterpti į C programą?

Komentarai yra puikus būdas įdėti keletą pastabų ar aprašų į programą. Tai gali būti priminimas apie tai, kas yra programa, arba aprašymas, kodėl tam tikras kodas ar funkcija ten buvo įdėta iš pradžių. Komentarai prasideda / * ir baigiasi * / simboliais. Komentarai gali būti viena eilutė arba netgi kelios eilutės. Ją galima įdėti bet kurioje programos vietoje.

35) Kas yra derinimas?

Derinimas yra klaidų nustatymas programoje. Kompiliuojant aptiktos klaidos sustabdys programos vykdymą. Esant tokiai būsenai, programuotojas ieškotų galimų dalių, kuriose įvyko klaida. Derinimas užtikrina klaidų pašalinimą ir vaidina svarbų vaidmenį užtikrinant, kad tikimasi programos rezultatų.

36) Ką „&&“ operatorius veikia programos kode?

&& taip pat vadinamas AND operatoriumi. Naudojant šį operatorių, prieš nurodant kitą veiksmą, visos nurodytos sąlygos turi būti TIKROS. Jei turite 10 sąlygų ir visų, išskyrus 1, neįmanoma įvertinti kaip TIKRĄ, visas sąlygų teiginys jau įvertinamas kaip NETIESA

37) Kokią komandą ar kodą galima naudoti programuojant C, norint nustatyti, ar nelyginis, ar lyginis skaičius?

C nėra vienos komandos ar funkcijos, kuri galėtų patikrinti, ar skaičius nelyginis ar lyginis. Tačiau tai galima pasiekti padalijus tą skaičių iš 2, tada patikrinus likusią dalį. Jei likutis yra 0, tada šis skaičius yra lyginis, kitaip jis yra nelyginis. Galite parašyti kodu:

if (num % 2 == 0)printf("EVEN");elseprintf("ODD");

38) Ką reiškia formatas% 10.2, įtraukus jį į „printf“ išrašą?

Šis formatas naudojamas dviem dalykams: nustatyti išvesties skaičiui skirtų tarpų skaičių ir dešimtųjų skaičių. Skaičius prieš dešimtainį tašką reiškia skirtą vietą, šiuo atveju išvesties skaičiui būtų skirta 10 tarpų. Jei išvesties numeriu užimamas vietos skaičius yra mažesnis nei 10, prieš faktinį išvesties numerį bus įterpti papildomi tarpai. Skaičius po kablelio nustato dešimtųjų skaičių, šiuo atveju tai yra 2 kableliai po kablelio.

39) Kas yra loginės klaidos ir kuo ji skiriasi nuo sintaksės klaidų?

Programa, kurioje yra loginių klaidų, paprastai praeina kompiliavimo procesą, tačiau gautas rezultatas gali būti ne toks, kokio tikėtasi. Taip atsitinka, kai į kodą buvo įterpta neteisinga formulė arba atlikta neteisinga komandų seka. Kita vertus, sintaksės klaidos yra susijusios su neteisingomis komandomis, kurios neteisingai parašytos arba kurių neatpažįsta kompiliatorius.

40) Kokios yra skirtingos valdymo struktūrų rūšys programuojant?

Programavime yra 3 pagrindinės valdymo struktūros: seka, pasirinkimas ir kartojimas. Nuoseklus valdymas vykdant programą eina iš viršaus į apačią taip, kad pirmiausia būtų atliktas 1 žingsnis, po to 2 žingsnis, kol bus atliktas paskutinis žingsnis. Atrankoje nagrinėjami sąlyginiai teiginiai, o tai reiškia, kad kodai vykdomi atsižvelgiant į tai, kad sąlygos yra TIKROS ar NETIESOS. Tai taip pat reiškia, kad ne visi kodai gali būti vykdomi ir yra alternatyvių srautų. Kartojimai taip pat žinomi kaip ciklo struktūros ir pakartos vieną ar du skaitiklio nustatytus programos teiginius.

41) Kas yra || operatorius ir kaip jis veikia programoje?

The || C programavime taip pat žinomas kaip OR operatorius. Naudojant || norint įvertinti logines sąlygas, bet kuri sąlyga, kuri vertinama kaip TIESA, padarys visą sąlygų teiginį TRUE.

42) Ar galima "jei" funkciją naudoti lyginant eilutes?

Ne. „Jei“ komandą galima naudoti tik skaitinėms ir vieno simbolio reikšmėms palyginti. Norėdami palyginti eilutės reikšmes, yra dar viena funkcija, vadinama strcmp, kuri nagrinėja būtent eilutes.

43) Kas yra ikiprocesorinės direktyvos?

Išankstinio procesoriaus nurodymai pateikiami kiekvienos C programos pradžioje. Čia nurodomi bibliotekos failai, kurie priklausytų nuo to, kokios funkcijos bus naudojamos programoje. Kitas pirminio procesoriaus direktyvų naudojimas yra konstantų deklaravimas. Procesoriaus direktyvos prasideda simboliu #.

44) Koks bus šio sąlyginio teiginio rezultatas, jei kintamojo s reikšmė yra 10?

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

Rezultatas bus TIKRA. Kadangi s reikšmė yra 10, s> = 10 vertinama kaip TIESA, nes s yra ne didesnis kaip 10, bet vis tiek lygus 10. s <25 taip pat yra TIESA, nes 10 yra mažesnis nei 25. Tiesiog tas pats, s! = 12 , o tai reiškia, kad s nėra lygus 12, vertinama kaip TIESA. & & Yra operatorius AND ir jis vadovaujasi taisykle, kad jei visos atskiros sąlygos yra TIESOS, visas teiginys yra TIESA.

45) Apibūdinkite C operatorių eiliškumą.

Pirmenybės tvarka nustato, kuri operacija pirmiausia turi įvykti operacijos sakinyje ar sąlyginiame sakinyje. Aukščiausiame prioritetiniame lygyje yra vienarūšiai operatoriai!, +, - ir &. Po jo eina įprasti matematiniai operatoriai (pirmiausia *, / ir modulio%, po to - + ir -). Toliau eilėje yra reliaciniai operatoriai <, <=,> = ir>. Po to eina du lygybės operatoriai == ir! =. Loginiai operatoriai && ir || yra paskui įvertinti. Paskutiniame lygyje yra priskyrimo operatorius =.

46) Kuo blogas šis teiginys? myName = "Robinas";

Negalite naudoti = ženklo, kad priskirtumėte reikšmes eilutės kintamajam. Vietoj to naudokite strcpy funkciją. Teisingas teiginys būtų: strcpy (manoVardas, "Robinas");

47) Kaip nustatyti eilutės vertės, kuri buvo saugoma kintamajame, ilgį?

Norėdami gauti eilutės vertės ilgį, naudokite funkciją strlen (). Pvz., Jei turite kintamąjį pavadinimu „FullName“, galite gauti saugomos eilutės vertės ilgį naudodami šį sakinį: I = strlen („FullName“); kintamasis I dabar turės eilutės vertės simbolio ilgį.

48) Ar įmanoma inicijuoti kintamąjį tuo metu, kai jis buvo deklaruotas ?

Taip, po kintamojo deklaracijos nereikia rašyti atskiro priskyrimo sakinio, nebent planuojate jį pakeisti vėliau. Pavyzdžiui: char planet [15] = "Žemė"; daro du dalykus: jis deklaruoja eilutės kintamąjį, pavadintą planeta, tada inicializuoja jį reikšme „Žemė“.

49) Kodėl C kalba laikoma vidurinio lygio kalba?

Taip yra todėl, kad C kalba turi daug funkcijų, dėl kurių ji elgiasi kaip aukšto lygio kalba, o kartu gali sąveikauti su aparatūra, naudodama žemo lygio metodus. Gerai struktūrizuoto požiūrio į programavimą naudojimas kartu su angliškais žodžiais, vartojamais funkcijose, priverčia jį veikti kaip aukšto lygio kalba. Kita vertus, C gali tiesiogiai pasiekti atminties struktūras, panašias į surinkimo kalbos tvarką.

50) Kokie yra skirtingi failų plėtiniai programuojant C?

C šaltinio kodai išsaugomi su .C failo plėtiniu. Antraštės failai arba bibliotekos failai turi .H failo plėtinį. Kiekvieną kartą sėkmingai sukompiliuojant programos šaltinio kodą, jis sukuria .OBJ objekto failą ir vykdomąjį .EXE failą.

51) Kas yra rezervuoti žodžiai?

Rezervuoti žodžiai yra žodžiai, kurie yra standartinės C kalbos bibliotekos dalis. Tai reiškia, kad rezervuoti žodžiai turi ypatingą reikšmę ir todėl negali būti naudojami kitiems tikslams, nei jie buvo skirti iš pradžių. Rezervuotų žodžių pavyzdžiai yra int, void ir return.

52) Kas yra susietas sąrašas?

Susietą sąrašą sudaro mazgai, susieti su kitu. Programuojant C, susieti sąrašai kuriami naudojant rodykles. Susietų sąrašų naudojimas yra vienas efektyvus būdas naudoti atmintį saugojimui.

53) Kas yra FIFO?

Programuojant C, yra duomenų struktūra, žinoma kaip eilė. Šioje struktūroje duomenys saugomi ir prieinami naudojant FIFO formatą arba „First-In-First-Out“. Eilė reiškia eilutę, kurioje pirmieji duomenys, kurie buvo saugomi, taip pat bus pirmieji prieinami.

54) Kas yra dvejetainiai medžiai?

Dvejetainiai medžiai iš tikrųjų yra susietų sąrašų sąvokos pratęsimas. Dvejetainis medis turi du rodykles, kairįjį ir dešinįjį. Kiekviena pusė gali toliau išsišakoti ir suformuoti papildomus mazgus, kurie taip pat turi du rodiklius.

55) Ne visi rezervuoti žodžiai rašomi mažosiomis raidėmis. Tiesa ar melas?

NETIESA. Visi rezervuoti žodžiai turi būti parašyti mažosiomis raidėmis; kitaip C kompiliatorius tai interpretuotų kaip nenustatytą ir negaliojančią.

56) Kuo skiriasi posakiai „++ a“ ir „a ++“?

Pirmojoje išraiškoje prieaugis įvyktų pirmiausia kintamajame a, o gautoji vertė bus ta, kuri bus naudojama. Tai taip pat žinoma kaip priešdėlio prieaugis. Antroje išraiškoje dabartinė kintamojo a reikšmė būtų ta, kuri bus naudojama atliekant operaciją, prieš padidinant jos reikšmę. Tai taip pat žinoma kaip postfix prieaugis.

57) Kas nutiktų X šioje išraiškoje: X + = 15; (darant prielaidą, kad X vertė yra 5)

X + = 15 yra trumpas X = X + 15 rašymo metodas, taigi, jei pradinė X reikšmė yra 5, tada 5 + 15 = 20.

58) C kalba kintamieji NAME, name ir Name yra vienodi. Tiesa ar melas?

NETIESA. C kalba yra didžiosios ir mažosios raidės. Todėl VARDAS, vardas ir Pavadinimas yra trys unikaliai skirtingi kintamieji.

59) Kas yra begalinė kilpa?

Nesibaigianti kilpa gali reikšti du dalykus. Viena yra ta, kad ji buvo sukurta taip, kad nuolat veiktų, kol bus įvykdyta ciklo sąlyga, po kurios pertraukimo funkcija paskatins programą išeiti iš ciklo. Kita begalinės kilpos idėja yra ta, kai buvo parašyta neteisinga ciklo sąlyga, dėl kurios kilpa amžinai vykdoma klaidingai. Nesibaigiančios kilpos dažnai vadinamos begalinėmis kilpomis.

60) Kas yra programos schema ir kaip ji padeda rašyti programą?

Struktūrinėje schemoje pateikiamas žingsnis po žingsnio pateiktos problemos vizualus vaizdas. Blokinės schemos yra sudarytos iš simbolių, kurių kiekvienas simbolis yra skirtingų formų. Kiekviena forma gali atstovauti tam tikrą esmę visoje programos struktūroje, pvz., Procesą, sąlygą ar net įvesties / išvesties fazę.

61) Kuo blogas šis programos teiginys? tuštuma = 10;

Žodis negaliojantis yra rezervuotas žodis C kalba. Negalite naudoti rezervuotų žodžių kaip vartotojo nustatyto kintamojo.

62) Ar šis programos teiginys galioja? INT = 10,50;

Darant prielaidą, kad INT yra „float“ tipo kintamasis, šis teiginys galioja. Galima pagalvoti, kad INT yra rezervuotas žodis ir jo negalima naudoti kitiems tikslams. Tačiau atminkite, kad rezervuoti žodžiai yra išreikšti mažosiomis raidėmis, todėl C kompiliatorius to neišaiškins kaip rezervuoto žodžio.

63) Kokie yra faktiniai argumentai?

Kai kuriate ir naudojate funkcijas, kurioms reikia atlikti veiksmus su kai kuriomis pateiktomis reikšmėmis, turite perduoti šias nurodytas reikšmes tai funkcijai. Vertės, kurios perduodamos į iškviestą funkciją, vadinamos faktiniais argumentais.

64) Kas yra naujos linijos pabėgimo seka?

Naujos eilutės pabėgimo seką žymi \ n simbolis. Tai naudojama norint įterpti naują eilutę, kai duomenys rodomi išvesties ekrane. Daugiau erdvių galima pridėti įterpiant daugiau \ n simbolių. Pavyzdžiui, \ n \ n būtų įterpti du tarpai. Naujos eilutės pabėgimo seka gali būti dedama prieš faktinę išvesties išraišką arba po jos.

65) Kas yra išvesties nukreipimas?

Tai yra duomenų perkėlimo į alternatyvų išvesties šaltinį, išskyrus rodymo ekraną, procesas. Išvesties peradresavimas leidžia programai išsaugoti išvestį į failą. Pvz., Jei turite programą pavadinimu COMPUTE, įvesdami tai į komandinę eilutę, COMPUTE> DATA gali priimti vartotojo įvestį, atlikti tam tikrus skaičiavimus, tada nukreipti išvestį į failą DATA, o ne rodyti ekrane. .

66) Kas yra vykdymo laiko klaidos?

Tai yra klaidos, atsirandančios vykdant programą. Vienas dažnas atvejis, kai gali įvykti vykdymo laiko klaidos, yra tai, kai bandote skaičių padalyti iš nulio. Atsiradus vykdymo laiko klaidoms, programos vykdymas bus pristabdytas, parodant, kuri programos eilutė sukėlė klaidą.

67) Kuo skiriasi funkcijos abs () ir fabs ()?

Šios 2 funkcijos iš esmės atlieka tą patį veiksmą, ty gauti absoliučią nurodytos vertės vertę. Abs () naudojamas sveikųjų skaičių reikšmėms, o fabs () - slankiojo tipo skaičiams. Taip pat abs () prototipas yra , o fabs () - .

68) Kokie yra formalūs parametrai?

Naudojant funkcijas C programoje, formaliuose parametruose yra reikšmės, kurias perdavė iškvietimo funkcija. Vertės pakeičiamos šiais formaliais parametrais ir naudojamos atliekant bet kokias operacijas, kaip nurodyta pagrindiniame iškviestosios funkcijos tekste.

69) Kas yra kontrolės struktūros?

Valdymo struktūros prisiima atsakomybę, pagal kurią instrukcijas reikia atlikti programoje. Tai reiškia, kad programos srautas nebūtinai turi pereiti iš vieno sakinio į kitą, veikiau kai kurias alternatyvias dalis gali tekti perduoti arba apeiti, atsižvelgiant į sąlyginių sakinių rezultatus.

70) Parašykite paprastą kodo fragmentą, kuris patikrins, ar skaičius yra teigiamas ar neigiamas .

If (num>=0)printf("number is positive");elseprintf ("number is negative");

71) Kada sakinys „switch“ yra pageidautinas, o ne teiginys „if“?

„Switch“ sakinį geriausia naudoti nagrinėjant pasirinkimus pagal vieną kintamąjį ar išraišką. Tačiau jungikliais galima įvertinti tik sveikųjų skaičių ir simbolių duomenų tipus.

72) Kas yra visuotiniai kintamieji ir kaip juos deklaruoti?

Visuotiniai kintamieji yra kintamieji, prie kurių galima pasiekti ir jais naudotis bet kurioje programos vietoje. Norėdami, kad kintamasis būtų globalus, įdėkite kintamojo deklaraciją viršutinėje programos dalyje iškart po paruošiamojo procesoriaus direktyvų skyriaus.

73) Kas yra išvardyti tipai?

Išvardyti tipai leidžia programuotojui naudoti reikšmingesnius žodžius kaip kintamojo reikšmes. Kiekvienas išvardyto tipo kintamojo elementas iš tikrųjų yra susietas su skaitiniu kodu. Pavyzdžiui, galima sukurti išvardytą tipo kintamąjį, pavadintą DAYS, kurio reikšmės yra pirmadienis, antradienis ... sekmadienis.

74) Ką veikia funkcija toupper ()?

Jis naudojamas bet kokiai raidei konvertuoti į didžiųjų raidžių režimą. Funkcijos „Toupper“ () prototipas nurodomas . Atminkite, kad ši funkcija pavers tik vieną simbolį, o ne visą eilutę.

75) Ar galima turėti funkciją kaip parametrą kitoje funkcijoje?

Taip, tai leidžiama programuojant C. Jums tiesiog reikia įtraukti visą funkcijos prototipą į kitos funkcijos parametrų lauką, kur jis bus naudojamas.

76) Kas yra daugiamatės masyvai?

Daugiamatės masyvai gali saugoti duomenis dviejų ar daugiau matmenų struktūroje. Pavyzdžiui, galite naudoti 2 matmenų masyvą, norėdami išsaugoti dabartinę figūrų poziciją šachmatų žaidime arba žaidėjų padėtį programoje „Tic-Tac-Toe“.

77) Kurią C funkciją galima naudoti norint pridėti eilutę prie kitos eilutės?

Strcat funkcija. Reikia dviejų parametrų: šaltinio eilutės ir eilutės vertės, kuri bus pridėta prie šaltinio eilutės.

78) Kuo skiriasi funkcijos getch () ir getche ()?

Abi funkcijos priims vartotojo įvestą simbolių vertę. Naudojant getch (), paspaustas klavišas nebus rodomas ekrane, jis automatiškai užfiksuojamas ir priskiriamas kintamajam. Naudojant getche (), vartotojo paspaustas mygtukas pasirodys ekrane, tuo pačiu metu priskiriamas kintamajam.

79) Ar du programos teiginiai atlieka tą patį išėjimą? 1) scanf ("% c" ir raidė); 2) raidė = getchar ()

Taip, jie abu daro tą patį dalyką, ty priima kitą vartotojo paspaustą raktą ir priskiria jį kintamajam pavadinimu raidė.

80) Kas yra struktūros tipai C?

Struktūros tipai pirmiausia naudojami įrašams saugoti. Įrašą sudaro susiję laukai. Tai palengvina susijusių duomenų grupės organizavimą.

81) Ką reiškia simboliai „r“ ir „w“, rašydami programas, kuriose bus naudojami failai?

„r“ reiškia „skaityti“ ir atidarys failą kaip įvestį, kur bus renkami duomenys. "w" reiškia "rašyti" ir atidarys failą išvesties. Ankstesni to failo duomenys buvo ištrinti.

82) Kuo skiriasi tekstiniai failai nuo dvejetainių failų?

Teksto rinkmenose yra žmonių lengvai suprantamų duomenų. Jame yra raidės, skaičiai ir kiti simboliai. Kita vertus, dvejetainiuose failuose yra 1 ir 0, kuriuos gali interpretuoti tik kompiuteriai.

83) ar galima susikurti savo antraštės failus?

Taip, galima sukurti pritaikytą antraštės failą. Tiesiog įtraukite į ją funkcijų prototipus, kuriuos norite naudoti savo programoje, ir naudokite direktyvą #include, po kurios nurodomas antraštės failo pavadinimas.

84) Kas yra dinaminė duomenų struktūra?

Dinaminė duomenų struktūra suteikia galimybę efektyviau saugoti duomenis į atmintį. Naudodama dinaminį atminties paskirstymą, programa prireikus pasieks atminties vietas. Tai skiriasi nuo statinės duomenų struktūros, kur programuotojas turi nurodyti fiksuotą atminties vietą, kuri bus naudojama programoje.

85) Kokie yra skirtingi duomenų tipai C?

Pagrindiniai duomenų tipai yra int, char ir float. „Int“ naudojamas deklaruoti kintamuosius, kuriuose bus saugomos sveikųjų skaičių reikšmės. „Float“ naudojamas realiesiems skaičiams saugoti. Char gali išsaugoti atskirų simbolių reikšmes.

86) Kokia yra bendra C programos forma?

Kintamosios srovės programa prasideda parengiamojo procesoriaus direktyvomis, kuriose programuotojas nurodytų, kurį antraštės failą ir kokias konstantas (jei tokių yra) naudoti. Po to seka pagrindinė funkcijos antraštė. Pagrindinėje funkcijoje yra kintamasis deklaravimas ir programos sakinys.

87) Koks yra atsitiktinės prieigos failo pranašumas?

Jei faile saugomų duomenų kiekis yra gana didelis, atsitiktinės prieigos naudojimas leis jums greičiau juos ieškoti. Jei tai būtų nuoseklios prieigos failas, turėtumėte pereiti po vieną įrašą vienu metu, kol pasieksite tikslinius duomenis. Atsitiktinės prieigos failas leidžia pereiti tiesiai į tikslinį adresą, kuriame yra duomenys.

88) Kas atsitiks, jei „break“ sakinys bus praleistas?

Jei pertraukos pareiškimas nebuvo įdėtas konkrečios bylos dalies pabaigoje? Ji pereis prie kitos bylos dalies, galbūt sukeldama neteisingą išvestį.

89) Apibūdinkite, kaip masyvai gali būti perduodami vartotojo apibrėžtai funkcijai

Reikėtų atkreipti dėmesį į tai, kad negalima viso masyvo perduoti funkcijai. Vietoj to, jūs perduodate jai rodyklę, kuri nurodys masyvo pirmąjį elementą atmintyje. Norėdami tai padaryti, jūs nurodote masyvo pavadinimą be skliaustų.

90) Kas yra patarimai?

Rodyklės nurodo konkrečias atminties sritis. Rodyklėse yra kintamojo adresas, kuris savo ruožtu gali turėti vertę ar net adresą į kitą atmintį.

91) Ar galite perduoti funkcijoms visą struktūrą?

Taip, skambučio funkcijai galima perduoti visą struktūrą pagal metodo stilių. Tačiau kai kurie programuotojai nori deklaruoti struktūrą globaliai, tada perduoda funkcijai tokio struktūros tipo kintamąjį. Šis metodas padeda išlaikyti nuoseklumą ir vienodumą argumentų tipo atžvilgiu.

92) Kas yra funkcija „get ()“?

Funkcija „get“) leidžia vartotojui įvesti visą duomenų eilutę. Kai vartotojas paspaudžia įvesties mygtuką, kad užbaigtų įvestį, visa simbolių eilutė saugoma eilutės kintamajame. Atminkite, kad įvedimo raktas į kintamąjį nėra įtrauktas, tačiau po paskutinio simbolio dedamas nulinis terminatorius \ 0.

93) „%“ simbolis yra specialus „printf“ sakinyje. Kaip patalpintumėte šį simbolį kaip išvesties dalį ekrane?

Tai galite padaryti naudodami %% „printf“ sakinyje. Pvz., Galite parašyti „printf“ („10 %%“), kad išvestis ekrane būtų rodoma kaip 10%.

94) Kaip ieškote duomenų duomenų rinkmenoje naudodamiesi atsitiktinės prieigos metodu?

Naudokite funkciją „fseek“ (), jei norite atlikti atsitiktinės prieigos failo įvestį / išvestį. Atidarius failą funkcija fopen (), fseek veikimui reikalingi trys parametrai: failo žymeklis į failą, ieškomų baitų skaičius ir failo kilmės taškas.

95) Ar komentarai įtraukiami rengimo etape ir dedami į EXE failą?

Ne, neatsižvelgiama į kompiliatoriaus komentarus. Komentarai dažniausiai skirti tik programuotojui ir neturi jokio kito reikšmingo programos funkcijų panaudojimo.

96) Ar C yra įmontuota funkcija, kurią galima naudoti rūšiuojant duomenis?

Taip, naudokite qsort () funkciją. Taip pat galima sukurti vartotojo apibrėžtas rūšiavimo funkcijas, pavyzdžiui, tas, kurios pagrįstos balionų rūšiavimo ir burbulų rūšiavimo algoritmu.

97) Kokie yra krūvos pranašumai ir trūkumai?

Duomenų kaupimas kaupe vyksta lėčiau, nei reikėtų naudojant kaminą. Tačiau pagrindinis krūvos naudojimo privalumas yra jo lankstumas. Taip yra todėl, kad šios struktūros atmintį galima paskirstyti ir pašalinti bet kokia tvarka. Krūvos lėtumą galima kompensuoti, jei algoritmas buvo gerai suprojektuotas ir įgyvendintas.

98) Kaip konvertuoti eilutes į skaičius C?

Galite rašyti savo funkcijas, norėdami atlikti eilutes skaičių konvertavimui, arba naudoti „C“ integruotas funkcijas. Galite naudoti atof konvertuoti į slankiojo kablelio vertę, atoi konvertuoti į sveiko skaičiaus vertę ir atol konvertuoti į ilgą sveiko skaičiaus vertę.

99) Sukurkite paprastą kodo fragmentą, kuris pakeis dviejų kintamųjų num1 ir num2 reikšmes.

int temp;temp = num1;num1 = num2;num2 = temp;

100) Kas yra kabliataškis (;) kiekvieno programos teiginio pabaigoje?

Tai susiję su analizės procesu ir kodo kompiliavimu. Kabliataškis veikia kaip atskyriklis, kad kompiliatorius žinotų, kur baigiasi kiekvienas sakinys, ir gali suskirstyti sakinį į mažesnius elementus sintaksės tikrinimui.

Įdomios straipsniai...