🧠 Quiz Formativo: Cap 08 - Modularização, Escopo e argc/argv

Teste sua compreensão sobre protótipos de funções, passagem de parâmetros por valor, variáveis static e processamento de argumentos de linha de comando.

Instruções:

  • Clique na alternativa que julgar correta para cada uma das questões abaixo.
  • O sistema avaliará sua resposta imediatamente fornecendo justificativa técnica detalhada.

Questão 1: O que acontece quando passamos uma variável inteira `x` como parâmetro para uma função `void alterar(int x)` em C?


Questão 2: Qual é o comportamento especial de uma variável local declarada com o modificador `static` dentro de uma função (ex: `static int contador = 0;`)?


Questão 3: Ao executar o comando `./meu_app host.com 8080` no terminal, quais serão os valores respectivos de `argc`, `argv[0]` e `argv[1]`?

<button class="quiz-option" data-correct="false" data-feedback="Incorreto. Esse cálculo ignora que `argv[0]` sempre armazena o nome do próprio executável; com dois argumentos adicionais mais o nome do programa, `argc` vale 3, não 2, e `argv[0]` é `\"./meu_app\"`, não `\"host.com\"`."> A) `argc = 2`, `argv[0] = "host.com"`, `argv[1] = "8080"` </button> <button class="quiz-option" data-correct="true" data-feedback="Correto! `argc` contabiliza o nome do próprio executável (`argv[0]`) mais os parâmetros fornecidos. Assim, `argc` vale 3, `argv[0]` é `\"./meu_app\"`, `argv[1]` é `\"host.com\"` e `argv[2]` é `\"8080\"`."> B) `argc = 3`, `argv[0] = "./meu_app"`, `argv[1] = "host.com"` </button> <button class="quiz-option" data-correct="false" data-feedback="Incorreto. A ordem dos argumentos em `argv` segue exatamente a ordem digitada na linha de comando; `argv[0]` é sempre o nome do executável (`\"./meu_app\"`), nunca o último parâmetro (`\"8080\"`)."> C) `argc = 3`, `argv[0] = "8080"`, `argv[1] = "./meu_app"` </button>

Questão 4: Para que serve o arquivo de cabeçalho `` na biblioteca padrão do C?</p>

</div> ---

Questão 5: Por que declarar um "Protótipo de Função" (*Forward Declaration*) antes da função `main` é considerado uma boa prática de engenharia em C?

--- ### 🧭 Navegação Rápida | 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :--- | :--- | :--- | :--- | :--- | | [Ler Teoria](../topicos/08_modularizacao_funcoes_e_escopo.html) | [Ver Slides](../slides/08_modularizacao_funcoes_e_escopo_slides.html) | **[Fazer Quiz](08_modularizacao_funcoes_e_escopo_quiz.html)** | [Ver Exemplos](../exemplos/08_modularizacao_funcoes_e_escopo_exemplos.html) | [Praticar Exercícios](../exercicios/08_modularizacao_funcoes_e_escopo_exercicios.html) | --- [⬅️ Voltar ao Sumário da Especialização](../index.html)