Топ 40 въпроса за интервю за C език за 2021 г.

Ето списъка с често задавани въпроси за интервю за програмиране на C. Това са основните въпроси на C интервю, които ще ви помогнат по време на интервюта.

Съдържание

1. Какви са характеристиките на езика за програмиране C?

По-долу са дадени характеристиките на езика за програмиране C:

  • Прост: Той следва структуриран подход, където позволява програмата да бъде разделена или разделена на по-малки части
  • Бързо: По-бързо компилиране и изпълнение
  • Лесно преносима: Позволява изпълнение на програмата C на която и да е машина без или много малка модификация
  • Средно ниво: Той съчетава функции както на езика на ниско, така и на високо ниво.
  • Управление на паметта: Има вградена памет
  • Extensible: Може да приема нови функции.

2. Какви са различните типове данни в C?

  • int: Целочислени стойности
  • float: Float стойност, която е число с дробна част
  • double: стойност с плаваща запетая с двойна точност
  • char: единичен знак
  • void: специален тип без никаква стойност

3. За какво се ползват функциите print () и scanf ()?

Най- print() функции отпечатва стойностите като цяло число, символ, плувка, низ и др

Най- scanf() функция взема или извлича входа от потребителя.

4. Каква е разликата между глобална и локална променлива?

Глобална променливаЛокална променлива
Това е променлива, която се декларира извън функция или блокТова е променлива, която се декларира във функция или блок
Обхватът е в рамките на цялата програмаОбхватът е в рамките на посочената функция или блок
Той е достъпен от всяко изявлениеДостъпен е само чрез изрази в блока или функцията, където е декларирана променливата
Компилаторът решава къде да съхранява променливатаЛокалната променлива се съхранява в стек
Животът на глобалната променлива завършва с прекратяването на програматаЖивотът на локалната променлива завършва с изхода на функцията

5. Какво е статична променлива?

Променлива, която е декларирана с ключовата дума static е статична променлива. Стойността на статична променлива се запазва в цялата програма и е обща за всички извиквания на методи. Инициализира се само веднъж и по този начин спестява много памет.

6. Каква е разликата между обаждане по стойност и обаждане по препратка?

Обаждане по стойностОбадете се чрез справка
Когато предадем аргумента като стойност, първоначалната стойност не се променяКогато предадем аргумента като препратка, първоначалната стойност също се променя
Действителните и официалните аргументи се съхраняват на отделни местаДействителните и официалните аргументи се съхраняват на едни и същи места в паметта
Аргументите за повикване по стойност са безопасни, тъй като стойността не се променяАргументите за обаждане чрез препратка са опасни, тъй като стойностите могат да бъдат актуализирани
Предава се копието на оригиналния аргументАдресът на оригиналния аргумент е предаден.

7. Какво е NULL указател в C?

A NULL указател е указател, който няма никакъв адрес, което означава, че има само стойност 0.

8. Какво е висящ показалец?

Висящ показалец е указател, чието пространство в паметта се изтрива, докато все още сочи към него. Това означава, че когато указателят сочи към някаква памет и друг указател го изтрие, тогава първият указател се нарича висящ указател.

9. Какво е указател към указател?

Когато указателят сочи към адреса на друг указател, ние го наричаме указател към концепция за указател. Нарича се още верига от указатели.

10. Какво е указател в C?

Всеки път, когато създаваме променлива, тя разпределя малко памет. Тази памет се отнася до адресния номер. Променливата, която съдържа този адресен номер, е указател. С други думи, показалецът е променлива, която съхранява адреса на стойността и следователно прави изпълнението много по-бързо.

11. Какви са различните спецификатори на класовете за съхранение в C?

Различните спецификатори на класовете за съхранение са регистър, автоматично, статично и външно

12. Какво представлява изтичане на памет?

Изтичането на памет е ситуация, когато забравяме да изтрием или освободим паметта след нейното използване.

13. Кога да се използват указатели в C?

Използваме указатели в следните случаи:

  • За да извлечете адреса на променливата
  • Да се ​​приложи предаване чрез препратка
  • Преминават големи конструкции

14. Какво е отстраняване на грешки?

Отстраняването на грешки е процесът на идентифициране и премахване на грешки. Когато има грешки при компилацията, не можем да изпълним кода.

15. Правилно ли е твърдението: strValue = „Въпроси за интервю C“?

Не. Трябва да използваме метода strcpy (), както е даден по-долу.

strcpy(myValue,"C interview questions");

16. Какво е FIFO?

FIFO означава First-In-First-Out. Това се използва главно в опашката структура на данни, където първо се извлича елементът, който вмъкваме първи. Използва се при операции за съхранение и извличане.

17. Каква е разликата между символите = и ==?

Equto = е математически оператор, който използваме, за да присвоим стойност на променлива, докато релационният оператор equato == се използва за сравняване на две стойности.

18. Напишете програма C, за да отпечатате „въпроси за програмиране C“ без точка и запетая.

void main() {
     if(printf("C programming questions")) {
     }
}

19. Какви са функциите, използвани при динамично разпределение на паметта?

Динамичното разпределение на паметта разпределя паметта по време на изпълнение, което означава, че по време на изпълнение можем да увеличим или намалим пространството на паметта. По-долу са функциите, които поддържат динамично разпределение на паметта:

  1. malloc (): Той не инициализира паметта и съдържа стойност за боклук
  2. calloc (): Той инициализира паметта със стойността 0.
  3. realloc (): Преразпределя паметта, за да заеме новия размер.
  4. Безплатно(): Освобождава паметта

20. Каква е разликата между malloc и calloc?

изчистванекаллок
Разпределя множество блокове паметРазпределя един блок памет
Той съдържа един аргументТой съдържа два аргумента
Той съхранява стойността на боклука по подразбиранеТой съхранява 0 като инициализация по подразбиране

21. Какво е автоматична ключова дума в езика за програмиране C?

Всяка локална променлива, която създаваме, е автоматично или автоматично събитие на променлива, въпреки че не споменаваме изрично използването на auto ключова дума. Локалната променлива винаги се декларира във функцията и по подразбиране съдържа стойност за боклук, ако не я инициализираме с никаква стойност.

22. Каква е ползата от функцията sprintf ()?

Най- sprint() функция връща броя символи в низа и не отпечатва стойността в конзолата. Вместо това го съхранява в буфера.

23. Възможно ли е да се компилира програма C без функцията main ()?

Да, можем да компилираме, но не можем да го изпълним. За да изпълним, можем да използваме оператора #define

24. Каква е разликата между getch () и getche ()?

Най- getch() чете един символ и не отпечатва стойността в изходния екран, докато getche() метод чете един символ и го отпечатва в изходния екран.

25. Кои са запазените думи в програмирането на C?

Резервираните думи са специални думи, които имат уникално значение или функционалност. Той присъства в библиотеката C и не можем да ги използваме като имена на променливи. Пример: void, return и т.н.

26. Каква е разликата между операторите за предварително нарастване (++ a) и след увеличаване (a ++)?

Префиксният оператор нараствания първо стойността и след това присвоява стойността на променливата. Операторът на постфикс увеличава стойността след използването на променливата.

27. Какво представлява нова последователност за бягство?

Евакуационната последователност на нов ред обозначава нов ред при отпечатване на изхода в конзолата. Можем да постигнем това, като използваме символа „\ n“.

28. Можем ли да съхраним стойността 32768 като тип данни int?

Не, не можем, тъй като целочислена стойност варира от -32768 до 32767. Вместо това можем да я използваме като long int.

29. Какво е C маркер?

Токенът е идентификатор в програмния език C. Той съдържа идентификатори, ключови думи, литерали, константи, оператори и специални символи.

30. Какво е методът на toupper () в C

Методът toupper () преобразува стойността от малки букви към горни случай.

31. Каква е разликата между декларирането на заглавния файл с <> и ”“?

Когато използваме <> с заглавния файл, той търси заглавния файл в рамките на вградения път, докато когато използваме „“, той търси заглавния файл в текущата работна директория.

32. Какво е typecasting?

Typecasting е процесът на конвертиране от един тип данни на друг. Например, можем да конвертираме стойност от float в цяло число изрично чрез typecasting.

33. Напишете програма C, за да превключите на числа, без да използвате третата променлива.

#include <stdio.h>

int main()
{
   int a = 5;
   int b = 10;
   printf("Values before swapping: a=%d b=%d", a,b);
   a = a + b;
   b = a - b;
   a = a - b;
   printf("Values after swapping: a=%d b=%d", a,b);

    return 0;
}
Values before swapping: a=5 b=10                                                                                                              
Values after swapping: a=10 b=5

34. Каква е разликата между while (0) и while (1)?

while(0) винаги връща false, което означава, че никога не изпълнява кода в цикъла while, докато while(1) винаги връща true и представлява безкраен цикъл, който непрекъснато изпълнява кода в цикъла и не излиза.

35. Какво представляват аргументите от командния ред?

Аргументите на командния ред позволяват на потребителите да предоставят входни данни от конзолата, като предават параметрите, споменати в основния метод.

36. Какво е статична променлива?

Статичните променливи са променливи, които споделят едни и същи стойности в кода. Можем да използваме static ключова дума за представяне на статична променлива.

37. Какво е рекурсия?

Рекурсия е процесът на извикване на същата функция от само себе си отново.

38. Каква е пълната форма на ANSI?

ANSI означава американски национален институт по стандартизация

39. Какво е указател към функция?

Указател, който съдържа препратка към функция, е указател към функция.

40. Коя ключова дума изпълнява безусловно разклоняване?

Можем да използваме goto ключова дума за извършване на безусловно разклоняване.

Translate »