100 найпопулярніших запитань і відповідей на співбесіді з програмування на C (PDF)

Ось питання та відповіді на співбесіді з програмування на C для нових і досвідчених кандидатів, щоб отримати роботу своєї мрії.

 

Запитання та відповіді на співбесіді з базовим програмуванням на C для першокурсників

1) Як побудувати оператор збільшення або зменшення в C?

Насправді це можна зробити двома способами. Один з них полягає у використанні оператора інкременту ++ та оператора декременту –. Наприклад, оператор «x++» означає збільшення значення x на 1. Подібним чином оператор «x –» означає зменшення значення x на 1. Інший спосіб запису операторів збільшення — це використання звичайного знака + або – знак мінус. У випадку «x++» це можна записати іншим способом: «x = x +1».

👉 Безкоштовне завантаження PDF: Запитання та відповіді на інтерв’ю з програмування C >>


2) Яка різниця між викликом за значенням і викликом за посиланням?

Під час використання виклику за значенням ви надсилаєте значення змінної як параметр функції, тоді як виклик за посиланням надсилає адресу змінної. Крім того, у випадку виклику за значенням на значення в параметрі не впливає будь-яка операція, яка відбувається, тоді як у випадку виклику за посиланням на значення може впливати процес у функції.

Питання та відповіді на співбесіді з програмування


3) Деякі кодери налагоджують свої програми, додаючи символи коментарів до деяких кодів замість того, щоб видаляти їх. Як це допомагає в налагодженні?

Розміщення символів коментарів /* */ навколо коду, що також називається «коментуванням», є способом ізоляції деяких кодів, які, на вашу думку, можуть спричиняти помилки в програмі, не видаляючи код. Ідея полягає в тому, що якщо код дійсно правильний, ви просто видаляєте символи коментарів і продовжуєте. Це також заощаджує ваш час і зусилля на повторному введенні кодів, якщо ви їх спочатку видалили.


4) Який еквівалентний код наступного оператора у форматі WHILE LOOP?

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

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

Відповідь:

a=1;

while (a<=100) {

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

a++;

}

5) Що таке стек?

Стек є однією з форм структури даних. Дані зберігаються в стеках за принципом FILO (First In Last Out). У будь-якому конкретному випадку доступна лише верхня частина стека, а це означає, що для того, щоб отримати дані, які зберігаються всередині стека, спочатку слід витягнути дані у верхній частині. Зберігання даних у стеку також називається PUSH, а пошук даних – POP.


6) Що таке файл послідовного доступу?

Під час написання програм, які будуть зберігати та отримувати дані у файлі, можна призначити цей файл у різні форми. Файл із послідовним доступом полягає в тому, що дані зберігаються в послідовному порядку: одні дані розміщуються у файлі за іншими. Щоб отримати доступ до певних даних у файлі послідовного доступу, дані потрібно зчитувати по одному за раз, доки не буде досягнуто потрібного.


7) Що таке ініціалізація змінної і чому вона важлива?

Це стосується процесу, у якому змінній присвоюється початкове значення перед її використанням у програмі. Без ініціалізації змінна матиме невідоме значення, що може призвести до непередбачуваних результатів під час використання в обчисленнях чи інших операціях.


8 Що таке спагетті-програмування?

Спагетті-програмування відноситься до кодів, які мають тенденцію заплутуватися та накладатися протягом усієї програми. Цей неструктурований підхід до кодування зазвичай пояснюється відсутністю досвіду з боку програміста. Спагетті-програмування робить програму складною та ускладнює аналіз кодів, тому його слід уникати, наскільки це можливо.


9) Відрізняйте вихідні коди від об’єктних кодів

Вихідні коди - це коди, написані програмістом. Він складається з команд та інших англійських ключових слів, які повинні вказувати комп’ютеру, що робити. Однак комп’ютери не зможуть зрозуміти вихідні коди. Тому вихідні коди компілюються за допомогою компілятора. Отримані результати є об’єктними кодами у форматі, який може зрозуміти процесор комп’ютера. в Програмування на C, вихідні коди зберігаються з розширенням файлу .C, тоді як коди об’єктів зберігаються з розширенням файлу .OBJ


10) Як у програмуванні на C вставити символи лапок (' і “) на екран виводу?

Це поширена проблема для початківців, оскільки лапки зазвичай є частиною оператора printf. Щоб вставити символ лапки як частину виведення, використовуйте специфікатори формату \' (для одинарних лапок) і \” (для подвійних лапок).


11) Яке використання символу '\0'?

Він називається кінцевим нульовим символом і використовується в основному для показу кінця значення рядка.


12) Яка різниця між символом = і символом ==?

Символ = часто використовується в математичних операціях. Він використовується для присвоєння значення певній змінній. З іншого боку, символ ==, також відомий як «дорівнює» або «еквівалент», є оператором відношення, який використовується для порівняння двох значень.


13) Що таке оператор модуля?

Оператор модуля виводить залишок від ділення. Він використовує символ відсотка (%). Наприклад: 10 % 3 = 1, тобто коли ви ділите 10 на 3, залишок дорівнює 1.


14) Що таке вкладений цикл?

Вкладений цикл — це цикл, який виконується всередині іншого циклу. Іншими словами, у вас є внутрішній цикл, який знаходиться всередині зовнішнього циклу. У цьому сценарії внутрішній цикл виконується стільки разів, скільки вказано зовнішнім циклом. Для кожного повороту зовнішньої петлі спочатку виконується внутрішня петля.


15) Який із наведених нижче операторів є неправильним і чому? ( >=, <=, <>, ==)

<> є неправильним. Хоча цей оператор правильно інтерпретується як «не дорівнює» під час написання умовних операторів, він не є правильним оператором для використання в Програмування на C. Замість цього необхідно використовувати оператор != для позначення умови «не дорівнює».


16) Порівняйте та порівняйте компілятори з інтерпретаторами.

Компілятори та інтерпретатори часто мають справу з тим, як виконуються програмні коди. Інтерпретатори виконують програмні коди по одному рядку, тоді як компілятори беруть програму в цілому та перетворюють її в об’єктний код перед її виконанням. Ключова відмінність тут полягає в тому, що у випадку інтерпретаторів програма може зіткнутися з синтаксичними помилками в середині виконання, і після цього зупиниться. З іншого боку, компілятори перевіряють синтаксис усієї програми та переходять до виконання лише тоді, коли синтаксичні помилки не знайдені.


17) Як оголосити змінну, яка буде містити рядкові значення?

Ключове слово char може одночасно містити лише 1 символьне значення. Створивши масив символів, ви можете зберігати в ньому рядкові значення. Приклад: «char MyName[50]; ” оголошує рядкову змінну з назвою MyName, яка може містити максимум 50 символів.


18) Чи можна використовувати фігурні дужки { } для включення одного рядка коду?

Хоча фігурні дужки в основному використовуються для групування кількох рядків коду, вони все одно працюватимуть без помилок, якщо ви використали їх для одного рядка. Деякі програмісти віддають перевагу цьому методу як способу організації кодів, щоб він виглядав зрозуміліше, особливо в умовних операторах.


19) Що таке файли заголовків і для чого вони використовуються в програмуванні на C?

Файли заголовків також відомі як файли бібліотек. Вони містять дві важливі речі: визначення та прототипи функцій, які використовуються в програмі. Простіше кажучи, команди, які ви використовуєте в програмуванні на C, насправді є функціями, які визначаються в кожному файлі заголовка. Кожен заголовний файл містить набір функцій. Наприклад: stdio.h — це файл заголовка, який містить визначення та прототипи таких команд, як printf і scanf.


20) Що таке синтаксична помилка?

Синтаксичні помилки пов'язані з помилками у використанні мови програмування. Можливо, це команда була написана з помилкою або команда, яку потрібно було ввести в нижньому регістрі, але натомість було введено великим регістром. Неправильне розміщення символу або його відсутність у рядку коду також може призвести до синтаксичної помилки.


21) Що таке змінні і чим вони відрізняються від констант?

Змінні та константи можуть спочатку виглядати схожими в тому сенсі, що обидва є ідентифікаторами, які складаються з одного символу або кількох символів (букв, цифр і кількох допустимих символів). Обидва також матимуть певну цінність. Значення змінної можна змінювати в програмі та використовувати в більшості операцій і обчислень. Константи мають значення лише в один момент часу, розміщуючи їх на початку програми. Це значення не змінюється в програмі. Наприклад, ви можете призначити константу з іменем PI і надати їй значення 3.1415. Потім ви можете використовувати його як PI у програмі, замість того, щоб писати 3.1415 щоразу, коли вам це потрібно.


22) Як отримати доступ до значень у масиві?

Масиви містять кілька елементів, залежно від розміру, який ви надали під час оголошення змінної. Кожному елементу присвоюється номер від 0 до кількості елементів-1. Щоб призначити або отримати значення певного елемента, зверніться до номера елемента. Наприклад: якщо у вас є оголошення, яке говорить «intscores[5];», то у вас є 5 доступних елементів, а саме: scores[0], scores[1], scores[2], scores[3] і scores[4 ].


23) Чи можна використовувати тип даних «int» для збереження значення 32768? чому

Ні. Тип даних «int» може зберігати значення від -32768 до 32767. Щоб зберегти 32768, замість цього можна використовувати «long int». Ви також можете використовувати «unsigned int», припускаючи, що ви не збираєтеся зберігати від’ємні значення.


24) Чи можна поєднати два або більше операторів, наприклад \n і \t, в одному рядку програмного коду?

Так, комбінувати оператори цілком допустимо, особливо якщо виникне така потреба.
Наприклад: ви можете мати такий код printf (“Hello\n\n\’World\'”) для виведення тексту «Hello» у першому рядку та «World», укладеного в одинарні лапки, у наступних двох рядках.

25) Чому не всі файли заголовків оголошуються в кожній програмі на C?

Вибір оголошення файлу заголовка у верхній частині кожної програми на C залежатиме від того, які команди/функції ви використовуватимете в цій програмі. Оскільки кожен файл заголовка містить різні визначення функцій і прототип, ви будете використовувати лише ті файли заголовків, які містять потрібні вам функції. Оголошення всіх файлів заголовків у кожній програмі лише збільшить загальний розмір файлу та завантаження програми, і це не вважається хорошим стилем програмування.


26) Коли у функції використовується ключове слово «void»?

Оголошуючи функції, ви вирішуєте, чи буде ця функція повертати значення чи ні. Якщо ця функція не повертає значення, наприклад, коли призначення функції — відобразити деякі результати на екрані, тоді «void» слід розмістити в крайній лівій частині заголовка функції. Якщо після виконання функції очікується повернення значення, тип даних значення, що повертається, розміщується замість «void».


27) Що таке складені висловлювання?

Складені оператори складаються з двох або більше програмних операторів, які виконуються разом. Зазвичай це відбувається під час обробки умов, коли серія операторів виконується, коли оцінюється TRUE або FALSE. Складені оператори також можуть виконуватися в циклі. Фігурні дужки { } ставляться перед і після складених операторів.


28) Яке значення алгоритму для програмування на C?

Перш ніж написати програму, спочатку потрібно створити алгоритм. Алгоритм забезпечує крок за кроком процедуру отримання рішення. Він також є схемою того, як розпочнеться та завершиться програма, зокрема, які процеси та обчислення задіяні.


29) У чому перевага масиву над окремими змінними?

Під час зберігання кількох пов’язаних даних доцільно використовувати масиви. Це пояснюється тим, що масиви називаються лише одним словом, за яким слідує номер елемента. Наприклад: щоб зберегти 1 результатів тестування 10 учня, можна використовувати 1 різних назв змінних (оцінка10, оцінка1, оцінка2… оцінка3). З масивами використовується лише одне ім’я, інші доступні через ім’я індексу (grade[10], grade[1], grade[0]… grade[1]).


30) Напишіть інструкцію циклу, яка покаже наступний результат:

1

12

123

1234

12345

Відповідь:

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

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

printf("%d",b);

printf("\n");

}

Питання та відповіді на співбесіді з програмування C для досвідчених

31) Що не так у цьому твердженні? scanf(“%d”,whatnumber);

Перед іменем змінної whatnumber потрібно поставити амперсанд & символ. Розміщення & означає, що будь-яке ціле значення, введене користувачем, зберігається за «адресою» назви змінної. Це поширена помилка програмістів, яка часто призводить до логічних помилок.


32) Як ви генеруєте випадкові числа в C?

Випадкові числа генеруються в C за допомогою rand() command, Наприклад: anyNum = rand() генеруватиме будь-яке ціле число, починаючи з 0, припускаючи, що anyNum є змінною типу integer.


33) У чому може бути проблема, якщо дійсне ім’я функції, наприклад tolower(), повідомляється компілятором C як невизначене?

Найімовірнішою причиною цієї помилки є те, що файл заголовка для цієї функції не було зазначено у верхній частині програми. Файли заголовків містять визначення та прототип функцій і команд, що використовуються в програмі на Сі. У випадку «tolower()», код «#include ” має бути присутнім на початку програми.


34) Що таке коментарі та як їх вставити в програму на C?

Коментарі є чудовим способом додати зауваження чи опис до програми. Він може слугувати нагадуванням про те, що таке програма, або описом того, чому певний код чи функцію було розміщено саме там. Коментарі починаються з символів /* і закінчуються символами */. Коментарі можуть бути одним рядком або навіть охоплювати кілька рядків. Його можна розмістити в будь-якому місці програми.


35) Що таке налагодження?

Налагодження — це процес виявлення помилок у програмі. Під час компіляції програми виявлені помилки призведуть до повної зупинки виконання програми. У цьому стані програміст шукатиме можливі частини, де сталася помилка. Налагодження забезпечує усунення помилок і відіграє важливу роль у забезпеченні досягнення очікуваних результатів програми.


36) Що робить оператор && у програмному коді?

&& також називають оператором І. Під час використання цього оператора всі вказані умови мають мати значення TRUE, перш ніж можна буде виконати наступну дію. Якщо у вас є 10 умов і всі, крім 1, не вдається оцінити як TRUE, весь оператор умови вже оцінюється як FALSE


37) Яку команду чи код у програмуванні на C можна використати, щоб визначити, парне чи непарне число?

Єдиної команди або функція в C який може перевірити, парне чи непарне число. Однак це можна зробити, поділивши це число на 2, а потім перевіривши залишок. Якщо залишок дорівнює 0, то це число парне, інакше – непарне. Ви можете записати це в коді так:

if (num % 2 == 0)

printf("EVEN");

else

printf("ODD");

38) Що означає формат %10.2, включений у оператор printf?

Цей формат використовується для двох речей: щоб встановити кількість пробілів, відведених для вихідного числа, і щоб встановити кількість знаків після коми. Число перед десятковою крапкою призначено для виділеного місця, у цьому випадку для вихідного числа буде виділено 10 пробілів. Якщо вихідне число займає менше 10 місць, перед фактичним вихідним числом буде вставлено додаткові символи пробілу. Число після коми визначає кількість знаків після коми, у цьому випадку це 2 проміжки після коми.


39) Що таке логічні помилки і чим вони відрізняються від синтаксичних?

Програма, яка містить логічні помилки, як правило, проходить процес компіляції, але кінцевий результат може бути не очікуваним. Це трапляється, коли в код вставлено неправильну формулу або виконано неправильну послідовність команд. Синтаксичні помилки, з іншого боку, стосуються неправильних команд, які написані з помилками або не розпізнаються компілятором.


40) Які існують різні типи керуючих структур у програмуванні?

У програмуванні існує 3 основні керуючі структури: Послідовність, Вибір і Повторення. Послідовне керування слідує за потоком зверху вниз під час виконання програми, так що спочатку виконується крок 1, потім крок 2, аж до виконання останнього кроку. Вибір має справу з умовними операторами, які означають, що коди виконуються залежно від оцінки умов як TRUE або FALSE. Це також означає, що не всі коди можуть бути виконані, і всередині існують альтернативні потоки. Повторення також відомі як структури циклу, і вони повторюють один або два оператори програми, встановлені лічильником.


41) Що таке || і як він працює в програмі?

|| також відомий як оператор АБО в програмуванні на C. При використанні || щоб оцінити логічні умови, будь-яка умова, яка оцінюється як TRUE, відобразить увесь оператор умови як TRUE.


42) Чи можна використовувати функцію if для порівняння рядків?

Ні. Команду «if» можна використовувати лише для порівняння числових значень і односимвольних значень. Для порівняння рядкових значень існує інша функція під назвою strcmp, яка працює саме з рядками.


43) Що таке директиви препроцесора?

Директиви препроцесора розміщуються на початку кожної програми на Сі. Тут вказуються файли бібліотеки, які залежатимуть від того, які функції використовуватимуться в програмі. Іншим використанням директив препроцесора є оголошення констант. Директиви препроцесора починаються з символу #.


44) Яким буде результат наступного умовного оператора, якщо значення змінної s дорівнює 10?

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

Результат буде ІСТИННИМ. Оскільки значення s дорівнює 10, s >= 10 оцінюється як ІСТИНА, оскільки s не перевищує 10, але все ще дорівнює 10. s< 25 також є ІСТИНОЮ, оскільки 10 менше 25. Те саме, s!=12 , що означає, що s не дорівнює 12, оцінюється як TRUE. && є оператором AND і дотримується правила: якщо всі окремі умови ІСТИННІ, то ІСТИННИМ є весь оператор.


45) Опишіть порядок пріоритету щодо операторів у C.

Порядок пріоритету визначає, яка операція має бути виконана першою в операторі операції чи умовному операторі. На найвищому рівні пріоритету знаходяться унарні оператори !, +, – і &. За ним йдуть звичайні математичні оператори (спершу *, / і модуль %, а потім + і -). Далі в рядку йдуть оператори відношення <, <=, >= і >. Після цього йдуть два оператори рівності == та !=. Логічні оператори && та || далі оцінюються. На останньому рівні знаходиться оператор присвоєння =.


46) Що не так з цим твердженням? myName = «Робін»;

Ви не можете використовувати знак = для призначення значень рядковій змінній. Замість цього використовуйте функцію strcpy. Правильний оператор буде таким: strcpy(myName, “Robin”);


47) Як визначити довжину рядкового значення, яке було збережено у змінній?

Щоб отримати довжину рядкового значення, використовуйте функцію strlen(). Наприклад, якщо у вас є змінна з іменем FullName, ви можете отримати довжину збереженого значення рядка за допомогою цього оператора: I = strlen(FullName); змінна I тепер матиме довжину символів рядкового значення.


48) Чи можна ініціалізувати змінну під час її оголошення?

Так, вам не потрібно писати окремий оператор присвоєння після оголошення змінної, якщо ви не плануєте змінити його пізніше. Наприклад: char planet[15] = “Земля”; робить дві речі: оголошує рядкову змінну з назвою planet, а потім ініціалізує її значенням «Earth».


49) Чому мова C вважається мовою середнього рівня?

Це пояснюється тим, що мова C багата функціями, завдяки яким вона веде себе як мова високого рівня, але водночас може взаємодіяти з обладнанням за допомогою методів низького рівня. Використання добре структурованого підходу до програмування в поєднанні з англійськими словами, що використовуються у функціях, робить його дією як мова високого рівня. З іншого боку, C може мати прямий доступ до структур пам'яті, подібних до програм мови асемблера.


50) Які різні розширення файлів використовуються під час програмування на C?

Вихідні коди на C зберігаються з розширенням файлу .C. Файли заголовків або бібліотеки мають розширення .H. Кожного разу, коли вихідний код програми успішно компілюється, він створює об’єктний файл .OBJ і виконуваний файл .EXE.


51) Що таке зарезервовані слова?

Зарезервовані слова - це слова, які є частиною стандартної бібліотеки мови C. Це означає, що зарезервовані слова мають особливе значення і тому не можуть використовуватися для цілей, відмінних від тих, для яких вони призначені спочатку. Прикладами зарезервованих слів є int, void і return.


52) Що таке пов'язаний список?

Зв’язаний список складається з вузлів, які з’єднані з іншим. У програмуванні на C пов’язані списки створюються за допомогою покажчиків. Використання пов’язаних списків є одним із ефективних способів використання пам’яті для зберігання.


53) Що таке FIFO?

У програмуванні на C існує структура даних, відома як черга. У цій структурі дані зберігаються та доступ до них здійснюється у форматі FIFO або «першим прийшов – першим вийшов». Черга представляє рядок, у якому перші збережені дані також будуть першими доступними.


54) Що таке бінарні дерева?

Бінарні дерева фактично є розширенням концепції пов’язаних списків. Бінарне дерево має два покажчики, лівий і правий. Кожна сторона може далі розгалужуватися, утворюючи додаткові вузли, кожен з яких також має два покажчики. Дізнайтеся більше про Бінарне дерево в структурі даних якщо ви зацікавлені.


55) Не всі зарезервовані слова пишуться з малої літери. Правда чи брехня?

НЕПРАВДА. Усі зарезервовані слова повинні бути написані з малої літери; інакше компілятор C інтерпретував би це як неідентифіковане та недійсне.


56) Яка різниця між виразом “++a” та “a++”?

У першому виразі приріст спочатку відбуватиметься для змінної a, а отримане значення буде тим, яке використовуватиметься. Це також відоме як приріст префікса. У другому виразі поточне значення змінної a буде таким, яке буде використано в операції, перш ніж значення самої a буде збільшено. Це також відоме як постфіксне збільшення.


57) Що станеться з X у цьому виразі: X += 15; (припускаючи, що значення X дорівнює 5)

X +=15 — це короткий спосіб запису X = X + 15, отже, якщо початкове значення X дорівнює 5, то 5 + 15 = 20.


58) У мові C змінні NAME, name та Name однакові. Правда чи брехня?

ПОМИЛКОВИЙ. Мова C чутлива до регістру. Таким чином, NAME, name і Name є трьома унікальними змінними.


59) Що таке нескінченний цикл?

Нескінченний цикл може означати дві речі. Одна з них полягає в тому, що вона була розроблена для безперервного циклу, доки не буде виконана умова всередині циклу, після чого функція перерви призведе до виходу програми з циклу. Інша ідея нескінченного циклу полягає в тому, що була записана неправильна умова циклу, що призвело до того, що цикл постійно виконується з помилками. Нескінченні цикли часто називають нескінченними циклами.


60) Що таке блок-схема програми і як вона допомагає при написанні програми?

Блок-схема надає візуальне представлення крок за кроком процедури вирішення певної проблеми. Блок-схеми складаються із символів, кожен із яких має форму різних фігур. Кожна фігура може представляти певну сутність у всій структурі програми, таку як процес, умова або навіть фаза введення/виведення.


61) Що не так із цим оператором програми? порожнеча = 10;

Слово void є зарезервованим словом у мові C. Ви не можете використовувати зарезервовані слова як визначену користувачем змінну.


62) Чи дійсний цей оператор програми? INT = 10.50;

Якщо припустити, що INT є змінною типу float, це твердження дійсне. Хтось може подумати, що INT є зарезервованим словом і його не можна використовувати для інших цілей. Однак пам’ятайте, що зарезервовані слова виражаються малими літерами, тому компілятор C не інтерпретуватиме це як зарезервоване слово.


63) Що таке справжні аргументи?

Коли ви створюєте та використовуєте функції, які повинні виконувати дію над деякими заданими значеннями, вам потрібно передати ці дані цій функції. Значення, які передаються в викликану функцію, називаються фактичними аргументами.


64) Що таке escape-послідовність нового рядка?

Екран-послідовність нового рядка представлена ​​символом \n. Це використовується для вставки нового рядка під час відображення даних на екрані виводу. Більше пробілів можна додати, вставивши більше символів \n. Наприклад, \n\n вставить два пробіли. Екран-послідовність нового рядка може бути розміщена перед фактичним вихідним виразом або після нього.


65) Що таке перенаправлення виводу?

Це процес передачі даних на альтернативне джерело виводу, відмінне від екрана дисплея. Перенаправлення виводу дозволяє програмі зберігати свій вивід у файл. Наприклад, якщо у вас є програма з іменем COMPUTE, введення цього в командному рядку як COMPUTE >DATA може приймати вхідні дані від користувача, виконувати певні обчислення, а потім перенаправляти вихідні дані до файлу з іменем DATA замість того, щоб показувати його на екрані .


66) Що таке помилки під час виконання?

Це помилки, які виникають під час виконання програми. Один з поширених випадків, коли можуть статися помилки під час виконання, це коли ви намагаєтесь поділити число на нуль. Коли виникають помилки під час виконання, виконання програми призупиняється, показуючи, який рядок програми викликав помилку.


67) Яка різниця між функціями abs() і fabs()?

Ці 2 функції в основному виконують ту саму дію, тобто отримують абсолютне значення заданого значення. Abs() використовується для цілих значень, тоді як fabs() використовується для чисел плаваючого типу. Крім того, прототип для abs() знаходиться під , тоді як fabs() знаходиться під .


68) Що таке формальні параметри?

Під час використання функцій у програмі C формальні параметри містять значення, передані функцією, що викликає. Значення замінюються в ці формальні параметри та використовуються в будь-яких операціях, як зазначено в основному тілі викликаної функції.


69) Що таке структури управління?

Керуючі структури беруть на себе відповідальність за виконання інструкцій у програмі. Це означає, що програмний потік може не обов’язково переходити від одного оператора до наступного, натомість може знадобитися перейти до деяких альтернативних частин або обійти їх залежно від результату умовних операторів.


70) Напишіть простий фрагмент коду, який буде перевіряти, додатне чи від’ємне число

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) Коли оператор «switch» є кращим перед оператором «if»?

Команда заява перемикача найкраще використовувати при роботі з вибірками на основі однієї змінної або виразу. Однак оператори switch можуть обчислювати лише цілі та символьні типи даних.


72) Що таке глобальні змінні та як їх оголошувати?

Глобальні змінні - це змінні, до яких можна отримати доступ і маніпулювати ними будь-де в програмі. Щоб зробити змінну глобальною, розмістіть оголошення змінної у верхній частині програми, одразу після розділу директив препроцесора.


73) Що таке перелічувані типи?

Перераховані типи дозволяють програмісту використовувати більш значущі слова як значення змінної. Кожен елемент у змінній перерахованого типу фактично пов’язаний із числовим кодом. Наприклад, можна створити змінну перерахованого типу з назвою DAYS, значення якої: Monday, вівторок… неділя.


74) Що робить функція toupper()?

Він використовується для перетворення будь-якої літери у режим верхнього регістру. Прототип функції Toupper() оголошено в . Зауважте, що ця функція перетворює лише один символ, а не весь рядок.


75) Чи можливо мати функцію як параметр в іншій функції?

Так, це дозволено в програмуванні на C. Вам просто потрібно включити весь прототип функції в поле параметрів іншої функції, де він буде використовуватися.


76) Що таке багатовимірні масиви?

Багатовимірні масиви здатні зберігати дані у двовимірній або більше вимірній структурі. Наприклад, ви можете використовувати двовимірний масив для зберігання поточного положення фігур у шахів або положення гравців у програмі для гри в хрестики-нулики.


77) Яку функцію в C можна використовувати для додавання рядка до іншого рядка?

Функція strcat. Він приймає два параметри, вихідний рядок і значення рядка, які додаються до вихідного рядка.


78) Яка різниця між функціями getch() і getche()?

Обидві функції прийматимуть введене значення символу від користувача. Під час використання getch() натиснута клавіша не з’являтиметься на екрані, вона буде автоматично зафіксована та присвоєна змінній. При використанні getche() клавіша, яку натиснув користувач, з'явиться на екрані, одночасно призначаючись змінній.


79) Чи виконують ці два програмні оператори однаковий вивід? 1) scanf(“%c”, &літера); 2) letter=getchar()

Так, вони обидва роблять те саме, тобто приймають наступну клавішу, натиснуту користувачем, і призначають її змінній під назвою буква.


80) Що таке типи структур у C?

Типи структур переважно використовуються для зберігання записів. Запис складається з пов’язаних полів. Це полегшує організацію групи пов’язаних даних.


81) Що означають символи «r» і «w» під час написання програм, які використовуватимуть файли?

«r» означає «читати» і відкриє файл як вхідні дані, з якого потрібно отримати дані. «w» означає «записати» і відкриває файл для виведення. Попередні дані, які зберігалися в цьому файлі, буде видалено.


82) Чим текстові файли відрізняються від бінарних?

Текстові файли містять дані, які легко сприймаються людьми. Він містить літери, цифри та інші символи. З іншого боку, бінарні файли містять 1 і 0, які можуть інтерпретувати лише комп’ютери.


83) чи можна створювати власні файли заголовків?

Так, можна створити власний файл заголовка. Просто включіть у нього прототипи функцій, які ви хочете використовувати у своїй програмі, і скористайтеся директивою #include, за якою слідує назва вашого файлу заголовка.


84) Що таке динамічна структура даних?

Динамічна структура даних забезпечує засоби для більш ефективного зберігання даних у пам’яті. Використовуючи Використовуючи динамічний розподіл пам'яті, ваша програма отримуватиме доступ до просторів пам’яті за потреби. Це відрізняється від статичної структури даних, де програміст повинен вказати фіксовану кількість пам’яті, яка буде використовуватися в програмі.


85) Які типи даних існують у C?

Основний типи даних у C це int, char і float. Int використовується для оголошення змінних, які будуть зберігати цілі значення. Float використовується для зберігання дійсних чисел. Char може зберігати окремі значення символів.


86) Яка загальна форма програми на С?

Програма AC починається з директив препроцесора, у яких програміст вказує, який файл заголовка та які константи (якщо такі є) використовувати. Далі йде заголовок головної функції. У межах основної функції міститься оголошення змінної та оператор програми.


87) У чому перевага файлу з довільним доступом?

Якщо обсяг даних, що зберігаються у файлі, досить великий, використання довільного доступу дозволить вам шукати в ньому швидше. Якби це був файл із послідовним доступом, вам довелося б переглядати один запис за раз, доки не досягнете цільових даних. Файл із довільним доступом дозволяє переходити безпосередньо до цільової адреси, де розташовані дані.


88) Що трапиться в операторі switch, якщо оператор break буде пропущено?

Якщо оператор перерви не було розміщено в кінці конкретної частини case? Він перейде до наступної частини регістра, що, можливо, спричинить неправильний вихід.


89) Опишіть, як масиви можуть бути передані до визначеної користувачем функції

Варто зауважити, що ви не можете передати функції весь масив. Замість цього ви передаєте йому покажчик, який вказуватиме на перший елемент масиву в пам’яті. Для цього необхідно вказати назву масиву без дужок.


90) Що таке покажчики?

Вказівники точки до певних областей пам’яті. Покажчики містять адресу змінної, яка, у свою чергу, може містити значення або навіть адресу іншої пам'яті.


91) Чи можете ви передати функції цілу структуру?

Так, можна передати всю структуру функції у виклику за стилем методу. Однак деякі програмісти вважають за краще оголошувати структуру глобально, а потім передавати змінну цього структурного типу у функцію. Цей метод допомагає підтримувати послідовність і одноманітність щодо типу аргументу.


92) Що таке функція gets()?

Команда gets() function дозволяє повний рядковий введення даних від користувача. Коли користувач натискає клавішу enter для завершення введення, весь рядок символів зберігається в рядковій змінній. Зауважте, що клавіша enter не включена до змінної, натомість після останнього символу ставиться нульовий символ закінчення \0.


93) Символ % має спеціальне використання в операторі printf. Як би ви розмістили цей символ як частину виводу на екрані?

Ви можете зробити це, використовуючи %% в операторі printf. Наприклад, ви можете написати printf(“10%%”), щоб результат відображався на екрані як 10%.


94) Як ви шукаєте дані у файлі даних за допомогою методу довільного доступу?

Використовувати fseek() функція для виконання введення/виведення довільного доступу до файлу. Після відкриття файлу функцією fopen() для роботи функції fseek знадобляться три параметри: покажчик файлу на файл, кількість байтів для пошуку та точка походження у файлі.


95) Чи включено коментарі на етапі компіляції та також розміщено у файлі EXE?

Ні, коментарі, з якими зіткнувся компілятор, не враховуються. Коментарі призначені лише для керівництва програмістом і не мають жодного іншого значного використання у функціональності програми.


96) Чи є вбудована функція в C, яку можна використовувати для сортування даних?

Так, використовуйте qsort() функція. Також можна створювати визначені користувачем функції для сортування, наприклад ті, що базуються на алгоритмі сортування повітряної кулі та сортування бульбашкою.


97) Які переваги та недоліки купи?

Зберігання даних у купі відбувається повільніше, ніж при використанні стека. Однак головною перевагою використання купи є її гнучкість. Це тому, що пам'ять у цій структурі може бути виділена та видалена в будь-якому певному порядку. Повільність у купі можна компенсувати, якщо алгоритм був добре розроблений і реалізований.


98) Як перетворити рядки на числа на C?

Ви можете написати власні функції для перетворення рядка в число або замість цього використовувати вбудовані функції C. Ви можете використовувати atof для перетворення на значення з плаваючою комою, atoi для перетворення в ціле число та atol для перетворення у довге ціле значення.


99) Створіть простий фрагмент коду, який буде міняти місцями значення двох змінних num1 і num2.

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) Яка користь від крапки з комою (;) у кінці кожного оператора програми?

Це стосується процесу аналізу та компіляції коду. Крапка з комою діє як роздільник, щоб компілятор знав, де закінчується кожен оператор, і міг розділити оператор на менші елементи для перевірки синтаксису.

Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)