SóProvas


ID
110707
Banca
CESGRANRIO
Órgão
IBGE
Ano
2010
Provas
Disciplina
Programação
Assuntos

Para os recursos presentes na linguagem de programação C, são feitas as afirmativas abaixo.
I - Permite acesso de baixo nível através da introdução de código Assembly no programa C.
II - A passagem de parâmetros por referência para funções pode ser simulada através da utilização de ponteiros.
III - O tipo de dados typedef são estruturas variáveis que permitem que dados relacionados sejam combinados e manipulados como um todo.

Está(ão) correta(s) a(s) afirmativa(s)

Alternativas
Comentários
  • typedef não é um tipo de dados, é uma forma de definir um novo tipo de dados.

     

    Usa-se muito com structs:

     

    typedef struct{

            char nome[251];

             int idade;

    }Pessoa;


    Depois pode-se utilizar como se fosse um tipo de dados:

    Pessoa p;strcpy(p.nome, "Thalles");p.idade = 22;Ou ponteiro:Pessoa * p = (Pessoa *) malloc(sizeof(Pessoa));strcpy(p->nome,"Thalles");p->idade = 22;


    Quando é ponteiro, utiliza-se o operador "->" para acessar os membros da estrutura.
  • O item III se refere à definição de structs. No livro Informática-Conceitos básicos, de Fernando de Castro Veloso, esse conceito é listado como sendo uma das características da linguagem C, além dessas temos:

  • Uma linguagem extremamente simples, com funcionalidades não-essenciais, tais como funções matemáticas ou manuseamento de ficheiros (arquivos), fornecida por um conjunto de bibliotecas de rotinas padronizada
  • A focalização no paradigma de programação procedural
  • Um sistema de tipos simples que evita várias operações que não fazem sentido
  • Uso de uma linguagem de pré-processamento, o pré-processador de C, para tarefas tais como a definição de macros e a inclusão de múltiplos ficheiros de código fonte
  • Ponteiros dão maior flexibilidade à linguagem
  • Acesso de baixo nível, através de inclusões de código Assembly no meio do programa C
  • Parâmetros que são sempre passados por valor para as funções e nunca por referência (É possível simular a passagem por referência com o uso de ponteiros)
  • Definição do alcance lexical de variáveis
  • Estruturas de variáveis, (structs), que permitem que dados relacionados sejam combinados e manipulados como um todo
  • I- Alguém já viu código assembly em programas em C?

  • Sim, Mário.

    Eu mesmo já escrevi códigos como:

    #include

    int main() {

        __asm__ (   "movl $42, %eax;"

                          "movl $42, %ebx;"

                          "addl %ebx, %eax;" );

        return 0 ;

    }