Buscar

Av3 Linguagem de Programação tal

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 30 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 30 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 30 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

Fechar 
 
Avaliação: CCE0242_AV3_201201248141 » LINGUAGEM DE PROGRAMAÇÃO I 
Tipo de Avaliação: AV3 
Aluno: 201201248141 - BRUNO NEVES CRISPIM 
Professor: OSWALDO BORGES PERES Turma: 9008/H 
Nota da Prova: 9,0 de 10,0 Nota do Trab.: Nota de Partic.: Data: 09/12/2013 10:20:07 
 
 
 1a Questão (Ref.: 201201450509) Pontos: 1,0 / 1,0 
Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. 
 
 &&, >= e || 
 =, > e || 
 <, > e >= 
 +, - e * 
 &&, || e ~ 
 
 
 
 2a Questão (Ref.: 201201460926) Pontos: 1,0 / 1,0 
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 
respostaCORRETA que apresenta o que foi exibido na tela. 
 
 
 
 
0543(O valor absoluto do número espelhado formatado) 
 0343 (O valor absoluto do resultado da expressão formatada) 
 
- 0.00289(O inverso do número formatado) 
 
-0012 ( Representa a soma dos algarismos do número -345 formatado) 
 
0345 (O valor absoluto do número formatado) 
 
 
 
 3a Questão (Ref.: 201201450497) Pontos: 1,0 / 1,0 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável 
num seja diferente de 0? 
 
 for (i = num; i > 0; i++) 
 for ( i = 0; i == num; i++) 
 while (num != 0) 
 while (num == 0) 
 enquanto (num > 0) 
 
 
 
 4a Questão (Ref.: 201201407127) Pontos: 1,0 / 1,0 
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. 
 Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro 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 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. 
 
 
 
 5a Questão (Ref.: 201201365263) Pontos: 1,0 / 1,0 
Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, 
verifique se está correto os arquivos pré-definidos: 
 
 
stdout = Dispositivo de saída de erro padrão (normalmente o monitor) 
 stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela) 
 stderr = Dispositivo de saída padrão (normalmente o monitor) 
 stdin = Dispositivo de entrada padrão (normalmente o teclado) 
 
stdaux = Dispositivo de saída principal (normalmente a porta usb) 
 
 
 
 6a Questão (Ref.: 201201408554) Pontos: 1,0 / 1,0 
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][3] = 5; 
 char mat[2][2]; mat[0][2] = "A"; 
 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; 
 
 
 
 7a Questão (Ref.: 201201461858) Pontos: 0,0 / 1,0 
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 5 8 13 21 
 
1 3 4 7 9 11 13 
 1 1 2 3 5 8 13 21 
 0 1 1 2 3 4 5 6 
 
0 1 1 3 2 4 5 7 
 
 
 
 8a Questão (Ref.: 201201460313) Pontos: 1,0 / 1,0 
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\t06.2f\n", num, med); 
 
printf("\n%04d\t%.2f\n", num, med); 
 
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); 
 
 
 
 9a Questão (Ref.: 201201408556) Pontos: 1,0 / 1,0 
 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[numero_colunas][numero_linhas]; 
 nome_matriz[numero_linhas][numero_colunas]; 
 tipo nome_vetor[numero_colunas][numero_linhas]; 
 tipo nome_matriz[numero_linhas][numero_colunas]; 
 tipo nome_matriz[][]; 
 
 
 
 10a Questão (Ref.: 201201376312) Pontos: 1,0 / 1,0 
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); 
 
 \n4 
 12 
 9 
 8 
 \n8 
 
 
 
Período de não visualização da prova: desde 05/12/2013 até 16/12/2013. 
 
 
 
 
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) 
eaaaa(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, "w"); 
 
fp=fopen(nomeArq, "r"); 
 
fp=fopen("ddmmaaaa.txt", "r"); 
 
fp=fopen("nomeArq", "a"); " 
 
 Gabarito Comentado 
 
 
2. 
 
 
Nas aulas conhecemos primeiro as funções fseek() e ftell() e posteriormente outras duas funções ______ e ______ 
que são equivalentes a estas porém com sintaxe diferentes. 
Assinale a alternativa que completa corretamente as lacunas. 
 
 
 
rewind () e fgets (). 
 
fwrite() e rewind(). 
 
fgets() e fsetpos(). 
 
fgetpos() e fsetpos(). 
 
fgetpos() e ftell(). 
 
 Gabarito Comentado 
 
 
3. 
 
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. 
 
 
 
Devemos utilizar o símbolo # antes da palavra include. 
 
O nome da biblioteca aparece entre os sinais de < e >. 
 
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. 
 
 
 
4. 
 
 
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. 
 
 
 
Para arquivo do tipo binário, o númerode bytes que deverá ser deslocado a partir da origem. 
 
É a posição de referência para o deslocamento. 
 
Para este parâmetro só três valores poderão ser usados. 
 
Indica a posição reposicionada do indicador de fluxo. 
 
Identifica o fluxo, isto é, o nome da variável ponteiro do tipo file. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
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]; int quantidade[20]; 
 
 
char bairros[19]; int quantidade[19]; 
 
 
char bairros[20][40]; int quantidade[20]; 
 
 
char bairros[19][40]; int quantidade[19]; 
 
 
char bairros[20,40]; int quantidade[20]; 
 
 
 
6. 
 
 
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. 
 
 
 
 
Não precisa abrir o arquivo 
 
Para leitura e gravação 
 
Somente para gravação 
 
Somente para leitura 
 
Para leitura e edição 
 
 
1. 
 
 
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 gravar uma linha. 
 
Função que detecta o fim do arquivo. 
 
Funções para gravação formatada. 
 
Funções para gravar um caractere. 
 
Função que fecha um arquivo. 
 
 Gabarito Comentado 
 
 
2. 
 
 
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"); 
 
arq = fopen("texto.txt", "r+"); 
 
arquivo = fopen("material.dat", "r+"); 
 
arq = fopen("texto.txt", "r"); 
 
 Gabarito Comentado 
 
 
3. 
 
 
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; 
} 
 
 
 
ABCDEF 
 
ABCYDEF 
 
ABC 
 
DEF 
 
ABCDEFY 
 
 Gabarito Comentado Gabarito Comentado 
 
 
4. 
 
 
Observe a linha abaixo e diga qual será o resultado obtido: 
result = fprintf(arq,"Linha %d\n",i); 
 
 
 
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 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 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 os 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 a constante EOF. Se a função NÃO for executada com 
sucesso, retorna o número de caracteres gravados. 
 
 Gabarito Comentado 
 
 
5. 
 
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 ú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. 
 
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. 
 
 Gabarito Comentado 
 
 
6. 
 
 
 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[numero_linhas][numero_colu
nas]; 
 
tipo 
nome_vetor[numero_colunas][numero_linh
as]; 
 
tipo 
nome_matriz[numero_colunas][numero_lin
has]; 
 
tipo nome_matriz[][]; 
 
nome_matriz[numero_linhas][numero_colu
nas]; 
 
1. 
 
Observe o programa abaixo e escolha a opção que 
apresenta o que retorna da função chamada. 
 
 
 
 
 
 
 
O valor retornado corresponde ao índice 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 deslocamento mais um em relação ao endereço base da variável 
que contem o menor número 
 
O maior número é retornado 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
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 Parâmetros. 
 
Tipo, Nome, Parâmetros e Corpo da Função. 
 
Tipo, Parâmetro e corpo da função. 
 
Nome, Parâmetro e Corpo da função. 
 
Tipo , Nome, e Corpo da função. 
 
 Gabarito Comentado 
 
 
3. 
 
 
Os alunos foram desafiados 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 */ 
 
 
 
 
 
 
 
 
 
 
 
 Gabarito Comentado Gabarito Comentado 
 
 
4. 
 
 
O chefe do departamento do pessoal da Empresa YYY gostaria de declararmatrizes 
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][31]; float salarios[20][14]; 
 
 
char nomes[19][31]; float salarios[19][13]; 
 
 
char nomes[20][31]; float salarios[20][20]; 
 
 
char nomes[20]; float salarios[19][13]; 
 
 
 
5. 
 
 
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( ). 
 
atoi( ). 
 
strcont( ). 
 
strcat( ). 
 
strlength( ). 
 
 
 
6. 
 
 
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; 
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-1; 
i++){ 
if(vet[i]!=vet[tam-
i]){ 
aux = 0; 
break; 
} 
} 
return aux; 
} 
 
int ePalindromo(char 
vet,int tam){ 
int i; int aux=1; 
for(i=0; i < tam-1; 
i++){ 
if(vet[i]!=vet[tam-
i]){ 
aux = 0; 
break; 
} 
} 
return aux; 
} 
 
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/2; 
i++){ 
if(vet[i]!=vet[tam-
i]){ 
aux = 0; 
break; 
} 
} 
return aux; 
} 
 
1. 
 
 
A diagonal principal de uma matriz A é a coleção das entradas A i,j em que i é igual a j . A 
diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior 
direito, ou seja, a diagonal é compostas por elementos que possuem seus índice de linha e 
coluna iguais. 
Qual as opções abaixo apresenta uma fração de código fonte em linguagem C que lista 
corretamente os elementos das diagonal principal de uma matriz? 
 
 
 
for(i=0; i<3;i++) 
for(j=i;j<3;j++) 
printf("\n%d", MATRIZ[i][j]); 
 
for(i=0; i<3;i++) 
for(j=0;j<3;j++) 
printf("\n%d", MATRIZ[j][i]); 
 
for(i=0;i<3;i++) 
printf("\n%d", MATRIZ[i][i]); 
 
for(i=0; i<3;i++) 
for(j=0;j<3;j++) 
printf("\n%d", MATRIZ[i][j]); 
 
for(i=0; i<3;i++) 
printf("\n%d", MATRIZ[i][1]); 
 
 
 
2. 
 
 
Quando estudamos Álgebra das Matrizes, aqui recordada com exemplos na aula sobre as matrizes 
bidimensionais, aprendemos os conceitos de Diagonal Principal (DP) e Diagonal Secundária (DS). 
Sabendo-se que você estuda Linguagem C. Teria declarado uma matriz 4 x 4 e desejasse exibir os 
elementos que se encontram no triângulo abaixo da DS, qual estrutura do if escolheria para 
selecionar esses elementos? 
Assuma que L é a variável da estrutura do for que controla as linhas e C, a variável da estrutura do for 
que controla as colunas. 
 
 
 
if( L + C > 3){ ... } 
 
if( L + C < 3){ ... } 
 
if( L + C <= 4){ ... } 
 
if( L <= C ){ ... } 
 
if( L != C){ ... } 
 
 Gabarito Comentado 
 
 
3. 
 
 
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[b] ) ; b++) { ... } } 
 
for(a = 1; a <= 100; a++){ for( b = 1; b <= strlen(nomes[a] ) ; b++) { ... } } 
 
for(a = 1; a <= 100; a++){ ... } 
 
for(b = 1; b < 100; b++){ ... } 
 
 for(c = 0; c < 100; c++){ ... } 
 
 Gabarito Comentado 
 
 
4. 
 
 
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 
 
II e IV estão corretas 
 
Só a II está correta 
 
I e IV estão corretas 
 
I e III estão corretas 
 
 Gabarito Comentado 
 
 
5. 
 
 
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]= {{2,4,6},{7,8,9}}; 
 
int matriz[2][3]= {{2,4,6};{7,8,9}}; 
 
int matriz[][3]= {{2,4,6}}; 
 
int matriz[2][3]; matriz[0][0]=2; matriz[0][1]=4; 
 
int matriz[][3]= {{2,4,6},{7,8,9}}; 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
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 segundo 
valor 
armazenado 
será o 26. 
 
O décimo 
valor 
armazenado 
será o 117. 
 
Serão 
armazenados 
5 valores 
inteiros. 
 
O terceiro 
valor 
armazenado 
será o 60. 
 
Serão 
armazenados 
10 valores 
inteiros. 
 
 
 
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áveis simples, 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: 
 
 
 
fgets, gets e scanf 
 
scanf, fgets e gets 
 
gets, fgets e scanf 
 
scanf, gets e fgets 
 
gets, scanf e fgets 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
A linguagem C possui uma infinidade de funçõesque a torna muito especial. 
Qual das funções abaixo é destinada a limpar o buffer de teclado? 
 
 
 
system("cls") 
 
fflush(stdin) 
 
clearBuffer(stdin) 
 
system("pause") 
 
system("clear") 
 
 Gabarito Comentado 
 
 
3. 
 
 
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. 
 
Deve ser declarado antes de acessado em seu programa. 
 
Podem ser formado por elementos de tipos diferentes. 
 
Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C. 
 
 Gabarito Comentado 
 
 
4. 
 
 
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. 
 
 
 
integer notas[150]; 
 
float notas[150]; 
 
float %.1f notas[150]; 
 
real notas[150]; 
 
int notas[150]; 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
Os chamados vetores e matrizes podem ser considerados como: 
 
 
Estruturas de dados homogêneas 
 
Comandos de seleção 
 
Comandos de seleção composta 
 
Estruturas de dados heterogêneas 
 
Comandos de repetição 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
 
A linguagem C permite a inicialização de vetores junto com sua declaração. 
Dada as alternativas abaixo, selecione a que está incorreta: 
 
 
 
char 
valores[5] = 
{'A', 'B', 'C', 
'D'}; 
 
int valores[] = 
{10, 15, 20, 
25, 30}; 
 
char valores = 
"ABCD"; 
 
int valores[5] 
= {10, 15, 20, 
25, 30}; 
 
char valores[] 
= {'A', 'B', 'C', 
'D'}; 
 
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 90: printf("Pode") ; break; 
 
90: printf("Pode"); 
 
case a > 90: printf("Pode") ;break; 
 
90: printf("Pode"); stop; 
 
 Gabarito Comentado 
 
 
2. 
 
 
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, 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 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 com o GOTO, para executar a parte do código que se repetia. 
 
 
 
3. 
 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável 
num seja diferente de 0? 
 
 
 
 
enquanto (num > 0) 
 
for ( i = 0; i == num; i++) 
 
while (num == 0) 
 
while (num != 0) 
 
for (i = num; i > 0; i++) 
 
 Gabarito Comentado 
 
 
4. 
 
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. 
 
II está correta e a III não está correta. 
 
I e III estão corretas. 
 
II e IV estão corretas. 
 
IV está correta e a I não está correta. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
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 II, III e V estão corretas 
 
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 
 
 
 
6. 
 
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 
 
1234 
 
345 
 
024 
 
34 
 
1. 
 
 
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); 
 
 
 
 
8 
 
12 
 
9 
 
\n8 
 
\n4 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
Marque abaixo a instrução que permite parar uma execução dentro de um switch. 
 
 
 
 
break 
 
close 
 
case 
 
stop 
 
open 
 
 Gabarito Comentado 
 
 
3. 
 
 
Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. 
 
 
 
 
&&, >= e || 
 
=, > e || 
 
&&, || e ~ 
 
<, > e >= 
 
+, - e * 
 
 Gabarito Comentado 
 
 
4. 
 
 
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, Parâmetro e corpo da função 
 
Tipo, Nome e Parâmetros 
 
Nome, Parâmetro e Corpo da função.Tipo , Nome, e Corpo da função. 
 
Tipo, Nome, Parâmetros e Corpo da Função. 
 
 Gabarito Comentado 
 
 
5. 
 
 
A estrutura condicional Switch na linguagem C tem suas peculiaridades. 
Avalie cada uma das afirmativas e marque a correta para esta estrutura. 
 
 
 
 
A cláusula default é obrigatória, independentemente de ter ou não opção de uma caso não previsto acontecer. 
 
Podemos utilizar variáveis de qualquer tipo para testar. 
 
O uso do break, não interfere na ordem de execução do programa. 
 
Para associar comandos para os demais valores possíveis e não especificados nos cases utilizo o parâmetro 
default. 
 
 
Podemos colocar uma expressão ou uma variável como parâmetro para avaliação do switch, sendo uma 
expressão deve ter parênteses, do contrário, para variáveis não é necessário utilizar os mesmos. 
 
 Gabarito Comentado 
 
 
6. 
 
 
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 inesperados. 
Supondo 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 x > 0 { a = 
2;} 
 
if (a > 0) { a 
= 2;} 
 
if (x > 0) a = 
2 else b = 2 ; 
 
if (a > 0) {a = 
2;} else {b= 
2;} 
 
if (a > 0) {a = 
2;} else if (b 
< 10) {b= 2;} 
 
1. 
 
 
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. 
 
 
 
 
stdio.h - ctype.h 
 
cmat.h - ctype.h 
 
stdio.h - stdlib.h 
 
math.h - stdlib.h 
 
stdlib.h - ctype.h 
 
 Gabarito Comentado 
 
 
2. 
 
 
Observe abaixo algumas declarações de variáveis e assinale a declaração errada. 
 
 
 
 
int i; 
 
short int a; 
 
long matricula; 
 
long float x; 
 
long double profundidade; 
 
 Gabarito Comentado 
 
 
3. 
 
 
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. 
 
 
 
 
cin ( ) 
 
printf ( ) 
 
getchar ( ) 
 
scanf ( ) 
 
fgetc(stdin) 
 
 Gabarito Comentado 
 
 
4. 
 
 
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); 
 
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] } 
 
do while (cfp !=0) 
{ // [bloco de comandos] } 
 
if (cpf != 0) 
{ // [bloco de comandos] } 
 
while{ // [bloco de comandos] } 
do (cfp !=0); 
 
 
 
5. 
 
 
Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C. 
 
 
 
 
i, j, int, obs 
 
2_ou_1, fim, *h, j 
 
nota-2 , a36, x_y 
 
2nota, a36, x#y, --j 
 
If, nota_do_aluno_2, HOJE, _yes 
 
 Gabarito Comentado 
 
 
6. 
 
 
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: 
800.00 
 
Valor do 
imposto a 
ser pago: 
850.00 
 
Valor do 
imposto a 
ser pago: 
650.00 
 
Valor do 
imposto a 
ser pago: 
750.00 
 
Valor do 
imposto a 
ser pago: 
1000.00 
 
 
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); 
} 
 
 
 
% Juros de 10 
 
%s%d%% Juros de 10 
 
Juros de 10% 
 
10 Juros de 
 
Nada porque tem muitos % 
 
 Gabarito Comentado 
 
 
2. 
 
 
Qual o nome da função matemática que calcula a potenciação de um número? 
 
 
 
 
elevado 
 
double 
 
sqrt 
 
pow 
 
pot 
 
 Gabarito Comentado Gabarito Comentado 
 
 
3. 
 
 
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. 
 
 
 
 
atof() e stdlib.h 
 
isalpha() e stdlib.h 
 
atoi() e math.h 
 
tolower() e ctype.h 
 
toupper() e stdlib.h 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
4. 
 
 
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() 
 
isalnum() 
 
isalpha() 
 
isdigit() 
 
isspace() 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
Um Engenheiro estava testando formatação com a função printf()e incluiu a linha abaixo. 
 
printf( "%08.2f",12.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 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 oito casas na parte inteira e duas na parte decimal, totalizando 10 posições no display, deixando 
vazias as não usadas 
 
Exibiu 12.3 porque o zero anula a formatação 
 
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. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
 
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 = 
\n0012 
 
O valor eh = 
em uma linha 
e na linha 
abaixo 12 
 
O valor eh = 
\n 12 
 
O valor eh = 
em uma linha 
e na linha 
abaixo 0012 
 
1. 
 
 
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 
 
Portabilidade eModularidade 
 
Portabilidade e Estruturada 
 
Complexidade e Estruturada 
 
Rapidez e Portabilidade 
 
 Gabarito Comentado 
 
 
2. 
 
 
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: 
 
 
 
 
Só é possível copiar o código executável do Linux para o Windows e executa-lo. 
 
Precisamos recompilar o código fonte para o Linux. 
 
Basta apenas copiar o código executável para o Linux e executa-lo. 
 
Ocorrerá erro, pois todas as instruções da linguagem C são incompatíveis com o Linux. 
 
Ocorrerá erro, pois os programas C não rodam em Linux. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
3. 
 
 
Qual das características abaixo NÃO pode ser atribuída á linguagem C? 
 
 
 
 
Complexidade porque tem muitas palavras reservadas 
 
Portabilidade 
 
Rapidez, pois gera executável compacto 
 
Estruturada 
 
Modularidade 
 
 
 
4. 
 
 
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 
 
 
 
 
I, III e V 
 
II, IV e V 
 
I e III 
 
II e IV 
 
II e III 
 
 Gabarito Comentado 
 
 
5. 
 
 
No ambiente Dev-cpp, temos algumas facilidades. Uma delas é quando desejarmos compilar e 
executar logo em seguida com um único clique ou um pressionamento de uma tecla. 
Analise as afirmativas abaixo e escolha a opção correta 
I Pressionar F9(pode ser F11 em versões mais novas) 
II Clicar no ícone Compilar 
III Clicar no ícone Executar 
IV Clicar no ícone Compilar e Executar 
 
 
 
 
Só a II possibilita isso 
 
Só a I possibilita isso 
 
Só a III possibilita isso 
 
Tanto a I quanto a IV possibilitam isso 
 
Só a IV possibilita isso 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
 
Qual o nome da diretiva que tem várias utilidades e uma delas é construir macros que, algumas 
vezes, poderão substituir a definição de funções, tornando mais rápido o processamento? 
 
 
 
 
struct 
 
typedef 
 
define 
 
include 
 
const

Outros materiais