Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

As 100 principais perguntas e respostas da entrevista de programação C (2021)


1) Como você constrói uma instrução de incremento ou decremento em C?

Na verdade, existem duas maneiras de fazer isso. Uma é usar o operador de incremento ++ e o operador de decremento –. Por exemplo, a instrução “x++” significa incrementar o valor de x em 1. Da mesma forma, a instrução “x –” significa diminuir o valor de x em 1. Outra maneira de escrever instruções de incremento é usar o sinal + mais convencional ou – sinal de menos. No caso de “x++”, outra forma de escrever é “x =x +1”.

2) Qual é a diferença entre Call by Value e Call by Reference?

Ao usar Call by Value, você está enviando o valor de uma variável como parâmetro para uma função, enquanto Call by Reference envia o endereço da variável. Além disso, em Call by Value, o valor no parâmetro não é afetado por qualquer operação que ocorra, enquanto no caso de Call by Reference, os valores podem ser afetados pelo processo dentro da função.

3) Alguns codificadores depuram seus programas colocando símbolos de comentários em alguns códigos em vez de excluí-los. Como isso ajuda na depuração?

Colocar símbolos de comentário /* */ ao redor de um código, também conhecido como “comentar”, é uma maneira de isolar alguns códigos que você acha que podem causar erros no programa, sem excluir o código. A ideia é que, se o código estiver de fato correto, basta remover os símbolos de comentário e continuar. Também economiza tempo e esforço em ter que redigitar os códigos se você os excluiu em primeiro lugar.

4) Qual é o código equivalente da seguinte instrução no formato WHILE LOOP?
for (a=1; a<=100; a++)

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

Responda:
a=1;

while (a<=100) {

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

a++;

}

5) O que é uma pilha?

Uma pilha é uma forma de estrutura de dados. Os dados são armazenados em pilhas usando a abordagem FILO (First In Last Out). Em qualquer instância específica, apenas o topo da pilha é acessível, o que significa que, para recuperar os dados armazenados dentro da pilha, os da parte superior devem ser extraídos primeiro. Armazenar dados em uma pilha também é chamado de PUSH, enquanto a recuperação de dados é chamada de POP.

6) O que é um arquivo de acesso sequencial?

Ao escrever programas que armazenam e recuperam dados em um arquivo, é possível designar esse arquivo em diferentes formas. Um arquivo de acesso sequencial é tal que os dados são salvos em ordem sequencial:um dado é colocado no arquivo após o outro. Para acessar um dado específico dentro do arquivo de acesso sequencial, os dados devem ser lidos um dado de cada vez, até que o correto seja alcançado.

7) O que é inicialização de variável e por que é importante?

Isso se refere ao processo em que uma variável recebe um valor inicial antes de ser usada no programa. Sem inicialização, uma variável teria um valor desconhecido, o que pode levar a saídas imprevisíveis quando usada em cálculos ou outras operações.

8 O que é programação de espaguete?



A programação de espaguete refere-se a códigos que tendem a ficar emaranhados e sobrepostos ao longo do programa. Essa abordagem não estruturada de codificação geralmente é atribuída à falta de experiência por parte do programador. A programação de espaguete torna um programa complexo e a análise dos códigos difícil, e por isso deve ser evitada o máximo possível.

9) Diferencie códigos-fonte de códigos de objeto

Códigos-fonte são códigos que foram escritos pelo programador. Ele é composto de comandos e outras palavras-chave semelhantes ao inglês que devem instruir o computador sobre o que fazer. No entanto, os computadores não seriam capazes de entender os códigos-fonte. Portanto, os códigos-fonte são compilados usando um compilador. As saídas resultantes são códigos de objeto, que estão em um formato que pode ser entendido pelo processador do computador. Na programação C, os códigos-fonte são salvos com a extensão de arquivo .C, enquanto os códigos de objeto são salvos com a extensão de arquivo .OBJ

10) Na programação C, como você insere caracteres de aspas (' e “) na tela de saída?

Este é um problema comum para iniciantes porque aspas normalmente fazem parte de uma instrução printf. Para inserir o caractere de aspas como parte da saída, use os especificadores de formato \’ (para aspas simples) e \” (para aspas duplas).

11) Para que serve um caractere '\0'?

Ele é chamado de caractere nulo de terminação e é usado principalmente para mostrar o final de um valor de string.

12) Qual é a diferença entre o símbolo =e o símbolo ==?

O símbolo =é frequentemente usado em operações matemáticas. É usado para atribuir um valor a uma determinada variável. Por outro lado, o símbolo ==, também conhecido como “igual a” ou “equivalente a”, é um operador relacional usado para comparar dois valores.

13) O que é o operador de módulo?

O operador de módulo gera o restante de uma divisão. Faz uso do símbolo de porcentagem (%). Por exemplo:10% 3 =1, ou seja, quando você divide 10 por 3, o resto é 1.

14) O que é um loop aninhado?

Um loop aninhado é um loop que é executado dentro de outro loop. Colocando em outro sentido, você tem um loop interno que está dentro de um loop externo. Nesse cenário, o loop interno é executado várias vezes conforme especificado pelo loop externo. Para cada volta no loop externo, o loop interno é executado primeiro.

15) Qual dos seguintes operadores está incorreto e por quê? (>=, <=, <>, ==)

<> está incorreto. Embora este operador seja corretamente interpretado como “diferente de” na escrita de instruções condicionais, não é o operador adequado para ser usado na programação C. Em vez disso, o operador !=deve ser usado para indicar a condição “diferente de”.

16) Compare e contraste compiladores de interpretadores.

Compiladores e interpretadores geralmente lidam com como os códigos de programa são executados. Os intérpretes executam os códigos do programa uma linha por vez, enquanto os compiladores pegam o programa como um todo e o convertem em código objeto, antes de executá-lo. A principal diferença aqui é que, no caso de interpretadores, um programa pode encontrar erros de sintaxe no meio da execução e parará a partir daí. Por outro lado, os compiladores verificam a sintaxe de todo o programa e só prosseguirão com a execução quando nenhum erro de sintaxe for encontrado.

17) Como você declara uma variável que conterá valores de string?

A palavra-chave char pode conter apenas 1 valor de caractere por vez. Ao criar um array de caracteres, você pode armazenar valores de string nele. Exemplo:“char MeuNome[50]; ” declara uma variável de string chamada MyName que pode conter no máximo 50 caracteres.

18) As chaves {} podem ser usadas para incluir uma única linha de código?

Embora as chaves sejam usadas principalmente para agrupar várias linhas de códigos, elas ainda funcionarão sem erros se você as usar para uma única linha. Alguns programadores preferem esse método como forma de organizar códigos para torná-los mais claros, especialmente em declarações condicionais.

19) O que são arquivos de cabeçalho e quais são seus usos na programação C?

Os arquivos de cabeçalho também são conhecidos como arquivos de biblioteca. Eles contêm duas coisas essenciais:as definições e protótipos de funções que estão sendo usadas em um programa. Simplificando, os comandos que você usa na programação C são, na verdade, funções definidas dentro de cada arquivo de cabeçalho. Cada arquivo de cabeçalho contém um conjunto de funções. Por exemplo:stdio.h é um arquivo de cabeçalho que contém definição e protótipos de comandos como printf e scanf.

20) O que é erro de sintaxe?

Erros de sintaxe estão associados a erros no uso de uma linguagem de programação. Pode ser um comando que foi digitado incorretamente ou um comando que deve ter sido digitado no modo de letras minúsculas, mas foi digitado com um caractere maiúsculo. Um símbolo mal colocado, ou a falta de símbolo, em algum lugar dentro de uma linha de código também pode levar a um erro de sintaxe.

21) O que são variáveis ​​e de que forma são diferentes das constantes?

Variáveis ​​e constantes podem a princípio parecer semelhantes no sentido de que ambas são identificadores compostos de um ou mais caracteres (letras, números e alguns símbolos permitidos). Ambos também terão um valor específico. Os valores mantidos por uma variável podem ser alterados ao longo do programa e podem ser usados ​​na maioria das operações e cálculos. Constantes recebem valores de uma só vez, colocados no início de um programa. Este valor não é alterado no programa. Por exemplo, você pode atribuir uma constante chamada PI e atribuir a ela um valor 3,1415 . Você pode usá-lo como PI no programa, em vez de ter que escrever 3,1415 cada vez que precisar.

22) Como você acessa os valores em uma matriz?

As matrizes contêm vários elementos, dependendo do tamanho que você forneceu durante a declaração da variável. A cada elemento é atribuído um número de 0 ao número de elementos-1. Para atribuir ou recuperar o valor de um determinado elemento, consulte o número do elemento. Por exemplo:se você tem uma declaração que diz “intscores[5];”, então você tem 5 elementos acessíveis, a saber:scores[0], scores[1], scores[2], scores[3] e scores[4] ].

23) Posso usar o tipo de dados “int” para armazenar o valor 32768? Por quê?

Não. O tipo de dados “int” é capaz de armazenar valores de -32768 a 32767. Para armazenar 32768, você pode usar “long int”. Você também pode usar “unsigned int”, supondo que não pretenda armazenar valores negativos.

24) Dois ou mais operadores, como \n e \t, podem ser combinados em uma única linha de código de programa?

Sim, é perfeitamente válido combinar operadores, principalmente se houver necessidade. Por exemplo:você pode ter um código como ” printf (“Hello\n\n\'World\'”) ” para exibir o texto “Hello” na primeira linha e “World” entre aspas simples para aparecer na próxima duas linhas.

25) Por que nem todos os arquivos de cabeçalho são declarados em todos os programas C?

A escolha de declarar um arquivo de cabeçalho na parte superior de cada programa C dependeria de quais comandos/funções você usaria nesse programa. Como cada arquivo de cabeçalho contém definições e protótipos de função diferentes, você usaria apenas os arquivos de cabeçalho que conteriam as funções necessárias. Declarar todos os arquivos de cabeçalho em cada programa apenas aumentaria o tamanho geral do arquivo e a carga do programa, e não é considerado um bom estilo de programação.

26) Quando a palavra-chave "void" é usada em uma função?

Ao declarar funções, você decidirá se essa função retornará um valor ou não. Se essa função não retornar um valor, como quando o objetivo de uma função é exibir algumas saídas na tela, então “void” deve ser colocado na parte mais à esquerda do cabeçalho da função. Quando um valor de retorno é esperado após a execução da função, o tipo de dados do valor de retorno é colocado em vez de “void”.

27) O que são declarações compostas?

As instruções compostas são compostas de duas ou mais instruções de programa que são executadas juntas. Isso geralmente ocorre durante o tratamento de condições em que uma série de instruções é executada quando um VERDADEIRO ou FALSO é avaliado. Instruções compostas também podem ser executadas dentro de um loop. Chaves {} são colocadas antes e depois de instruções compostas.

28) Qual é a importância de um algoritmo para a programação em C?

Antes que um programa possa ser escrito, um algoritmo deve ser criado primeiro. Um algoritmo fornece um procedimento passo a passo sobre como uma solução pode ser derivada. Ele também atua como um modelo de como um programa começará e terminará, incluindo quais processos e cálculos estão envolvidos.

29) Qual é a vantagem de uma matriz sobre variáveis ​​individuais?

Ao armazenar vários dados relacionados, é uma boa ideia usar matrizes. Isso ocorre porque os arrays são nomeados usando apenas 1 palavra seguida por um número de elemento. Por exemplo:para armazenar os 10 resultados de teste de 1 aluno, pode-se usar 10 nomes de variáveis ​​diferentes (nota1, nota2, nota3… nota10). Com arrays, apenas 1 nome é usado, o resto é acessível através do nome do índice (grade[0], grade[1], grade[2]… grade[9]).

30) Escreva uma instrução de loop que mostrará a seguinte saída:

1

12

123

1234

12345

Responda:

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

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

printf("%d",b);

printf("\n");

}

31) O que há de errado nesta afirmação? scanf(“%d”,whatnumber);

Um símbolo comercial &deve ser colocado antes do nome da variável whatnumber. Colocar &significa que qualquer valor inteiro inserido pelo usuário é armazenado no “endereço” do nome da variável. Este é um erro comum para programadores, muitas vezes levando a erros lógicos.

32) Como você gera números aleatórios em C?

Números aleatórios são gerados em C usando o comando rand(). Por exemplo:anyNum =rand() irá gerar qualquer número inteiro começando em 0, assumindo que anyNum seja uma variável do tipo integer.

33) Qual poderia ser o problema se um nome de função válido como tolower() estiver sendo relatado pelo compilador C como indefinido?

A razão mais provável por trás desse erro é que o arquivo de cabeçalho dessa função não foi indicado na parte superior do programa. Os arquivos de cabeçalho contêm a definição e o protótipo de funções e comandos usados ​​em um programa C. No caso de “tolower()”, o código “#include ” deve estar presente no início do programa.

34) O que são comentários e como você os insere em um programa C?

Os comentários são uma ótima maneira de colocar algumas observações ou descrições em um programa. Ele pode servir como um lembrete sobre o que é o programa, ou uma descrição sobre por que um determinado código ou função foi colocado lá em primeiro lugar. Os comentários começam com /* e terminam com */ caracteres. Os comentários podem ser de uma única linha ou até mesmo abranger várias linhas. Ele pode ser colocado em qualquer lugar do programa.

35) O que é depuração?

Depuração é o processo de identificação de erros dentro de um programa. Durante a compilação do programa, os erros encontrados impedirão a execução completa do programa. Nesse estado, o programador examinaria as possíveis partes em que o erro ocorreu. A depuração garante a remoção de erros e desempenha um papel importante para garantir que a saída esperada do programa seja atendida.

36) O que o operador &&faz em um código de programa?

O &&também é chamado de operador AND. Ao usar este operador, todas as condições especificadas devem ser TRUE antes que a próxima ação possa ser executada. Se você tiver 10 condições e todas, exceto 1, não forem avaliadas como TRUE, toda a instrução de condição já será avaliada como FALSE

37) Na programação C, qual comando ou código pode ser usado para determinar se um número é par ou ímpar?

Não existe um único comando ou função em C que possa verificar se um número é par ou ímpar. No entanto, isso pode ser feito dividindo esse número por 2 e, em seguida, verificando o restante. Se o resto for 0, então esse número é par, caso contrário, é ímpar. Você pode escrevê-lo em código como:
if (num % 2 == 0)

printf("EVEN");

else

printf("ODD");

38) O que significa o formato %10.2 quando incluído em uma instrução printf?

Esse formato é usado para duas coisas:para definir o número de espaços alocados para o número de saída e para definir o número de casas decimais. O número antes do ponto decimal é para o espaço alocado, neste caso, alocaria 10 espaços para o número de saída. Se o número de espaço ocupado pelo número de saída for menor que 10, caracteres de espaço de adição serão inseridos antes do número de saída real. O número após o ponto decimal define o número de casas decimais, neste caso, são 2 casas decimais.

39) O que são erros lógicos e como eles diferem dos erros de sintaxe?

Programas que contêm erros lógicos tendem a passar no processo de compilação, mas a saída resultante pode não ser a esperada. Isso acontece quando uma fórmula errada foi inserida no código ou uma sequência errada de comandos foi executada. Os erros de sintaxe, por outro lado, lidam com comandos incorretos com erros ortográficos ou não reconhecidos pelo compilador.

40) Quais são os diferentes tipos de estruturas de controle na programação?

Existem 3 estruturas de controle principais na programação:Sequência, Seleção e Repetição. O controle sequencial segue um fluxo de cima para baixo na execução de um programa, de modo que a etapa 1 seja executada primeiro, seguida pela etapa 2, até a execução da última etapa. A seleção lida com declarações condicionais, o que significa que os códigos são executados dependendo da avaliação das condições como TRUE ou FALSE. Isso também significa que nem todos os códigos podem ser executados e existem fluxos alternativos dentro. As repetições também são conhecidas como estruturas de loop e repetirão uma ou duas instruções de programa definidas por um contador.

41) O que é || operador e como ele funciona em um programa?

O || também é conhecido como operador OR na programação C. Ao usar || para avaliar condições lógicas, qualquer condição avaliada como TRUE renderizará a instrução de condição inteira como TRUE.

42) A função "if" pode ser usada para comparar strings?

Não. O comando “if” só pode ser usado para comparar valores numéricos e valores de caractere único. Para comparar valores de strings, existe outra função chamada strcmp que lida especificamente com strings.

43) O que são diretivas de pré-processador?

As diretivas do pré-processador são colocadas no início de cada programa C. É aqui que os arquivos de biblioteca são especificados, o que depende de quais funções serão usadas no programa. Outro uso de diretivas de pré-processador é a declaração de constantes. Diretivas de pré-processador começam com o símbolo #.

44) Qual será o resultado da seguinte instrução condicional se o valor da variável s for 10?


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

O resultado será VERDADEIRO. Como o valor de s é 10, s>=10 é avaliado como VERDADEIRO porque s não é maior que 10, mas ainda é igual a 10. s<25 também é VERDADEIRO, pois 10 é menor que 25. Da mesma forma, s!=12 , o que significa que s não é igual a 12, é avaliado como TRUE. O &&é o operador AND e segue a regra de que, se todas as condições individuais forem TRUE, a instrução inteira será TRUE.

45) Descreva a ordem de precedência em relação aos operadores em C.

A ordem de precedência determina qual operação deve ocorrer primeiro em uma instrução de operação ou instrução condicional. No nível mais alto de precedência estão os operadores unários !, +, – e &. Ele é seguido pelos operadores matemáticos regulares (*, / e módulo % primeiro, seguido por + e -). Em seguida estão os operadores relacionais <, <=,>=e>. Isso é seguido pelos dois operadores de igualdade ==e !=. Os operadores lógicos &&e || são avaliados em seguida. No último nível está o operador de atribuição =.

46) O que há de errado com esta afirmação? meuNome =“Robin”;

Você não pode usar o sinal =para atribuir valores a uma variável de string. Em vez disso, use a função strcpy. A declaração correta seria:strcpy(myName, “Robin”);

47) Como você determina o comprimento de um valor de string que foi armazenado em uma variável?

Para obter o comprimento de um valor de string, use a função strlen(). Por exemplo, se você tiver uma variável chamada FullName, poderá obter o comprimento do valor da string armazenada usando esta instrução:I =strlen(FullName); a variável I agora terá o comprimento do caractere do valor da string.

48) É possível inicializar uma variável no momento em que ela foi declarada?

Sim, você não precisa escrever uma instrução de atribuição separada após a declaração da variável, a menos que planeje alterá-la posteriormente. Por exemplo:char planeta[15] =“Terra”; faz duas coisas:declara uma variável de string chamada planet e a inicializa com o valor “Earth”.

49) Por que a linguagem C é considerada uma linguagem de nível médio?

Isso ocorre porque a linguagem C é rica em recursos que a fazem se comportar como uma linguagem de alto nível e, ao mesmo tempo, pode interagir com o hardware usando métodos de baixo nível. O uso de uma abordagem de programação bem estruturada, aliada a palavras do tipo inglês usadas em funções, faz com que ela atue como uma linguagem de alto nível. Por outro lado, C pode acessar diretamente estruturas de memória semelhantes às rotinas da linguagem assembly.

50) Quais são as diferentes extensões de arquivo envolvidas na programação em C?

Os códigos-fonte em C são salvos com a extensão de arquivo .C. Arquivos de cabeçalho ou arquivos de biblioteca têm a extensão de arquivo .H. Sempre que um código-fonte de programa é compilado com êxito, ele cria um arquivo de objeto .OBJ e um arquivo .EXE executável.

51) O que são palavras reservadas?

Palavras reservadas são palavras que fazem parte da biblioteca padrão da linguagem C. Isso significa que as palavras reservadas têm um significado especial e, portanto, não podem ser usadas para outros fins que não os originalmente destinados. Exemplos de palavras reservadas são int, void e return.

52) O que são listas vinculadas?

Uma lista encadeada é composta de nós que estão conectados com outro. Na programação C, as listas encadeadas são criadas usando ponteiros. O uso de listas vinculadas é uma maneira eficiente de utilizar a memória para armazenamento.

53) O que é FIFO?

Na programação C, existe uma estrutura de dados conhecida como fila. Nesta estrutura, os dados são armazenados e acessados ​​usando o formato FIFO, ou First-In-First-Out. Uma fila representa uma linha em que os primeiros dados armazenados serão os primeiros acessíveis também.

54) O que são árvores binárias?

Árvores binárias são na verdade uma extensão do conceito de listas encadeadas. Uma árvore binária tem dois ponteiros, um esquerdo e um direito. Cada lado pode se ramificar para formar nós adicionais, cada nó tendo também dois ponteiros.

55) Nem todas as palavras reservadas são escritas em minúsculas. VERDADEIRO ou FALSO?

FALSO. Todas as palavras reservadas devem ser escritas em minúsculas; caso contrário, o compilador C interpretaria isso como não identificado e inválido.

56) Qual é a diferença entre a expressão “++a” e “a++”?

Na primeira expressão, o incremento aconteceria primeiro na variável a, e o valor resultante seria aquele a ser utilizado. Isso também é conhecido como um incremento de prefixo. Na segunda expressão, o valor atual da variável a seria aquele a ser usado em uma operação, antes que o próprio valor de a fosse incrementado. Isso também é conhecido como incremento pós-fixado.

57) O que aconteceria com X nesta expressão:X +=15; (assumindo que o valor de X é 5)

X +=15 é um método curto de escrever X =X + 15, portanto, se o valor inicial de X for 5, então 5 + 15 =20.

58) Na linguagem C, as variáveis ​​NAME, name e Name são todas iguais. VERDADEIRO ou FALSO?

FALSO. A linguagem C é uma linguagem sensível a maiúsculas e minúsculas. Portanto, NAME, name e Name são três variáveis ​​exclusivamente diferentes.

59) O que é um loop infinito?

Um loop infinito pode significar duas coisas. Uma é que ele foi projetado para fazer um loop continuamente até que a condição dentro do loop seja atendida, após o que uma função break faria com que o programa saísse do loop. Outra ideia de um loop infinito é quando uma condição de loop incorreta foi escrita, fazendo com que o loop seja executado erroneamente para sempre. Loops infinitos são muitas vezes chamados de loops infinitos.

60) O que é um fluxograma de programa e como ele ajuda a escrever um programa?

Um fluxograma fornece uma representação visual do procedimento passo a passo para resolver um determinado problema. Os fluxogramas são feitos de símbolos, com cada símbolo na forma de diferentes formas. Cada forma pode representar uma entidade específica dentro de toda a estrutura do programa, como um processo, uma condição ou mesmo uma fase de entrada/saída.

61) O que há de errado com esta instrução de programa? nulo =10;

A palavra void é uma palavra reservada na linguagem C. Você não pode usar palavras reservadas como uma variável definida pelo usuário.

62) Esta instrução de programa é válida? INT =10,50;

Assumindo que INT é uma variável do tipo float, esta declaração é válida. Pode-se pensar que INT é uma palavra reservada e não deve ser usada para outros fins. No entanto, lembre-se de que as palavras reservadas são expressas em letras minúsculas, portanto, o compilador C não interpretará isso como uma palavra reservada.

63) O que são argumentos reais?

Quando você cria e usa funções que precisam executar uma ação em alguns valores, você precisa passar esses valores para essa função. Os valores que estão sendo passados ​​para a função chamada são chamados de argumentos reais.

64) O que é uma sequência de escape de nova linha?

Uma sequência de escape de nova linha é representada pelo caractere \n. Isso é usado para inserir uma nova linha ao exibir dados na tela de saída. Mais espaços podem ser adicionados inserindo mais caracteres \n. Por exemplo, \n\n inseriria dois espaços. Uma sequência de escape de nova linha pode ser colocada antes ou depois da expressão de saída real.

65) O que é redirecionamento de saída?

É o processo de transferência de dados para uma fonte de saída alternativa que não seja a tela de exibição. O redirecionamento de saída permite que um programa tenha sua saída salva em um arquivo. Por exemplo, se você tem um programa chamado COMPUTE, digitando isso na linha de comando como COMPUTE>DATA pode aceitar entrada do usuário, realizar certos cálculos, então ter a saída redirecionada para um arquivo chamado DATA, em vez de mostrá-lo na tela .

66) O que são erros de tempo de execução?

São erros que ocorrem enquanto o programa está sendo executado. Uma instância comum em que erros de tempo de execução podem ocorrer é quando você está tentando dividir um número por zero. Quando ocorrerem erros em tempo de execução, a execução do programa será pausada, mostrando qual linha do programa causou o erro.

67) Qual é a diferença entre as funções abs() e fabs()?

Essas 2 funções basicamente executam a mesma ação, que é obter o valor absoluto do valor fornecido. Abs() é usado para valores inteiros, enquanto fabs() é usado para números do tipo flutuante. Além disso, o protótipo para abs() está em , enquanto fabs() está em .

68) O que são parâmetros formais?

Ao usar funções em um programa C, os parâmetros formais contêm os valores que foram passados ​​pela função de chamada. Os valores são substituídos nesses parâmetros formais e usados ​​em quaisquer operações indicadas no corpo principal da função chamada.

69) O que são estruturas de controle?

As estruturas de controle se encarregam de quais instruções devem ser executadas em um programa. Isso significa que o fluxo do programa pode não necessariamente passar de uma instrução para a próxima, mas algumas partes alternativas podem precisar ser passadas ou ignoradas, dependendo do resultado das instruções condicionais.

70) Escreva um fragmento de código simples que verifique se um número é positivo ou negativo

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) Quando uma instrução "switch" é preferível a uma instrução "if"?

A instrução switch é melhor usada ao lidar com seleções baseadas em uma única variável ou expressão. No entanto, as instruções switch só podem avaliar tipos de dados inteiros e de caractere.

72) O que são variáveis ​​globais e como você as declara?

Variáveis ​​globais são variáveis ​​que podem ser acessadas e manipuladas em qualquer lugar do programa. Para tornar uma variável global, coloque a declaração da variável na parte superior do programa, logo após a seção de diretivas do pré-processador.

73) O que são tipos enumerados?

Tipos enumerados permitem que o programador use palavras mais significativas como valores para uma variável. Cada item na variável de tipo enumerado está realmente associado a um código numérico. Por exemplo, pode-se criar uma variável de tipo enumerada chamada DAYS cujos valores são Monday, Tuesday... Sunday.

74) O que a função toupper() faz?

Ele é usado para converter qualquer letra em seu modo de caixa alta. O protótipo da função Toupper() é declarado em . Observe que esta função converterá apenas um único caractere e não uma string inteira.

75) É possível ter uma função como parâmetro em outra função?

Sim, isso é permitido na programação C. Você só precisa incluir todo o protótipo da função no campo de parâmetro da outra função onde ela será usada.

76) O que são matrizes multidimensionais?

Arrays multidimensionais são capazes de armazenar dados em uma estrutura de duas ou mais dimensões. Por exemplo, você pode usar uma matriz bidimensional para armazenar a posição atual das peças em um jogo de xadrez ou a posição dos jogadores em um programa de jogo da velha.

77) Qual função em C pode ser usada para anexar uma string a outra string?

A função strcat. São necessários dois parâmetros, a string de origem e o valor da string para serem anexados à string de origem.

78) Qual é a diferença entre as funções getch() e getche()?

Ambas as funções aceitarão um valor de entrada de caractere do usuário. Ao usar getch(), a tecla que foi pressionada não aparecerá na tela, e é automaticamente capturada e atribuída a uma variável. Ao usar getche(), a tecla que foi pressionada pelo usuário aparecerá na tela, ao mesmo tempo em que é atribuída a uma variável.

79) Essas duas instruções de programa executam a mesma saída? 1) scanf(“%c”, &letra); 2) letra=getchar()

Sim, ambos fazem exatamente a mesma coisa, que é aceitar a próxima tecla pressionada pelo usuário e atribuí-la à variável chamada letra.

80) Quais são os tipos de estrutura em C?

Os tipos de estrutura são usados ​​principalmente para armazenar registros. Um registro é composto de campos relacionados. Isso facilita a organização de um grupo de dados relacionados.

81) O que os caracteres "r" e "w" significam ao escrever programas que usarão arquivos?

“r” significa “ler” e abrirá um arquivo como entrada em que os dados devem ser recuperados. “w” significa “escrever” e abrirá um arquivo para saída. Os dados anteriores que foram armazenados nesse arquivo serão apagados.

82) Qual é a diferença entre arquivos de texto e arquivos binários?

Arquivos de texto contêm dados que podem ser facilmente compreendidos por humanos. Inclui letras, números e outros caracteres. Por outro lado, os arquivos binários contêm 1s e 0s que somente computadores podem interpretar.

83) é possível criar seus próprios arquivos de cabeçalho?

Sim, é possível criar um arquivo de cabeçalho personalizado. Basta incluir nele os protótipos de função que você deseja usar em seu programa e usar a diretiva #include seguida do nome do seu arquivo de cabeçalho.

84) O que é estrutura de dados dinâmica?

A estrutura de dados dinâmica fornece um meio para armazenar dados de forma mais eficiente na memória. Usando alocação dinâmica de memória, seu programa acessará os espaços de memória conforme necessário. Isso contrasta com a estrutura de dados estática, em que o programador precisa indicar um número fixo de espaço de memória a ser usado no programa.

85) Quais são os diferentes tipos de dados em C?

The basic data types are int, char, and float. Int is used to declare variables that will be storing integer values. Float is used to store real numbers. Char can store individual character values.

86) What is the general form of a C program?

A C program begins with the preprocessor directives, in which the programmer would specify which header file and what constants (if any) to be used. This is followed by the main function heading. Within the main function lies the variable declaration and program statement.

87) What is the advantage of a random access file?

If the amount of data stored in a file is fairly large, the use of random access will allow you to search through it quicker. If it had been a sequential access file, you would have to go through one record at a time until you reach the target data. A random access file lets you jump directly to the target address where data is located.

88) In a switch statement, what will happen if a break statement is omitted?

If a break statement was not placed at the end of a particular case portion? It will move on to the next case portion, possibly causing incorrect output.

89) Describe how arrays can be passed to a user defined function

One thing to note is that you cannot pass the entire array to a function. Instead, you pass to it a pointer that will point to the array first element in memory. To do this, you indicate the name of the array without the brackets.

90) What are pointers?

Pointers point to specific areas in the memory. Pointers contain the address of a variable, which in turn may contain a value or even an address to another memory.

91) Can you pass an entire structure to functions?

Yes, it is possible to pass an entire structure to a function in a call by method style. However, some programmers prefer declaring the structure globally, then pass a variable of that structure type to a function. This method helps maintain consistency and uniformity in terms of argument type.

92) What is gets() function?

The gets() function allows a full line data entry from the user. When the user presses the enter key to end the input, the entire line of characters is stored to a string variable. Note that the enter key is not included in the variable, but instead a null terminator \0 is placed after the last character.

93) The % symbol has a special use in a printf statement. How would you place this character as part of the output on the screen?

You can do this by using %% in the printf statement. For example, you can write printf(“10%%”) to have the output appear as 10% on the screen.

94) How do you search data in a data file using random access method?

Use the fseek() function to perform random access input/ouput on a file. After the file was opened by the fopen() function, the fseek would require three parameters to work:a file pointer to the file, the number of bytes to search, and the point of origin in the file.

95) Are comments included during the compilation stage and placed in the EXE file as well?

No, comments that were encountered by the compiler are disregarded. Comments are mostly for the guidance of the programmer only and do not have any other significant use in the program functionality.

96) Is there a built-in function in C that can be used for sorting data?

Yes, use the qsort() function. It is also possible to create user defined functions for sorting, such as those based on the balloon sort and bubble sort algorithm.

97) What are the advantages and disadvantages of a heap?

Storing data on the heap is slower than it would take when using the stack. However, the main advantage of using the heap is its flexibility. That’s because memory in this structure can be allocated and remove in any particular order. Slowness in the heap can be compensated if an algorithm was well designed and implemented.

98) How do you convert strings to numbers in C?

You can write you own functions to do string to number conversions, or instead use C’s built in functions. You can use atof to convert to a floating point value, atoi to convert to an integer value, and atol to convert to a long integer value.

99) Create a simple code fragment that will swap the values of two variables num1 and num2.
int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) What is the use of a semicolon (;) at the end of every program statement?

It has to do with the parsing process and compilation of the code. A semicolon acts as a delimiter, so that the compiler knows where each statement ends, and can proceed to divide the statement into smaller elements for syntax checking.

Free PDF Download:C Programming Interview Questions &Answers

Linguagem C

  1. Principais perguntas e respostas da entrevista sobre nuvem para 2020
  2. Os melhores computadores de placa única em 2021
  3. Perguntas sobre o robô? Respostas de automação
  4. Os 3 principais desafios da preparação de dados IoT
  5. Principais plataformas de análise de dados de IoT
  6. As 10 principais plataformas IIoT
  7. 8 tipos diferentes de computação em nuvem em 2021
  8. 17 Melhores livros de programação para ler em 2021
  9. Códigos de matriz de dados versus códigos QR
  10. Principais resoluções de ano novo de 2021 com software CMMS