top 40 c programming interview questions
Întrebări și răspunsuri la interviu de programare C cele mai frecvente:
Limbajul de programare C a fost dezvoltat între 1969 și 1973 de Dennis Ritchie la Bell Labs. El folosește acest nou limbaj de programare pentru a re-implementa sistemul de operare UNIX.
C este un limbaj de programare structurat orientat la nivel înalt utilizat pentru cerințe de programare de uz general. Practic, C este o colecție de funcții de bibliotecă. De asemenea, este flexibil să adăugați funcții definite de utilizator și să le includeți în biblioteca C.
Utilizarea principală a limbajului de programare C include compilatoare de limbi, sisteme de operare, asamblatoare, editoare de text, spoolere de imprimare, drivere de rețea, programe moderne, baze de date, interpreți de limbă și utilitare.
Cele mai frecvente întrebări de interviu pentru programarea C
Începem.
Q # 1) Care sunt caracteristicile cheie în limbajul de programare C?
Răspuns: Caracteristicile sunt după cum urmează:
- Portabilitate : Este un limbaj independent de platformă.
- Modularitate: Posibilitatea de a împărți programele mari în module mici.
- Flexibilitate: Posibilitatea unui programator de a controla limbajul.
- Viteză: C vine cu suport pentru programarea sistemului și, prin urmare, compilează și execută cu viteză mare în comparație cu alte limbaje de nivel înalt.
- Extensibilitate : Posibilitatea de a adăuga funcții noi de către programator.
Q # 2) Care sunt tipurile de date de bază asociate cu C?
Răspuns:
- Int - Reprezentați numărul (întreg)
- Pluti - Număr cu o fracțiune.
- Dublu - Valoare în virgulă mobilă de precizie dublă
- Char - Personaj unic
- Vid - Tipul de scop special, fără nicio valoare.
Î # 3) Care este descrierea erorilor de sintaxă?
Răspuns: Greșelile / erorile care apar în timpul creării unui program se numesc erori de sintaxă. Comenzi scrise greșit sau comenzi incorecte de caz, un număr incorect de parametri în metoda / funcția de apelare, nepotriviri de tip de date pot fi identificate ca exemple obișnuite pentru erori de sintaxă.
Q # 4) Care este procesul de creare a declarației de creștere și descreștere în C?
Răspuns: Există două metode posibile pentru a efectua această sarcină.
- Utilizați operatorul increment (++) și decrement (-).
Exemplu Când x = 4, x ++ returnează 5 și x- returnează 3.
- Utilizați semnul convențional + sau -.
Exemplu Când x = 4, utilizați x + 1 pentru a obține 5 și x-1 pentru a obține 3.
Q # 5) Ce sunt cuvintele rezervate cu un limbaj de programare?
Răspuns: Cuvintele care fac parte din biblioteca standard de limbă C sunt numite cuvinte rezervate . Aceste cuvinte rezervate au o semnificație specială și nu este posibil să le folosiți pentru alte activități decât funcționalitatea intenționată.
Exemplu: void, return int.
Q # 6) Care este explicația pentru indicatorul suspendat în C?
Răspuns: Când există un indicator care indică o adresă de memorie a oricărei variabile, dar după un timp variabila a fost ștearsă din locația memoriei, păstrând în același timp indicatorul care indică acea locație, este cunoscut sub numele de pointer suspendat în C.
Q # 7) Descrieți funcția statică cu utilizarea acesteia?
Răspuns: O funcție, care are o definiție a funcției prefixată cu un cuvânt cheie static este definită ca o funcție statică. Funcția statică trebuie apelată în același cod sursă.
Q # 8) Care este diferența dintre funcțiile abs () și fabs ()?
Răspuns: Ambele funcții sunt de a recupera valoarea absolută. abs () este pentru valori întregi și fabs () este pentru numerele de tip flotant. Prototipul pentru abs () se află sub fișierul bibliotecă, iar fabs () se află sub.
Q # 9) Descrieți indicatorii sălbatici în C?
Răspuns: Pointerii neinițializați din codul C sunt cunoscuți ca Arătători sălbatici . Ele indică o anumită locație de memorie arbitrară și pot cauza un comportament defectuos al programului sau blocarea programului.
Q # 10) Care este diferența dintre ++ a și a ++?
Răspuns: ‘++ a” se numește increment prefixat, iar incrementul se va întâmpla mai întâi pe o variabilă. ‘A ++’ se numește increment postfix, iar incrementul are loc după valoarea unei variabile utilizate pentru operațiuni.
Q # 11) Descrieți diferența dintre simbolurile = și == în programarea C?
Răspuns: „==” este operatorul de comparație care este utilizat pentru a compara valoarea sau expresia din partea stângă cu valoarea sau expresia din partea dreaptă.
„=” Este operatorul de atribuire care este utilizat pentru a atribui valoarea din partea dreaptă variabilei din partea stângă.
Q # 12) Care este explicația funcției prototip în C?
Întrebări și răspunsuri pentru interviul dezvoltatorului sq sql
Răspuns: Funcția prototip este o declarație a unei funcții cu următoarele informații către compilator.
- Numele funcției.
- Tipul de returnare a funcției.
- Lista parametrilor funcției.
În acest exemplu, numele funcției este Sum, tipul de returnare este tipul de date întregi și acceptă doi parametri întregi.
Q # 13) Care este explicația naturii ciclice a tipurilor de date în C?
Răspuns: Unele dintre tipurile de date din C au caracteristică specială atunci când un dezvoltator atribuie o valoare dincolo de intervalul tipului de date. Nu va exista nicio eroare a compilatorului și valoarea se modifică în funcție de o ordine ciclică. Aceasta se numește natură ciclică. Tipurile de date Char, int, long int au această proprietate. Alte tipuri de date flotante, duble și duble lungi nu au această proprietate.
Q # 14) Descrieți fișierul antet și utilizarea acestuia în programarea C?
Răspuns: Fișierul care conține definițiile și prototipurile funcțiilor utilizate în program se numește fișier antet. Este, de asemenea, cunoscut sub numele de fișier bibliotecă.
Exemplu: Fișierul antet conține comenzi precum printf și scanf provine din fișierul bibliotecii stdio.h.
Q # 15) Există o practică în codificare pentru a păstra unele blocuri de cod în simbolurile de comentarii decât să le ștergeți la depanare. Cum afectează acest lucru la depanare?
Răspuns: Acest concept se numește comentarii și aceasta este modalitatea de a izola o parte a codului care scanează posibilul motiv al erorii. De asemenea, acest concept vă ajută să economisiți timp, deoarece dacă codul nu este motivul problemei, acesta poate fi pur și simplu eliminat din comentariu.
Q # 16) Care sunt descrierea generală pentru instrucțiunile de buclă și tipurile de buclă disponibile în C?
Răspuns: O declarație care permite executarea de instrucțiuni sau grupuri de instrucțiuni într-un mod repetat este definită ca o buclă.
Următoarea diagramă explică o formă generală a unei bucle.
Există 4 tipuri de instrucțiuni de buclă în C.
- În timp ce bucla
- Pentru Loop
- Faceți ... În timp ce Buclați
- Buclă imbricată
Q # 17) Ce este o buclă imbricată?
Răspuns: O buclă care rulează într-o altă buclă este denumită a bucla imbricata . Prima buclă se numește buclă exterioară, iar bucla interioară se numește buclă interioară. Bucla interioară execută numărul de ori definit într-o buclă exterioară.
Q # 18) Care este forma generală a funcției în C?
Răspuns: Definiția funcției din C conține patru secțiuni principale.
return_type function_name( parameter list ) { body of the function }
- Tipul de returnare : Tipul de date al valorii returnate a funcției.
- Numele funcției: Numele funcției și este important să aveți un nume semnificativ care să descrie activitatea funcției.
- Parametrii : Valorile de intrare pentru funcția care sunt utilizate pentru a efectua acțiunea necesară.
- Funcția Corp : Colecție de declarații care efectuează acțiunea necesară.
Q # 19) Ce este un pointer pe un pointer în limbajul de programare C?
Răspuns: O variabilă pointer care conține adresa unei alte variabile pointer se numește pointer pe un pointer. Acest concept se referă de două ori pentru a indica datele deținute de o variabilă pointer.
În acest exemplu ** y returnează valoarea variabilei a.
Q # 20) Care sunt locurile valide pentru a avea cuvântul cheie „Pauză”?
Răspuns: Scopul cuvântului cheie Break este de a scoate controlul din blocul de cod care se execută. Poate apărea numai în instrucțiuni de looping sau switch.
Q # 21) Care este diferența de comportament atunci când fișierul antet este inclus între ghilimele duble („”) și acolade unghiulare ()?
Răspuns: Când fișierul antet este inclus în ghilimele duble („”), compilatorul caută mai întâi în directorul de lucru fișierul antet special. Dacă nu este găsit, atunci caută fișierul în calea include. Dar când fișierul antet este inclus în acolade unghiulare (), compilatorul caută numai în directorul de lucru fișierul antet special.
Q # 22) Ce este un fișier de acces secvențial?
Răspuns: Programele generale stochează date în fișiere și recuperează datele existente din fișiere. Cu fișierul de acces secvențial, astfel de date sunt salvate într-un model secvențial. Când preluați date din astfel de fișiere, fiecare dată este citită una câte una până când se găsesc informațiile solicitate.
Q # 23) Care este metoda de salvare a datelor într-un tip de structură de date stivă?
Răspuns: Datele sunt stocate în tipul de structură de date Stack folosind First In Last Out (FILO) mecanism. Numai partea de sus a stivei este accesibilă la o anumită instanță. Mecanismul de stocare este denumit PUSH și recuperarea este denumită POP.
Q # 24) Care este semnificația algoritmilor programului C?
Răspuns: Algoritmul este creat mai întâi și conține îndrumări pas cu pas cu privire la modul în care ar trebui să fie soluția. De asemenea, conține pașii de luat în considerare și calculele / operațiile necesare în cadrul programului.
Q # 25) Care este codul corect pentru a avea următoarea ieșire în C folosind imbricată pentru buclă?
Răspuns:
#include int main () { int a; int b; /* for loop execution */ for( a = 1; a <6; a++ ) { /* for loop execution */ for ( b = 1; b <= a; b++ ) { printf('%d',b); } printf('
'); } return 0; }
Q # 26) Explicați utilizarea funcției toupper () cu un exemplu de cod?
Răspuns: Funcția Toupper () este utilizată pentru a converti valoarea în majuscule atunci când este utilizată cu caractere.
Cod:
#include #include int main() { char c; c = 'a'; printf('%c -> %c', c, toupper(c)); c = 'A'; printf('
%c -> %c', c, toupper(c)); c = '9'; printf('
%c -> %c', c, toupper(c)); return 0; }
Rezultat:
Q # 27) Care este codul într-o buclă while care returnează ieșirea codului dat?
#include int main () { int a; /* for loop execution */ for( a = 1; a <= 100; a++ ) { printf('%d
',a * a); } return 0; }
Răspuns:
#include int main () { int a; while (a<=100) { printf ('%d
', a * a); a++; } return 0; }
Q # 28) Selectați formularul de operator incorect din următoarea listă (==,,> =,<=) and what is the reason for the answer?
Răspuns: Operatorul incorect este „”. Acest format este corect atunci când scrieți instrucțiuni condiționale, dar nu este operațiunea corectă pentru a indica faptul că nu este egal în programarea C. Oferă o eroare de compilare după cum urmează.
Cod:
#include int main () { if ( 5 10 ) printf( 'test for ' ); return 0; }
Eroare:
Q # 29) Este posibil să utilizați paranteze cretate ({}) pentru a include un singur cod de linie în programul C?
Răspuns: Da, funcționează fără nicio eroare. Unora dintre programatori le place să folosească acest lucru pentru a organiza codul. Dar scopul principal al parantezelor curlate este gruparea mai multor linii de coduri.
Q # 30) Descrieți modificatorul în C?
Răspuns: Modificatorul este un prefix la tipul de date de bază care este utilizat pentru a indica modificarea pentru alocarea spațiului de stocare la o variabilă.
Exemplu- Într-un procesor pe 32 de biți, spațiul de stocare pentru tipul de date int este 4. Când îl folosim cu modificator, spațiul de stocare se modifică după cum urmează:
- Lung int: Spațiul de stocare este de 8 biți
- Scurt int: Spațiul de stocare este de 2 biți
Q # 31) Care sunt modificatorii disponibili în limbajul de programare C?
Răspuns: Există 5 modificatori disponibili în limbajul de programare C după cum urmează:
- Mic de statura
- Lung
- Semnat
- Nesemnat
- lung lung
Q # 32) Care este procesul de generare a numerelor aleatorii în limbajul de programare C?
cască vr pentru xbox one s
Răspuns: Comanda rand () este disponibilă pentru a fi utilizată în acest scop. Funcția returnează un număr întreg începând de la zero (0). Următorul exemplu de cod demonstrează utilizarea rand ().
Cod:
#include #include int main () { int a; int b; for(a=1; a<11; a++) { b = rand(); printf( '%d
', b ); } return 0; }
Ieșire:
Q # 33) Descrieți secvența de evadare a liniei noi cu un program eșantion?
Răspuns: Secvența de evacuare Newline este reprezentată de n. Aceasta indică punctul în care noua linie pornește la compilator și ieșirea este creată în consecință. Următorul exemplu de program demonstrează utilizarea secvenței de evadare a liniei noi.
Cod:
/* * C Program to print string */ #include #include int main(){ printf('String 01 '); printf('String 02 '); printf('String 03
'); printf('String 01
'); printf('String 02
'); return 0; }
Ieșire:
Q # 34) Este posibil să stocați 32768 într-o variabilă de tip de date int?
Răspuns: Tipul de date Int este capabil să stocheze valori între - 32768 și 32767. Pentru a stoca 32768, un modificator trebuie utilizat cu tipul de date int. Long Int poate folosi și, de asemenea, dacă nu există valori negative, este posibil, de asemenea, să folosiți int nesemnat.
Q # 35) Există vreo posibilitate de a crea un fișier antet personalizat cu limbaj de programare C?
Răspuns: Da, este posibil și ușor să creați un nou fișier de antet. Creați un fișier cu prototipuri de funcții care sunt utilizate în interiorul programului. Includeți fișierul în secțiunea „#include” din numele său.
Q # 36) Descrieți structura dinamică a datelor în limbajul de programare C?
Răspuns: Structura dinamică a datelor este mai eficientă pentru memorie. Accesul la memorie are loc la nevoie de program.
Q # 37) Este posibil să adăugați pointeri unul cu celălalt?
Răspuns: Nu există nicio posibilitate de a adăuga indicii împreună. Deoarece indicatorul conține detalii despre adresă, nu există nicio modalitate de a recupera valoarea din această operație.
Î. 38) Ce este indirecta?
Răspuns: Dacă ați definit un pointer la o variabilă sau la orice obiect de memorie, nu există nicio referire directă la valoarea variabilei. Aceasta se numește referință indirectă. Dar atunci când declarăm o variabilă, aceasta are o referință directă la valoare.
Q # 39) Care sunt modalitățile către un pointer nul care poate fi utilizat în limbajul de programare C?
Răspuns: Pointerii Null sunt posibili de utilizat în trei moduri.
- Ca valoare de eroare.
- Ca valoare santinelă.
- Pentru a termina indirectarea în structura de date recursive.
Q # 40) Care este explicația pentru programarea modulară?
Răspuns: Procesul de împărțire a programului principal în subsecțiune executabilă se numește programarea modulului. Acest concept promovează reutilizarea.
Concluzie
Interogatorul se bazează pe conceptele de limbaj de programare C, inclusiv gestionarea memoriei cu indicii, cunoașterea sintaxei sale și câteva exemple de programe care utilizează structura programului Basic C. Cunoașterea teatrală și practică a candidatului este examinată cu întrebările.
Lectură recomandată
- Întrebări și răspunsuri la interviu
- Câteva întrebări și răspunsuri dificile de testare manuală
- C Vs C ++: 39 Diferențe principale între C și C ++ cu exemple