Buscar

Linguagem de Programação 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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 foram

Outros materiais