top 40 c programming interview questions
Perguntas e respostas mais frequentes da entrevista de programação C:
A linguagem de programação C foi desenvolvida entre 1969 e 1973 por Dennis Ritchie na Bell Labs. Ele usa essa nova linguagem de programação para reimplementar o sistema operacional UNIX.
C é uma linguagem de programação orientada estruturada de alto nível usada para requisitos de programação de propósito geral. Basicamente, C é uma coleção de suas funções de biblioteca. Também é flexível adicionar funções definidas pelo usuário e incluir aquelas na biblioteca C.
O principal uso da linguagem de programação C inclui compiladores de linguagem, sistemas operacionais, montadores, editores de texto, spoolers de impressão, drivers de rede, programas modernos, bancos de dados, intérpretes de linguagem e utilitários.
Perguntas mais comuns da entrevista de programação C
Aqui vamos nós.
P # 1) Quais são os principais recursos da linguagem de programação C?
Resposta: Os recursos são os seguintes:
- Portabilidade : É uma linguagem independente de plataforma.
- Modularidade: Possibilidade de dividir grandes programas em pequenos módulos.
- Flexibilidade: A possibilidade de um programador controlar a linguagem.
- Velocidade: C vem com suporte para programação de sistema e, portanto, compila e executa com alta velocidade quando comparado com outras linguagens de alto nível.
- Extensibilidade : Possibilidade de adicionar novas funcionalidades pelo programador.
P # 2) Quais são os tipos de dados básicos associados a C?
Responda:
- Int - Representa o número (inteiro)
- Float - Número com uma parte fracionária.
- Dobro - Valor de ponto flutuante de precisão dupla
- Caracteres - Personagem único
- Vazio - Tipo de uso especial sem nenhum valor.
P # 3) Qual é a descrição dos erros de sintaxe?
Responda: Os erros / erros que ocorrem durante a criação de um programa são chamados de erros de sintaxe. Comandos com erros ortográficos ou comandos com maiúsculas e minúsculas incorretas, um número incorreto de parâmetros na chamada de método / função, incompatibilidades de tipo de dados podem ser identificados como exemplos comuns de erros de sintaxe.
Q # 4) Qual é o processo para criar instrução de incremento e decremento em C?
Responda: Existem dois métodos possíveis para realizar esta tarefa.
- Use o operador de incremento (++) e decremento (-).
Exemplo Quando x = 4, x ++ retorna 5 e x- retorna 3.
- Use o sinal + ou - convencional.
Exemplo Quando x = 4, use x + 1 para obter 5 e x-1 para obter 3.
P # 5) O que são palavras reservadas com uma linguagem de programação?
Responda: As palavras que fazem parte da biblioteca de linguagem C padrão são chamadas Palavras reservadas . Essas palavras reservadas têm um significado especial e não é possível usá-las para qualquer atividade diferente da funcionalidade pretendida.
Exemplo: void, return int.
Q # 6) Qual é a explicação para o ponteiro oscilante em C?
Responda: Quando há um ponteiro apontando para um endereço de memória de qualquer variável, mas depois de algum tempo a variável foi excluída do local da memória, enquanto o ponteiro apontando para esse local, é conhecido como um ponteiro pendente em C.
P # 7) Descreva a função estática com seu uso?
Responda: Uma função, que tem uma definição de função prefixada com uma palavra-chave estática, é definida como uma função estática. A função estática deve ser chamada no mesmo código-fonte.
Q # 8) Qual é a diferença entre as funções abs () e fabs ()?
Responda: Ambas as funções são para recuperar o valor absoluto. abs () é para valores inteiros e fabs () é para números do tipo flutuante. Prototype for abs () está sob o arquivo de biblioteca e fabs () está abaixo.
Q # 9) Descrever Wild Pointers em C?
Responda: Ponteiros não inicializados no código C são conhecidos como Wild Pointers . Eles apontam para algum local de memória arbitrário e podem causar mau comportamento do programa ou travamento do programa.
P # 10) Qual é a diferença entre ++ a e a ++?
Responda: ‘++ a” é chamado de incremento prefixado e o incremento acontecerá primeiro em uma variável. ‘A ++’ é chamado de incremento postfix e o incremento acontece após o valor de uma variável usada para as operações.
Q # 11) Descreva a diferença entre os símbolos = e == na programação C?
Responda: ‘==’ é o operador de comparação usado para comparar o valor ou expressão do lado esquerdo com o valor ou expressão do lado direito.
‘=’ É o operador de atribuição que é usado para atribuir o valor do lado direito à variável do lado esquerdo.
Q # 12) Qual é a explicação para a função de protótipo em C?
como selecionar o botão de rádio no selênio
Responda: Função de protótipo é uma declaração de uma função com as seguintes informações para o compilador.
- Nome da função.
- O tipo de retorno da função.
- Lista de parâmetros da função.
Neste exemplo, o nome da função é Soma, o tipo de retorno é o tipo de dados inteiro e aceita dois parâmetros inteiros.
P # 13) Qual é a explicação para a natureza cíclica dos tipos de dados em C?
Responda: Alguns dos tipos de dados em C têm natureza característica especial quando um desenvolvedor atribui valor além do intervalo do tipo de dados. Não haverá erro do compilador e o valor muda de acordo com uma ordem cíclica. Isso é chamado de natureza cíclica. Os tipos de dados char, int, long int têm esta propriedade. Outros tipos de dados float, double e long double não têm essa propriedade.
P # 14) Descrever o arquivo de cabeçalho e seu uso na programação C?
Responda: O arquivo que contém as definições e protótipos das funções que estão sendo usadas no programa é chamado de arquivo de cabeçalho. Também é conhecido como arquivo de biblioteca.
Exemplo: O arquivo de cabeçalho contém comandos como printf e scanf do arquivo de biblioteca stdio.h.
P # 15) Há uma prática na codificação de manter alguns blocos de código em símbolos de comentário do que excluí-los durante a depuração. Como isso afeta durante a depuração?
Responda: Esse conceito é chamado de comentar e essa é a forma de isolar alguma parte do código que verifica a possível razão para o erro. Além disso, esse conceito ajuda a economizar tempo porque, se o código não for o motivo do problema, ele pode simplesmente ser removido dos comentários.
Q # 16) Quais são a descrição geral para instruções de loop e tipos de loop disponíveis em C?
Responda: Uma instrução que permite a execução de instruções ou grupos de instruções de forma repetida é definida como um loop.
O diagrama a seguir explica uma forma geral de um loop.
Existem 4 tipos de instruções de loop em C.
- Loop while
- For Loop
- Faça ... While Loop
- Loop aninhado
Q # 17) O que é um loop aninhado?
Responda: Um loop executado dentro de outro loop é conhecido como loop aninhado . O primeiro loop é denominado Outer Loop e o loop interno é denominado Inner Loop. O loop interno executa o número de vezes definido em um loop externo.
Q # 18) Qual é a forma geral de função em C?
Responda: A definição de função em C contém quatro seções principais.
return_type function_name( parameter list ) { body of the function }
- Tipo de Devolução : Tipo de dados do valor de retorno da função.
- Nome da Função: O nome da função e é importante ter um nome significativo que descreva a atividade da função.
- Parâmetros : Os valores de entrada para a função que são usados para executar a ação necessária.
- Corpo de Função : Conjunto de instruções que executam a ação necessária.
Q # 19) O que é um ponteiro sobre um ponteiro na linguagem de programação C?
Responda: Uma variável de ponteiro que contém o endereço de outra variável de ponteiro é chamada de ponteiro em um ponteiro. Este conceito desrefere duas vezes para apontar para os dados mantidos por uma variável de ponteiro.
Neste exemplo ** y retorna o valor da variável a.
Q # 20) Quais são os lugares válidos para ter a palavra-chave “Break”?
Responda: O objetivo da palavra-chave Break é tirar o controle do bloco de código que está sendo executado. Ele pode aparecer apenas em instruções de loop ou switch.
Q # 21) Qual é a diferença comportamental quando o arquivo de cabeçalho é incluído entre aspas duplas (“”) e colchetes angulares ()?
Responda: Quando o arquivo de cabeçalho é incluído entre aspas duplas (“”), o compilador procura primeiro no diretório de trabalho o arquivo de cabeçalho específico. Se não for encontrado, ele pesquisa o arquivo no caminho de inclusão. Mas quando o arquivo de cabeçalho é incluído entre colchetes angulares (), o compilador só pesquisa no diretório de trabalho o arquivo de cabeçalho específico.
P # 22) O que é um arquivo de acesso sequencial?
Responda: Programas gerais armazenam dados em arquivos e recuperam dados existentes de arquivos. Com o arquivo de acesso sequencial, esses dados são salvos em um padrão sequencial. Ao recuperar dados de tais arquivos, cada dado é lido um por um até que as informações necessárias sejam encontradas.
Q # 23) Qual é o método para salvar dados em um tipo de estrutura de dados de pilha?
Responda: Os dados são armazenados no tipo de estrutura de dados Stack usando o Primeiro a entrar, último a sair (FILO) mecanismo. Apenas o topo da pilha está acessível em uma determinada instância. O mecanismo de armazenamento é conhecido como PUSH e a recuperação é conhecida como POP.
Q # 24) Qual é a importância dos algoritmos do programa C?
Responda: O algoritmo é criado primeiro e contém orientações passo a passo sobre como a solução deve ser. Além disso, contém as etapas a serem consideradas e os cálculos / operações necessários dentro do programa.
Q # 25) Qual é o código correto para ter a seguinte saída em C usando loop for aninhado?
Responda:
#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; }
P # 26) Explique o uso da função toupper () com um código de exemplo?
Responda: A função Toupper () é usada para converter o valor em maiúsculas quando usada com caracteres.
Código:
#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; }
Resultado:
Q # 27) Qual é o código em um loop while que retorna a saída do código fornecido?
#include int main () { int a; /* for loop execution */ for( a = 1; a <= 100; a++ ) { printf('%d
',a * a); } return 0; }
Responda:
#include int main () { int a; while (a<=100) { printf ('%d
', a * a); a++; } return 0; }
Q # 28) Selecione a forma de operador incorreta na lista a seguir (==,,> =,<=) and what is the reason for the answer?
Responda: O operador incorreto é ‘’. Este formato está correto ao escrever declarações condicionais, mas não é a operação correta indicar diferente na programação C. Ele fornece um erro de compilação da seguinte maneira.
Código:
#include int main () { if ( 5 10 ) printf( 'test for ' ); return 0; }
Erro:
P # 29) É possível usar chaves ({}) para incluir um código de linha única no programa C?
Responda: Sim, funciona sem erros. Alguns programadores gostam de usar isso para organizar o código. Mas o objetivo principal das chaves é agrupar várias linhas de código.
Q # 30) Descreva o modificador em C?
Responda: Modificador é um prefixo para o tipo de dados básico que é usado para indicar a modificação para alocação de espaço de armazenamento para uma variável.
Exemplo- Em um processador de 32 bits, o espaço de armazenamento para o tipo de dados int é 4. Quando o usamos com o modificador, o espaço de armazenamento muda da seguinte maneira:
- Long int: O espaço de armazenamento é de 8 bits
- Short int: O espaço de armazenamento é de 2 bits
Q # 31) Quais são os modificadores disponíveis na linguagem de programação C?
Responda: Existem 5 modificadores disponíveis na linguagem de programação C da seguinte forma:
- Baixo
- Longo
- Assinado
- Sem sinal
- longo longo
Q # 32) Qual é o processo para gerar números aleatórios na linguagem de programação C?
Responda: O comando rand () está disponível para uso para esse propósito. A função retorna um número inteiro começando de zero (0). O código de exemplo a seguir demonstra o uso de rand ().
Código:
#include #include int main () { int a; int b; for(a=1; a<11; a++) { b = rand(); printf( '%d
', b ); } return 0; }
Resultado:
Q # 33) Descreva a sequência de escape de nova linha com um programa de amostra.
Responda: A sequência de escape Newline é representada por n. Isso indica o ponto em que a nova linha começa no compilador e a saída é criada de acordo. O programa de exemplo a seguir demonstra o uso da seqüência de escape de nova linha.
Código:
/* * 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; }
Resultado:
Q # 34) É possível armazenar 32768 em uma variável de tipo de dados int?
Responda: O tipo de dados Int só é capaz de armazenar valores entre -32768 a 32767. Para armazenar 32768, um modificador precisa ser usado com o tipo de dados int. Long Int pode usar e, se não houver valores negativos, unsigned int também é possível usar.
Os métodos python usados para adicionar itens a uma lista ou excluí-los de uma lista são chamados
P # 35) Existe alguma possibilidade de criar um arquivo de cabeçalho personalizado com a linguagem de programação C?
Responda: Sim, é possível e fácil criar um novo arquivo de cabeçalho. Crie um arquivo com protótipos de funções que são usados dentro do programa. Inclua o arquivo na seção ‘#include’ de seu nome.
Q # 36) Descrever a estrutura de dados dinâmica na linguagem de programação C?
Responda: A estrutura de dados dinâmica é mais eficiente para a memória. O acesso à memória ocorre conforme a necessidade do programa.
Q # 37) É possível adicionar ponteiros uns aos outros?
Responda: Não há possibilidade de adicionar ponteiros. Como o ponteiro contém detalhes de endereço, não há como recuperar o valor dessa operação.
Q # 38) O que é indireção?
Responda: Se você definiu um ponteiro para uma variável ou qualquer objeto de memória, não há referência direta ao valor da variável. Isso é chamado de referência indireta. Mas quando declaramos uma variável, ela tem uma referência direta ao valor.
Q # 39) Quais são as maneiras de um ponteiro nulo que pode ser usado na linguagem de programação C?
Resposta: Os ponteiros nulos podem ser usados de três maneiras.
- Como um valor de erro.
- Como valor sentinela.
- Para encerrar a indireção na estrutura de dados recursiva.
P # 40) Qual é a explicação para a programação modular?
Responda: O processo de divisão do programa principal em subseções executáveis é chamado de programação de módulo. Este conceito promove a reutilização.
Conclusão
O questionador é baseado nos conceitos da linguagem de programação C, incluindo gerenciamento de memória com ponteiros, o conhecimento de sua sintaxe e alguns programas de exemplo que usam a estrutura do programa C básico. O conhecimento teatral e prático do candidato é examinado com as perguntas.
Leitura recomendada
- Perguntas e respostas da entrevista
- Algumas perguntas e respostas complicadas de testes manuais
- C Vs C ++: 39 Principais diferenças entre C e C ++ com exemplos