Para finalizar esse tutorial básico de linguagem C, segue abaixo um pequeno questionário de 20 questões a respeito do conteúdo abordado neste tutorial. Se desejar, faça-o para testar seus conhecimentos acerca do que foi referido aqui. Foi um conteúdo introdutório, porém de grande valia para quem deseja atuar em áreas onde o desenvolvimento em linguagem C é imprescindível. Após as questões, encontra-se o gabarito com a resposta correta de cada um.
O desenvolvimento inicial da linguagem C se deu entre os anos de
Qual é o sistema operacional contemporâneo ao desenvolvimento da linguagem C?
Qual o nome do comitê envolvido na primeira especificação formal da linguagem C?
Quais técnicas abaixo transformam um código-fonte em código objeto (bytecode ou não) para depois transformá-lo em código executável (em tempo de execução ou não)?
Quais afirmações abaixo estão corretas?
Qual das opções abaixo se trata de um compilador?
Qual das notações abaixo é a recomendada (inclusive, especificada pelo padrão) para a declaração da função main?
A diretiva de pré-processamento #include serve para
Qual é o papel principal do linker?
1 #include <stdio.h>
2
3 int main(void) {
4
5 int x = 10;
6 printf("x = %d\n", x);
7
8 return 0;
9
10 }
Quais os elementos identificados no programa acima?
Quais as formas de fazer comentários na linguagem C?
A respeito de arquivos de cabeçalhos e bibliotecas, qual afirmativa abaixo está errada?
Qual o especificador de tipo correto para ler valores reais de dupla precisão?
Quais identificadores (nomes) de variáveis são permitidos na linguagem C?
O que acontece se não inicializarmos uma variável?
Qual modificador de tipo não considera o bit de sinal e, consequentemente, não permite valores negativos para variáveis numéricas inteiras?
Qual das funções abaixo é obsoleta e suscetível a Buffer Overflow?
Qual é o caractere terminador de strings da linguagem C?
Quais operadores abaixo não são operadores relacionais?
1 #include <stdio.h>
2
3 int main(void) {
4
5 int x = 20, y = 5, z = x, r;
6 r = z * (x - 10) + --y;
7 printf("\n%d", r);
8
9 return 0;
10
11 }
A respeito do programa acima, qual será a primeira operação a ser realizada pelo compilador (instrução da linha 6) e qual a sua saída?
1969-1973
Unix
X3J11
Interpretação
Compilação
"Em princípio, pode-se implementar compiladores e interpretadores para qualquer linguagem de programação."
"C é uma linguagem tipicamente compilada."
"Linguagens compiladas possuem menor portabilidade em relação à linguagens interpretadas."
Clang
int main(void);
Incluir um arquivo de cabeçalho
Fazer a vinculação entre os códigos objetos para gerar o executável
Definição de variável (com atribuição de valor)
Impressão de dados
/* comentário */
// comentário
"Arquivos de bibliotecas contêm códigos legíveis para seres humanos."
%lf
var_12
xyz
A variável assume um lixo de memória (valor indefinido)
unsigned
gets()
\0
&&
||
++
(x - 10), 204