100 лучших вопросов и ответов на интервью по программированию на языке C (PDF)

Вот вопросы и ответы на собеседовании по программированию на языке C для новичков и опытных кандидатов, желающих получить работу своей мечты.

 

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

1) Как создать оператор увеличения или уменьшения в C?

На самом деле есть два способа сделать это. Один из них – использовать оператор инкремента ++ и оператор декремента –. Например, оператор «x++» означает увеличение значения x на 1. Аналогично, оператор «x –» означает уменьшение значения x на 1. Другой способ написания операторов увеличения — использовать обычный знак + плюс. или – знак минус. В случае «x++» его можно записать иначе: «x = x +1».

👉 Скачать бесплатно PDF-файл: Интервью по программированию на языке C, вопросы и ответы >>


2) В чем разница между вызовом по значению и вызовом по ссылке?

При использовании вызова по значению вы отправляете значение переменной в качестве параметра функции, тогда как вызов по ссылке отправляет адрес переменной. Кроме того, при вызове по значению на значение параметра не влияет никакая выполняемая операция, а в случае вызова по ссылке на значения может влиять процесс внутри функции.

Вопросы и ответы на собеседовании по программированию на языке C


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 (первым поступило, последним отправлено). В любом конкретном случае доступна только верхняя часть стека, а это означает, что для извлечения данных, хранящихся внутри стека, сначала следует извлечь данные из верхней части. Хранение данных в стеке также называется 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 может одновременно содержать только одно символьное значение. Создав массив символов, вы можете хранить в нем строковые значения. Пример: «char MyName[1]; » объявляет строковую переменную с именем MyName, которая может содержать максимум 50 символов.


18) Можно ли использовать фигурные скобки { } для заключения одной строки кода?

Хотя фигурные скобки в основном используются для группировки нескольких строк кода, они все равно будут работать без ошибок, если вы использовали их для одной строки. Некоторые программисты предпочитают этот метод как способ организации кода, чтобы он выглядел более понятным, особенно в условных операторах.


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

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


20) Что такое синтаксическая ошибка?

Синтаксические ошибки связаны с ошибками в использовании языка программирования. Возможно, это команда с ошибкой или команда, которая должна была быть введена в нижнем регистре, но вместо этого была введена с заглавными буквами. Неуместный символ или его отсутствие где-то в строке кода также может привести к синтаксической ошибке.


21) Что такое переменные и чем они отличаются от констант?

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


22) Как получить доступ к значениям в массиве?

Массивы содержат определенное количество элементов, в зависимости от размера, который вы указали при объявлении переменной. Каждому элементу присвоен номер от 0 до количества элементов-1. Чтобы присвоить или получить значение определенного элемента, обратитесь к номеру элемента. Например: если у вас есть объявление с надписью «intscores[5];», то у вас есть 5 доступных элементов, а именно: оценки[0], оценки[1], оценки[2], оценки[3] и оценки[4]. ].


23) Могу ли я использовать тип данных «int» для хранения значения 32768? Почему?

Нет. Тип данных «int» способен хранить значения от -32768 до 32767. Чтобы сохранить 32768, вместо этого можно использовать «long int». Вы также можете использовать «unsigned int», при условии, что вы не собираетесь хранить отрицательные значения.


24) Могут ли два или более оператора, такие как \n и \t, быть объединены в одной строке программного кода?

Да, объединять операторов вполне допустимо, особенно если в этом возникает необходимость.
Например: у вас может быть такой код, как printf (“Hello\n\n\’World\'”) для вывода текста «Привет» в первой строке и «Мир», заключенного в одинарные кавычки, в следующих двух строках.

25) Почему не все заголовочные файлы объявляются в каждой программе на языке C?

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


26) Когда в функции используется ключевое слово void?

При объявлении функций вы решаете, будет ли эта функция возвращать значение или нет. Если эта функция не возвращает значение, например, когда целью функции является отображение некоторых выходных данных на экране, то «void» должен быть помещен в самую левую часть заголовка функции. Если после выполнения функции ожидается возвращаемое значение, тип данных возвращаемого значения помещается вместо «void».


27) Что такое сложные высказывания?

Составные операторы состоят из двух или более операторов программы, которые выполняются вместе. Обычно это происходит при обработке условий, в которых выполняется серия операторов, когда оценивается ИСТИНА или ЛОЖЬ. Составные операторы также могут выполняться внутри цикла. Фигурные скобки { } ставятся до и после составных операторов.


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 — это переменная целочисленного типа.


33) В чем может быть проблема, если допустимое имя функции, например tolower(), сообщается компилятором C как неопределенное?

Наиболее вероятная причина этой ошибки заключается в том, что файл заголовка для этой функции не был указан в верхней части программы. Заголовочные файлы содержат определения и прототипы функций и команд, используемых в программе C. В случае «tolower()» код «#include » должен присутствовать в начале программы.


34) Что такое комментарии и как их вставлять в программу на C?

Комментарии являются отличным способом добавить в программу некоторые примечания или описания. Он может служить напоминанием о том, что представляет собой программа, или описанием того, почему определенный код или функция вообще были помещены туда. Комментарии начинаются с /* и заканчиваются символами */. Комментарии могут быть одной строкой или даже занимать несколько строк. Его можно разместить в любом месте программы.


35) Что такое отладка?

Отладка — это процесс выявления ошибок в программе. Во время компиляции программы обнаруженные ошибки полностью останавливают выполнение программы. В этом состоянии программист будет искать возможные участки, где произошла ошибка. Отладка обеспечивает удаление ошибок и играет важную роль в обеспечении достижения ожидаемых результатов программы.


36) Что делает оператор && в программном коде?

&& также называется оператором AND. При использовании этого оператора все указанные условия должны быть 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, вплоть до выполнения последнего шага. Выбор имеет дело с условными операторами, что означает, что коды выполняются в зависимости от оценки условий как ИСТИНА или ЛОЖЬ. Это также означает, что не все коды могут быть выполнены и внутри существуют альтернативные потоки. Повторы также известны как структуры цикла и повторяют один или два оператора программы, заданные счетчиком.


41) Что такое || оператор и как он работает в программе?

|| также известен как оператор ИЛИ в программировании на языке C. При использовании || для оценки логических условий любое условие, которое оценивается как ИСТИНА, отображает весь оператор условия как ИСТИНА.


42) Можно ли использовать функцию «если» при сравнении строк?

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


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

Директивы препроцессора размещаются в начале каждой программы на языке C. Здесь указываются файлы библиотеки, которые будут зависеть от того, какие функции будут использоваться в программе. Другое использование директив препроцессора — это объявление констант. Директивы препроцессора начинаются с символа #.


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, который следует правилу, согласно которому, если все отдельные условия имеют значение TRUE, все утверждение является TRUE.


45) Опишите порядок старшинства операторов в C.

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


46) Что не так в этом утверждении? моеИмя = «Робин»;

Вы не можете использовать знак = для присвоения значений строковой переменной. Вместо этого используйте функцию strcpy. Правильный оператор: strcpy(myName, «Робин»);


47) Как определить длину строкового значения, хранящегося в переменной?

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


48) Можно ли инициализировать переменную в момент ее объявления?

Да, вам не нужно писать отдельный оператор присваивания после объявления переменной, если только вы не планируете изменить его позже. Например: charplanet[15] = «Земля»; делает две вещи: объявляет строковую переменную с именем «планета», а затем инициализирует ее значением «Земля».


49) Почему язык C считается языком среднего уровня?

Это связано с тем, что язык C богат функциями, благодаря которым он ведет себя как язык высокого уровня и в то же время может взаимодействовать с оборудованием, используя методы низкого уровня. Использование хорошо структурированного подхода к программированию в сочетании с английскими словами, используемыми в функциях, делает его языком высокого уровня. С другой стороны, C может напрямую обращаться к структурам памяти, подобно процедурам языка ассемблера.


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

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


51) Что такое зарезервированные слова?

Зарезервированные слова — это слова, являющиеся частью стандартной библиотеки языка C. Это означает, что зарезервированные слова имеют особое значение и поэтому не могут использоваться для целей, отличных от тех, для которых они изначально предназначены. Примеры зарезервированных слов: int, void и return.


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

Связанный список состоит из узлов, связанных друг с другом. В программировании на языке C связанные списки создаются с помощью указателей. Использование связанных списков — один из эффективных способов использования памяти для хранения.


53) Что такое ФИФО?

В программировании на языке C существует структура данных, известная как очередь. В этой структуре данные хранятся и доступны в формате FIFO или «первым пришел — первым обслужен». Очередь представляет собой строку, в которой первые сохраненные данные также будут первыми доступными.


54) Что такое бинарные деревья?

Двоичные деревья на самом деле являются расширением концепции связанных списков. Бинарное дерево имеет два указателя: левый и правый. Каждая сторона может далее разветвляться для формирования дополнительных узлов, каждый из которых также имеет два указателя. Узнать больше о Двоичное дерево в структуре данных если ты заинтересован.


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

ЛОЖЬ. Все зарезервированные слова должны быть написаны строчными буквами; в противном случае компилятор C интерпретировал бы это как неопознанное и недопустимое.


56) Чем отличаются выражения «++а» и «а++»?

В первом выражении приращение будет происходить сначала по переменной 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) Действительно ли это программное утверждение? ЦЕЛОЕ = 10.50;

Если предположить, что INT является переменной типа float, это утверждение допустимо. Можно подумать, что INT — зарезервированное слово и его нельзя использовать для других целей. Однако помните, что зарезервированные слова пишутся строчными буквами, поэтому компилятор C не интерпретирует их как зарезервированные слова.


63) Каковы реальные аргументы?

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


64) Что такое escape-последовательность новой строки?

Escape-последовательность новой строки представлена ​​символом \n. Используется для вставки новой строки при отображении данных на экране вывода. Больше пробелов можно добавить, вставив больше символов \n. Например, \n\n вставит два пробела. Escape-последовательность новой строки может быть помещена до фактического выходного выражения или после него.


65) Что такое перенаправление вывода?

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


66) Что такое ошибки времени выполнения?

Это ошибки, возникающие во время выполнения программы. Одним из распространенных случаев возникновения ошибок во время выполнения является попытка разделить число на ноль. При возникновении ошибок во время выполнения выполнение программы приостанавливается, показывая, какая строка программы вызвала ошибку.


67) В чем разница между функциями abs() и fabs()?

Эти две функции по сути выполняют одно и то же действие: получают абсолютное значение заданного значения. Abs() используется для целочисленных значений, а fabs() — для чисел плавающего типа. Кроме того, прототип abs() находится под , пока fabs() находится под .


68) Что такое формальные параметры?

При использовании функций в программе на языке C формальные параметры содержат значения, переданные вызывающей функцией. Значения подставляются в эти формальные параметры и используются во всех операциях, указанных в основном теле вызываемой функции.


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

Структуры управления отвечают за выполнение инструкций в программе. Это означает, что поток программы не обязательно может переходить от одного оператора к следующему, а, скорее, может потребоваться передать или обойти некоторые альтернативные части, в зависимости от результата условных операторов.


70) Напишите простой фрагмент кода, который будет проверять, является ли число положительным или отрицательным.

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) Когда оператор «переключатель» предпочтительнее оператора «если»?

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


72) Что такое глобальные переменные и как их объявлять?

Глобальные переменные — это переменные, к которым можно получить доступ и которыми можно манипулировать в любом месте программы. Чтобы сделать переменную глобальной, поместите объявление переменной в верхнюю часть программы, сразу после раздела директив препроцессора.


73) Что такое перечислимые типы?

Перечислимые типы позволяют программисту использовать более значимые слова в качестве значений переменной. Каждый элемент переменной перечислимого типа фактически связан с числовым кодом. Например, можно создать переменную перечислимого типа с именем DAYS, значения которой будут Monday, вторник… воскресенье.


74) Что делает функция toupper()?

Он используется для преобразования любой буквы в верхний регистр. Прототип функции Toupper() объявлен в . Обратите внимание, что эта функция преобразует только один символ, а не всю строку.


75) Можно ли использовать функцию в качестве параметра в другой функции?

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


76) Что такое многомерные массивы?

Многомерные массивы способны хранить данные в двухмерной или более размерной структуре. Например, вы можете использовать двумерный массив для хранения текущего положения фигур в шахматной игре или положения игроков в программе «крестики-нолики».


77) Какую функцию в C можно использовать для добавления одной строки к другой строке?

Функция стркат. Он принимает два параметра: исходную строку и строковое значение, добавляемое к исходной строке.


78) В чем разница между функциями getch() и getche()?

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


79) Выполняют ли эти два оператора программы один и тот же вывод? 1) scanf("%c", &letter); 2) письмо=getchar()

Да, они оба делают одно и то же: принимают следующую клавишу, нажатую пользователем, и присваивают ее переменной с именем Letter.


80) Что такое типы структур в C?

Типы структур в основном используются для хранения записей. Запись состоит из связанных полей. Это упрощает организацию группы связанных данных.


81) Что означают символы «r» и «w» при написании программ, использующих файлы?

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


82) В чем разница между текстовыми файлами и двоичными файлами?

Текстовые файлы содержат данные, которые легко понятны людям. Он включает в себя буквы, цифры и другие символы. С другой стороны, двоичные файлы содержат 1 и 0, которые могут интерпретироваться только компьютерами.


83) можно ли создавать свои заголовочные файлы?

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


84) Что такое динамическая структура данных?

Динамическая структура данных обеспечивает средства для более эффективного хранения данных в памяти. Использование Использование динамическое распределение памяти, ваша программа будет обращаться к областям памяти по мере необходимости. В этом отличие от статической структуры данных, в которой программист должен указать фиксированное количество памяти, которая будет использоваться в программе.


85) Какие типы данных существуют в C?

Основа типы данных в C являются int, char и float. Int используется для объявления переменных, которые будут хранить целочисленные значения. Число с плавающей запятой используется для хранения действительных чисел. Char может хранить отдельные значения символов.


86) Какова общая форма программы на языке C?

Программа AC начинается с директив препроцессора, в которых программист указывает, какой заголовочный файл и какие константы (если таковые имеются) следует использовать. Далее следует заголовок основной функции. Внутри основной функции находится объявление переменной и оператор программы.


87) В чем преимущество файла с произвольным доступом?

Если объем данных, хранящихся в файле, достаточно велик, использование произвольного доступа позволит вам выполнять поиск быстрее. Если бы это был файл последовательного доступа, вам пришлось бы просматривать одну запись за раз, пока не достигнете целевых данных. Файл произвольного доступа позволяет перейти непосредственно к целевому адресу, где расположены данные.


88) Что произойдет, если в операторе переключения опустить оператор прерывания?

Если оператор прерывания не был помещен в конец определенной части случая? Он перейдет к следующей части дела, что может привести к неправильному выводу.


89) Опишите, как массивы могут быть переданы пользовательской функции.

Следует отметить, что вы не можете передать в функцию весь массив. Вместо этого вы передаете ему указатель, который будет указывать на первый элемент массива в памяти. Для этого вы указываете имя массива без скобок.


90) Что такое указатели?

Указатели точки в определенные области памяти. Указатели содержат адрес переменной, которая, в свою очередь, может содержать значение или даже адрес другой памяти.


91) Можете ли вы передать в функции всю структуру?

Да, можно передать целую структуру функции при вызове по стилю метода. Однако некоторые программисты предпочитают объявлять структуру глобально, а затем передавать переменную этого типа структуры в функцию. Этот метод помогает поддерживать согласованность и единообразие с точки зрения типа аргумента.


92) Что такое функцияgets()?

Команда gets() function позволяет пользователю вводить полную строку данных. Когда пользователь нажимает клавишу ввода, чтобы завершить ввод, вся строка символов сохраняется в строковой переменной. Обратите внимание, что клавиша ввода не включена в переменную, вместо этого после последнего символа помещается нулевой признак \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) Для чего нужна точка с запятой (;) в конце каждого оператора программы?

Это связано с процессом синтаксического анализа и компиляции кода. Точка с запятой действует как разделитель, поэтому компилятор знает, где заканчивается каждый оператор, и может разделить оператор на более мелкие элементы для проверки синтаксиса.

Эти вопросы для собеседования также помогут вам в устной речи.