Logo Passei Direto
Buscar

Linguagem de Programação 1

Ferramentas de estudo

Questões resolvidas

A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmacoes abaixo e escolha a opção ERRADA.
I As chaves de abertura e fechamento, sempre, não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do else poderá não ser necessário.
I está errada.
II e IV estão corretas.
IV está correta e a I não está correta.
II está correta e a III não está correta.
I e III estão corretas.

Qual o nome da função matemática que calcula a potenciação de um número?
double
pow
elevado
sqrt
pot

A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere as seguintes afirmativas: |) Possibilidade em programação de alto e baixo nível; ||) Grande período para o aprendizado. |||) Adequação a grandes projetos;
Assinale a alternativa que contem apenas vantagens da linguagem C++.
|| e |||
| e |||
| e ||
Apenas |||
Apenas |

Na linguagem C, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros. Após as linhas de código apresentadas, que tratam a manipulação de variáveis e ponteiros, forem executadas e antes do programa ser finalizado: (desconsidere a necessidade do restante do programa)
int *x, pos; pos = 5; x = &pos; Podemos afirmar que:
O conteúdo de x é 5.
O endereço de memória de x é 5.
O conteúdo do endereço para o qual x aponta é 5.
A variável pos aponta para x.
O conteúdo de &pos é 5.

Observe o código abaixo: #include < stdio.h > #include < stdlib.h> int main(){ int x,y,z; x=6; y=2; z = (x%2)+8; puts(z); system("PAUSE"); return 0; }
Dentre as opções abaixo é correto afirmar:
O programa exibirá 16
O programa exibirá 11
O programa exibirá 0 Ocorrerá um erro
O programa exibirá 8

Para que possamos criar nossos programas na linguagem C, iniciamos por criar o ______________, o qual pode ser feito através de um editor de texto não formatado e salvo com a ______________ ou mesmo utilizar um editor da linguagem, como o DEV C++. De acordo com o sistema operacional isto pode ser um pouco diferente. Após esta etapa, devemos ___________ e linkeditar o programa gerando o arquivo _____________, o qual após ser executado apresenta o resultado de nosso programa. Das opções apresentadas, marque aquela que completa respectivamente e corretamente os espaços em branco destacados do texto, segundo os conceitos da linguagem C a presentados no material didático da disciplina.
Código base - extensão .c - compilar - fonte
Código de texto - extensão .txt - editar - fonte
Fonte - extensão .txt - editar - executável
Executável - extensão .c - compilar - fonte
Código fonte - extensão .c - compilar - executável

O desenvolvimento de um programa precisa atender as necessidades do usuário final, para isto o desenvolvedor conta com algumas estruturas que facilitam a construção de seu código fonte. Uma delas é a estrutura condicional if.
Das opções apresentadas marque a qual melhor define esta estrutura.
Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos diferentes.
Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente.
Testa uma condição e dependendo do resultado permite que o programa siga por caminhos diferentes repetidamente.
Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por caminhos diferentes.
Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa siga por caminhos diferentes.

Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar. Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para atender a necessidade citada.
float notas[150];
real notas[150];
integer notas[150];
int notas[150];
float %.1f notas[150];

Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão: int vetn[3][2]; for (int i=0; i < 3; i++){ for (int j=0; j < 2; j++){ vetn[i][j] = i + j; }}
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
Serão armazenados os valores 0,1,1,2,2,3.
O trecho apresentado possui erro e nenhum valor será armazenado.
Serão armazenados os valores 0,1,2,2,3,3.
O trecho apresentado possui erro e apenas um valor será armazenado.
Serão armazenados os valores 0,0,1,1,2,2.

As funções existem para decompor um problema em partes menores, simplificando e organizando o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em relação aos conceitos de funções.
O comando return encerra a execução de uma função e pode retornar vários valores para a função chamadora da função.
Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
Além do valor de uma variável é possível passar para uma função o endereço da variável como por exemplo, das matrizes.
O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de parâmetros da função.

O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.
Assinale a linha onde a declaração atende ao que ele deseja.
float nomes[20][31], salarios[20][14];
char nomes[20]; float salarios[19][13];
char nomes[19][31]; float salarios[19][13];
char nomes[20][31]; float salarios[20][20];
char nomes[20][31]; float salarios[20][14];

Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
90: printf("Pode"); stop;
90: printf("Pode");
case a=90: printf("Pode") ;break;
case 90: printf("Pode") ; break;
case a > 90: printf("Pode") ;break;

Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde poderão se posicionar as demais funções em relação à função main()? Observe as afirmativas abaixo e assinale a resposta CORRETA.
I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema.
II Depois, desde que os protótipos sejam colocados antes da main().
III Antes para não ter que colocar os protótipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os protótipos.
I e III estão corretas
Só a II está correta
II e IV estão corretas
II e III estão corretas
I e IV estão corretas

Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta:
I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0).
II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'.
III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um.
Somente as sentenças I e II estão corretas
Somente as sentenças II e III estão corretas
Somente a sentença II está correta
Somente as sentenças I e III estão corretas
Todas as sentenças estão corretas

Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
if-else
struct
while
for
switch

Na história da linguagem C, alguns momentos foram marcantes devido a acréscimos e/ou modificações significativas embora nem todos os compiladores tenham aderido. Abaixo estão relacionadas alguns deles: - Surge o tipo long long para inteiros; - As funções matemáticas passam a aceitar todos os tipos numéricos; - O caracter // para comentário de uma linha, pode ser usado também; Assinale a opção que contem o nome do documento onde apareceram, pela primeira vez, as modificações acima.
Padrão C89
C tradicional
ISO/IEC 9899:1990
Padrão C99
Padrão C95

No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows. Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa?
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável / digitar o nome do executável no terminal para executá-lo.
Usar um editor de texto para digitar o código/ salvar com extensão c/ digitar uma linha de comando no terminal, usando o compilador gcc que irá gerar o executável e executá-lo em seguida.
Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Usar o terminal para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo.

Qual das características abaixo NÃO pode ser atribuída á linguagem C?
Modularidade
Rapidez, pois gera executável compacto
Complexidade porque tem muitas palavras reservadas
Portabilidade
Estruturada

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmacoes abaixo e escolha a opção ERRADA.
I As chaves de abertura e fechamento, sempre, não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do else poderá não ser necessário.
I está errada.
II e IV estão corretas.
IV está correta e a I não está correta.
II está correta e a III não está correta.
I e III estão corretas.

Qual o nome da função matemática que calcula a potenciação de um número?
double
pow
elevado
sqrt
pot

A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere as seguintes afirmativas: |) Possibilidade em programação de alto e baixo nível; ||) Grande período para o aprendizado. |||) Adequação a grandes projetos;
Assinale a alternativa que contem apenas vantagens da linguagem C++.
|| e |||
| e |||
| e ||
Apenas |||
Apenas |

Na linguagem C, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros. Após as linhas de código apresentadas, que tratam a manipulação de variáveis e ponteiros, forem executadas e antes do programa ser finalizado: (desconsidere a necessidade do restante do programa)
int *x, pos; pos = 5; x = &pos; Podemos afirmar que:
O conteúdo de x é 5.
O endereço de memória de x é 5.
O conteúdo do endereço para o qual x aponta é 5.
A variável pos aponta para x.
O conteúdo de &pos é 5.

Observe o código abaixo: #include < stdio.h > #include < stdlib.h> int main(){ int x,y,z; x=6; y=2; z = (x%2)+8; puts(z); system("PAUSE"); return 0; }
Dentre as opções abaixo é correto afirmar:
O programa exibirá 16
O programa exibirá 11
O programa exibirá 0 Ocorrerá um erro
O programa exibirá 8

Para que possamos criar nossos programas na linguagem C, iniciamos por criar o ______________, o qual pode ser feito através de um editor de texto não formatado e salvo com a ______________ ou mesmo utilizar um editor da linguagem, como o DEV C++. De acordo com o sistema operacional isto pode ser um pouco diferente. Após esta etapa, devemos ___________ e linkeditar o programa gerando o arquivo _____________, o qual após ser executado apresenta o resultado de nosso programa. Das opções apresentadas, marque aquela que completa respectivamente e corretamente os espaços em branco destacados do texto, segundo os conceitos da linguagem C a presentados no material didático da disciplina.
Código base - extensão .c - compilar - fonte
Código de texto - extensão .txt - editar - fonte
Fonte - extensão .txt - editar - executável
Executável - extensão .c - compilar - fonte
Código fonte - extensão .c - compilar - executável

O desenvolvimento de um programa precisa atender as necessidades do usuário final, para isto o desenvolvedor conta com algumas estruturas que facilitam a construção de seu código fonte. Uma delas é a estrutura condicional if.
Das opções apresentadas marque a qual melhor define esta estrutura.
Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos diferentes.
Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente.
Testa uma condição e dependendo do resultado permite que o programa siga por caminhos diferentes repetidamente.
Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por caminhos diferentes.
Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa siga por caminhos diferentes.

Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar. Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para atender a necessidade citada.
float notas[150];
real notas[150];
integer notas[150];
int notas[150];
float %.1f notas[150];

Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão: int vetn[3][2]; for (int i=0; i < 3; i++){ for (int j=0; j < 2; j++){ vetn[i][j] = i + j; }}
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
Serão armazenados os valores 0,1,1,2,2,3.
O trecho apresentado possui erro e nenhum valor será armazenado.
Serão armazenados os valores 0,1,2,2,3,3.
O trecho apresentado possui erro e apenas um valor será armazenado.
Serão armazenados os valores 0,0,1,1,2,2.

As funções existem para decompor um problema em partes menores, simplificando e organizando o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em relação aos conceitos de funções.
O comando return encerra a execução de uma função e pode retornar vários valores para a função chamadora da função.
Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
Além do valor de uma variável é possível passar para uma função o endereço da variável como por exemplo, das matrizes.
O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de parâmetros da função.

O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.
Assinale a linha onde a declaração atende ao que ele deseja.
float nomes[20][31], salarios[20][14];
char nomes[20]; float salarios[19][13];
char nomes[19][31]; float salarios[19][13];
char nomes[20][31]; float salarios[20][20];
char nomes[20][31]; float salarios[20][14];

Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
90: printf("Pode"); stop;
90: printf("Pode");
case a=90: printf("Pode") ;break;
case 90: printf("Pode") ; break;
case a > 90: printf("Pode") ;break;

Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde poderão se posicionar as demais funções em relação à função main()? Observe as afirmativas abaixo e assinale a resposta CORRETA.
I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema.
II Depois, desde que os protótipos sejam colocados antes da main().
III Antes para não ter que colocar os protótipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os protótipos.
I e III estão corretas
Só a II está correta
II e IV estão corretas
II e III estão corretas
I e IV estão corretas

Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta:
I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0).
II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'.
III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um.
Somente as sentenças I e II estão corretas
Somente as sentenças II e III estão corretas
Somente a sentença II está correta
Somente as sentenças I e III estão corretas
Todas as sentenças estão corretas

Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
if-else
struct
while
for
switch

Na história da linguagem C, alguns momentos foram marcantes devido a acréscimos e/ou modificações significativas embora nem todos os compiladores tenham aderido. Abaixo estão relacionadas alguns deles: - Surge o tipo long long para inteiros; - As funções matemáticas passam a aceitar todos os tipos numéricos; - O caracter // para comentário de uma linha, pode ser usado também; Assinale a opção que contem o nome do documento onde apareceram, pela primeira vez, as modificações acima.
Padrão C89
C tradicional
ISO/IEC 9899:1990
Padrão C99
Padrão C95

No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows. Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa?
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável / digitar o nome do executável no terminal para executá-lo.
Usar um editor de texto para digitar o código/ salvar com extensão c/ digitar uma linha de comando no terminal, usando o compilador gcc que irá gerar o executável e executá-lo em seguida.
Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Usar o terminal para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo.

Qual das características abaixo NÃO pode ser atribuída á linguagem C?
Modularidade
Rapidez, pois gera executável compacto
Complexidade porque tem muitas palavras reservadas
Portabilidade
Estruturada

Prévia do material em texto

Linguagem de Programação 1 
AV2 e AV3- Questões Objetivas
A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA.
 I As chaves de abertura e fechamento, sempre,  não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do  else poderá não ser necessário.
 I está errada.
IV está correta e a I não está correta.
 I e III estão corretas.
II está correta e a III não está correta.
II e IV estão corretas.
Qual o nome da função matemática que calcula a potenciação de um número?
elevado
 pow
sqrt
double
pot
A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere as seguintes afirmativas:
|) Possibilidade em programação de alto e baixo nível;
||) Grande período para o aprendizado.
|||) Adequação a grandes projetos;
 Assinale a alternativa que contem apenas vantagens da linguagem C++.
Apenas |
Apenas |||
| e ||
 | e |||
|| e |||
Dentre as estruturas de Dados mais utilizadas em programação, se encontram os vetores.Baseado neste conceito, identifique a opção incorreta:
Na declaração int[50]; o índice da ultima posição é 49.
Permite agrupar vários elementos em uma mesma variável indexada.
Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C.
Deve ser declarado antes de acessado em seu programa.
 Podem ser formado por elementos de tipos diferentes.
Na linguagem C, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros.  Após as linhas de código apresentadas, que tratam a manipulação de variáveis e ponteiros, forem executadas e antes do programa ser finalizado: (desconsidere a necessidade do restante do programa)
int *x, pos;
pos = 5;
x = &pos;
Podemos afirmar que:
O conteúdo de x é 5.
O endereço de memória de x é 5.
 O conteúdo do endereço para o qual x aponta é 5.
A variável pos aponta para x.
O conteúdo de &pos é 5.
Observe o código abaixo: 
#include < stdio.h >
#include < stdlib.h>
int main(){ 
int x,y,z; 
x=6; 
y=2; 
z = (x%2)+8; 
puts(z); 
system("PAUSE"); 
return 0; 
} 
Dentre as opções abaixo é correto afirmar:
O programa exibirá 11
 Ocorrerá um erro
O programa exibirá 0
O programa exibirá 8
O programa exibirá 16
Para que possamos criar nossos programas na linguagem C, iniciamos por criar o ______________, o qual pode ser feito através de um editor de texto não formatado e salvo com a ______________ ou mesmo utilizar um editor da linguagem, como o DEV C++. De acordo com o sistema operacional isto pode ser um pouco diferente. Após esta etapa, devemos ___________ e linkeditar o programa gerando o arquivo _____________, o qual após ser executado apresenta o resultado de nosso programaDas opções apresentadas, marque aquela que completa respectivamente e corretamente os espaços em branco destacados do texto, segundo os conceitos da linguagem C apresentados no material didático da disciplina.
Código base - extensão .c - compilar - fonte
Código de texto - extensão .txt - editar - fonte
Fonte - extensão .txt - editar - executável
Executável - extensão .c - compilar - fonte
 Código fonte - extensão .c - compilar - executável
O desenvolvimento de um programa precisa atender as necessidades do usuário final, para isto o desenvolvedor conta com algumas estruturas que facilitam a construção de seu código fonte. Uma delas é a estrutura condicional if.Das opções apresentadas marque a qual melhor define esta estrutura.
Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente.
 Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos diferentes.
 Testa uma condição e dependendo do resultado permite que o programa siga por caminhos diferentes repetidamente.
Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por caminhos diferentes.
Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa siga por caminhos diferentes.
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
  stdin = Dispositivo de entrada padrão (normalmente o teclado)
stdaux = Dispositivo de saída principal (normalmente a porta usb)
stderr = Dispositivo de saída padrão (normalmente o monitor)
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar.
Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para  atender a necessidade citada.
int notas[150];
integer notas[150];
 float notas[150];
 float %.1f notas[150];
real notas[150];
Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada.
                         
Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre 
O maior número é retornado 
O valor retornado corresponde ao índice da variável que contem o menor número 
O menor número é retornado 
 O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número 
Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes.Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional.
tipo nome_vetor[numero_colunas][numero_linhas];
nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[numero_colunas][numero_linhas];
tipo nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[][];
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
float vetn[20];
for (int i=0; i < 20; i++){
vetn[i] = ( i+1) * 0.1;
i = i + 2;
}
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
Serão armazenados 20 valores reais.
Serão armazenados 7 valores reais.
O vigésimo valor armazenado será o 2.0.
O terceiro valor armazenado será o 0.6.
O segundo valor armazenado será o 0.2.
Observe o programa abaixo e escolha a opção que descreve o que ele faz.
Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo texto para escrita e, se for possível, grava os dados no arquivo.
Lê dados de um arquivo texto e armazena na Memória Principal em uma matriz unidimensional, exibindo depois na tela. 
 Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo binário para escrita e, se for possível, grava os dados no arquivo. 
 Lê dados de um arquivo binário e armazena na Memória Principal em uma matriz unidimensional, exibindo depois na tela.
 Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo binário para escrita e leitura e, se for possível, grava os dados no arquivo
As funções existem para decompor um problema em partes menores, simplificando e organizando o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em relação aos conceitos de funções.
Além do valor de uma variável é possível passar para uma função o endereço da variável como por exemplo, das matrizes.
O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de parâmetros da função.
Todas as funções apresentam na declaração de seu cabeçalho um parde parênteses.
As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
 O comando return encerra a execução de uma função e pode retornar vários valores para a função chamadora da função.
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.Assinale a linha onde a declaração atende ao que ele deseja. 
char nomes[20][31]; float salarios[20][20]; 
char nomes[19][31]; float salarios[19][13]; 
char nomes[20]; float salarios[19][13]; 
char nomes[20][31]; float salarios[20][14]; 
float nomes[20][31], salarios[20][14]; 
 Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
90: printf("Pode"); stop; 
90: printf("Pode"); 
case 90: printf("Pode") ; break; 
case a > 90: printf("Pode") ;break; 
case a=90: printf("Pode") ;break; 
Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde poderão se posicionar as demais funções em relação à função main()?Observe as afirmativas abaixo e assinale a resposta CORRETA
I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema.
II Depois, desde que os protótipos sejam colocados antes da main().
III Antes para não ter que colocar os protótipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os protótipos.
II e III estão corretas 
I e III estão corretas 
Só a II está correta 
I e IV estão corretas 
II e IV estão corretas 
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
 int vetn[3][2];
 for (int i=0; i < 3; i++){
 for (int j=0; j < 2; j++){
 vetn[i][j] = i + j;
 }
 }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
O trecho apresentado possui erro e apenas um valor será armazenado.
Serão armazenados os valores 0,1,1,2,2,3. 
O trecho apresentado possui erro e nenhum valor será armazenado. 
Serão armazenados os valores 0,0,1,1,2,2. 
Serão armazenados os valores 0,1,2,2,3,3. 
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA.
 A função main() pode acessar qualquer variável local de qualquer função.
 Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes.
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas.
Uma variável local só é visualizada pela função onde foi declarada.
Existem funções que não têm variáveis locais.
	
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a opção que contém a série exibida pelo código.
0     1     1     2     3     4     5     6
 1     1     2     3     5     8     13     21
0     1     1     3     2     4     5     7
0     1     1     2     3     5     8     13     21
1       3     4      7      9     11     13
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
((pontos>=10) || (pontos <=20))
((pontos>=10) % (pontos <=20))
((pontos>=10) ! (pontos <=20))
((pontos>=10) # (pontos <=20))
 (pontos>=10) && (pontos <=20))
Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
 O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
Uma parte bastante importante no estudo da linguagem C é ter o conhecimento das suas bibliotecas. As respectivas categorias das funções das bibliotecas #include ctype.h e #include math.h são:
Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções para entrada e saída de dados.
Funções para entrada e saída de dados; funções para conversão de números e alocação na memória.
Funções para entrada e saída de dados; funções matemáticas que possibilitam arredondamento de um numero.
Funções para conversão de números e alocação na memória; funções matemáticas que possibilitam arredondamento de um numero.
 Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções matemáticas que possibilitam arredondamento de um numero.
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
while (num == 0)
for ( i = 0; i == num; i++)
enquanto (num > 0)
 while (num != 0)
for (i = num; i > 0; i++)
Considere que todas as bibliotecas necessárias foram declaradas.
int main()
{
int mat[3][3], i, j, det;
puts("Codigo que calcula o determinante de uma matriz 3x3\n");
____{
puts("Digite os elementos da matriz\n");
____(i=0;i<3;i++)
____(j=0;j<3;j++)
scanf("%d", &mat[i][j]);
fflush(stdin);
det= (mat[0][0]*mat[1][1]*mat[2][2]) + (mat[0][1]*mat[1][2]*mat[2][0]) + (mat[0][2]*mat[1][0]*mat[2][1]) - ((mat[0][1]*mat[1][0]*mat[2][2]) + (mat[0][0]*mat[1][2]*mat[2][1]) + (mat[0][2]*mat[1][1]*mat[2][0]));
printf("\ndet=%d\n", det);
} ____ (det==0);
system("pause");
return (0);
}
Complete as lacunas do código da maneira correta para que o programa funcione corretamente.
while-for-do-for
do-while-for-for
 do-if-for-while
do-if-else-while
 do-for-for-while
Um dos problemas que assola a computação é o de segurança. Dentre várias soluções existentes, a criptografia é uma área que tem avançado muito nos dias de hoje. Uma empresa para criptografar seus textos, efetua a leitura de textos com até 80 caracteres e a partir de uma chave numérica os embaralha. 
Exemplo:
texto: "ABCDEFGHIJ"
chave: 42153
saída: "EBCAFDGHIJ"
Dado o trecho de programa abaixo, identifique qual das opções completa o mesmo para este fim.
void main(){
char vetor[10]={'A','B','C','D','E','F','G','H','I','J'};
int i;
char aux;
int chave[5] = {4,2,1,5,3};
 for(i = 0; i <5 ; i++){
aux = vetor[i];
vetor [i] = vetor[chave[i]]; 
vetor[chave[i]]= aux; 
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]); 
}
system("PAUSE"); 
}
	
Observe as afirmativas abaixo sobre o terminador nulo e assinale a opção correta.
I Devemos sempre acrescentar mais uma posição ao vetor de char quando ele for dimensionado;
II Ele deve ser incluído ao final de todo vetor independente do tipo;
III O terminador nulo é identificado pelo caracter \0;
Somente a afirmativa I é verdadeira
As afirmativas II e III são verdadeirasAs afirmativas I e III são verdadeiras.
 Todas as afirmativas são verdadeiras
Somente a III é verdadeira
	
Observe as declarações abaixo e assinale a opção correta.
I int idades[]={5,16,27,19};
II float CR[3]={6.1, 8.9, 9.3};
III char letras[]={"A", "E", "I", "O", "U"};
IV char letras[]={"Linguagem de "};
Somente as declarações I e II estão corretas
A declaração I está errada e a declaração II está correta
 Somente as declarações I , II e IV estão corretas
As declarações III e IV estão erradas
Todas as declarações estão corretas
Qual das opções abaixo está correta com relação a declaração de variáveis para um vetor de 15 elementos de números reais em C?
double x[15][15];
char x[15];
 double x[15];
int vetor[15][15];
int vetor[15];
 
Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta:I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0).II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'.III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um.
Todas as sentenças estão corretas
Somente a sentença II está correta
 Somente as sentenças II e III estão corretas
Somente as sentenças I e III estão corretas
 Somente as sentenças I e II estão corretas
Um desenvolvedor precisava armazenar matrícula, nome e CR de um aluno. Sabe-se que a matrícula é um número inteiro e que o CR é um número real. Observe as alternativas abaixo e assinale qual foi a escolhida por atender a todas as exigências.
 char nome[30]; int matricula; float CR;
char nome; int matricula[12]; double CR;
 char[30] nome; int matricula; double CR;
char[30] nome; int matricula[12]; float CR;
char nome; int matricula; float CR;
Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
struct
for
 while
switch
if-else
 Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que  se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
	
case a=90: printf("Pode") ;break;
case a > 90: printf("Pode") ;break;
 case 90: printf("Pode") ; break;
90: printf("Pode"); stop;
90: printf("Pode");
A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA.
 I As chaves de abertura e fechamento, sempre,  não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do  else poderá não ser necessário.
  I e III estão corretas.
II e IV estão corretas.
I está errada.
 II está correta e a III não está correta.
IV está correta e a I não está correta.
Na história da linguagem C, alguns momentos foram marcantes devido a acréscimos e/ou modificações significativas embora nem todos os compiladores tenham aderido. Abaixo estão relacionadas alguns deles:
- Surge o tipo long long para inteiros;
- As funções matemáticas passam a aceitar todos os tipos numéricos;
- O caracter // para comentário de uma linha, pode ser usado também;
Assinale a opção que contem o nome do documento onde apareceram, pela primeira vez, as modificações acima.
C tradicional
 ISO/IEC 9899:1990
Padrão C89
 Padrão C99
Padrão C95
No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows.Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa?
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável / digitar o nome do executável no terminal para executá-lo.
 Usar um editor de texto para digitar o código/ salvar com extensão c/ digitar uma linha de comando no terminal, usando o compilador gcc que irá gerar o executável e executá-lo em seguida.
 Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo.
Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Usar o terminal para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Qual das características abaixo NÃO pode ser atribuída á linguagem C?
 Complexidade porque tem muitas palavras reservadas
Rapidez, pois gera executável compacto
Estruturada
Modularidade
Portabilidade
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e tendo em vista o trecho do programa,  qual deveria ser a linha usada para exibir a saída abaixo:Observação: A sequência de números que aparece na saída representa as colunas da tela.
 Trecho
int num1= 12, num2=8; float num3=15;
printf("\n12345678901234"); 
 printf("\n%d\t%06.2f\n", num1, num3);
printf("\n%4d\t%.2f\n", num1%num2, num3/2);
printf("\n%d\t%6.2f\n",num1/num2, num3);
 printf("\n%.2f\t%06.2f\n",(float) num1/num2, num3);
printf("\n%04d\t%.2f\n", num1/num2, num3);
Observe o código abaixo: 
#include < stdio.h >
#include < stdlib.h>
int main(){ 
int x,y,z; 
x=6; 
y=2; 
z = (x%2)+8; 
puts(z); 
system("PAUSE"); 
return 0; 
} 
Dentre as opções abaixo é correto afirmar:
 Ocorrerá um erro
O programa exibirá 0
O programa exibirá 8
O programa exibirá 11
O programa exibirá 16
Estava pesquisando na internet, quando li,  num fórum, um pedido de ajuda que incluía um programa codificado na linguagem C, apresentado abaixo. A pessoa não tinha um compilador e não estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu teria digitado 345quando foi solicitado um número inteiro de três algarismos. Assinale a resposta CORRETA que apresenta o que foi exibido na tela.
0543(O valor absoluto do número espelhado formatado)
- 0.00289(O inverso do número formatado)
0345 (O valor absoluto do número formatado)
 0343 (O valor absoluto do resultado da expressão formatada)
-0012 ( Representa a soma dos algarismos do número -345 formatado)
Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa?
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] }
if (cpf != 0)
{ // [bloco de comandos] }
 do{ // [bloco de comandos] } 
while (cfp !=0);
Um aluno de LPI gostaria de testar duas condições, usando somente uma estrutura if.Abaixo as duas condições a serem testadas:
a) O ano de nascimento que precisa estar no intervalo fechado de 1989-2007.
b) O sexo que precisa ser masculino.
Sabe-se que o sexo se encontra em uma variável do tipo char de nome sexo e o ano em uma variável do tipoint de nome ano.Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m.Assinale a opção que resolve o problema desse aluno.
 if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) )
if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' )
if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 )
if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) )
if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) )
Uma empresa que presta serviçosde pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta.Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta: 
void main(){ 
float altura, largura;
char tipo; int total_latas, tot_metros, aux;
puts("\nDigite E para Externo e I para Interno");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&altura);
printf("\nDigite a largura da parede: ");
scanf("%f",&largura);
tot_metros = altura*largura;
 if(tot_metros%2) 
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
}
 Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos básicos de estruturas de repetição, for, while e do..while. O funcionamento e aplicação dos mesmos tem pequenas diferenças. 
    int i;
    for(i=0; i < 10; i+=2)
        if (i%2)
        printf("%d",i);
   printf("%d",i);
Supondo que as demais  linhas necessárias para o funcionamento do programa estejam devidamente criadas e baseado no trecho de código apresentado, o que será exatamente apresentado na tela após a sua execução.
02468
024681010
0 2 4 6 8 10
 10
0246810
As estruturas de repetição são essenciais no desenvolvimentos de programas na linguagem C. Dado o programa abaixo, identifique a opção que demonstra o que será exibido na tela:
int main(int argc, char *argv[]) {
int i = 0; 
int j = 5;
while(++i <= --j){ 
printf("%d ", i); 
}
system("PAUSE"); 
return 0;
}
1 2 3
 1 2
1 2 3 4 5
0 1 2
 0 1 2 3 4 5
Preencha as lacunas abaixo para que a mensagem abaixo seja exibida, caso a variável Idade seja maior ou igual a 18 e a variável Peso seja maior que 50. 
if((Idade_ _ _18)_ _ _(peso_ _ _50)) 
{
printf("Você pode ser doador de Sangue");
}
>=; &; >;
 >=; &&; >;
<>; and; >;
>=; e; >;
>>; and; >;
	
Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para selecionar funcionários não estava dando certo.Ele apresentou as cinco opções abaixo.Assinale a única opção que atende à exigência: o candidato ser do sexo feminino e ter idade no intervalo fechado em 18 e aberto em 30.
 if( sexo == 'f' || sexo == 'F' && idade >= 18 && idade <= 30 )
if(( sexo == 'f' || sexo == 'F' ) and idade >= 18 and idade < 30 )
 if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 )
if( sexo == 'f' or sexo == 'F' and idade >= 18 and idade <= 30 )
if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 30 )
	
Um desenvolvedor construiu um código onde estava presente o trecho abaixo. 
char resp;
scanf("%c", &resp); 
switch(toupper(resp)) ;
{
case 'A': puts("Digitou a letra A" ); break; 
case 'E': puts("Digitou a letra E" ); break; 
case 'i': puts("Digitou a letra I" ); 
case 'O': puts("Digitou a letra O" ); 
case 'U': puts("Digitou a letra U" ); break; 
default: puts("Nao digitou vogal" ); 
}
Analise as afirmativas abaixo e assinale a opção correta.
I Se digitar I, aparece: Digitou a letra I / Digitou a letra O/ Digitou a letra U uma mensagem em cada linha. 
II Se digitar i, aparece: Nao digitou vogal. 
III Se digitar o, aparece:Digitou a letra O/ Digitou a letra U uma mensagem em cada linha. 
IV Se digitar a, aparece: Nao digitou vogal. 
V Se digitar A, aparece: Digitou a letra A. 
 II, III e V são verdadeiras
I, III e IV são verdadeiras
III e IV são verdadeiras
Só a a III é verdadeira
II e, IV são verdadeiras
Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro.O dado testado era do tipo inteiro.Assinale a opção que ele escolheu.
quatro ifs simples e um composto
 switch() com cinco cases
 switch() com quatro cases e um default
três ifs simples e um composto
quatro ifs simples
	
Na construção de programas na linguagem C, precisamos utilizar os operadores lógicos para montar nossas expressões.Supondo que as variáveis foram devidamente declaradas, dentre as opções apresentadas qual não apresentauma expressão logica / relacional correta na linguagem C.
 a > b && < c
a > b && ! c
a > b && a < c
 ! (a > b)
a > b || b < c
Estava pesquisando na internet, quando li,  num fórum, um pedido de ajuda que incluía um programa codificado na linguagem C, apresentado abaixo. A pessoa não tinha um compilador e não estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu teria digitado 345quando foi solicitado um número inteiro de três algarismos. Assinale a resposta CORRETA que apresenta o que foi exibido na tela.
-0012 ( Representa a soma dos algarismos do número -345 formatado)
0345 (O valor absoluto do número formatado)
 0343 (O valor absoluto do resultado da expressão formatada)
 - 0.00289(O inverso do número formatado)
0543(O valor absoluto do número espelhado formatado)
Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado a esta operação é Cast.Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do tipo int para a variável x do tipo float utilizando o Cast.
n = (float) x;
x = float n;
 n = float x;
 x = (float) n;
x = (int) n;
	
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
 ((pontos>=10) && (pontos <=20))
((pontos>=10) # (pontos <=20))
((pontos>=10) || (pontos <=20))
((pontos>=10) % (pontos <=20))
((pontos>=10) ! (pontos <=20))
	
Segundo o código exposto na questão e desconsiderando a necessidade da declaração das bibliotecas, o que é exibido no display pela função de saída?
int main()
{
int n1=3, n2=7, n3=5, n4=2;
float med;
med= (float)(n1 + n2+ n3+ n4)/4;
printf("a media e %.2f", med);
system("pause");
return 0;
}
a média é: 4.25000
a media é: 4.250
a média é: 4.25
a media e: 4.2500
 a media e: 4.25
Dado o trecho de lógica utilizando o conceito da linguagem de programação C. Diga o resultado das variáveis x, y e z depois da seguinte sequência de operações:int x,y,z; 
x=y=10; 
z=++x; 
x=-x; 
y++;
x=x+y-(z--); 
 x = -11 
y = 11 
z = 10
x = -01
y = 01 
z = 10
Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
stdlib.h - Funções de entrada e saida. 
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
 math.h - Funções matemáticas
stdio.h - Funções para gráficos.
string.h - Funções para concatenação de strings com inteiros.
Sabe-se que a linguagem C é uma das mais utilizadas no mundo. Desenvolvida em 1972 é uma linguagem voltada para programadores. Dentre as opções abaixo é incorreto afirmar:
Permite a compilação de softwares para plataforma Windows, Linux e Unix.
Possibilita o desenvolvimento de funções próprias
 Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo
Possui características de Linguagem de alto nível.
Possui características de Linguagem de baixo nível.
	
Na Aula 1, estudamos algumas característicase vantagens da linguagem C. Observe as afirmativas abaixo e assinale a opção que contem a resposta correta.
I Tem boa Portabilidade. 
II Não pode ser modularizada. 
III É uma linguagem Orientada a Objetos.
IV Uma linguagem que pode manipular endereços de memória. 
V Não possui um propósito especifico.
 As afirmativas I, IV e V estão corretas e as demais, erradas.
As afirmativas I e IV estão corretas e as demais, erradas.
As afirmativas II, III e IV estão corretas e as demais, erradas.
As afirmativas IV e V estão corretas e as demais, erradas.
As afirmativas II, IV e V estão corretas e as demais, erradas
Todo programa codificado na linguagem C pode incluir uma, ou várias bibliotecas, mas existe uma que tem que estar nessa lista, na maioria das vezes, devido a necessidade da interação com o usuário..Assinale a alternativa que apresenta essa biblioteca.
iostream 
stdin.h 
studio.h 
 stdio.h 
iostream.h 
Para que possamos criar nossos programas na linguagem C, iniciamos por criar o ______________, o qual pode ser feito através de um editor de texto não formatado e salvo com a ______________ ou mesmo utilizar um editor da linguagem, como o DEV C++. De acordo com o sistema operacional isto pode ser um pouco diferente. Após esta etapa, devemos ___________ e linkeditar o programa gerando o arquivo _____________, o qual após ser executado apresenta o resultado de nosso programa.Das opções apresentadas, marque aquela que completa respectivamente e corretamente os espaços em branco destacados do texto, segundo os conceitos da linguagem C apresentados no material didático da disciplina.
Código de texto - extensão .txt - editar - fonte
Executável - extensão .c - compilar - fonte
 Código fonte - extensão .c - compilar - executável
Código base - extensão .c - compilar - fonte
Fonte - extensão .txt - editar - executável
	
Um dos grandes problemas de empresas que desenvolvem software é a variedade hardware. Como por exemplo, em grandes redes de supermercados, o software instalado não pode ser trocado sem maiores custos e traumas. A linguagem C possui a capacidade de ser compilado ou executado em diferentes arquiteturas (seja de hardware ou de software). Identifique abaixo a capacidade descrita.
Flexibilidade
Polimorfismo
 Portabilidade
 Modularidade
Reuso
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e tendo em vista o trecho do programa,  qual deveria ser a linha usada para exibir a saída abaixo:Observação: A sequência de números que aparece na saída representa as colunas da tela.
 
Trecho
int num= 12; float med=9.8;
printf("\n12345678901234");
 
printf("\n%4d\t%f\n", num, med);
printf("\n%d\t%6.2f\n", num, med);
 printf("\n%d\t%06.2f\n", num, med);
printf("\n%04d\t%.2f\n", num, med);
printf("\n%d\t06.2f\n", num, med);
Na linguagem C/C++ existem três loops ou estruturas de repetição, sendo elas, for, while e do-while. Considere as afirmações abaixo.I) O loop for é usado para repetir um comando ou bloco de comandos diversas vezes, podendo ser baseado em um contador interno da estrutura e uma condição que o encerra.II) A estrutura do-while executa inicialmente todos os comandos internos do laço, depois testa a condição, se esta for verdadeira, retorna e faz tudo novamente.III) A estrutura while testa uma condição, se esta for falsa, as instruções dentro do laço não serão executadas, e o teste será feito novamente até que a condição seja atingida.As assertivas corretas são:
Apenas a ||
 | e ||
 || e |||
Apenas a |||
| e |||
Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo.Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade.
 Somente para gravação
Para leitura e gravação
Não precisa abrir o arquivo
 Para leitura e edição
 Somente para leitura
Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
struct
for
 while
if-else
switch
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, ler de um arquivo txt  dados coletados durante um dia de um usina elétrica.Cada arquivo é salvo seguindo o modelo abaixo:
ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 O chefe dele quando deseja fazer uma consulta, clica no executável e escolhe a opção leitura e quando lhe é perguntado, digita o nome do arquivo conforme falado acima.Para que isso seja possível, deverá estar presente na função consulta() uma das linhas abaixo. Selecione-a.
 fp=fopen(ddmmaaaa.txt, "w+");
fp=fopen("nomeArq", "a"); "
fp=fopen("ddmmaaaa.txt", "r");
 fp=fopen(nomeArq, "r");
fp=fopen(nomeArq, "w");
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
stdaux = Dispositivo de saída principal (normalmente a porta usb)
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
  stdin = Dispositivo de entrada padrão (normalmente o teclado)
stderr = Dispositivo de saída padrão (normalmente o monitor)
stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
Sabemos que a linguagem C apresenta várias vantagens. Quando dizemos que usamos três procedimentos básicos: sequência, seleção e iteração e que é possível gerar um executável rápido, estamos nos referindo às seguintes características na ordem:
Portabilidade e Modularidade
 Rapidez e Portabilidade
Complexidade e Estruturada
Portabilidade e Estruturada
 Estruturada e Rapidez
Suponha que as bibliotecas necessárias foram declaradas e considere em função das respostas a numeração das linhas apresentadas entre parênteses.
(L1)int main()
(L2) {
(L3) char vet[40];
(L4) puts("Digite o seu nome completo:");
(L5) fgets(vet);
(L6) printf("%s\n", vet);
(L7) system("pause");
(L8) return (0);
(L9) }
Analise o código e assinale a alternativa correta.
Erro na (L6)- O printf não aceita a forma apresentada.
 Erro na (L5)- Na forma de preencher a função fgets.
Erro na (L8)- O return é utilizado apenas em funções.
Erro na (L3)- Deveria ser utilizado uma matriz.
 Erro na (L4)- Puts está sendo usado de forma errada.
Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C.
 If, nota_do_aluno_2, HOJE, _yes
nota-2 , a36, x_y
2_ou_1, fim, *h, j
 i, j, int, obs
2nota, a36, x#y, --j
Na construção de programas na linguagem C, precisamos tomar muito cuidado com a sintaxe das expressões condicionais, para que não tenhamos resultados inesperadosSupondo que as variáveis foram devidamente declaradas e levando em conta apenas a linha de código apresentada, dentre as opções qual apresenta erro na sintaxe para a linguagem C.
 if (a > 0) {a = 2;} else {b= 2;}
if (a > 0) {a = 2;} else if (b < 10) {b= 2;}
 if x > 0 { a = 2;}
if (x > 0) a = 2 else b = 2 ;
if (a > 0) { a = 2;}
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a opção que contém a série exibida pelo código.
0     1     1     3     2     4     5     7
0     1     1     2     3     4     5     6
1       3     4      7      9     11     13
 1     1     2     3     5     8     13     21
0     1     1     2     3     5     8     13     21
Dentre as estruturas de Dados mais utilizadas em programação, se encontram os vetores.Baseado neste conceito, identifique a opção incorreta:
 Podem ser formado por elementos de tipos diferentes.
Deve ser declarado antes de acessado em seu programa.
Permite agrupar vários elementos em uma mesma variável indexada.
Na declaração int[50]; o índice da ultima posição é 49.
Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C.
Considere que todas as bibliotecasnecessárias foram declaradas.
int main()
{
int mat[3][3], i, j, det;
puts("Codigo que calcula o determinante de uma matriz 3x3\n");
____{
puts("Digite os elementos da matriz\n");
____(i=0;i<3;i++)
____(j=0;j<3;j++)
scanf("%d", &mat[i][j]);
fflush(stdin);
det= (mat[0][0]*mat[1][1]*mat[2][2]) + (mat[0][1]*mat[1][2]*mat[2][0]) + (mat[0][2]*mat[1][0]*mat[2][1]) - ((mat[0][1]*mat[1][0]*mat[2][2]) + (mat[0][0]*mat[1][2]*mat[2][1]) + (mat[0][2]*mat[1][1]*mat[2][0]));
printf("\ndet=%d\n", det);
} ____ (det==0);
system("pause");
return (0);
}
Complete as lacunas do código da maneira correta para que o programa funcione corretamente.
do-if-for-while
while-for-do-for
 do-for-for-while
do-if-else-while
do-while-for-for
Trabalhando com arquivos, muitas vezes é necessário remover o mesmo e para tal temos a função remove().Das alternativas apresentadas qual está ERRADA em relação a função.
 Retorna um valor inteiro.
 Não possui retorno.
Possui apenas um parâmetro.
O nome do arquivo é um vetor de char.
É do tipo int.
Sabe-se que a linguagem C é uma das mais utilizadas no mundo. Desenvolvida em 1972 é uma linguagem voltada para programadores. Dentre as opções abaixo é incorreto afirmar:
Possui características de Linguagem de baixo nível.
Possibilita o desenvolvimento de funções próprias
Possui características de Linguagem de alto nível.
 Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo
Permite a compilação de softwares para plataforma Windows, Linux e Unix.
Escreva o comando que defina uma constante de nome PI com valor igual a 3,14.
#const PI 3,14
 #define PI 3.14
#include PI 3,14
#define PI 3,14
#include PI 3.14
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA.
Existem funções que não têm variáveis locais.
 A função main() pode acessar qualquer variável local de qualquer função.
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas.
Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes.
Uma variável local só é visualizada pela função onde foi declarada.
Se precisarmos testar o conteúdo de uma variável e sabendo-se que só serão executados comandos se o teste retornar verdadeiro, qual estrutura você indicaria para esse caso?
printf()
 switch()
 if
if else
if else if
Uma das principais características que consolidaram o sucesso na utilização dos computadores para a resolução de problemas foi a sua capacidade de repetir o processamento de um conjunto de operações para grandes quantidades de dados. Exemplos de conjuntos de tarefas que repetimos diversas vezes dentro de uma situação específica podem ser observados largamente no nosso dia a dia.As estruturas de repetição proveem uma maneira de repetir um conjunto de procedimentos até que determinado objetivo seja atingido, quando a repetição se encerra. Todas as estruturas de repetição têm em comum o fato de haver uma condição de controle, expressa através de uma expressão lógica, que é testada em cada ciclo para determinar se a repetição prossegue ou não.
Tendo como base o código abaixo, qual opção que demonstra o que será exibido na tela?
void main() {
int i = 2;
int j = 6;
for(i=0;i<=5;i++){
do{ 
printf("%d", ++i);
}while(++i <= j--);
}
system("PAUSE");
}
246
 135
265
256
23456
Um desenvolvedor precisava armazenar matrícula, nome e CR de um aluno. Sabe-se que a matrícula é um número inteiro e que o CR é um número real. Observe as alternativas abaixo e assinale qual foi a escolhida por atender a todas as exigências.
char nome; int matricula; float CR;
 char[30] nome; int matricula[12]; float CR;
char[30] nome; int matricula; double CR;
char nome; int matricula[12]; double CR;
 char nome[30]; int matricula; float CR;
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    int vetn[10];
    for (int i=1; i <= 10; i++){
        vetn[i -1]  = i * 13;
        i = i + 1;
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas em relação ao vetor, qual afirmativa está correta.
Serão armazenados 10 valores inteiros.
O terceiro valor armazenado será o 60.
O segundo valor armazenado será o 26.
 Serão armazenados 5 valores inteiros.
O décimo valor armazenado será o 117.
Trabalhando com arquivos, precisamos deslocar o ponteiro pelo mesmo afim de conseguirmos achar ou posicionar onde será necessário fazer alguma alteração ou leitura.A função fgetpos() é uma das responsáveis por fazer este movimento. Assinale a alternativa que expressacorretamente a sua sintaxe.
 fgetpos(variavelPonteiroArquivo, &pos);
fgetpos(deslocamento, variavelPonteiroArquivo, pos);
fgetpos(variavelPonteiroArquivo, origem, &pos);
fgetpos(variavelPonteiroArquivo, pos);
 fgetpos(variavelPonteiroArquivo, deslocamento, &pos);
Na manipulação de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter erros: devido a não existência do arquivo; ao arquivo estar corrompido; etc, não sendo possível abrir o mesmo.Das afirmativas apresentadas qual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas.
Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa.
Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema.
 A palavra chave FILE, que permite fazer a associação do arquivo, mantem o valor NULL caso não seja possível abrir o arquivo, desta forma, utilizando o if, o usuário pode mandar uma mensagem adequada para o usuário.
 A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variável associada ao arquivo, comparando com o valor NULL.
O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado e retornado uma mensagem padrão para o usuário.
Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de texto.txt, que foi associado com a variável de nome: arq, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura para ler e/ou gravar dados no fim do arquivocorretamente seguindo as regras da linguagem.
 arq = fopen("texto.txt", "a+");
arquivo = fopen("material.dat", "a+");
arquivo = fopen("material.dat", "w+");
 arq = fopen("texto.txt", "w");
arquivo = fopen("material.dat", "r+");
Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.Das afirmativas apresentadas qual define corretamente qual a finalidade da função feof() .
Funções para ler um caractere.
Funções para gravar uma linha.
 Função que detecta o fim do arquivo.
Função que fecha um arquivo.
Funções para leitura formatada.
A linguagem C possui vários modos de abertura de arquivo. Para tanto, correlacione as colunas abaixo:
    i.       "r"
   ii.      "w"
  iii.      "a"
  iv.      "r+"
  v.      "w+"
  vi.      "a+"
( ) Abrir um arquivo texto para gravação. Os dados serão adicionados no fim do arquivo ("append"), se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente
( ) Cria um arquivo texto para leitura e gravação. Se o arquivo existir, o conteúdo anterior será destruído. Se não existir, será criado.
( ) Abre um arquivo texto para leitura. O arquivo deve existir antes de ser aberto.
( ) Abre um arquivo texto para gravação e leitura. Os dados serão adicionados no fim do arquivo se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente
( ) Abrir um arquivo texto para gravação. Se o arquivo nãoexistir, ele será criado. Se já existir, o conteúdo anterior será destruído. 
 ( ) Abre um arquivo texto para leitura e gravação. O arquivo deve existir e pode ser modificado.
Dentre as opções abaixo é correto afirmar:
 vi, i, ii, iii, v, iv
iii, ii, iv, vi, v, i
 vi, v, i, iii, ii, iv
 iii, v, i, vi, ii, iv
vi, ii, iv, iii, v, i
Suponha que o arquivo dados.txt contém a cadeia de caracteres "ABCYDEF" e nada mais. O que o seguinte programa imprime?
int main( void) {
FILE *entrada;
int c; 
entrada = fopen( "dados.txt", "r");
while ((c = getc( entrada)) != EOF)
printf( "%c ", c);
fclose( entrada);
return EXIT_SUCCESS;
}
DEF
 ABCYDEF
ABCDEF
 ABC
ABCDEFY
Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de material.dat, que foi associado com a variável de nome: arquivo, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura apenas para leitura corretamente seguindo as regras da linguagem.
 arquivo = fopen("material.dat", "r");
 arq = fopen("texto.txt", "a");
arquivo = fopen("material.dat", "r+");
arq = fopen("texto.txt", "r+");
arq = fopen("texto.txt", "r");
A função _________ funciona como a função scanf(), porém, ao invés de ler os dados de teclado, estes dados são lidos de um arquivo.
fgetc()
 fscanf()
sscanf()
fprint()
fgets()
Observe a linha de um programa abaixo e assinale a alternativa que representa o seu resultado:result = fputs(Str, arq);
Se a função for executada com sucesso, fputs retorna a constante EOF.
Se a função NÃO for executada com sucesso, fputs retorna a variável EOF.
 Se a função NÃO for executada com sucesso, fputs não retorna nada.
 Se a função NÃO for executada com sucesso, fputs retorna a constante EOF.
Considere que as bibliotecas necessárias foram devidamente declaradas.
int main() {
FILE *arq ;
int i;
_____ c ;
arq = _____ ( " jornal.txt " , " r " ) ;
if ( arq == NULL ){
printf ( " Erro na abertura do arquivo " ) ;
system ( " pause " ) ;
exit ( 1 ) ;
} else
for ( i = 0; i<5; i++){
c = fgetc ( arq ) ;
printf( "%c", c ) ;
}
_____( arq ) ;
system ( " pause " ) ;
return 0;
}
Complete as lacunas do código para que o programa funcione corretamente.
A ordem em que as palavras são dispostas na resposta, devem preencher respectivamente as lacunas.
int - abrir - fopen
 float - fopen - fclose
 char - fopen - fclose
char - fopen - fechar
int - open - close
Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes.Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional.
tipo nome_matriz[][];
 tipo nome_vetor[numero_colunas][numero_linhas];
tipo nome_matriz[numero_colunas][numero_linhas];
nome_matriz[numero_linhas][numero_colunas];
 tipo nome_matriz[numero_linhas][numero_colunas];
Para se ler uma string num arquivo podemos usar fgets() cujo protótipo é:
char *fgets (char *str, int tamanho,FILE fp);
 char *fgets (char *str, int tamanho,FILE *fp);
char *fgets (char str, int tamanho,FILE *fp);
char *fget (char *str, int tamanho,FILE *fp);
int *fgets (char *str, int tamanho,FILE *fp);
Observe a linha abaixo e diga qual será o resultado obtido:result = fprintf(arq,"Linha %d\n",i);
Se a função fprintf for executada com sucesso, devolve a constante EOF. Se a função NÃO for executada com sucesso, retorna o número de caracteres gravados.
 Se a função fprintf for executada com sucesso, devolve o número de caracteres gravados. Se a função NÃO for executada com sucesso, retorna a constante EOF.
Se a função fprintf for executada com sucesso, devolve o número de caracteres gravados. Se a função NÃO for executada com sucesso, retorna a constante BOF.
Se a função fprintf NÃO for executada com sucesso, devolve o número de caracteres gravados. Se a função for executada com sucesso, retorna a constante EOF.
Se a função fprintf for executada com sucesso, devolve os caracteres gravados. Se a função NÃO for executada com sucesso, retorna a constante EOF.
A função fgets():
 lê uma linha inteira de uma vez.
 imprime uma linha inteira de uma vez.
imprime um caracter de cada vez.
lê um arquivo inteiro de uma vez.
lê um caracter de cada vez.
Observe o programa abaixo e assinale a alternativa que corresponde a sua execução.
#include < stdio.h >
#include < stdlib.h >
int main( void) {
char c;
FILE *entrada;
entrada = fopen( "dados.txt", "r");
if (entrada == NULL) exit( EXIT_FAILURE);
c = getc( entrada);
if (c != EOF) 
putc( c, stdout);
else 
printf( "\nO arquivo terminou!");
fclose( entrada);
return EXIT_SUCCESS;
}
O programa lê todos os caracteres do arquivo dados.txt e exibe esses caracteres na tela do monitor.
 O programa lê o segundo caractere do arquivo dados.txt e exibe esse caractere na tela do monitor.
 O programa lê o primeiro caractere do arquivo dados.txt e exibe esse caractere na tela do monitor.
O programa lê o último caractere do arquivo dados.txt e exibe esse caractere na tela do monitor.
O programa lê o primeiro e o segundo caracteres do arquivo dados.txt e exibe esses caracteres na tela do monitor.
Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.Das afirmativas apresentadas qual define corretamente qual a finalidade da função fputc() .
Funções para gravação formatadas.
 Função que detecta o fim do arquivo.
 Função para gravar um caractere.
Função que fecha um arquivo.
Funções para gravar uma linha.
Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.Das afirmativas apresentadas qual define melhor e corretamente qual a finalidade da função fprintf() .
 Funções para gravação formatada.
 Função que detecta o fim do arquivo.
Função que fecha um arquivo.
Funções para gravar uma linha.
Funções para gravar um caractere.
Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de texto.txt, que foi associado com a variável de nome: arquivo, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura apenas para escrita corretamente seguindo as regras da linguagem.
arquivo = fopen("material.dat", "w+");
arq = fopen("texto.txt", "a");
 arquivo = fopen("texto.txt", "w");
arq = fopen("material.dat ", "r");
arq = fopen("texto.txt", "w");
Um desenvolvedor precisava armazenar matrícula, nome e CR de um aluno. Sabe-se que a matrícula é um número inteiro e que o CR é um número real. Observe as alternativas abaixo e assinale qual foi a escolhida por atender a todas as exigências.
char[30] nome; int matricula[12]; float CR;
 char nome[30]; int matricula; float CR;
char nome; int matricula[12]; double CR;
char nome; int matricula; float CR;
char[30] nome; int matricula; double CR;
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias informações do mesmo tipo.Desconsiderando a necessidade do programa principal e levando em conta apenas a linha de comando, das opções apresentadas em relação à manipulação de vetores marque a resposta correta.
int vetinteiros[5]=[1,2,3,4,5];
 float array[4]=[1.0,2.4,3.5,4.5];
char vet[5]={a,b,c,d,e};
char vetnome[5]= "Maria";
 float vetreais[4]={1.0,2.4,3.5,4.5};
Dentre as estruturas de Dados mais utilizadas em programação, se encontram os vetores.Baseado neste conceito, identifique a opção incorreta:
Deve ser declarado antes de acessado em seu programa.
Na declaração int[50]; o índice da ultima posição é 49.
 Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C.
Permite agrupar vários elementos em uma mesma variável indexada.
 Podem ser formado por elementos de tipos diferentes.
Os chamados vetores e matrizes podem ser considerados como:
Estruturas de dados heterogêneas
Comandos de repetição
 Estruturasde dados homogêneas
 Comandos de seleção
Comandos de seleção composta
Qual das opções abaixo está correta com relação a declaração de variáveis para um vetor de 15 elementos de números reais em C?
char x[15];
 double x[15][15];
int vetor[15];
 double x[15];
int vetor[15][15];
Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar.
Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para  atender a necessidade citada.
float %.1f notas[150];
real notas[150];
integer notas[150];
 float notas[150];
int notas[150];
Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas. 
 tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN)
{
  corpo da função
 }
 Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc).
 Tipo , Nome, e Corpo da função.
 Nome, Parâmetro e Corpo da função.
Tipo, Nome e Parâmetros.
Tipo, Parâmetro e corpo da função.
Tipo, Nome, Parâmetros e Corpo da Função.
Todo programa codificado na linguagem C pode incluir uma, ou várias bibliotecas, mas existe uma que tem que estar nessa lista, na maioria das vezes, devido a necessidade da interação com o usuário..
Assinale a alternativa que apresenta essa biblioteca.
iostream 
 stdio.h 
 stdin.h 
studio.h 
iostream.h 
Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos construindo?
Const
struct
 include
typedef
define
Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h.Assinale o trecho correto que possibilita incluí-las.
 #include stdio.h
#include stdlib.h
#include math.h
#define 
#define 
#define 
#include
#include 
#include 
#include 
#include
Quando precisamos compilar um código na linguagem C na plataforma Linux ,caso não tenhamos um ambiente onde se possa editar e compilar, podemos fazer esse processo no terminal.
Um desenvolvedor experimentou as linhas de comando abaixo.
1) gcc -o nomeExecutável nomedoFonte.c 
2) gcc -o nomedoFonte.c
Analise as opções e escolha a correta.
 Não será criado um executável na segunda forma, pois aparecerá uma mensagem de erro informando falta de parâmetros.
 Será criado um executável com um nome fixo independente do nome do fonte na segunda forma.
Sempre um executável com o mesmo nome do fonte será criado em ambos os casos.
O compilador gcc não serve para linguagem C.
Ambas linhas de comando não geram executáveis.
Sabemos que a linguagem C apresenta várias vantagens. Quando dizemos que usamos três procedimentos básicos: sequência, seleção e iteração e que é possível gerar um executável rápido, estamos nos referindo às seguintes características na ordem:
 Estruturada e Rapidez
Rapidez e Portabilidade
Portabilidade e Modularidade
Portabilidade e Estruturada
Complexidade e Estruturada
Um Engenheiro Civil precisava usar uma função que pudesse arredondar para cima, uma vez que ao compramos pisos/ azulejos sempre usamos um valor inteiro.
Observe as funções abaixo e escolha a função capaz de resolver esse problema.
 floor()
sqrt()
 ceil()
rounder()
pow()
Um Engenheiro Mecânico tinha um arquivo onde ele gostaria que os nomes dos materiais fossem todos convertidos para letras minúsculas.
Observe as linhas abaixo e assinale a opção que contem a função que realiza essa conversão e a biblioteca a qual pertence.
toupper() e stdlib.h
 tolower() e ctype.h
atof() e stdlib.h
isalpha() e stdlib.h
atoi() e math.h
	
Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include 
int main() 
{ 
printf ("%s%d%%","Juros de ",10);
}
Nada porque tem muitos %
% Juros de 10
10 Juros de
 Juros de 10%
 %s%d%% Juros de 10
Observe o código abaixo: 
#include < stdio.h >
#include < stdlib.h>
int main(){ 
int x,y,z; 
x=6; 
y=2; 
z = (x%2)+8; 
puts(z); 
system("PAUSE"); 
return 0; 
} 
Dentre as opções abaixo é correto afirmar:
 Ocorrerá um erro
O programa exibirá 0
O programa exibirá 16
 O programa exibirá 11
O programa exibirá 8
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e tendo em vista o trecho do programa,  qual deveria ser a linha usada para exibir a saída abaixo:Observação: A sequência de números que aparece na saída representa as colunas da tela.
 Trecho
int num1= 12, num2=8; float num3=15;
printf("\n12345678901234"); 
  printf("\n%.2f\t%06.2f\n",(float) num1/num2, num3);
printf("\n%d\t%6.2f\n",num1/num2, num3);
 printf("\n%04d\t%.2f\n", num1/num2, num3);
printf("\n%4d\t%.2f\n", num1%num2, num3/2);
printf("\n%d\t%06.2f\n", num1, num3);
	
Um Engenheiro estava construindo um trecho de programa onde pedia que o usuário respondesse com uma letra ou um algarismo.
Se o usuário não tivesse respondido, ele enviaria uma mensagem de erro.Ele sabia que precisava aprender mais alguma estrutura, mas, no momento, pensou em experimentar uma função que pudesse lhe dar um retorno.Pesquisou nas bibliotecas estudadas na aula 2 e achou.Qual o nome dessa função?
isdigit()
 isalpha()
isnotalphadigit()
isspace()
 isalnum()
Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
string.h - Funções para concatenação de strings com inteiros.
 stdio.h - Funções para gráficos.
 math.h - Funções matemáticas
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
stdlib.h - Funções de entrada e saida. 
Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado a esta operação é Cast.Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do tipo int para a variável x do tipo float utilizando o Cast.
 x = (float) n;
x = float n;
n = float x;
n = (float) x;
 x = (int) n;
	
Quando precisamos incrementar o valor de uma variável em C, geralmente usamos a forma contrata, com os operadores pré ou pós fixados de acordo com a necessidade.Supondo as seguintes definições e desconsiderando a necessidade do restante do programa:
Int a = 5;
Int b = 8;
Após a execução das operações na ordem em que são apresentadas, Marque a resposta correta:
 a += b++; o valor de a e b são respectivamente: 9 e 13
a += ++b; o valor de a e b são respectivamente: 14 e 8
a += b++; o valor de a e b são respectivamente: 14 e 9
a = ++b; o valor de a e b são respectivamente: 8 e 9
 a = b++; o valor de a e b são respectivamente: 8 e 9
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
((pontos>=10) ! (pontos <=20))
((pontos>=10) % (pontos <=20))
 ((pontos>=10) && (pontos <=20))
 ((pontos>=10) # (pontos <=20))
((pontos>=10) || (pontos <=20))
As bibliotecas da linguagem C guardam funções predefinidas da linguagem. Veja o código a seguir e marque a alternativa que contém as bibliotecas necessárias para que este código funcione.
#include________
#include________
int main()
{
int a=2, b=2, c=8, delt;
delt=(pow(b, 2)-(4*a*c));
system("pause");
return (0);
}
Não leve em consideração os sinais de maior e menor que envolvem o nome das bibliotecas.
cmat.h - ctype.h
stdlib.h - ctype.hmath.h - stdlib.h
stdio.h - stdlib.h
stdio.h - ctype.h
Na linguagem de programação C, como em outras, na criação de programas, devemos definir os tipos de dados para nossas variáveis de acordo com o problema em questão.Das opções apresentadas qual possui apenas tipos da linguagem C, conforme o material apresentado nas aulas.
 char, int, float, double, boolean
 char, int, float, double, void
char, int, real, double, Boolean
Na criação de uma função precisamos definir suas partes, sendo algumas obrigatórias e outras,facultativas. Na linguagem C++,  temos:
tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função }Das opções apresentadas marque a que apresenta apenas partes obrigatórias de se digitar de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc).
 Tipo , Nome, e Corpo da função.
Tipo, Nome e Parâmetros
Tipo, Nome, Parâmetros e Corpo da Função.
Nome, Parâmetro e Corpo da função.
Tipo, Parâmetro e corpo da função
O Operador ternário é uma forma elegante de representar if else if, visto que é abreviada. Observe o trecho abaixo e assinale a opção que descreve o que faz.
int a=12, b=35, c=7, resp;
resp=(a>b && a > c) ?a: (b>c) ? b/c:c;
printf (''valor: %d'' , resp);
Exibe valor: 12
 Exibe valor: 5
Exibe valor: 7
 Exibe valor: 0
Exibe valor: 35
Existe sempre uma dúvida por parte do desenvolvedor se escolhe switch() ou if quando está usando a Linguagem C.Sabemos que existem algumas exigências para se usar o switch().Analise as opções abaixo e assinale a opção correta.
I Qualquer tipo pode ser usado. 
II Somente o tipo vetor de char que Não pode ser usado. 
III Não pode ser usado intervalo tipo: 1..3 em um case. 
IV Sempre será obrigatório usar o comando break; ao final de um case. 
V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção default, caso exista.
II, III e IV são verdadeiras
 II, IV e V são verdadeiras
 III e V são verdadeiras
I, III e IV são verdadeiras
I, III, IV e V são verdadeiras
Na construção de programas na linguagem C, precisamos utilizar os operadores lógicos para montar nossas expressões.Supondo que as variáveis foram devidamente declaradas, dentre as opções apresentadas qual não apresentauma expressão logica / relacional correta na linguagem C.
a > b && ! c
 a > b && < c
a > b && a < c
 ! (a > b)
a > b || b < c
	
Uma empresa que presta serviços de pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta.Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta: 
void main(){ 
float altura, largura;
char tipo; int total_latas, tot_metros, aux;
puts("\nDigite E para Externo e I para Interno");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&altura);
printf("\nDigite a largura da parede: ");
scanf("%f",&largura);
tot_metros = altura*largura;
 if(tot_metros%2) 
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);
break; 
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
Um aluno da engenharia desenvolveu um programa com um assunto que tinha estudado na aula de Física e entregou ao professor para que ele desse uma olhada.O professor de física entendia um pouco de programação e estava achando estranho o código, mas, como ele não estava perto de um computador, resolveu acompanhar no teste de mesa com os seguintes valores: 21 e 3, nessa ordem, para as duas entradas.Analise o código abaixo e assinale a opção que mostra a resposta achada pelo professor.
Esta tudo bem
 Chame tecnico e avise que o valor ultrapassou o maximo Chame tecnico e avise que o valor esta abaixo do minimo Esta tudo bem
Chame tecnico e avise que o valor ultrapassou o maximo Chame tecnico e avise que o valor esta abaixo do minimo
 Chame tecnico e avise que o valor ultrapassou o maximo Esta tudo bem
Chame tecnico e avise que o valor ultrapassou o máximo
Uma das principais características que consolidaram o sucesso na utilização dos computadores para a resolução de problemas foi a sua capacidade de repetir o processamento de um conjunto de operações para grandes quantidades de dados. Exemplos de conjuntos de tarefas que repetimos diversas vezes dentro de uma situação específica podem ser observados largamente no nosso dia a dia.As estruturas de repetição proveem uma maneira de repetir um conjunto de procedimentos até que determinado objetivo seja atingido, quando a repetição se encerra. Todas as estruturas de repetição têm em comum o fato de haver uma condição de controle, expressa através de uma expressão lógica, que é testada em cada ciclo para determinar se a repetição prossegue ou não.Tendo como base o código abaixo, qual opção que demonstra o que será exibido na tela?
void main() {
int i = 2;
int j = 6;
for(i=0;i<=5;i++){
do{ 
printf("%d", ++i);
}while(++i <= j--);
}
system("PAUSE");
}
23456
 256
265
246
 135
Durante a criação de um programa, foi percebido que uma parte do código era executada várias vezes, porém não era em uma sequência de repetições e sim esporadicamente. Cada vez que esta parte era executada inicialmente precisava-se de um valor diferente e no final do trecho a resposta nem sempre era a mesma. Era necessário achar alguma forma de evitar a redundância de códigos e melhorar a escrita e desempenho do sistema. Baseado na descrição apresentada acima e utilizando-se da melhor forma os conceitos de programação, qual seria a melhor solução pra o problema:
Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia.
Utilizar a estrutura de loop DO-WHILE, para executar a parte do código que se repetia.
Utilizar a estrutura de loop FOR, para executar a parte do código que se repetia.
 Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia.
 Criar uma função para executar a parte do código que se repetia.
	
Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos básicos de estruturas de repetição, for, while e do..while. O funcionamento e aplicação dos mesmos tem pequenas diferenças. 
    int i;
    for(i=0; i < 10; i+=2)
        if (i%2)
        printf("%d",i);
   printf("%d",i);
Supondo que as demais  linhas necessárias para o funcionamento do programa estejam devidamente criadas e baseado no trecho de código apresentado, o que será exatamente apresentado na tela após a sua execução.
024681010
 0 2 4 6 8 10
02468
0246810
 10
 Muitas séries matemáticas podem ser geradas pela estrutura do  for. Analise o código abaixo, supondo que você digitou 2 e 4 quando lhe foram solicitados dois números e escolha a opção que contém a série exibida pelo código.
2       4       6       8       19       12       14       16
 2       4       6       10       16       26       42
2       4       4       8       12       20       32       52
2       4       4       8       12       20       32       
2       4       6       10       16       26       42       68
	
A instrução while é usada quando não sabemos quantas vezes um determinado bloco de instruções precisa ser repetido. Com ele, a execução das instruções vai continuar até que uma condição seja verdadeira. A condição a ser analisada para a execução do laço de repetição deverá retornar um valor booleano 
Dado o código abaixo, qual opção que demonstra o que será exibido na tela?
int main(){int cont=1;
int tam = 3;
while( cont <=tam ){
while( cont++ <=tam )
printf("%d ",cont);
cont++;
}
system("PAUSE");
return 0;
}
 2 3 4
3 4 5
 2 3 4 5
1 2 3
1 2
As estruturas de repetição são essenciais no desenvolvimentos de programas na linguagem C. Dado o programa abaixo, identifique a opção que demonstra o que será exibido na tela:
int main(int argc, char *argv[]) {
int i = 0; 
int j = 5;
while(++i <= --j){ 
printf("%d ", i); 
}
system("PAUSE"); 
return 0;
}
1 2 3
1 2 3 4 5
 0 1 2
 1 2
0 1 2 3 4 5
Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta:I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0).II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'.III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um.
Todas as sentenças estão corretas
 Somente as sentenças II e III estão corretas
Somente as sentenças I e III estão corretas
Somente a sentença II está correta
 Somente as sentenças I e II estão corretas
Um dos problemas que assola a computação é o de segurança. Dentre várias soluções existentes, a criptografia é uma área que tem avançado muito nos dias de hoje. Uma empresa para criptografar seus textos, efetua a leitura de textos com até 80 caracteres e a partir de uma chave numérica os embaralha. 
Exemplo:
texto: "ABCDEFGHIJ"
chave: 42153
saída: "EBCAFDGHIJ"
Dado o trecho de programa abaixo, identifique qual das opções completa o mesmo para este fim.
void main(){
char vetor[10]={'A','B','C','D','E','F','G','H','I','J'};
int i;
char aux;
int chave[5] = {4,2,1,5,3};
 for(i = 0; i <5 ; i++){
aux = vetor[i];
vetor [i] = vetor[chave[i]]; 
vetor[chave[i]]= aux; 
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]); 
}
system("PAUSE"); 
}
for(i = 0; i <5 ; i++){
vetor[i] = vetor[chave[i]];
vetor[chave[i]] = vetor [i]; 
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]); 
}
system("PAUSE"); 
}
	
Uma empresa possui uma série de programas desenvolvidos em C que acessam um mesmo arquivo. Um dos problemas constatados é a falta de padronização no armazenamento de dados neste arquivo. Alguns aplicativos gravam em caixa alta (letras maiúsculas), outros em caixa baixa (letras minúsculas) e alguns não administram isto.Para tanto, foi definido, por padrão, que todos os caracteres lidos devem ser convertidos para caixa alta imediatamente após a leitura do mesmo. Qual função do C devo incluir nos programas para efetuar a conversão de caractere a caractere?
upper
 convertUpper
toupr
 toupper
convertUp
Observe as afirmativas abaixo sobre o terminador nulo e assinale a opção correta.
I Devemos sempre acrescentar mais uma posição ao vetor de char quando ele for dimensionado;
II Ele deve ser incluído ao final de todo vetor independente do tipo;
III O terminador nulo é identificado pelo caracter \0;
 As afirmativas I e III são verdadeiras.
 Somente a afirmativa I é verdadeira
Somente a III é verdadeira
Todas as afirmativas são verdadeiras
As afirmativas II e III são verdadeiras
Observe as declarações abaixo e assinale a opção correta.
I int idades[]={5,16,27,19};
II float CR[3]={6.1, 8.9, 9.3};
III char letras[]={"A", "E", "I", "O", "U"};
IV char letras[]={"Linguagem de "};
A declaração I está errada e a declaração II está correta
 Todas as declarações estão corretas
 Somente as declarações I , II e IV estão corretas
As declarações III e IV estão erradas
Somente as declarações I e II estão corretas
Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos.Pensou em declarar algumas matrizes unidimensionais para tornar isso possível.
 Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima?
double codigos[999], qtdade[999], valorC[999], valorV[999];
 double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
int codigos[999], qtdade[999]; float valorC[999], valorV[999];
 int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
Matrizes é um dos conceitos mais largamente usado em programação nos dias de hoje.Identifique a opção que ocorrerá um erro:
int matriz[2][3]; matriz[0][0]=2; matriz[0][1]=4;
 int matriz[][3]= {{2,4,6},{7,8,9}};
int matriz[][3]= {{2,4,6}};
int matriz[2][3]= {{2,4,6},{7,8,9}};
 int matriz[2][3]= {{2,4,6};{7,8,9}};
O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores.Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C.Assinale a opção que possibilitará fazer o que o professor deseja.
float notas[5][47]; 
 float NOTAS[47][47]; 
 float NOTAS[47][5]; 
float Notas[47][47]; 
float NOTAS[47,5]; 
Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde poderão se posicionar as demais funções em relação à função main()?Observe as afirmativas abaixo e assinale a resposta CORRETA
 I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema.
II Depois, desde que os protótipos sejam colocados antes da main().
III Antes para não ter que colocar os protótipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os protótipos.
Só a II está correta
 II e III estão corretas
 II e IV estão corretas
I e III estão corretas
I e IV estão corretas
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
   int vetn[3][2];
    for (int i=0; i < 3; i++){
        for (int j=0; j < 2; j++){
            vetn[i][j]  = i + j;
        }
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
O trecho apresentado possui erro e apenas um valor será armazenado.
 O trecho apresentado possui erro e nenhum valor será armazenado.
Serão armazenados os valores 0,0,1,1,2,2.
Serão armazenados os valores 0,1,2,2,3,3.
 Serão armazenados os valores 0,1,1,2,2,3.
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    int vetn[10];
    for (int i=1; i <= 10; i++){
        vetn[i -1]  = i * 13;
        i = i + 1;
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas em relação ao vetor, qual afirmativa está correta.
O décimo valor armazenado será o 117.
 O segundo valor armazenado será o 26.
Serão armazenados 10 valores inteiros.
O terceiro valor armazenado será o 60.
 Serão armazenados 5 valores inteiros.
As matrizes, assim como os vetores, são muito importantes para facilitar o trabalho de um programador, por isso é extremamente importante saber como utiliza-la.Assinale a alternativa em que há uma matriz bidimensional, do tipo inteiro, com 10 linhas e 20 colunas, declarada de forma correta.
matrizExemplo int[10][20];
 int matrizExemplo[10,20];
float matrizExemplo[20][10];
matrizExemplo float[20][10];
 int matrizExemplo[10][20];
Observe o código apresentado na questão:
#include < stdio.h>
#include < stdlib.h>
int x=4;
void main(){
  int x=5;
  exibir(x); 
  system("PAUSE");      
}
void exibir(int y){
   printf("%d",y);    
}
Dentre as opções abaixo é correto afirmar:
O programa exibirá 5
 O programa exibirá 4
O programa exibirá 0
 Ocorrerá um erro
O programa exibirá 9
	
Os alunos foramdesafiados pelo professor para construir uma linha em linguagem C que pudesse exibir no display o algarismo da casa das dezenas simples de um número dado na chamada das funções.O professor disse que eles não precisavam fazer nenhuma proteção, mas deixou claro que tinham que usar somente as duas funções que foram disponibilizadas para eles.Observe os protótipos abaixo e os comentários sobre o que cada função retorna e depois escolha a opção que possibilita o que foi pedido, supondo que o número seja : 987234.
Função 1: int retornaUltimo(int num); /* Retorna o algarismo da casa das unidades simples*/
Função 2: int retornaDezenas(int num); /* Retorna o número de dezenas de um número */
 
  
 
Existem basicamente dois tipos de variáveis que podem ser declaradas em um código: variáveis locais e variáveis globais. Para que um programador possa escolher a melhor maneira de declarar as variáveis em seu programa é necessário que ele tenha domínio sobre elas.Assinale a alternativa que contém apenas características das variáveis globais.
Declaradas dentro do escopo de todas as funções e poderá ser manipulado por qualquer função.
 Declaradas dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
Declaradas fora do escopo de todas as funções e não poderá ser manipulado por qualquer função.
 Declaradas fora do escopo de todas as funções e poderá ser manipulado por qualquer função.
Declaradas fora ou dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada.
   
 O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número 
 Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre 
O menor número é retornado 
O valor retornado corresponde ao índice da variável que contem o menor número 
O maior número é retornado 
A língua portuguesa realmente é surpreendente. Além de rica em fonemas e vocabulário, possui muitas curiosidades. Entre elas o conceito de palíndromo, que é uma palavra ou um número que se lê da mesma maneira nos dois sentidos como, por exemplo, OVO.Dado o código abaixo, qual das opções complementa o programa para identificar este curioso conceito?
int ePalindromo(char vet[],int tam);
void main(int argc, char *argv[]) { 
char texto[] = "arara";
int i; 
if(ePalindromo(texto, strlen(texto)))
printf("Eh palindromo");
else
printf("Nao eh palindromo");
system("PAUSE"); 
}
 int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam/2; i++){
if(vet[i]!=vet[tam-1-i]){ 
aux = 0;
break;
}
} 
return aux; 
}
int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam; i++){
if(vet[i]!=vet[tam+1-i]){
aux = 0;
break;
}
} 
return aux; 
}
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
 atoi( ).
 strlength( ).
strlen( ).
strcat( ).
strcont( ).
Existem basicamente dois tipos de variáveis que podem ser declaradas em um código: variáveis locais e variáveis globais. Para que um programador possa escolher a melhor maneira de declarar as variáveis em seu programa é necessário que ele tenha domínio sobre elas.Assinale a alternativa que contém apenas características das variáveis globais.
Declaradas dentro do escopo de todas as funções e poderá ser manipulado por qualquer função.
 Declaradas dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
Declaradas fora do escopo de todas as funções e não poderá ser manipulado por qualquer função.
 Declaradas fora do escopo de todas as funções e poderá ser manipulado por qualquer função.
Declaradas fora ou dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
	
A língua portuguesa realmente é surpreendente. Além de rica em fonemas e vocabulário, possui muitas curiosidades. Entre elas o conceito de palíndromo, que é uma palavra ou um número que se lê da mesma maneira nos dois sentidos como, por exemplo, OVO.
Dado o código abaixo, qual das opções complementa o programa para identificar este curioso conceito?
int ePalindromo(char vet[],int tam);
void main(int argc, char *argv[]) { 
char texto[] = "arara";
int i; 
if(ePalindromo(texto, strlen(texto)))
printf("Eh palindromo");
else
printf("Nao eh palindromo");
system("PAUSE"); 
}
 int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam/2; i++){
if(vet[i]!=vet[tam-1-i]){ 
aux = 0;
break;
}
} 
return aux; 
}
int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam; i++){
if(vet[i]!=vet[tam+1-i]){
aux = 0;
break;
}
} 
return aux; 
}
Observe o código abaixo e assinale a resposta que informa o que ele faz. 
int c;
c = getc( entrada);
if (c != EOF) 
putc( c, stdout);
else 
printf( "\nO arquivo terminou!");
O seguinte fragmento de código exibe o próximo caractere do arquivo mesmo que estejamos no fim do arquivo.
O seguinte fragmento de código exibe todos os caracteres do arquivo a menos que estejamos no fim do arquivo.
 O seguinte fragmento de código exibe o próximo caractere do arquivo a menos que estejamos no fim do arquivo.
 O seguinte fragmento de código exibe somente um caractere do arquivo a menos que estejamos no fim do arquivo.
O seguinte fragmento de código exibe o próximo caracter mesmo após o fim do arquivo.
	
Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de arquivo.txt, que foi associado com a variável de nome: arq, e que é do tipo binário, avalie cada uma das afirmativas e marque a que faz a abertura para ler dados do arquivo corretamenteseguindo as regras da linguagem.
arq = fopen("texto.txt", "r");
arquivo = fopen("arquivo.txt", "r");
 arq = fopen("arquivo.txt", "rb");
 arquivo = fopen("arquivo.txt ", "ab");
arquivo = fopen("texto.txt ", "rb");
	
Na manipulação de arquivos na linguagem C, a primeira coisa que precisa ser feita é associar um arquivo externo, que pode ser texto ou binário ao programa.
Avalie cada uma das afirmativas e marque a que faz a associação corretamente seguindo as regras da linguagem.
arq = open("texto.txt", "a");
File arq;
arq = fopen("texto.txt", "a");
 FILE *arquivo;
arquivo = fopen("texto.txt", "a");
	
Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.Das afirmativas apresentadas qual define corretamente qual a finalidade da função fgets() .
Função que fecha um arquivo.
 Função para ler uma linha.
Funções para ler um caractere.
 Funções para leitura formatada.
Função que detecta o fim do arquivo.
Observe o programa a seguir e assinale a alternativa que explica o que ele faz:
#include < stdio.h >
#include < stdlib.h >
#define TRUE 1
int main( void) {
int x, n, k;
double soma;
FILE *entrada;
entrada = fopen( "dados.txt", "r");
if (entrada == NULL) {
printf( "\nNão encontrei arquivo\n");
exit( EXIT_FAILURE);
}
soma = n = 0;
while (TRUE) {
k = fscanf( entrada, "%d", &x);
if (k != 1) break;
soma += x;
n += 1;
}
fclose( entrada);
printf( "O resultado é %f\n", soma / n);
return EXIT_SUCCESS;
}
Observação: O arquivo "dados.txt" contém uma sequência de números separados por brancos.
Calcula a média entre os dois últimos números.
Calcula a soma dos valores maiores que n.
 Calcula a média dos números.
 Calcula a média de brancos da sequência
Calcula a quantidade de números do arquivo.
O protótipo do comando fputs é:
char *fputs (char str,FILE *fp);
int *fputs (char *str,FILE *fp);
 char *fputs (char *str,FILE *fp);
 char fputs (char *str,FILE *fp);
char *fputs (char *str,FILEfp);
A função rewind() de protótipo
void rewind (FILE *fp);
tem como comportamento:
 Retornar a posição corrente do arquivo para o início.
Adiantar para a próxima posição corrente do arquivo.
 Adiantar a posição corrente do arquivo para o fim.
Adiantar a posição corrente do arquivo para o início.
Retornar a posição corrente do arquivo para o fim.
	
Observe o programa abaixo e escolha a opção que descreve o que ele faz.
 Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo binário para escrita e, se for possível, grava os dados no arquivo. 
 Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo binário para escrita e leitura e, se for possível, grava os dados no arquivo.
 Lê dados de um arquivo texto e armazena na Memória Principal em uma matriz unidimensional, exibindo depois na tela. 
Lê dados do teclado e armazena na Memória Principal em uma matriz unidimensional. Depois abre um arquivo do tipo texto para escrita e, se for possível, grava os dados no arquivo.
Lê dados de um arquivo binário e armazena na Memória Principal em uma matriz unidimensional, exibindo depois na tela.
A função fseek() possui três parâmetros em sua sintaxe.Assinale a alternativa que contém a afirmação correta sobre o segundo parâmetro (long offset) desta função.
É a posição de referência para o deslocamento.
 Para arquivo do tipo binário, o número de bytes que deverá ser deslocado a partir da origem.
 Para este parâmetro só três valores poderão ser usados.
Identifica o fluxo, isto é, o nome da variável ponteiro do tipo file.
Indica a posição reposicionada do indicador de fluxo.
Trabalhando com arquivos, muitas vezes é necessário remover o mesmo e para tal temos a função remove().Das alternativas apresentadas qual está ERRADA em relação a função.
É do tipo int.
 Não possui retorno.
 Retorna um valor inteiro.
Possui apenas um parâmetro.
O nome do arquivo é um vetor de char.
Um Engenheiro da prefeitura está  fazendo um  levantamento do número de árvores necessárias para serem  plantadas em 20 bairros.Ele gostaria de declarar
matrizes para armazenamento desses dados.Assinale a linha onde a declaração atende ao que ele deseja.
 char bairros[20,40]; int quantidade[20]; 
char bairros[19][40]; int quantidade[19]; 
 char bairros[20][40]; int quantidade[20]; 
char bairros[20]; int quantidade[20]; 
char bairros[19]; int quantidade[19]; 
Em relação ao quer foi apresentado sobre as funções internas da linguagem, marque a resposta na qual a afirmativa em relação à teoria sobre as mesmas está errada.
O nome da biblioteca aparece entre os sinais de < e >.
 Após o include entre os sinais de < e > aparece o nome de uma função.
 As bibliotecas possuem um conjunto de funções do mesmo tipo.
Devemos utilizar o símbolo # antes da palavra include.
O include é utilizado para que possamos acessar funções de uma biblioteca.
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.Assinale a linha onde a declaração atende ao que ele deseja.
char nomes[19][31]; float salarios[19][13]; 
char nomes[20][31]; float salarios[20][20]; 
 char nomes[20][31]; float salarios[20][14]; 
char nomes[20]; float salarios[19][13]; 
float nomes[20][31], salarios[20][14]; 
Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.
De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
string.h - Funções para concatenação de strings com inteiros.
stdio.h - Funções para gráficos.
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
stdlib.h - Funções de entrada e saida. 
 math.h - Funções matemáticas
A linguagem C/C++ utiliza variáveis, que podem ser classificadas como globais ou locais.
Dentre as opções, assinale a que expressa corretamente à definição de "variável global" da linguagem C/C++.
São declaradas dentro do main(). E suas variáveis são escritas dentro do escopo das funções.
 Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das funções.
São declaradas no final de um bloco. Seus escopos não estão restritos aos blocos em que essas variáveis foram declaradas.
São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas variáveis foram declaradas.
Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro do escopo das funções.
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias informações do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta a programação adequada, declaração e respectiva manipulação das matrizes, das opções apresentadas a respeito das matrizes bidimensionais marque a resposta correta.
char mat[2][2]; mat[0][2] = A;
int mat[3][3]; mat[0][3] = 5;
int mat[3][3]; mat[0][2] = 5.0;
 int mat[3][3]; mat[0][2] = 5;
char mat[2][2]; mat[0][2] = "A";
O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores.
Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C.
Assinale a opção que possibilitará fazer o que o professor deseja.
float NOTAS[47,5]; 
float NOTAS[47][47]; 
 float NOTAS[47][5]; 
float Notas[47][47]; 
float notas[5][47]; 
As funções existem para decompor um problema em partes menores, simplificando e organizando o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em relação aos conceitos de funções.
 O comando return encerra a execução de uma função e pode retornar vários valores para a função chamadora da função.
O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de parâmetros da função.
Além do valor de uma variável é possível passar para uma função o endereço da variável como por exemplo, das matrizes.
As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
Um engenheiro precisava calcular o valor do imposto a ser pago no carnê leão.Sabe-se que o imposto é calculado sobre o salário bruto.Acompanhe o programa codificado na linguagem C, supondo que você digitou 4000 para primeira solicitação de entrada e 1000, para segunda solicitação. Escolha a opção onde está presente o valor do imposto.
Valor do imposto a ser pago: 650.00
Valor do imposto a ser pago: 800.00
Valor do imposto a ser pago: 1000.00
 Valor do imposto a ser pago: 750.00
Valor do imposto a ser pago: 850.00
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    int vetn[10];
    for (int i=1; i <= 10; i++){
        vetn[i -1]  = i * 13;
        i = i + 1;
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas em relação ao vetor, qual afirmativa está correta.
Serão armazenados 10 valores inteiros.
O terceiro valor armazenado será o 60.
O segundo valor armazenado será o 26.
 Serão armazenados 5 valores inteiros.
O décimo valor armazenado será o 117.
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
atoi( ). 
strcont( ). 
strlength( ). 
strlen( ). 
strcat( ). 
Durante a execução de um programa o operador delete pode desalocar memória, criada pelo operador new.Esse tipo de manipulação de variáveis com este operador é chamado de:
 Alocação dinâmica 
Alocação por endereço 
Passagempor endereço 
Alocação estática 
Passagem por valor 
Na linguagem C++, no processo de manipulação de arquivos, existem algumas formas de indicar o que será feito com os mesmos no momento em que os abrimos. Das opções apresentadas, marque aquela que permite que os dados sejam adicionados no arquivo aberto após os dados existentes sem apagá-los.
 ios::app
ios::pos
ios::beg
ios::in 
ios::out 
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
intvetn[3][2];
 for (inti=0; i< 3; i++){
 for (int j=0; j < 2; j++){
vetn[i][j] = i + j;
}
}
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
Serão armazenados os valores 0,1,1,2,2,3. 
O trecho apresentado possui erro e apenas um valor será armazenado.
Serão armazenados os valores 0,0,1,1,2,2. 
O trecho apresentado possui erro e nenhum valor será armazenado. 
Serão armazenados os valores 0,1,2,2,3,3. 
Um programador criou o seguinte código:
int calcula(int x, char letra){
cout<< letra<<") "<<"Número:  "<<x;<span=""><x;<font=""></x;<></x;<>
x - -;
return x;
}
Baseado no trecho de código apresentado e na teoria vista sobre o funcionamento das funções marque a resposta na qual a afirmativa está errada.
O nome da função é calcula. 
A função deve obrigatoriamente retornar um número inteiro. 
A função deve ser chamada pelo seu nome enviando os parâmetros solicitados. 
A função trabalha com dois parâmetros. 
O x não pode ser retornado, pois foi recebido como parâmetro. 
Qual é a saída de tela, deste trecho de programa? 
int x=4, 
y=8; 
if (x < 2) 
    printf ("%d \n", x); 
else 
    printf ("%d \n", y); 
9
8
12
\n8
\n4
Um programador durante a construção de um código precisava retirar de um texto que continha uma data completa, com dia, mês e ano, apenas o ano.
Das opções apresentadas, qual função apresenta a solução para o programador?
substr( ); 
strcont( ). 
strlength( ). 
strcat( ). 
strlen( ).
8a sem.: STRINGS
Um programador durante a construção de um código precisava obter a quantidade de caracteres contido em um determinado texto.Na manipulação de textos na linguagem C++ é necessário a utilização de funções da biblioteca < string >.Das opções apresentadas, qual função apresenta a solução para o programador?
strcont( ). 
strlen( ). 
strlength( ). 
atoi( ). 
strcat( ). 
Um programador durante a construção de um código precisava unir o nome e a matricula de um servidor.Na manipulação de textos na linguagem C++ é necessário a utilização de funções da biblioteca <string>.Das opções apresentadas, qual função apresenta a solução para o programador?
strlength( ). 
strlen( ). 
strcont( ). 
atoi( ).
strcat( ). 
Na linguagem C++, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros. Quando as seguintes linhas de código forem executadas: (desconsidere a necessidade do restante do programa)
 float *x, pos;
 pos = 5.5;
 x = &pos
 Podemos afirmar que:
O conteúdo do endereço para o qual x aponta é 5.5 
A variável pos aponta para x 
Não é possível trabalhar com ponteiros do tipo real.
O conteúdo de x é 5.5 
O conteúdo de &pos é 5.5 
Baseado nos conceitos de Matrizes, no que tange em relação a declaração, dentre as afirmações que se seguem, assinale a que não contem erros sobre as matrizes multidimensionais- 1 e matrizes não dimensionadas- 2 respectivamente.
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - O tamanho não é especificado. 
1- Tipo nome [linha][coluna] e 2 - O tamanho não é especificado. 
1- Tipo nome [linha][coluna] e 2 - O compilador cria uma matriz grande para conter todos os seus elementos.
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - Tipo nome [tamanho] 
1- O compilador cria uma matriz grande para conter todos os seus elementos e 2-Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n]. 
Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de parâmetros de Passagem por:
 valor
Endereço
 ponteiro
 referência
memória
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias informações do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta apenas a linha de comando, das opções apresentadas em relação à manipulação de vetores marque a resposta correta.
char vetnome[5]= "Maria";
float array[4]=[1.0,2.4,3.5,4.5];
 float vetreais[4]={1.0,2.4,3.5,4.5};
 char vet[5]={a,b,c,d,e};
int vetinteiros[5]=[1,2,3,4,5];
 Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes.Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional.
tipo nome_vetor[numero_colunas][numero_linhas];
tipo nome_matriz[numero_colunas][numero_linhas];
 tipo nome_matriz[numero_linhas][numero_colunas];
nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[][];
Um Engenheiro de Produção que gostava de programar resolveu definir uma função para facilitar seu trabalho, uma vez desejava dar um premio de produtividade para sua equipe.O premio seria calculado de forma variada e iria se basear na avaliação de cada funcionário (valores de 1 a 5).
Ele escreveu o protótipo abaixo.
float premio(float salario, int avaliacao);
 Tendo em  vista esse protótipo é CORRETO afirmar que a função:
Recebe dois valores, salário e a avaliação, passados por referência.
Retornará dois valores para a função chamadora.
Não retorna nenhum valor para a função chamadora.
 Recebe dois valores, salário e a classificação, passados por valor.
Retornará o salário somado ao percentual
Na lista de exercícios que foi liberada pela professora de Linguagem de Programação I, na questão 3, estava presente  o programa abaixo. No enunciado, era solicitado que fosse feito o acompanhamento da execução do programa no Teste de Mesa, supondo que tivesse sido digitada a seguinte data: 11151918.
Assinale a opção CORRETA para a saída desse programa.
 1918 / 15 / 11
 1918 / 11 / 15
15 / 11 / 1918
11 / 1918 / 15
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, abrir um arquivo txt para alteração.Quando existe a possibilidade de alteração, ele precisa conferir os dados antes de alterar. Dessa forma, ele opta pelo trecho de alteração que possibilita a leitura antes de alterar e por ter incluído um trecho de proteção que possibilita, se for necessário, desistir de alterar.Os arquivos com dados são salvos todos os dias e segue um modelo para nomeá-los conforme mostrado abaixo:
 ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 Para que isso seja possível, deverá estar presente na função altera() uma das linhas abaixo.Selecione-a.
fp=fopen("ddmmaaaa.txt" "r");
fp=fopen(ddmmaaaa.txt, "r");
 fp=fopen(nomeArq, "w");
 fp=fopen(nomeArq, "a+");
fp=fopen("nomeArq", "a");
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e tendo em vista o trecho do programa,  qual deveria ser a linha usada para exibir a saída abaixo:Observação: A sequência de números que aparece na saída representa as colunas da tela.
 Trecho
int num= 12; float med=9.8;
printf("\n12345678901234");
 
printf("\n%4d\t%f\n", num, med);
printf("\n%d\t%6.2f\n", num, med);
 printf("\n%d\t%06.2f\n", num, med);
printf("\n%04d\t%.2f\n", num, med);
printf("\n%d\t06.2f\n", num, med);
Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo.Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programadordeveria acessar o arquivo, segundo sua necessidade.
 Somente para gravação
Para leitura e gravação
Não precisa abrir o arquivo
 Para leitura e edição
 Somente para leitura
Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
struct
for
 while
if-else
switch
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
stdaux = Dispositivo de saída principal (normalmente a porta usb)
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
  stdin = Dispositivo de entrada padrão (normalmente o teclado)
stderr = Dispositivo de saída padrão (normalmente o monitor)
stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
Estudamos que a linguagem C apresenta várias características. Analise as afirmativas abaixo e assinale a opção correta.
I Com pequenas modificações, um código poderá ser compilado em várias plataformas.
II Não pode ser modularizada
III Possui um propósito específico
IV Considerada de nível intermediário
 I e IV estão corretas
I, III e IV estão corretas
Todas estão erradas
Todas estão corretas
II, III e IV
Um Engenheiro Ambiental tinha um arquivo onde ele gostaria retirar algarismos que estavam dentro de várias cadeias de caracteres e que fossem todos convertidos para números reais, uma vez que eles representavam tamanhos de árvores.Observe as linhas abaixo e assinale a opção que contem a função que realiza essa conversão e a biblioteca a qual pertence.
tolower() e ctype.h
isalpha() e stdlib.h
 atof() e stdlib.h
toupper() e stdlib.h
 atoi() e math.h
Um engenheiro precisava calcular o valor do imposto a ser pago no carnê leão.Sabe-se que o imposto é calculado sobre o salário bruto.Acompanhe o programa codificado na linguagem C, supondo que você digitou 4000 para primeira solicitação de entrada e 1000, para segunda solicitação. Escolha a opção onde está presente o valor do imposto.
Valor do imposto a ser pago: 1000.00
 Valor do imposto a ser pago: 750.00
Valor do imposto a ser pago: 850.00
Valor do imposto a ser pago: 650.00
Valor do imposto a ser pago: 800.00
Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
  O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a opção que contém a série exibida pelo código.
0     1     1     3     2     4     5     7
0     1     1     2     3     4     5     6
1       3     4      7      9     11     13
0     1     1     2     3     5     8     13     21
 1     1     2     3     5     8     13     21
Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos.Pensou em declarar algumas matrizes unidimensionais para tornar isso possível.
 Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima?
double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
int codigos[999], qtdade[999]; float valorC[999], valorV[999];
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
 int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
double codigos[999], qtdade[999], valorC[999], valorV[999];
Observe o código apresentado na questão:
#include < stdio.h>
#include < stdlib.h>
int x=4;
void main(){
  int x=5;
  exibir(x); 
  system("PAUSE");      
}
void exibir(int y){
   printf("%d",y);    
}
Dentre as opções abaixo é correto afirmar:
 Ocorrerá um erro
O programa exibirá 0
O programa exibirá 5
O programa exibirá 4
O programa exibirá 9
A função fseek() possui três parâmetros em sua sintaxe.Assinale a alternativa que contém a afirmação correta sobre o segundo parâmetro (long offset) desta função.
Identifica o fluxo, isto é, o nome da variável ponteiro do tipo file.
Indica a posição reposicionada do indicador de fluxo.
Para este parâmetro só três valores poderão ser usados.
É a posição de referência para o deslocamento.
 Para arquivo do tipo binário, o número de bytes que deverá ser deslocado a partir da origem.
Sabe-se que a linguagem C é uma das mais utilizadas no mundo. Desenvolvida em 1972 é uma linguagem voltada para programadores. Dentre as opções abaixo é incorreto afirmar:
Permite a compilação de softwares para plataforma Windows, Linux e Unix.
 Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo
Possui características de Linguagem de alto nível.
Possui características de Linguagem de baixo nível.
Possibilita o desenvolvimento de funções próprias
Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include 
int main()
{
printf ("O valor eh = \\n%04d ", 12);
}
O valor eh = 000012
O valor eh = em uma linha e na linha abaixo 0012
O valor eh = em uma linha e na linha abaixo 12
O valor eh = \n 12
 O valor eh = \n0012
Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado a esta operação é Cast.Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do tipo int para a variável x do tipo float utilizando o Cast.
 x = (float) n;
x = float n;
 n = float x;
x = (int) n;
n = (float) x;
Um aluno da engenharia desenvolveu um programa com um assunto que tinha estudado na aula de Física e entregou ao professor para que ele desse uma olhada.O professor de física entendia um pouco de programação e estava achando estranho o código, mas, como ele não estava perto de um computador, resolveu acompanhar no teste de mesa com os seguintes valores: 21 e 3, nessa ordem, para as duas entradas.Analise o código abaixo e assinale a opção que mostra a resposta achada pelo professor.
Esta tudo bem
 Chame tecnico e avise que o valor ultrapassou o maximo Chame tecnico e avise que o valor esta abaixo do minimo
Chame tecnico e avise que o valor ultrapassou o máximo
 Chame tecnico e avise que o valor ultrapassou o maximo Esta tudo bem
Chame tecnico e avise que o valor ultrapassou o maximo Chame tecnico e avise que o valor esta abaixo do minimo Esta tudo bem
Observe as declarações abaixo e assinale a opção correta.
I int idades[]={5,16,27,19};
II float CR[3]={6.1, 8.9, 9.3};
III char letras[]={"A", "E", "I", "O", "U"};
IV char letras[]={"Linguagem de "};
As declarações III e IV estão erradas
 Somente as declarações I e II estão corretas
 Somente as declarações I , II e IV estão corretas
A declaração I está errada e a declaração II está correta
Todas as declarações estão corretas
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionáriose 14 salários de cada um deles.Assinale a linha onde a declaração atende ao que ele deseja.
char nomes[19][31]; float salarios[19][13]; 
float nomes[20][31], salarios[20][14]; 
 char nomes[20][31]; float salarios[20][14]; 
char nomes[20][31]; float salarios[20][20]; 
char nomes[20]; float salarios[19][13]; 
Para se fazer procuras e acessos randômicos em arquivos usa-se a função fseek(). Esta move a posição corrente de leitura ou escrita no arquivo de um valor especificado, a partir de um ponto especificado. Seu protótipo é:
int *fseek (FILE *fp,long numbytes,int origem);
 int fseek (FILE fp,long numbytes,int origem);
 int fseek (FILE *fp,long numbytes,int origem);
real fseek (FILE *fp,long numbytes,int origem);
void fseek (FILE *fp,long numbytes,int origem);
No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows.Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa?
Usar um editor de texto para digitar o código/ salvar com extensão c/ digitar uma linha de comando no terminal, usando o compilador gcc que irá gerar o executável e executá-lo em seguida.
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo. 
Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Usar o terminal para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável / digitar o nome do executável no terminal para executá-lo.
Na linguagem de programação C, como em outras, na criação de programas, precisamos fazer a entrada e saída de dados no sistema e para tal temos algumas opções.Das opções apresentadas, qual não é parte linguagem C, conforme o material apresentado nas aulas.
fgetc(stdin)
cin ( )
getchar ( )
scanf ( )
printf ( )
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? 
while (num != 0)
for ( i = 0; i == num; i++)
while (num == 0)
enquanto (num > 0)
for (i = num; i > 0; i++)
Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta: 
I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0). 
II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'.
III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um.
 Somente a sentença II está correta
Somente as sentenças I e II estão corretas
Somente as sentenças II e III estão corretas
Todas as sentenças estão corretas
Somente as sentenças I e III estão corretas
O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores.Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C.Assinale a opção que possibilitará fazer o que o professor deseja.
float Notas[47][47]; 
float NOTAS[47][47]; 
float NOTAS[47,5]; 
float NOTAS[47][5]; 
float notas[5][47]; 
Após o surgimento de várias linguagens de Alto nível, surge a linguagem C . Qual a década em que foi desenvolvida?
década de 50
década de 60
década de 90
 década de 70
 década de 80
Qual o nome da função matemática que calcula a potenciação de um número?
pot
double
sqrt
 pow
 elevado
Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro.O dado testado era do tipo inteiro.Assinale a opção que ele escolheu.
três ifs simples e um composto
switch() com cinco cases
quatro ifs simples
 switch() com quatro cases e um default
quatro ifs simples e um composto
 Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos básicos de estruturas de repetição, for, while e do..while. O funcionamento e aplicação dos mesmos tem pequenas diferenças. 
    int i;
    for(i=0; i < 10; i+=2)
        if (i%2)
        printf("%d",i);
   printf("%d",i);
Supondo que as demais  linhas necessárias para o funcionamento do programa estejam devidamente criadas e baseado no trecho de código apresentado, o que será exatamente apresentado na tela após a sua execução.
0246810
024681010
 10
02468
0 2 4 6 8 10
Um dos problemas que assola a computação é o de segurança. Dentre várias soluções existentes, a criptografia é uma área que tem avançado muito nos dias de hoje. Uma empresa para criptografar seus textos, efetua a leitura de textos com até 80 caracteres e a partir de uma chave numérica os embaralha. 
Exemplo:
texto: "ABCDEFGHIJ"
chave: 42153
saída: "EBCAFDGHIJ"
Dado o trecho de programa abaixo, identifique qual das opções completa o mesmo para este fim.
void main(){
char vetor[10]={'A','B','C','D','E','F','G','H','I','J'};
int i;
char aux;
int chave[5] = {4,2,1,5,3};
 for(i = 0; i <5 ; i++){
aux = vetor[i];
vetor [i] = vetor[chave[i]]; 
vetor[chave[i]]= aux; 
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]); 
}
system("PAUSE"); 
}
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
strlength( ).
strlen( ).
strcat( ).
 atoi( ).
strcont( ).
Nas aulas, tivemos a oportunidade de construir arquivos externos, usando o bloco de notas.Assinale a alternativa correta sobre este assunto.
É possível com arquivos binários, pois uma vez que o arquivo binário não é uma sequência de bytes que e têm significado se formos tentar ler o arquivo.
É possível com arquivos binários, pois uma vez que o arquivo binário é uma sequência de bytes que têmsignificado podemos ler e escrever o arquivo no bloco de notas.
Não é possível com arquivos binários, pois existe o conceito de linha, uma vez que o arquivo binárionão é uma sequência de bytes que não têm significado se formos tentar ler o arquivo.
 Não é possível com arquivos binários, pois não existe o conceito de linha, uma vez que o arquivo binário é uma sequência de bytes que não têm significado se formos tentar ler o arquivo.
 É possível com arquivos binários, pois uma vez que o arquivo binário representa uma estrutura e não têm significado podemos ler e escrever o arquivo no bloco de notas.
Na Aula 1, estudamos algumas características e vantagens da linguagem C. Observe as afirmativas abaixo e assinale a opção que contem a resposta correta.
I Tem boa Portabilidade. 
II Não pode ser modularizada. 
III É uma linguagem Orientada a Objetos.
IV Uma linguagem que pode manipular endereços de memória. 
V Não possui um propósito especifico.
 As afirmativas I, IV e V estão corretas e as demais, erradas.
As afirmativas II, III e IV estão corretas e as demais, erradas.
As afirmativas I e IV estão corretas e as demais, erradas.
As afirmativas IV e V estão corretas e as demais, erradas.
As afirmativas II, IV e V estão corretas e as demais, erradas.
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e tendo em vista o trecho do programa,  qual deveria ser a linha usada para exibir a saída abaixo:Observação: A sequência de números que aparece na saída representa as colunas da tela.
 Trecho
int num= 12; float med=9.8;
printf("\n12345678901234");
 
 printf("\n%d\t%06.2f\n", num,med);
printf("\n%d\t06.2f\n", num, med);
printf("\n%d\t%6.2f\n", num, med);
printf("\n%4d\t%f\n", num, med);
printf("\n%04d\t%.2f\n", num, med);
Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado a esta operação é Cast.Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do tipo int para a variável x do tipo float utilizando o Cast.
 x = (float) n;
x = (int) n;
n = float x;
n = (float) x;
x = float n;
Preencha as lacunas abaixo para que a mensagem abaixo seja exibida, caso a variável Idade seja maior ou igual a 18 e a variável Peso seja maior que 50. 
if((Idade_ _ _18)_ _ _(peso_ _ _50)) 
{
printf("Você pode ser doador de Sangue");
}
>=; &; >;
 >=; &&; >;
<>; and; >;
>>; and; >;
>=; e; >;
Durante a criação de um programa, foi percebido que uma parte do código era executada várias vezes, porém não era em uma sequência de repetições e sim esporadicamente. Cada vez que esta parte era executada inicialmente precisava-se de um valor diferente e no final do trecho a resposta nem sempre era a mesma. Era necessário achar alguma forma de evitar a redundância de códigos e melhorar a escrita e desempenho do sistema. Baseado na descrição apresentada acima e utilizando-se da melhor forma os conceitos de programação, qual seria a melhor solução pra o problema:
Utilizar a estrutura de loop DO-WHILE, para executar a parte do código que se repetia.
Utilizar a estrutura de loop FOR, para executar a parte do código que se repetia.
Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia.
 Criar uma função para executar a parte do código que se repetia.
Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia.
Uma empresa possui uma série de programas desenvolvidos em C que acessam um mesmo arquivo. Um dos problemas constatados é a falta de padronização no armazenamento de dados neste arquivo. Alguns aplicativos gravam em caixa alta (letras maiúsculas), outros em caixa baixa (letras minúsculas) e alguns não administram isto.Para tanto, foi definido, por padrão, que todos os caracteres lidos devem ser convertidos para caixa alta imediatamente após a leitura do mesmo. Qual função do C devo incluir nos programas para efetuar a conversão de caractere a caractere?
upper
convertUpper
convertUp
toupr
 toupper
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    int vetn[3][2];
    for (int i=0; i < 3; i++){
        for (int j=0; j < 2; j++){
            vetn[i][j]  = i + j;
        }
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
Serão armazenados os valores 0,0,1,1,2,2.
O trecho apresentado possui erro e nenhum valor será armazenado.
Serão armazenados os valores 0,1,2,2,3,3.
O trecho apresentado possui erro e apenas um valor será armazenado.
 Serão armazenados os valores 0,1,1,2,2,3.
Observe o código abaixo e assinale a resposta que informa o que ele faz. 
int c;
c = getc( entrada);
if (c != EOF) 
putc( c, stdout);
else 
printf( "\nO arquivo terminou!");
O seguinte fragmento de código exibe o próximo caractere do arquivo mesmo que estejamos no fim do arquivo.
 O seguinte fragmento de código exibe o próximo caractere do arquivo a menos que estejamos no fim do arquivo.
O seguinte fragmento de código exibe somente um caractere do arquivo a menos que estejamos no fim do arquivo.
O seguinte fragmento de código exibe todos os caracteres do arquivo a menos que estejamos no fim do arquivo.
O seguinte fragmento de código exibe o próximo caracter mesmo após o fim do arquivo.
Durante a criação de um programa, foi percebido que uma parte do código era executada várias vezes, porém não era em uma sequência de repetições e sim esporadicamente. Cada vez que esta parte era executada inicialmente precisava-se de um valor diferente e no final do trecho a resposta nem sempre era a mesma. Era necessário achar alguma forma de evitar a redundância de códigos e melhorar a escrita e desempenho do sistema. Baseado na descrição apresentada acima e utilizando-se da melhor forma os conceitos de programação, qual seria a melhor solução pra o problema:
Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia.
Utilizar a estrutura de loop DO-WHILE, para executar a parte do código que se repetia.
 Criar uma função para executar a parte do código que se repetia.
Utilizar a estrutura de loop FOR, para executar a parte do código que se repetia.
Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia.
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
    float vetn[20];
    for (int i=0; i < 20; i++){
        vetn[i]  = ( i+1) * 0.1;
        i = i + 2;
    }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
O segundo valor armazenado será o 0.2.
O vigésimo valor armazenado será o 2.0.
O terceiro valor armazenado será o 0.6.
 Serão armazenados 7 valores reais.
Serão armazenados 20 valores reais.
Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo.Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade.
 Para leitura e edição
Não precisa abrir o arquivo
 Somente para leitura
Para leitura e gravação
Somente para gravação
Todo programa codificado na linguagem C pode incluir uma, ou várias bibliotecas, mas existe uma que tem que estar nessa lista, na maioria das vezes, devido a necessidade da interação com o usuário..Assinale a alternativa que apresenta essa biblioteca.
iostream 
stdin.h 
 stdio.h 
iostream.h 
studio.h 
que tipo de dado deve ser utilizado para definir uma variável que irá ramazenar um número do tipo: 65,890
 float
char
int
uint
string
Preencha as lacunas abaixo para que a mensagem abaixo seja exibida, caso a variável Idade seja maior ou igual a 18 e a variável Peso seja maior que 50. 
if((Idade_ _ _18)_ _ _(peso_ _ _50)) 
{
printf("Você pode ser doador de Sangue");
}
>>; and; >;
>=; &; >;
<>; and; >;
 >=; &&; >;
>=; e; >;
Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos.Pensou em declarar algumas matrizes unidimensionais para tornar isso possível.
 Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima?
 int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
int codigos[999], qtdade[999]; float valorC[999], valorV[999];
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
double codigos[999], qtdade[999], valorC[999], valorV[999];
double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
Na manipulação de arquivos na linguagem C, a primeira coisa que precisa ser feita é associar um arquivo externo, que pode ser texto ou binário ao programa.
Avalie cada uma das afirmativas e marque a que faz a associação corretamente seguindo as regras da linguagem. 
File arq;
arq = open("texto.txt", "a");
arq = fopen("texto.txt", "a");
FILE *arquivo;
arquivo = fopen("texto.txt", "a");
Na função main() da linguagem C, declarações, comandos, estruturase tudo mais que pertence ao corpo da função estão envoltos por dois elementos.
Assinale a opção que apresenta esses elementos.
begin e end
 { e }
( e )
 begin e end;
[ e ]
Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include 
int main()
{
printf ("O valor eh = \\n%04d ", 12);
}
O valor eh = 000012
O valor eh = em uma linha e na linha abaixo 0012
O valor eh = em uma linha e na linha abaixo 12
 O valor eh = \n0012
O valor eh = \n 12
Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C.
 2_ou_1, fim, *h, j
2nota, a36, x#y, --j
i, j, int, obs
 If, nota_do_aluno_2, HOJE, _yes
nota-2 , a36, x_y
Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para selecionar funcionários não estava dando certo.Ele apresentou as cinco opções abaixo.Assinale a única opção que atende à exigência: o candidato ser do sexo feminino e ter idade no intervalo fechado em 18 e aberto em 30.
if( sexo == 'f' or sexo == 'F' and idade >= 18 and idade <= 30 )
 if( sexo == 'f' || sexo == 'F' && idade >= 18 && idade <= 30 )
 if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 )
if(( sexo == 'f' || sexo == 'F' ) and idade >= 18 and idade < 30 )
if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 30 )
Os loops são utilizados para executar um conjunto de instruções várias vezes baseando-se sempre em uma condição que decidirá se continua repetindo ou não.
Qual estrutura de repetição abaixo, garante que o bloco de instruções seja executado no mínimo uma vez?
for
switch
 do...while
while
repeat...util
Um desenvolvedor precisava armazenar matrícula, nome e CR de um aluno. Sabe-se que a matrícula é um número inteiro e que o CR é um número real. Observe as alternativas abaixo e assinale qual foi a escolhida por atender a todas as exigências.
char nome; int matricula; float CR;
 char nome[30]; int matricula; float CR;
char[30] nome; int matricula; double CR;
char nome; int matricula[12]; double CR;
char[30] nome; int matricula[12]; float CR;
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.Assinale a linha onde a declaração atende ao que ele deseja.
char nomes[19][31]; float salarios[19][13]; 
char nomes[20][31]; float salarios[20][20]; 
char nomes[20]; float salarios[19][13]; 
 char nomes[20][31]; float salarios[20][14]; 
float nomes[20][31], salarios[20][14]; 
Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.
Das afirmativas apresentadas qual define melhor e corretamente qual a finalidade da função fprintf() .
Função que fecha um arquivo.
 Funções para gravação formatada.
Função que detecta o fim do arquivo.
Funções para gravar um caractere.
Funções para gravar uma linha.
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
 strlength( ).
strcat( ).
strlen( ).
strcont( ).
 atoi( ).
Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.
De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
stdlib.h - Funções de entrada e saida. 
 math.h - Funções matemáticas
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos
.stdio.h - Funções para gráficos.
string.h - Funções para concatenação de strings com inteiros.
A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA.
 I As chaves de abertura e fechamento, sempre,  não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do  else poderá não ser necessário.
IV está correta e a I não está correta.
 I e III estão corretas.
II e IV estão corretas.
II está correta e a III não está correta.
I está errada.
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA.
 A função main() pode acessar qualquer variável local de qualquer função.
 Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes.
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas.
Uma variável local só é visualizada pela função onde foi declarada.
Existem funções que não têm variáveis locais.
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, abrir um arquivo txt para alteração.Quando existe a possibilidade de alteração, ele precisa conferir os dados antes de alterar. Dessa forma, ele opta pelo trecho de alteração que possibilita a leitura antes de alterar e por ter incluído um trecho de proteção que possibilita, se for necessário, desistir de alterar.Os arquivos com dados são salvos todos os dias e segue um modelo para nomeá-los conforme mostrado abaixo:
 ddmmaaaa.txt(onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 Para que isso seja possível, deverá estar presente na função altera() uma das linhas abaixo.Selecione-a.
 fp=fopen(nomeArq, "r+");
fp=fopen("ddmmaaaa.txt" "r");
fp=fopen("nomeArq", "a");
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a opção que contém a série exibida pelo código.
0     1     1     2     3     4     5     6
 1     1     2     3     5     8     13     21
0     1     1     3     2     4     5     7
0     1     1     2     3     5     8     13     21
1       3     4      7      9     11     13
	
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
  stdin = Dispositivo de entrada padrão (normalmente o teclado)
stderr = Dispositivo de saída padrão (normalmente o monitor)
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
stdaux = Dispositivo de saída principal (normalmente a porta usb)
stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
((pontos>=10) || (pontos <=20))
((pontos>=10) % (pontos <=20))
((pontos>=10) ! (pontos <=20))
((pontos>=10) # (pontos <=20))
 ((pontos>=10) && (pontos <=20))
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
strlen( ).
strlength( ).
 atoi( ).
strcat( ).
strcont( ).
Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
 O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta erradado usuário, pois essa seria criticada no else.
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
Uma parte bastante importante no estudo da linguagem C é ter o conhecimento das suas bibliotecas. As respectivas categorias das funções das bibliotecas #include ctype.h e #include math.h são:
Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções para entrada e saída de dados.
Funções para entrada e saída de dados; funções para conversão de números e alocação na memória.
Funções para entrada e saída de dados; funções matemáticas que possibilitam arredondamento de um numero.
Funções para conversão de números e alocação na memória; funções matemáticas que possibilitam arredondamento de um numero.
 Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções matemáticas que possibilitam arredondamento de um numero.
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
while (num == 0)
for ( i = 0; i == num; i++)
enquanto (num > 0)
 while (num != 0)
for (i = num; i > 0; i++)
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, abrir um arquivo txt para alteração.Quando existe a possibilidade de alteração, ele precisa conferir os dados antes de alterar. Dessa forma, ele opta pelo trecho de alteração que possibilita a leitura antes de alterar e por ter incluído um trecho de proteção que possibilita, se for necessário, desistir de alterar.Os arquivos com dados são salvos todos os dias e segue um modelo para nomeá-los conforme mostrado abaixo:
 ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 Para que isso seja possível, deverá estar presente na função altera() uma das linhas abaixo.Selecione-a.
 fp=fopen(ddmmaaaa.txt, "r");
fp=fopen("nomeArq", "a");
fp=fopen(nomeArq, "w");
 fp=fopen(nomeArq, "a+");
fp=fopen("ddmmaaaa.txt" "r");
O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores.Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C.Assinale a opção que possibilitará fazer o que o professor deseja.
float NOTAS[47][47]; 
float Notas[47][47]; 
float notas[5][47]; 
float NOTAS[47,5]; 
 float NOTAS[47][5]; 
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, ler de um arquivo txt  dados coletados durante um dia de um usina elétrica.Cada arquivo é salvo seguindo o modelo abaixo:
 ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 O chefe dele quando deseja fazer uma consulta, clica no executável e escolhe a opção leitura e quando lhe é perguntado, digita o nome do arquivo conforme falado acima.Para que isso seja possível, deverá estar presente na função consulta() uma das linhas abaixo. Selecione-a.
fp=fopen("nomeArq", "a"); "
 fp=fopen(nomeArq, "r");
 fp=fopen(ddmmaaaa.txt, "w+");
fp=fopen("ddmmaaaa.txt", "r");
fp=fopen(nomeArq, "w");
Qual é a saída de tela, deste trecho de programa?
int x=4, 
y=8; 
if (x < 2) 
    printf ("%d \n", x); 
else 
    printf ("%d \n", y);
9
 8
12
\n4
 \n8
Uma das características mais marcantes da linguagem C é a sua portabilidade. Os códigos escrito em C são portáveis, o que significa que é possível executa-los nos mais diferentes tipos de arquiteturas. Tendo um programa C compilado para Windows, para executa-lo em Linux, identifique a opção CORRETA:
Ocorrerá erro, pois todas as instruções da linguagem C são incompatíveis com o Linux.
 Precisamos recompilar o código fonte para o Linux.
Só é possível copiar o código executável do Linux para o Windows e executa-lo.
Basta apenas copiar o código executável para o Linux e executa-lo.
Ocorrerá erro, pois os programas C não rodam em Linux.
Um dos grandes problemas de empresas que desenvolvem software é a variedade hardware. Como por exemplo, em grandes redes de supermercados, o software instalado não pode ser trocado sem maiores custos e traumas. A linguagem C possui a capacidade de ser compilado ou executado em diferentes arquiteturas (seja de hardware ou de software). Identifique abaixo a capacidade descrita.
Polimorfismo
Reuso
Flexibilidade
Modularidade
 Portabilidade
Observe o código abaixo: 
#include < stdio.h >
#include < stdlib.h>
int main(){ 
int x,y,z; 
x=6; 
y=2; 
z = (x%2)+8; 
puts(z); 
system("PAUSE"); 
return 0; 
} 
Dentre as opções abaixo é correto afirmar:
O programa exibirá 16
O programa exibirá 0
O programa exibirá 11
O programa exibirá 8
 Ocorrerá um erro
As funções existem para decompor um problema em partes menores, simplificando e organizando o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em relação aos conceitos de funções.
Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses.
 O comando return encerra a execução de uma função e pode retornar vários valores para a função chamadora da função.
O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de parâmetros da função.
Além do valor de uma variável é possível passar para uma função o endereço da variável como por exemplo, das matrizes.
As variáveis declaradas no corpo de uma função são chamadas variáveis locais.
Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa?
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] }
 if (cpf != 0)
{ // [bloco de comandos] }
 do{ // [bloco de comandos] } 
while (cfp !=0);
do while (cfp !=0)
{ // [bloco de comandos] }
while{ // [bloco de comandos] } 
do (cfp !=0);
Na linguagem de programação C, como em outras, na criação de programas, precisamos fazer a entrada e saída de dados no sistema e para tal temos algumas opções.Das opções apresentadas, qual não é parte linguagem C, conforme o material apresentado nas aulas.
fgetc(stdin)
printf ( )
 cin ( )
scanf ( )
getchar ( )
Um aluno de LPI gostaria de testar duas condições, usando somente uma estrutura if.Abaixo as duas condições a serem testadas:
a) O ano de nascimento que precisa estar no intervalo fechado de 1989-2007.
b) O sexo que precisa ser masculino.
Sabe-se que o sexo se encontra em uma variável do tipo char de nome sexo e o ano em uma variável do tipoint de nome ano.Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m.Assinale a opção que resolve o problema desse aluno.
if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' )
if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) )
 if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) )
if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) )
if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 )
Uma empresa que presta serviços de pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta.Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta: 
 if(tot_metros%2) 
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i': 
printf("%d",(tot_metros*3)/2+aux);break; 
case 'E':
case 'e': 
printf("%d",(tot_metros*4)/2+aux);
break;
default:
printf("%s","Tipo invalido"); 
}
system("PAUSE"); 
}
Estrutura de repetição, na ciência da computação, é uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza e/ou repete diferentes algoritmos/ações dependendo se uma condição é verdadeira ou falsa, em que a expressão é processada e transformada em um valor booleano. Analise o código abaixo e identifique a opção que demonstra o que será exibido na tela:
int main(int argc, char *argv[]) {
  int i = 0; 
  int j = 5;
  do{ 
   printf("%d", i++); 
  }while(++i <= j--);
  system("PAUSE");
  return 0;
}
 123
34
1234
345
 024
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
enquanto (num > 0)
while (num == 0)
for ( i = 0; i == num; i++)
 while (num != 0)
for (i = num; i > 0; i++)
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
  stdin = Dispositivo de entrada padrão (normalmente o teclado)
stderr = Dispositivo de saída padrão (normalmente o monitor)
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
stdaux = Dispositivo de saída principal (normalmente a porta usb)
stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
 strlength( ).
strcat( ).
strlen( ).
strcont( ).
 atoi( ).
	
Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
stdlib.h - Funções de entrada e saida. 
 math.h - Funções matemáticas
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
stdio.h - Funções para gráficos.
string.h - Funções para concatenação de strings com inteiros.
A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA.
 I As chaves de abertura e fechamento, sempre,  não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do  else poderá não ser necessário.
 IV está correta e a I não está correta.
 I e III estão corretas.
II e IV estão corretas.
II está correta e a III não está correta.
I está errada.
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA.
 A função main() pode acessar qualquer variável local de qualquer função.
 Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes.
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas.
Uma variável local só é visualizada pela função onde foi declarada.
Existem funções que não têm variáveis locais.
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a opção que contém a série exibida pelo código.
0     1     1     2     3     4     5     6
 1     1     2     3     5     8     13     21
0     1     1     3     2     4     5     7
0     1     1     2     3     5     8     13     21
1       3     4      7      9     11     13
Um programador durante a construção de um código precisava unir o nome e a matricula de um servidor.Na manipulação de textos na linguagem C++ é necessário a utilização de funções da biblioteca < string >.Das opções apresentadas, qual função apresenta a solução para o programador?
atoi( ).
 strcat( ).
strlen( ).
strcont( ).
 strlength( ).
Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de parâmetros de Passagem por:
 valor
endereço
 ponteiro
 referência
memória
A linguagem C/C++ utiliza variáveis, que podem ser classificadas como globais ou locais.Dentre as opções, assinale a que expressa corretamente à definição de "variável global" da linguagem C/C++.
São declaradas no final de um bloco. Seus escopos não estão restritos aos blocos em que essas variáveis foram declaradas.
 Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das funções.
São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas variáveis foram declaradas.
São declaradas dentro do main(). E suas variáveis são escritas dentro do escopo das funções.
Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro do escopo das funções.
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias informações do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta apenas a linha de comando, das opções apresentadas em relação à manipulação de vetores marque a resposta correta.
char vetnome[5]= "Maria";
float array[4]=[1.0,2.4,3.5,4.5];
 float vetreais[4]={1.0,2.4,3.5,4.5};
 char vet[5]={a,b,c,d,e};
int vetinteiros[5]=[1,2,3,4,5];
Na linguagem C++, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros.  Quando as seguintes linhas de código forem executadas: (desconsidere a necessidade do restante do programa)
    float *x, pos;
    pos = 5.5;
    x = &pos
 Podemos afirmar que:
 Não é possível trabalhar com ponteiros do tipo real.
O conteúdo de x é 5.5
O conteúdo de &pos é 5.5
 O conteúdo do endereço para o qual x aponta é 5.5
A variável pos aponta para x
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias informações do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta a programação adequada, declaração e respectiva manipulação das matrizes, das opções apresentadas a respeito das matrizes bidimensionais marque a resposta correta.
 int mat[3][3]; mat[0][2] = 5;
int mat[3][3]; mat[0][3] = 5;
int mat[3][3]; mat[0][2] = 5.0;
char mat[2][2]; mat[0][2] = "A";
char mat[2][2]; mat[0][2] = A;
Baseado nos conceitos de Matrizes, no que tange em relação a declaração, dentre as afirmações que se seguem, assinale a que não contem erros sobre as matrizes multidimensionais- 1 e matrizes não dimensionadas- 2 respectivamente.
1- Tipo nome [linha][coluna] e 2 - O compilador cria uma matriz grande para conter todos os seus elementos.
1- Tipo nome [linha][coluna] e 2 - O tamanho não é especificado.
 1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - O tamanho não é especificado.
1- O compilador cria uma matriz grande para conter todos os seus elementos e 2-Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n].
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - Tipo nome [tamanho]
No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows.Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa?
	
Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.
 Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo.
Usar o terminal para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc.Usar um editor de texto para digitar o código/ salvar com extensão c/ digitar uma linha de comando no terminal, usando o compilador gcc que irá gerar o executável e executá-lo em seguida.
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável / digitar o nome do executável no terminal para executá-lo.
Um Engenheiro estava testando formatação com a função printf()e incluiu a linha abaixo.
printf( "%08.2f",12.3);
Exibiu com oito casas na parte inteira e duas na parte decimal, totalizando 10 posições no display, sendo que seriam seis 0 antes do número 12 e um zero depois do 3.
Exibiu com seis casas na parte inteira e duas na parte decimal, totalizando 8 posições no display, deixando vazias as não usadas, exceto a posição do ponto.
 Exibiu 12.3 porque o zero anula a formatação
Exibiu com oito casas na parte inteira e duas na parte decimal, totalizando 10 posições no display, deixando vazias as não usadas
 Exibiu com cinco casas na parte inteira e duas na parte decimal, totalizando 8 posições no display, sendo que seriam três 0 antes do número 12 e um zero depois do 3 e o ponto.
Observe abaixo algumas declarações de variáveis e assinale a declaração errada.
int i;
long double profundidade;
long matricula;
 long float x;
short int a;
Existe sempre uma dúvida por parte do desenvolvedor se escolhe switch() ou if quando está usando a Linguagem C.Sabemos que existem algumas exigências para se usar o switch().Analise as opções abaixo e assinale a opção correta.
I Qualquer tipo pode ser usado. 
II Somente o tipo vetor de char que Não pode ser usado. 
III Não pode ser usado intervalo tipo: 1..3 em um case. 
IV Sempre será obrigatório usar o comando break; ao final de um case. 
V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção default, caso exista.
II, IV e V são verdadeiras
I, III e IV são verdadeiras
II, III e IV são verdadeiras
 III e V são verdadeiras
I, III, IV e V são verdadeiras
Qual das opções abaixo está correta com relação a declaração de variáveis para um vetor de 15 elementos de números reais em C?
 double x[15];
char x[15];
int vetor[15][15];
 int vetor[15];
double x[15][15];
Observe o código apresentado na questão:
#include < stdio.h>
#include < stdlib.h>
int x=4;
void main(){
  int x=5;
  exibir(x); 
  system("PAUSE");      
}
void exibir(int y){
   printf("%d",y);    
}
Dentre as opções abaixo é correto afirmar:
O programa exibirá 0
 Ocorrerá um erro
O programa exibirá 5
O programa exibirá 4
O programa exibirá 9
Observe a linha de um programa abaixo e assinale a alternativa que representa o seu resultado:result = fputs(Str, arq);
 Se a função NÃO for executada com sucesso, fputs retorna a constante EOF.
 Se a função NÃO for executada com sucesso, fputs retorna a constante NULL.
Se a função NÃO for executada com sucesso, fputs não retorna nada.
Se a função for executada com sucesso, fputs retorna a constante EOF.
Se a função NÃO for executada com sucesso, fputs retorna a variável EOF.
Em relação à variável global, podemos afirmar:
I Somente a função principal pode alterar o valor armazenado
II Todas as funções podem alterar o valor armazenado
III É declarada dentro da função principal
IV É declarada fora de todas as funções
V Pode ser declarada em qualquer posição
 II e IV
II, IV e V
I e III
I, III e V
II e III
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
strlength( ).
strcont( ).
strcat( ).
 strlen( ).
 atoi( ).
Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado a esta operação é Cast.Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do tipo int para a variável x do tipo float utilizando o Cast.
n = (float) x;
 x = (float) n;
n = float x;
x = (int) n;
Qual é a saída de tela, deste trecho de programa?
int x=4, 
y=8; 
if (x < 2) 
    printf ("%d \n", x); 
else 
    printf ("%d \n", y);
\n8
12
\n4
9
 8
Para o programa abaixo qual a saída apresentada?
main(){
int x,soma=0;
for(x=10; x<=15;x++)
{
  printf(" %d",pow(x,2));
}
system("PAUSE");
return 0;
}
 100 121 144 169 196 225
10 11 12 13 14 15
15 14 13 12 11 10
9 10 11 12 13 14 15
20 22 24 26 28 30
Assim como nas variáveis, podemos inicializar os vetores assim que declaramos. Sabendo-se que existe um vetor de 3 posições do tipo inteiro, qual das opções abaixo correspondo a correta forma de se declarar e inicializar este vetor?
 int numeros[3] = { 0, 1, 2};
integer numeros[3] = [ 0, 1, 2];
int numeros[3] = ( 0, 1, 2);
int numeros(2) = { 0, 1, 2};
int numeros[2] = [ 0, 1, 2];
Quanto aos códigos de formatação (especificadores de formato) usados com a função printf() e tendo em vista o trecho do programa,  qual deveria ser a linha usada para exibir a saída abaixo:Observação: A sequência de números que aparece na saída representa as colunas da tela.
 Trecho
int num1= 12, num2=8; float num3=15;
printf("\n12345678901234"); 
 
 printf("\n%4d\t%.2f\n", num1%num2, num3/2);
 printf("\n%.2f\t%06.2f\n",(float) num1/num2, num3);
printf("\n%d\t%06.2f\n", num1, num3);
printf("\n%04d\t%.2f\n", num1/num2, num3);
printf("\n%d\t%6.2f\n",num1/num2, num3);
Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa?
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] }
 do{ // [bloco de comandos] } 
while (cfp !=0);
while{ // [bloco de comandos] } 
do (cfp !=0);
do while (cfp !=0)
{ // [bloco de comandos] }
if (cpf != 0)
{ // [bloco de comandos] }
Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
 O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
 Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere as seguintes afirmativas:
|) Possibilidade em programação de alto e baixo nível;
||) Grande período para o aprendizado.
|||) Adequação a grandes projetos;
 Assinale a alternativa que contem apenas vantagens da linguagem C++.
 | e |||
Apenas |||
Apenas |
 || e |||
| e ||
Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos.Pensou em declarar algumas matrizes unidimensionais para tornar isso possível.
 Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima?
 double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
 int codigos[1000], qtdade[1000];float valorC[1000], valorV[1000];
int codigos[999], qtdade[999]; float valorC[999], valorV[999];
double codigos[999], qtdade[999], valorC[999], valorV[999];
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
Na linguagem C, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros.  Após as linhas de código apresentadas, que tratam a manipulação de variáveis e ponteiros, forem executadas e antes do programa ser finalizado: (desconsidere a necessidade do restante do programa)
int *x, pos;
pos = 5;
x = &pos;
Podemos afirmar que:
A variável pos aponta para x.
 O conteúdo de x é 5.
O conteúdo de &pos é 5.
O endereço de memória de x é 5.
 O conteúdo do endereço para o qual x aponta é 5.
Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
 O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
&&, >= e ||
 <, > e >=
+, - e *
=, > e ||
&&, || e ~
Em relação ao quer foi apresentado sobre as funções internas da linguagem, marque a resposta na qual a afirmativa em relação à teoria sobre as mesmas está errada.
 As bibliotecas possuem um conjunto de funções do mesmo tipo.
 Após o include entre os sinais de < e > aparece o nome de uma função.
 O include é utilizado para que possamos acessar funções de uma biblioteca.
Devemos utilizar o símbolo # antes da palavra include.
O nome da biblioteca aparece entre os sinais de < e >.
Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa?
do while (cfp !=0)
{ // [bloco de comandos] }
while{ // [bloco de comandos] } 
do (cfp !=0);
 do{ // [bloco de comandos] } 
while (cfp !=0);
 if (cpf != 0)
{ // [bloco de comandos] }
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] }
 Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos básicos de estruturas de repetição, for, while e do..while. O funcionamento e aplicação dos mesmos tem pequenas diferenças. 
    int i;
    for(i=0; i < 10; i+=2)
        if (i%2)
        printf("%d",i);
   printf("%d",i);
Supondo que as demais  linhas necessárias para o funcionamento do programa estejam devidamente criadas e baseado no trecho de código apresentado, o que será exatamente apresentado na tela após a sua execução.
024681010
0 2 4 6 8 10
 0246810
02468
 10
Os chamados vetores e matrizes podem ser considerados como:
 Estruturas de dados homogêneas
Comandos de seleção
Estruturas de dados heterogêneas
Comandos de seleção composta
Comandos de repetição
As matrizes, assim como os vetores, são muito importantes para facilitar o trabalho de um programador, por isso é extremamente importante saber como utiliza-la.Assinale a alternativa em que há uma matriz bidimensional, do tipo inteiro, com 10 linhas e 20 colunas, declarada de forma correta.
matrizExemplo float[20][10];
int matrizExemplo[10,20];
 int matrizExemplo[10][20];
matrizExemplo int[10][20];
 float matrizExemplo[20][10];
Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.Das opções apresentadas, qual função apresenta a solução para o programador?
atoi( ). 
strcat( ). 
strcont( ). 
strlength( ). 
strlen( ). 
 Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
case 90: printf("Pode") ; break; 
case a=90: printf("Pode") ;break; 
90: printf("Pode"); stop; 
case a > 90: printf("Pode") ;break; 
90: printf("Pode"); 
Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas.  
 tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN)
{
  corpo da função
 } 
 Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc).
Nome, Parâmetro e Corpo da função. 
Tipo, Nome, Parâmetros e Corpo da Função. 
Tipo , Nome, e Corpo da função. 
Tipo, Nome e Parâmetros. 
Tipo, Parâmetro e corpo da função. 
Uma parte bastante importante no estudo da linguagem C é ter o conhecimento das suas bibliotecas. As respectivas categorias das funções das bibliotecas #include ctype.h e #include math.h são: 
Funções para conversão de números e alocação na memória; funções matemáticas que possibilitam arredondamento de um numero.
Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções matemáticas que possibilitam arredondamento de um numero.
Funções para teste de caracteres e conversão de letras maiúsculas em minúscula e vice-versa; funções para entrada e saída de dados.
Funções para entrada e saída de dados; funções matemáticas que possibilitam arredondamento de um numero.
Funções para entrada e saída de dados; funções para conversão de números e alocação na memória.
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, abrir um arquivo txt para alteração.
Quando existe a possibilidade de alteração, ele precisa conferir os dados antes de alterar. Dessa forma, ele opta pelo trecho de alteração que possibilita a leitura antes de alterar e por ter incluído um trecho de proteção que possibilita, se for necessário, desistir de alterar.
Os arquivos com dados são salvos todos os dias e segue um modelo para nomeá-los conforme mostrado abaixo:
 ddmmaaaa.txt(onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 Para que isso seja possível, deverá estar presente na função altera() uma das linhas abaixo. Selecione-a.
fp=fopen(nomeArq, "r+"); 
fp=fopen("ddmmaaaa.txt" "r"); 
fp=fopen(nomeArq, "w"); 
fp=fopen(ddmmaaaa.txt, "r"); 
fp=fopen("nomeArq", "a"); 
Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
for
struct
if-else
while
switch
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
stdaux = Dispositivo de saída principal (normalmente a porta usb) 
 stdin = Dispositivo de entrada padrão (normalmente o teclado)
stderr = Dispositivo de saída padrão (normalmente o monitor)
stdout = Dispositivo de saída de erro padrão (normalmente o monitor) 
stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos construindo?
 includestruct
typedef
const
define
Após o surgimento de várias linguagens de Alto nível, surge a linguagem C . Qual a década em que foi desenvolvida?
 década de 70
década de 60
década de 50
década de 90
década de 80
Escreva o comando que defina uma constante de nome PI com valor igual a 3,14.
#const PI 3,14
 #define PI 3.14
#include PI 3.14
#include PI 3,14
#define PI 3,14
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA.
Existem funções que não têm variáveis locais.
Uma variável local só é visualizada pela função onde foi declarada.
 A função main() pode acessar qualquer variável local de qualquer função.
Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes.
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas.
Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa?
 do{ // [bloco de comandos] } 
while (cfp !=0);
 do while (cfp !=0)
{ // [bloco de comandos] }
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] }
Um aluno de LPI gostaria de testar duas condições, usando somente uma estrutura if.
Abaixo as duas condições a serem testadas:
a) O ano de nascimento que precisa estar no intervalo fechado de 1989-2007.
b) O sexo que precisa ser masculino.
Sabe-se que o sexo se encontra em uma variável do tipo char de nome sexo e o ano em uma variável do tipoint de nome ano.
Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m.
Assinale a opção que resolve o problema desse aluno.
 if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) )
if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) )
if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' )
if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 )
if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) )
Na construção de programas na linguagem C, precisamos utilizar os operadores lógicos para montar nossas expressões.
Supondo que as variáveis foram devidamente declaradas, dentre as opções apresentadas qual não apresentauma expressão logica / relacional correta na linguagem C.
 a > b && < c
a > b && a < c
a > b && ! c
a > b || b < c
 ! (a > b)
 Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que  se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
90: printf("Pode"); stop;
case a > 90: printf("Pode") ;break;
case a=90: printf("Pode") ;break;
90: printf("Pode");
 case 90: printf("Pode") ; break;
Os loops são utilizados para executar um conjunto de instruções várias vezes baseando-se sempre em uma condição que decidirá se continua repetindo ou não.
Qual estrutura de repetição abaixo, garante que o bloco de instruções seja executado no mínimo uma vez?
switch
repeat...util
while
 do...while
for
Em relação à variável global, podemos afirmar:
I Somente a função principal pode alterar o valor armazenado
II Todas as funções podem alterar o valor armazenado
III É declarada dentro da função principal
IV É declarada fora de todas as funções
V Pode ser declarada em qualquer posição
II e III
II, IV e V
 I e III
 II e IV
Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include 
int main() 
{ 
printf ("%s%d%%","Juros de ",10);
}
Nada porque tem muitos %
10 Juros de
% Juros de 10
 Juros de 10%
 %s%d%% Juros de 10
Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa?
while{ // [bloco de comandos] } 
do (cfp !=0);
do while (cfp !=0)
{ // [bloco de comandos] }
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] }
 do{ // [bloco de comandos] } 
while (cfp !=0);
if (cpf != 0)
{ // [bloco de comandos] }
Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde poderão se posicionar as demais funções em relação à função main()?Observe as afirmativas abaixo e assinale a resposta CORRETA
I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema.
II Depois, desde que os protótipos sejam colocados antes da main().
III Antes para não ter que colocar os protótipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os protótipos.
II e IV estão corretas 
Só a II está correta 
I e III estão corretas 
II e III estão corretas 
I e IV estão corretas 
Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o volume de um bloco retangular. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de números reais, real será e colocou a linha abaixo no programa.
                  printf("\nVolume: %.2f", volume(2, 4, 5)); 
Observe as opções abaixo e escolha aquela onde o protótipo da função está presente.
float volume(float a, float b, float c) 
float volume(float a, float b, float c) ; 
void volume(float a, float b, float c) ; 
float volume(float a, b, c) ; 
void volume(float a, float b, float c) 
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.Assinale a linha onde a declaração atende ao que ele deseja. 
char nomes[20]; float salarios[19][13]; 
char nomes[20][31]; float salarios[20][14]; 
char nomes[20][31]; float salarios[20][20]; 
char nomes[19][31]; float salarios[19][13]; 
float nomes[20][31], salarios[20][14]; 
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias informações do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta apenas a linha de comando, das opções apresentadas em relação à manipulação de vetores marque a resposta correta.
int vetinteiros[5]=[1,2,3,4,5]; 
char vetnome[5]= "Maria"; 
float vetreais[4]={1.0,2.4,3.5,4.5}; 
char vet[5]={a,b,c,d,e};
float array[4]=[1.0,2.4,3.5,4.5]; 
Para resolver um determinado problema um programador escreveu um código para trabalhar com um vetor conforme apresentado na questão:
 int vetn[3][2];
 for (int i=0; i < 3; i++){
 for (int j=0; j < 2; j++){
 vetn[i][j] = i + j;
 }
 }
Desconsiderando a necessidade do programa completo e levando em conta apenas o código descrito, das opções apresentadas, qual afirmativa está correta.
O trecho apresentado possui erro e apenas um valor será armazenado.
O trecho apresentado possui erro e nenhum valor será armazenado. 
Serão armazenados os valores 0,1,2,2,3,3. 
Serão armazenados os valores 0,1,1,2,2,3. 
Serão armazenados os valores 0,0,1,1,2,2. 
Estava pesquisando na internet, quando li, num fórum, um pedido de ajuda que incluía um programa codificado na linguagem C, apresentado abaixo. A pessoa não tinha um compilador e não estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu teria digitado 345 quando foi solicitado um número inteiro de três algarismos. Assinale a resposta CORRETA que apresenta o que foi exibido na tela.
 0345 (O valor absoluto do número formatado) 
- 0.00289(O inverso do número formatado) 
-0012 ( Representa a soma dos algarismos do número -345 formatado) 
0343 (O valor absoluto do resultado da expressão formatada) 
0543(O valor absoluto do número espelhado formatado) 
 Uma das dificuldades da estruturaescolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
case a=90: printf("Pode") ;break; 
case a > 90: printf("Pode") ;break; 
90: printf("Pode"); stop; 
case 90: printf("Pode") ; break; 
90: printf("Pode"); 
A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA.
 I As chaves de abertura e fechamento, sempre,  não são obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do  else poderá não ser necessário.
 II e IV estão corretas.
IV está correta e a I não está correta.
 I e III estão corretas.
II está correta e a III não está correta.
I está errada.
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, ler de um arquivo txt  dados coletados durante um dia de um usina elétrica.Cada arquivo é salvo seguindo o modelo abaixo:
 ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) e aaaa(ano com 4 algarismos).
 O chefe dele quando deseja fazer uma consulta, clica no executável e escolhe a opção leitura e quando lhe é perguntado, digita o nome do arquivo conforme falado acima.Para que isso seja possível, deverá estar presente na função consulta() uma das linhas abaixo. Selecione-a.
 fp=fopen("ddmmaaaa.txt", "r");
fp=fopen(nomeArq, "w");
fp=fopen("nomeArq", "a"); "
fp=fopen(ddmmaaaa.txt, "w+");
 fp=fopen(nomeArq, "r");
Baseado nos conceitos de Matrizes, no que tange em relação a declaração, dentre as afirmações que se seguem, assinale a que não contem erros sobre as matrizes multidimensionais- 1 e matrizes não dimensionadas- 2 respectivamente.
1- O compilador cria uma matriz grande para conter todos os seus elementos e 2-Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n].
1- Tipo nome [linha][coluna] e 2 - O tamanho não é especificado.
 1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - O tamanho não é especificado.
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - Tipo nome [tamanho
]1- Tipo nome [linha][coluna] e 2 - O compilador cria uma matriz grande para conter todos os seus elementos.
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.Assinale a linha onde a declaração atende ao que ele deseja.
 char nomes[20][31]; float salarios[20][14]; 
char nomes[19][31]; float salarios[19][13]; 
char nomes[20]; float salarios[19][13]; 
char nomes[20][31]; float salarios[20][20]; 
float nomes[20][31], salarios[20][14]; 
Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if .....
 Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
 O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade
.Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
stderr = Dispositivo de saída padrão (normalmente o monitor)
stdaux = Dispositivo de saída principal (normalmente a porta usb)
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
  stdin = Dispositivo de entrada padrão (normalmente o teclado)
O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores.Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C.Assinale a opção que possibilitará fazer o que o professor deseja.
float NOTAS[47][47]; 
 float NOTAS[47][5]; 
float Notas[47][47]; 
float NOTAS[47,5]; 
float notas[5][47]; 
Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos construindo?
include 
struct 
define 
typedef
const 
Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include 
int main()
{
printf ("O valor eh = \\n%04d ", 12);
}
O valor eh = 000012 
O valor eh = em uma linha e na linha abaixo 0012 
O valor eh = \n0012
O valor eh = em uma linha e na linha abaixo 12 
O valor eh = \n 12 
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA.
A função main() pode acessar qualquer variável local de qualquer função. 
Existem funções que não têm variáveis locais. 
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas. 
Uma variável local só é visualizada pela função onde foi declarada. 
Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes. 
Se precisarmos testar o conteúdo de uma variável e sabendo-se que só serão executados comandos se o teste retornar verdadeiro, qual estrutura você indicaria para esse caso? 
if 
printf()
switch() 
if else if 
if else 
Observe as afirmativas abaixo sobre o terminador nulo e assinale a opção correta.
I Devemos sempre acrescentar mais uma posição ao vetor de char quando ele for dimensionado;
II Ele deve ser incluído ao final de todo vetor independente do tipo;
III O terminador nulo é identificado pelo caracter \0; 
As afirmativas I e III são verdadeiras. 
Somente a afirmativa I é verdadeira
As afirmativas II e III são verdadeiras
Somente a III é verdadeira
Todas as afirmativas são verdadeiras 
Existem basicamente dois tipos de variáveis que podem ser declaradas em um código: variáveis locais e variáveis globais. Para que um programador possa escolher a melhor maneira de declarar as variáveis em seu programa é necessário que ele tenha domínio sobre elas.
Assinale a alternativa que contém apenas características das variáveis globais.
Declaradas fora do escopo de todas as funções e poderá ser manipulado por qualquer função.
Declaradas dentro do escopo de todas as funções e poderá ser manipulado por qualquer função.
Declaradas fora do escopo de todas as funções e não poderá ser manipulado por qualquer função.
Declaradas dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
Declaradas fora ou dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
A função remove() apaga um arquivo especificado. Tem como protótipo:
int remove (char *nome_do_arquivo);
int remove (int *nome_do_arquivo);
void remove (char *nome_do_arquivo);
int remove (char nome_do_arquivo);
char remove (char *nome_do_arquivo);
A linguagem C é rica em funções que permitem efetuar operações simples e complexas. Existem várias funções para leitura de dados, entre elas podemos destacar:
- Função que é usada, sem problemas, para ler variáveissimples, aceitando espaço, mas não tem nenhum controle sobre o números de caracteres armazenados.
- Função que é usada, sem problemas, para ler variáveis simples, numéricas ou char de um caracter, e para vetores dos tipos citados. Entretanto, apresenta limitação para vetor de char, uma vez que abandona ao encontrar um espaço.
- Função que lê todos os caracteres, inclusive espaços, mas especifica em um dos parâmetros o máximo de caracteres que poderá ser armazenado.
Identifique a opção abaixo que corresponde as funções descritas na ordem acima:
gets, fgets e scanf
scanf, fgets e gets
 gets, scanf e fgets
 scanf, gets e fgets
fgets, gets e scanf
Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamad
  
 O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número 
O valor retornado corresponde ao índice da variável que contem o menor número 
O menor número é retornado 
 Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre 
O maior número é retornado 
Na aula 10 vimos sobre as funções de localização e posicionamento.A respeito da função fseek() assinale a alternativa que expressa corretamente a sua sintaxe.
fseek(variavelPonteiroArquivo, FILE, origem);
fseek(quantidade, deslocamento, origem);
fseek(variavelPonteiroArquivo, quantidade, origem);
fseek(variavelPonteiroArquivo, deslocamento, FILE);
 fseek(variavelPonteiroArquivo, deslocamento, origem);
Você estava trabalhando na plataforma Windows e foi definindo várias funções específicas para sua área de atuação.Um dia, resolveu criar uma biblioteca e nomeou de minhasFuncoes.h, salvando em uma pasta de nome funcoes na raiz do drive C.Quando foi incluir, usou:
#include "minhasFuncoes.h"
 #include "c:\funcoes\ minhasFuncoes.h"
#include "c:\ minhasFuncoes.h\funcoes"
#include minhasFuncoes.h
#include
Um Engenheiro estava construindo um trecho de programa onde pedia que o usuário respondesse com uma letra ou um algarismo.
Se o usuário não tivesse respondido, ele enviaria uma mensagem de erro.Ele sabia que precisava aprender mais alguma estrutura, mas, no momento, pensou em experimentar uma função que pudesse lhe dar um retorno.Pesquisou nas bibliotecas estudadas na aula 2 e achou.Qual o nome dessa função?
isnotalphadigit()
isalpha()
isspace()
isdigit()
 isalnum()
Na programação em C como em outras linguagens, muitas vezes se faz necessário a conversão de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operação da forma desejada. O nome dado a esta operação é Cast.Das opções apresentadas, marque aquela que converte e armazena corretamente o valor de uma variável n do tipo int para a variável x do tipo float utilizando o Cast.
n = (float) x;
 x = (float) n;
n = float x;
x = (int) n;
x = float n;
Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro.O dado testado era do tipo inteiro.Assinale a opção que ele escolheu.
quatro ifs simples
switch() com cinco cases
quatro ifs simples e um composto
três ifs simples e um composto
 switch() com quatro cases e um default
Leia com atenção as afirmativas abaixo e escolha a opção correta.
I A estrutura do for, por definição, é ideal quando o número de repetições for conhecido
II A estrutura do for testa ao final enquanto a estrutura while testa no início
III A estrutura while pode simular a estrutura do for e a estrutura do... while
IV A estrutura do for sem nenhum parâmetro, só com os  ;   dentro dos parênteses e com um if no corpo da repetição, pode simular a estrutura while
V Tanto a estrutura do...while quanto a estrutura while, testam no início
Somente I, II, III e V estão corretas        
Somente I e V estão corretas   
Somente I, III e V estão corretas
 Somente I, III e IV estão corretas        
Somente II, III e V estão corretas
A linguagem C, ao contrário de outras linguagens de programação, não possui um tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteirosQual das opções abaixo está correta?
 Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\0').
Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/end').
Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\end')
 Em C, strings são vetores de caracteres terminados pelo caractere nulo ('{0}').
Um aluno estava estudando matrizes bidimensionais e aprendeu que, para armazenar  100 nomes precisava declarar uma matriz de char bidimensional.
Sendo assim, declarou: char nomes[100][31];Embora soubesse qual seria a função para exibir um nome, não sabia quantas estruturas do for seriam necessárias  para exibir  todos os nomes. Por essa razão, resolveu tentar vários trechos.Observe as opções abaixo e assinale a que ele precisou escolher para obter o resultado desejado.
for(a = 1; a <= 100; a++){ for( b = 1; b <= strlen(nomes[a] ) ; b++) { ... } }
  for(c = 0; c < 100; c++){  ...  }
 for(a = 1; a <= 100; a++){ for( b = 1; b <= strlen(nomes[b] ) ; b++) { ... } }
for(a = 1; a <= 100; a++){  ...  }
for(b = 1; b < 100; b++){  ...  }
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.Assinale a linha onde a declaração atende ao que ele deseja.
char nomes[20][31]; float salarios[20][20]; 
float nomes[20][31], salarios[20][14]; 
char nomes[19][31]; float salarios[19][13]; 
char nomes[20]; float salarios[19][13]; 
 char nomes[20][31]; float salarios[20][14]; 
Na manipulação de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter erros: devido a não existência do arquivo; ao arquivo estar corrompido; etc, não sendo possível abrir o mesmo.Das afirmativas apresentadas qual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas.
 A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variável associada ao arquivo, comparando com o valor NULL.
Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema.
Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa.
A palavra chave FILE, que permite fazer a associação do arquivo, mantem o valor NULL caso não seja possível abrir o arquivo, desta forma, utilizando o if, o usuário pode mandar uma mensagem adequada para o usuário.
 O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado e retornado uma mensagem padrão para o usuário.
Um Engenheiro da prefeitura está  fazendo um  levantamento do número de árvores necessárias para serem  plantadas em 20 bairros.Ele gostaria de declarar matrizes para armazenamento desses dados.Assinale a linha onde a declaração atende ao que ele deseja.
  char bairros[20][40]; int quantidade[20]; 
char bairros[19][40]; int quantidade[19]; 
char bairros[20]; int quantidade[20]; 
char bairros[20,40]; int quantidade[20]; 
char bairros[19]; int quantidade[19];

Mais conteúdos dessa disciplina