Pular para conteúdo

Quiz 02 - Introdução

1. **Por padrão, as variáveis em Rust são:**
Sempre mutáveis
Sempre imutáveis
Mutáveis apenas se forem inteiros
Definidas pelo sistema operacional > **Explicação**: Rust prioriza a segurança e imutabilidade por padrão.
2. **Qual palavra-chave torna uma variável mutável?**
`change`
`var`
`mut`
`mutable` > **Explicação**: Usamos `let mut x = 5;` para permitir a alteração do valor.
3. **Qual a diferença entre uma constante (`const`) e uma variável imutável?**
Não há diferença
Constantes precisam de anotação de tipo explícita e são avaliadas em tempo de compilação
Variáveis imutáveis são mais rápidas que constantes
Constantes podem ser tornadas mutáveis com `mut` > **Explicação**: Constantes são valores globais fixos que o compilador inline.
4. **O que é "Shadowing" no Rust?**
Um erro de compilação
Uma forma de criar variáveis globais
Declarar uma nova variável com o mesmo nome de uma anterior no mesmo escopo
Esconder o código de outros desenvolvedores > **Explicação**: Shadowing permite reutilizar o nome da variável e até mudar seu tipo.
5. **Qual destes é um tipo escalar no Rust?**
Array
Tupla
Inteiro (`i32`)
Struct > **Explicação**: Tipos escalares representam um único valor (inteiros, float, bool, char).
6. **Qual o tamanho padrão de um inteiro no Rust se não for especificado?**
i8
u64
i32
isize > **Explicação**: O Rust assume `i32` por padrão por ser geralmente o mais eficiente.
7. **Tuplas podem armazenar valores de tipos diferentes?**
Sim
Não, apenas itens do mesmo tipo
Apenas se forem tipos numéricos
Só se tiverem no máximo 2 elementos > **Explicação**: Tuplas são tipos compostos heterogêneos.
8. **Arrays no Rust têm tamanho:**
Dinâmico (podem crescer)
Fixo (tamanho imutável após definição)
Gerenciado pelo Garbage Collector
Definido apenas em tempo de execução > **Explicação**: Diferente de vetores, arrays têm tamanho fixo conhecido no build.
9. **Como acessamos o primeiro elemento de uma tupla chamada `t`?**
`t[0]`
`t.0`
`t->0`
`t.first()` > **Explicação**: Tuplas usam a notação de ponto e o índice numérico.
10. **O tipo `char` no Rust representa:**
Um byte ASCII de 8 bits
Um valor escalar Unicode de 4 bytes
Uma string de texto curta
Um ponteiro para a memória > **Explicação**: O `char` do Rust suporta emojis e caracteres especiais nativamente.