Questionário

            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?





Gabarito

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

Página anterior

Página inicial