Obtenha seu certificado de C e se torne um programador profissional
Apostila de C da UFMG
Essa apostila é divulgada de maneira gratuita, tanto pelo site como por um pdf que é totalmente liberado para download, impressão e uso. Para saber mais sobre a apostila de C, sua história e onde baixar:
Apostila de C
Muito embora algumas questões da apostila possam ser resolvidas simplesmente rodando os códigos, você não irá aprender nada fazendo isso.
Leia os enunciados, raciocine, se precisar pegue um papel e monte sua lógica na cabeça, isso é essencial para você se tornar um bom programador C.
Em seguida, ao fim deste tutorial, iremos comentar cada uma das questões e resolvê-las explicando detalhadamente cada passo.
Para resolver as questões, você deve ter estudado o assunto "Função em C", que é extensamente explicado na dita seção de nosso site.
Questões sobre Função da Apostila de C
Solução dos exercícios de Função da Apostila de C
Questão 1:
Somente a afirmativa sobre os protótipos é verdadeira.Podemos fazer retorno de apenas uma variável, que pode ser uma struct ou vetor com vários elementos, mas retorna somente uma variável, de qualquer tipo que for.
Há também uma pegadinha nessa questão da apostila, sobre o tanto de comandos return que podem existe. Na verdade, somente um comando return vai ser executado, mas podem existir mais de um.
Por exemplo:
if (condição) return variavel1;
else return variavel2;
Ou imagine um retorno diferente para cada case de um switch. Assim, podem existir vários return dentro de uma função, mas ó um deles vai ser executado.
Gabarito: c
Questão 2:
Na verdade, o uso de funções em linguagens de programação deixa o programa um pouco mais lento.Ele facilita bastante a vida do programador, deixa o código bem mais compacto, de fácil leitura e entendimento, mas não é recomendado usar em excesso.
Gabarito: b
Questão 3:
Não é possível declarar uma função dentro de outra.Gabarito: d
Questão 4:
Arquivos com a extensão .h são ditos headers, pois contém o cabeçalho de funções que pode sem implementadas em diversos arquivos, os módulos .c
Devemos lembrar também que as variáveis locais, que são declaradas dentro de uma função, "morrem" nela, não sendo visíveis fora dela.
Gabarito: b
Questão 5:
Podemos usar variáveis de mesmo nome, desde que elas sejam locais e pertençam a funções diferentes, pois elas só serão visíveis dentro do escopo da função.Os parâmetros recebidos numa função, quando a passagem é por valor, são cópias das variáveis originais, ou seja, endereços diferentes das originais.
Gabarito: a
Questão 6:
As alternativas a, b, c e d são corretas.Gabarito: e
Questão 7:
A primeira coisa a ser impressa é: i=10Pois a função func() só sabe da variável "i" global, que tem valor 10. Ela não tem acesso à variável "i" que está dentro da função main().
Depois ocorre uma impressão da variável local da main, i=20
Depois a func() imprime a variável "i" global novamente: i=10
Por fim, é exibida a variável local "i" dentro dos colchetes, onde lá dentro, e somente lá, i=30
Gabarito: b
Questão 8:
Repetindo mais uma vez em nossa apostila: quando passamos, recebemos e declaramos vetores, estamos apenas trabalhando com o endereço de memória do primeiro elemento.Gabarito: c
Questão 9:
Estamos fazendo uma passagem por referência, ou seja, estamos passando os endereços das variáveis, e não uma cópia. Nesse caso podemos alterar os valores das variáveis originais dentro do escopo de uma função.Gabarito: c
Questão 10:
Essa é mais uma questão do tipo pegadinha, dessa apostila.Como estamos trabalhando com ponteiro e endereço da memória da variável "a", ela será alterada de dentro da função func(), porém a variável "b" é passada por valor, ou seja, a função vai usar uma cópia do valor de "b", e não a variável "b" em si, que permanecerá intocada.
Dentro da função, "a" recebe o valor de "b".
"b" continua do jeito que está.
Gabarito: d
Nenhum comentário:
Postar um comentário