Análise da Questão
A questão aborda conceitos fundamentais sobre a linguagem de programação C. Vamos analisar cada alternativa para entender por que a opção marcada está correta.
Alternativa A - Falsa
"sua portabilidade se dá pelo fato de que pode-se rodar um programa executável em qualquer sistema operacional..."
A linguagem C é portátil quanto ao código-fonte, não quanto ao executável. Você escreve o código uma vez, mas ele precisa ser compilado (transformado em linguagem de máquina) separadamente para cada sistema operacional (Windows, Linux, macOS) e arquitetura (x86, ARM). Um arquivo executável criado no Windows não roda nativamente no Linux.
Alternativa B - Falsa
"os programas escritos em C têm alto grau de segurança."
O C é conhecido por oferecer pouca proteção automática contra erros de programação, especialmente relacionados à memória. O programador deve gerenciar manualmente a alocação e liberação de memória, o que pode levar a vulnerabilidades como buffer overflow e vazamentos de memória se não for feito com extrema cautela.
Alternativa C - Correta
"essa linguagem tem características que permitem o uso do paradigma de orientação a objetos."
Embora a linguagem C seja originalmente procedural (focada em procedimentos/funções), ela possui recursos básicos que permitem simular a Orientação a Objetos (OO):
- Encapsulamento: Usando estruturas (
struct) para agrupar dados. - Polimorfismo: Usando ponteiros para funções para criar comportamentos dinâmicos.
- Abstração: Ocultando detalhes internos através de interfaces.
Muitas bibliotecas e frameworks modernos em C utilizam essas técnicas para construir sistemas orientados a objetos.
Alternativa D - Falsa
"não tem recursos de baixo nível, ou seja, de acesso direto ao hardware."
Esta é uma característica oposta à realidade. O C é famoso por seu poder de acesso de baixo nível. Ele permite manipulação direta de memória via ponteiros e operações bit-a-bit, sendo a linguagem ideal para sistemas operacionais e drivers de dispositivo.
Alternativa E - Falsa
"é uma das linguagens indicadas para se começar a estudar programação, pois é considerada simples..."
Para iniciantes absolutos, o C é considerado complexo devido à necessidade de entender conceitos difíceis logo de início, como ponteiros, gerenciamento de memória e tipos de dados primitivos. Linguagens como Python ou JavaScript são geralmente recomendadas primeiro por terem sintaxe mais amigável e gerenciarem a memória automaticamente.
Conclusão
A alternativa C é a correta porque, apesar de ser uma linguagem procedural, a flexibilidade do C permite que desenvolvedores implementem padrões de projeto e estruturas que imitam a Orientação a Objetos. As demais alternativas apresentam informações incorretas sobre portabilidade, segurança, nível de acesso e curva de aprendizado da linguagem.
Alternativa C