Buscar

LINGUAGEM DE PROGRAMAÇÃO 1 AV2 e AV3

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 51 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 51 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 51 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 
 
 
1a Questão (Ref.: 201602183425) Fórum de Dúvidas (1) Saiba (0) 
 
Após o surgimento de várias linguagens de Alto nível, surge a linguagem C . Qual a década em que foi 
desenvolvida? 
 
 década de 60 
 década de 80 
 década de 50 
 década de 70 
 década de 90 
 
 
 
 
 
 2a Questão (Ref.: 201601835265) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
Na Aula 1, estudamos algumas características e vantagens da linguagem C. Observe as afirmativas abaixo 
e assinale a opção que contem a resposta correta. 
 
I Tem boa Portabilidade. 
II Não pode ser modularizada. 
III É uma linguagem Orientada a Objetos. 
IV Uma linguagem que pode manipular endereços de memória. 
V Não possui um propósito especifico. 
 
 As afirmativas II, III e IV estão corretas e as demais, erradas. 
 As afirmativas II, IV e V estão corretas e as demais, erradas. 
 As afirmativas I e IV estão corretas e as demais, erradas. 
 As afirmativas IV e V estão corretas e as demais, erradas. 
 As afirmativas I, IV e V estão corretas e as demais, erradas. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 
 3a Questão (Ref.: 201601800499) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
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. 
 
 Executável - extensão .c - compilar - fonte 
 Código fonte - extensão .c - compilar - executável 
 Fonte - extensão .txt - editar - executável 
 Código base - extensão .c - compilar - fonte 
 Código de texto - extensão .txt - editar - fonte 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 
 4a Questão (Ref.: 201602183449) Fórum de Dúvidas (1) Saiba (0) 
 
Estudamos que a linguagem C apresenta várias características. Analise as afirmativas abaixo e assinale a 
opção correta. 
I Com pequenas modificações, um código poderá ser compilado em várias plataformas. 
II Não pode ser modularizada 
III Possui um propósito específico 
IV Considerada de nível intermediário 
 
 Todas estão erradas 
 I e IV estão corretas 
 I, III e IV estão corretas 
 II, III e IV 
 Todas estão corretas 
 
 Gabarito Comentado 
 
 
 
 
 5a Questão (Ref.: 201602183427) Fórum de Dúvidas (1) Saiba (0) 
 
A Linguagem C tem algumas características importantes e uma delas é a Portabilidade, Isso significa dizer 
que: 
 
 Um programa executável gerado na plataforma Windows é executado na Plataforma Linux. 
 A linguagem possui um propósito específico. 
 Por ser considerada uma linguagem de baixo nível é mais simples migrar para outra plataforma. 
 Com pequenas alterações, o programa poderá ser compilado em várias plataformas. 
 Podemos dividir o programa em parte menores. 
 
 Gabarito Comentado 
 
 
 
 
 6a Questão (Ref.: 201602183441) Fórum de Dúvidas (1) Saiba (0) 
 
Na função main() da linguagem C, declarações, comandos, estruturas e tudo mais que pertence ao corpo 
da função estão envoltos por dois elementos. 
Assinale a opção que apresenta esses elementos. 
 
 begin e end; 
 ( e ) 
 [ e ] 
 begin e end 
 { e } 
 
 Gabarito Comentado 
 
 
 
 
 7a Questão (Ref.: 201602183468) Fórum de Dúvidas (1) Saiba (0) 
 
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 e Estruturada 
 Portabilidade e Modularidade 
 Rapidez e Portabilidade 
 Complexidade e Estruturada 
 
 Gabarito Comentado 
 
 
 
 
 8a Questão (Ref.: 201602183453) Fórum de Dúvidas (1) Saiba (0) 
 
Qual das características abaixo NÃO pode ser atribuída á linguagem C? 
 
 Portabilidade 
 Complexidade porque tem muitas palavras reservadas 
 Estruturada 
 Rapidez, pois gera executável compacto 
 Modularidade 
 
1. 
 
 
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? 
 
 
 
 
isalnum() 
 
isalpha() 
 
isnotalphadigit() 
 
isdigit() 
 
isspace() 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
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 
 
atoi() e math.h 
 
atof() e stdlib.h 
 
isalpha() e stdlib.h 
 
tolower() e ctype.h 
 
 Gabarito Comentado 
 
 
3. 
 
 
Observe o programa abaixo e selecione a resposta que mostra e/ou 
explica o que será exibido no display. 
 
#include 
int main() 
{ 
printf ("%s%d%%","Juros de ",10); 
} 
 
 
 
 
 
Nada porque tem muitos % 
 
10 Juros de 
 
Juros de 10% 
 
% Juros de 10 
 
%s%d%% Juros de 10 
 
 Gabarito Comentado 
 
 
4. 
 
 
Qual o nome da função matemática que calcula a potenciação de um 
número? 
 
 
 
 
double 
 
elevado 
 
sqrt 
 
pow 
 
pot 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
Assinale a função que não é disponível na plataforma Linux. 
 
 
 
 
main() 
 
system() 
 
return 
 
scanf() 
 
printf() 
 
 
 
6. 
 
 
Você estava trabalhando na plataforma Windows e foi definindo 
várias funções específicas para sua área de atuação. 
Um dia, resolveu criar uma biblioteca e nomeou de minhasFuncoes.h, 
salvando em uma pasta de nome funcoes na raiz do drive C. 
Quando foi incluir, usou: 
 
 
 
 
#include 
 
#include "c:\funcoes\ minhasFuncoes.h" 
 
#include minhasFuncoes.h 
 
#include "minhasFuncoes.h" 
 
#include "c:\ minhasFuncoes.h\funcoes" 
 
 
 
7. 
 
 
Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h 
e stdlib.h. 
Assinale o trecho correto que possibilita incluí-las. 
 
 
 
 
#include 
#include 
#include 
 
 
#include stdio.h 
#include stdlib.h 
#include math.h 
 
#define 
#define 
#define 
 
 
#include 
 
#include 
 
 Gabarito Comentado 
 
 
8. 
 
 
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 seriaa sequência para conseguirmos editar, 
compilar e executar um programa? 
 
 
 
 
Usar um editor de texto para digitar o código/ salvar sem se preocupar com 
extensão/ e digitar uma linha de comando, também no terminal, usando o 
compilador gcc. 
 
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar 
uma linha de comando no terminal usando o compilador gcc para gerar o 
executável/ digitar o nome do executável, precedido por ./ no terminal para 
executá-lo. 
 
Usar 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 o terminal para digitar o código/ salvar sem se preocupar com extensão/ e 
digitar uma linha de comando, também no terminal, usando o compilador gcc. 
 
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar 
uma linha de comando no terminal usando o compilador gcc para gerar o 
executável / digitar o nome do executável no terminal para executá-lo. 
 
 Gabarito Comentado 
 
 
 
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. 
 
 
 
 
math.h - stdlib.h 
 
stdlib.h - ctype.h 
 
cmat.h - ctype.h 
 
stdio.h - ctype.h 
 
stdio.h - stdlib.h 
 
 Gabarito Comentado 
 
 
2. 
 
 
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. 
 
string.h - Funções para concatenação de strings com inteiros. 
 
stdio.h - Funções para gráficos. 
 
math.h - Funções matemáticas 
 
 Gabarito Comentado Gabarito Comentado 
 
 
3. 
 
 
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 = -01 
y = 01 
z = 10 
 
x = -11 
y = 11 
z = 10 
 
x = -20 
y = 20 
z = 10 
 
x = 11 
y = 11 
z = 15 
 
x = -13 
y = 11 
z = 13 
 
 Gabarito Comentado Gabarito Comentado 
 
 
4. 
 
 
Estava pesquisando na internet, quando li, num fórum, um pedido 
de ajuda que incluía um programa codificado na linguagem C, 
apresentado abaixo. A pessoa não tinha um compilador e não 
estava conseguindo analisar o programa. Acompanhei no Teste de 
Mesa, supondo que eu teria digitado 345 quando foi solicitado um 
número inteiro de três algarismos. Assinale a 
resposta CORRETA que apresenta o que foi exibido na tela. 
 
 
 
 
 
 
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) 
 
-0012 ( Representa a soma dos algarismos do número -345 formatado) 
 
0345 (O valor absoluto do número formatado) 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
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. 
 
 
 
 
scanf ( ) 
 
cin ( ) 
 
printf ( ) 
 
getchar ( ) 
 
fgetc(stdin) 
 
 Gabarito Comentado 
 
 
6. 
 
 
Um programa de cadastro deve solicitar cpf,nome e telefone de 
alunos até que o cpf seja igual a 0. Que estrutura em C melhor 
representa esta tarefa? 
 
 
 
 
while{ // [bloco de comandos] } 
do (cfp !=0); 
 
do while (cfp !=0) 
{ // [bloco de comandos] } 
 
if (cpf != 0) 
{ // [bloco de comandos] } 
 
for (cpf=0; cpf !=0; cpf++) 
{ // [bloco de comandos] } 
 
do{ // [bloco de comandos] } 
while (cfp !=0); 
 
 
 
7. 
 
 
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 alternativaERRADA. 
 
 
 
 
A função main() pode acessar qualquer variável local de qualquer função. 
 
Uma variável local só é visualizada pela função onde foi declarada. 
 
Duas, ou mais funções, podem declarar variáveis locais com os mesmos 
nomes. 
 
As variáveis locais não podem ser acessadas de fora do escopo em que 
foram criadas. 
 
Existem funções que não têm variáveis locais. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
8. 
 
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: 850.00 
 
Valor do imposto a ser pago: 800.00 
 
Valor do imposto a ser pago: 650.00 
 
Valor do imposto a ser pago: 1000.00 
 
Valor do imposto a ser pago: 750.00 
 
1. 
 
 
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 tipo int de nome ano. 
 
Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m. 
 
Assinale a opção que resolve o problema desse aluno. 
 
 
 
 
if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) ) 
 
if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 ) 
 
if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) ) 
 
if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' ) 
 
if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) ) 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
Assinale a alternativa que apresenta APENAS os exemplos de 
operadores relacionais. 
 
 
 
 
<, > e >= 
 
 
+, - e * 
 
&&, >= e || 
 
=, > e || 
 
&&, || e ~ 
 
 Gabarito Comentado 
 
 
3. 
 
 
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 
 
três ifs simples e um composto 
 
quatro ifs simples e um composto 
 
switch() com cinco cases 
 
switch() com quatro cases e um default 
 
 Gabarito Comentado 
 
 
4. 
 
 
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. 
 
 
 
 
I, III e IV são verdadeiras 
 
I, III, IV e V são verdadeiras 
 
II, IV e V são verdadeiras 
 
III e V são verdadeiras 
 
II, III e IV são verdadeiras 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
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' or 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' || sexo == 'F' ) and idade >= 18 and idade < 30 ) 
 
 Gabarito Comentado 
 
 
6. 
 
 
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: 5 
 
Exibe valor: 35 
 
Exibe valor: 12 
 
Exibe valor: 0 
 
Exibe valor: 7 
 
 Gabarito Comentado 
 
 
7. 
 
 
Se precisarmos testar o conteúdo de uma variável e sabendo-se que 
só serão executados comandos se o teste retornar verdadeiro, qual 
estrutura você indicaria para esse caso? 
 
 
 
 
if 
 
switch() 
 
if else 
 
printf() 
 
if else if 
 
 
 Gabarito Comentado 
 
 
8. 
 
 
Suponha que as notas digitadas pelo usuário sejam respectivamente 
(4.5; 8.5; 6.5). 
 
 
int main() 
{ 
float n1, n2, n3, med; 
puts("Digites as notas"); 
scanf("%f", &n1); 
scanf("%f", &n2); 
scanf("%f", &n3); 
med= (n1+n2+n3)/3; 
if(med>=7) 
printf("Aluno aprovado com: %.1f\n", med); 
else 
printf("Aluno reprovado com: %.1f\n", med); 
system("pause"); 
return 0; 
} 
 
Desconsidere a necessidade da declaração das bibliotecas. 
Qual será a mensagem final exibida para o usuário? 
 
 
 
 
Aluno reprovado com: 6.50 
 
Aluno aprovado com: 6.0 
 
Aluno reprovado com: 6.5 
 
Aluno aprovado com: 6.5 
 
Aluno aprovado com: 6.00 
 
 
 
Leia com atenção as afirmativas abaixo e escolha a opção correta. 
I A estrutura do for, por definição, é ideal quando o número de 
repetições for conhecido 
II A estrutura do for testa ao final enquanto a estrutura while testa no 
início 
III A estrutura while pode simular a estrutura do for e a estrutura do... 
while 
IV A estrutura do for sem nenhum parâmetro, só com os ; dentro 
dos parênteses e com um if no corpo da repetição, pode simular a 
estrutura while 
V Tanto a estrutura do...while quanto a estrutura while, testam no início 
 
 
 
 
Somente I, III e V estão corretas 
 
Somente I, II, III e V estão corretas 
 
Somente I e V estão corretas 
 
Somente II, III e V estão corretas 
 
Somente I, III e IV estão corretas 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
Para o programa abaixo qual a saída apresentada? 
 
main(){ 
int x,soma=0; 
for(x=10; x<=15;x++) 
{ 
 printf(" %d",pow(x,2)); 
} 
system("PAUSE"); 
return 0; 
} 
 
 
 
 
10 11 12 13 14 15 
 
15 14 13 12 11 10 
 
9 10 11 12 13 14 15 
 
100 121 144 169 196 225 
 
20 22 24 26 28 30 
 
 Gabarito Comentado 
 
 
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) 
 
while (num == 0) 
 
for ( i = 0; i == num; i++) 
 
for (i = num; i > 0; i++) 
 
while (num != 0) 
 
 Gabarito Comentado 
 
 
4. 
 
 
 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 10 16 26 42 68 
 
2 4 4 8 12 20 32 52 
 
2 4 6 10 16 26 42 
 
2 4 4 8 12 20 32 
 
2 4 6 8 19 12 14 16 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
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. 
 
Criar uma função para executar a parte do código que se repetia. 
 
Utilizar a estrutura de loop WHILE, para executar a parte do código que se 
repetia. 
 
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. 
 
 
 
6. 
 
 
A estrutura do if na linguagem C, como em toda linguagem, 
tem uma sintaxe. Observe as afirmações abaixo e escolha 
a opção ERRADA. 
 
I As chaves de abertura e fechamento, sempre, não são 
obrigatórias. 
II No teste unimos expressões relacionais com operadores 
lógicos quando necessário. 
III A palavra then está presente na estrutura. 
IV O uso do else poderá não ser necessário. 
 
 
 
 
 
IV está correta e a I não está correta. 
 
II e IV estão corretas. 
 
I está errada. 
 
I e III estão corretas. 
 
II está correta e a III não está correta. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
7. 
 
 
 Uma das dificuldades da estrutura escolha/ caso é o fato das 
restrições variarem para cada linguagem, dificultando a fixação. 
Na linguagem C, essa estrutura recebe o nome de switch() e tem 
suas restrições. Observe os trechos abaixo e assinale o que é 
possível ser usado na linguagem C, supondo que se espera 
encontrar na variável de nome a, inteira, alguns valores e entres 
eles está o número 90. Analise as linhas abaixo e assinale que 
foi escrita corretamente para testar o número 90 na estrutura 
switch(). 
 
 
 
 
90: printf("Pode"); stop; 
 
case 90: printf("Pode") ; break; 
 
90: printf("Pode"); 
 
case a=90: printf("Pode") ;break; 
 
case a > 90: printf("Pode") ;break; 
 
 Gabarito Comentado 
 
 
8. 
 
Os loops são utilizados para executar um conjunto de instruções 
várias vezes baseando-se sempre em uma condição que decidirá se 
continua repetindo ou não.Qual estrutura de repetição abaixo, garante que o bloco de instruções 
seja executado no mínimo uma vez? 
 
 
do...while 
 
switch 
 
for 
 
repeat...util 
 
while 
 
1. 
 
 
Um lojista gostaria de desenvolver um programa que pudesse 
armazenar os códigos(valores inteiros), os valores de 
compra(valores reais), os valores de vendas(valores reais) e a 
quantidade(valores inteiros) de todos os mil produtos. 
Pensou em declarar algumas matrizes unidimensionais para 
tornar isso possível. 
 
Qual das opções abaixo declara as matrizes necessárias para que 
o programa possa ser desenvolvido a partir delas e seguindo, 
rigorosamente, as sugestões do texto acima? 
 
 
 
int codigos[999], qtdade[999]; float valorC[999], valorV[999]; 
 
double codigos[999], qtdade[999], valorC[999], valorV[999]; 
 
int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 
double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; 
 
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
Os chamados vetores e matrizes podem ser considerados como: 
 
 
Comandos de repetição 
 
Estruturas de dados homogêneas 
 
Comandos de seleção composta 
 
Comandos de seleção 
 
Estruturas de dados heterogêneas 
 
 Gabarito Comentado Gabarito Comentado 
 
 
3. 
 
 
Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa 
correta: 
I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo 
valor inteiro é igual a zero (código ASCII igual a 0). 
II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como 
sendo '\0'. 
III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos 
declarar o tamanho necessário menos um. 
 
 
 
 
Somente as sentenças I e II estão corretas 
 
Somente a sentença II está correta 
 
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 
 
 Gabarito Comentado Gabarito Comentado 
 
 
4. 
 
 
Assim como nas variáveis, podemos inicializar os vetores assim que declaramos. 
Sabendo-se que existe um vetor de 3 posições do tipo inteiro, qual das opções 
abaixo correspondo a correta forma de se declarar e inicializar este vetor? 
 
 
 
int numeros[2] = [ 0, 1, 2]; 
 
int numeros[3] = ( 0, 1, 2); 
 
int numeros(2) = { 0, 1, 2}; 
 
int numeros[3] = { 0, 1, 2}; 
 
integer numeros[3] = [ 0, 1, 2]; 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
 
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[5] = {10, 15, 20, 25, 30}; 
 
int valores[] = {10, 15, 20, 25, 30}; 
 
char valores = "ABCD"; 
 
char valores[] = {'A', 'B', 'C', 'D'}; 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
 
A linguagem C, ao contrário de outras linguagens de programação, não possui um 
tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros 
Qual das opções abaixo está correta? 
 
 
 
 
Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/0'). 
 
Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\end') 
 
Em C, strings são vetores de caracteres terminados pelo caractere nulo ('{0}'). 
 
Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/end'). 
 
Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\0'). 
 
 Gabarito Comentado Gabarito Comentado 
 
 
7. 
 
 
A linguagem C, ao contrário de outras linguagens de programação, não possui um 
tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros 
Admitindo-se que existe declarado um vetor chamado nome de 50 
posições(nome[50]), qual das opções abaixo efetua corretamente a leitura de seu 
primeiro nome? 
 
 
 
 
scanf("%s", nome); 
 
scanf("%s", &nome); 
 
scanf("%s&c", nome[0]); 
 
scanf("%c", nome[0]); 
 
scanf("%&s", &nome); 
 
 Gabarito Comentado 
 
 
8. 
 
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? 
 
 
convertUpper 
 
upper 
 
convertUp 
 
toupper 
 
toupr 
 
 
 
1. 
 
 
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. 
 
 
 
float matrizExemplo[20][10]; 
 
matrizExemplo int[10][20]; 
 
int matrizExemplo[10,20]; 
 
int matrizExemplo[10][20]; 
 
matrizExemplo float[20][10]; 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
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. 
 
 
do-if-else-while 
 
while-for-do-for 
 
do-if-for-while 
 
do-for-for-while 
 
do-while-for-for 
 
 Gabarito Comentado 
 
 
3. 
 
 
O professor de Matemática armazena as notas dos quatro bimestres e 
da média dos seus 47 alunos em cinco vetores. 
Ele pretende agrupar esses vetores em uma matriz bidimensional de 
nome NOTAS na linguagem C. 
Assinale a opção que possibilitará fazer o que o professor deseja. 
 
 
 
 
float NOTAS[47][5]; 
 
 
float notas[5][47]; 
 
 
float NOTAS[47,5]; 
 
 
float Notas[47][47]; 
 
 
float NOTAS[47][47]; 
 
 
 
4. 
 
 
Matrizes são estruturas de dados extremamente poderosas e que são muito 
empregadas em programas na linguagem C. 
Assinale a alternativa incorreta em relação a este conceito. 
 
 
 
Uma matriz bidimensional poderá armazenamento de vetores do tipo char 
 
O armazenamento de um valor, em uma variável da matriz bidimensional, 
poderá ser feito através de um comando de leitura ou de atribuição 
 
Não existem matrizes com mais de duas dimensões. 
 
Podemos inicializar com valores no ato de sua declaração. 
 
Matrizes unidimensionais são conhecidas também como vetores; 
 
 
 
5. 
 
 
Supondo queestá desenvolvendo um programa de cadastro de alunos, qual das 
opções declara corretamente uma matriz caracter que suporte 30 nomes de até 20 
caracteres? 
 
 
 
char nomes [20][30]; 
 
char nomes [30]; 
 
char nomes (30); 
 
char nomes (20,30); 
 
char nomes [30][20]; 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
 
Na linguagem C os vetores são um assunto de grande relevância, por isso o 
programador deve saber bem como utilizar, declarar e utilizar. 
Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma 
casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual 
alternativa declara de forma correta este vetor para atender a necessidade citada. 
 
 
 
float notas[150]; 
 
int notas[150]; 
 
float %.1f notas[150]; 
 
integer notas[150]; 
 
real notas[150]; 
 
 
1. 
 
Observe o programa abaixo e escolha a opção que 
apresenta o que retorna da função chamada. 
 
 
 
 
 
 
 
O valor retornado corresponde ao deslocamento mais um em relação ao 
endereço base da variável que contem o menor número 
 
O valor retornado corresponde ao índice da variável que contem o menor 
número 
 
O menor número é retornado 
 
O maior número é retornado 
 
Nada retorna porque o nome do vetor da função main é diferente do nome 
do vetor da função descobre 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
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á 9 
 
O programa exibirá 0 
 
O programa exibirá 5 
 
Ocorrerá um erro 
 
O programa exibirá 4 
 
 Gabarito Comentado Gabarito Comentado 
 
 
3. 
 
 
Na definição de uma função, precisamos escrever suas partes, 
sendo algumas obrigatórias e outras, facultativas. 
 
tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon 
parâmetroN) 
{ 
 corpo da função 
 } 
 
Das opções apresentadas abaixo, marque a que apresenta 
apenas partes obrigatórias de forma que a função execute 
alguma tarefa, sem levar em consideração os símbolos (chaves, 
parênteses, etc). 
 
 
 
 
Nome, Parâmetro e Corpo da função. 
 
Tipo, Nome e Parâmetros. 
 
Tipo, Parâmetro e corpo da função. 
 
Tipo, Nome, Parâmetros e Corpo da Função. 
 
Tipo , Nome, e Corpo da função. 
 
 Gabarito Comentado 
 
 
4. 
 
 
Um programador durante a construção de um código 
precisava converter o texto correspondente a um ano em um 
número inteiro, para poder executar alguns cálculos a partir 
deste ano. 
Das opções apresentadas, qual função apresenta a solução 
para o programador? 
 
 
 
 
atoi( ). 
 
strcont( ). 
 
strcat( ). 
 
 
strlength( ). 
 
strlen( ). 
 
 
 
5. 
 
 
O chefe do departamento do pessoal da Empresa YYY 
gostaria de declarar matrizes bidimensionais para 
armazenar nomes dos 20 funcionários e 14 salários de 
cada um deles. 
Assinale a linha onde a declaração atende ao que ele 
deseja. 
 
 
 
 
 
char nomes[20][31]; float salarios[20][14]; 
 
 
char nomes[19][31]; float salarios[19][13]; 
 
 
char nomes[20][31]; float salarios[20][20]; 
 
 
char nomes[20]; float salarios[19][13]; 
 
 
float nomes[20][31], salarios[20][14]; 
 
 
 
6. 
 
 
Função em C onde são colocados todos os comandos e outras funções 
que desejamos que sejam executadas 
 
 
 
 
begin 
 
systema("pause") 
 
end 
 
return 
 
main() 
 
1. 
 
 
A função fgets(): 
 
 
imprime uma linha inteira de uma vez. 
 
lê um caracter de cada vez. 
 
lê uma linha inteira de uma vez. 
 
lê um arquivo inteiro de uma vez. 
 
imprime um caracter de cada vez. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
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. 
 
 
 
char - fopen - fechar 
 
int - abrir - fopen 
 
int - open - close 
 
float - fopen - fclose 
 
char - fopen - fclose 
 
 Gabarito Comentado 
 
 
3. 
 
 
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 
arquivo corretamente seguindo as regras da linguagem. 
 
 
 
arq = fopen("texto.txt", "a+"); 
 
arquivo = fopen("material.dat", "r+"); 
 
arq = fopen("texto.txt", "w"); 
 
arquivo = fopen("material.dat", "w+"); 
 
arquivo = fopen("material.dat", "a+"); 
 
 Gabarito Comentado 
 
 
4. 
 
 
 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_colunas]; 
 
tipo nome_matriz[][]; 
 
tipo nome_matriz[numero_colunas][numero_linhas]; 
 
tipo nome_vetor[numero_colunas][numero_linhas]; 
 
nome_matriz[numero_linhas][numero_colunas]; 
 
 
 
5. 
 
 
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ção que detecta o fim do arquivo. 
 
Função que fecha um arquivo. 
 
Funções para gravação formatadas. 
 
Funções para gravar uma linha. 
 
Função para gravar um caractere. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
 
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 é necessário tratar, pois não existindo o arquivo ele simplesmente cria um 
novo e nunca terá problema. 
 
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. 
 
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. 
 
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. 
 
Não é possível tratareste tipo de erro, pois precisamos da estrutura Try ... Catch 
que consegue prevenir e evitar o fechamento do programa. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
7. 
 
 
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ção que detecta o fim do arquivo. 
 
Função que fecha um arquivo. 
 
Funções para gravar uma linha. 
 
Funções para ler um caractere. 
 
Funções para leitura formatada. 
 
1. 
 
 
A função rewind() de protótipo 
 
void rewind (FILE *fp); 
tem como comportamento: 
 
 
 
Retornar a posição corrente do arquivo para o início. 
 
Adiantar a posição corrente do arquivo para o início. 
 
Adiantar para a próxima posição corrente do arquivo. 
 
Adiantar a posição corrente do arquivo para o fim. 
 
Retornar a posição corrente do arquivo para o fim. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
2. 
 
 
Uma das ultimas funções estudadas foi a rename(). Suponha que o nome do arquivo 
é inicial é ARQ e o novo deve ser ARQ2, e é constante. 
Assinale a alternativa que apresenta a sintaxe correta para a função. 
 
 
 
rename("ARQ2", "ARQ"); 
 
rename(ARQ2, ARQ); 
 
rename("ARQ", "ARQ2"); 
 
rename("ARQ", ARQ2); 
 
rename("ARQ, ARQ2"); 
 
 
 
3. 
 
 
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 
 
 
 
4. 
 
 
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. 
 
 
 
fprint() 
 
fgetc() 
 
sscanf() 
 
fscanf() 
 
fgets() 
 
 Gabarito Comentado Gabarito Comentado 
 
 
5. 
 
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; 
} 
 
 
ABCDEFY 
 
DEF 
 
ABCYDEF 
 
ABCDEF 
 
ABC 
 
 Gabarito Comentado Gabarito Comentado 
 
 
6. 
 
 
Nas aulas aprendemos sobre as funções de leitura e gravação. 
A respeito da função fwrite assinale a alternativa correta. 
 
 
 
fwrite(endreçoElemento, ptrArq, quantidade); 
 
fwrite(endreçoElemento, tamanho, quantidade, ptrArq); 
 
fwrite(quantidade, ptrArq, endreçoElemento,tamanho); 
 
fwrite(endreçoElemento, tamanho, quantidade); 
 
fwrite( tamanho, endreçoElemento, ptrArq); 
 
 
1- Qual a estrutura de repetição usada para quantidade indeterminada de 
repetições? 
while 
 
2- 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. 
Uma 
 
3- 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. 
 
float vetreais[4]={1.0,2.4,3.5,4.5}; 
 
4 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. 
 
int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; int 
 
5- 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) 
 
6- 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)) 
 
 
 
 Fechar 
 
Avaliação: CCE0242_AV2_201301845019 » LINGUAGEM DE PROGRAMAÇÃO I 
Tipo de Avaliação: AV2 
Aluno: 201301845019 - GLAUCIA ADRIANO DE SOUZA 
Professor: ANITA LUIZA MACIEL LOPES Turma: 9002/AG 
Nota da Prova: 4,5 de 8,0 Nota do Trab.: 0 Nota de Partic.: 0,7 Data: 24/06/2014 17:18:12 
 
 
 1a Questão (Ref.: 201302029147) Pontos: 0,5 / 1,5 
Considere que você foi contratado para trabalhar em um avançado laboratório de engenharia. 
Este laboratório precisa desenvolver programas em liguagem C para conversões de medidas 
para automatizar os seus processos. Codifique um programa em linguagem C que obtenha 
uma medida em quilômetros como entrada de dados do usuário através da função scanf, 
converta a medida para milhas e exiba a medida convertida através da função printf. Defina o 
fator de conversão como uma constante chamada fator de valor igual a 1.61, que deve ser 
usado no cálculo da conversão. Defina as variáveis como numéricos reais em ponto flutuante 
de menor precisão para ocupar menos espaço de memória. 
 
 
Resposta: include <stdio.h> include <stdlib.h> int main () { float km, milha; scanf("%d\n", km); milha = 
km*1.61; printf("%d\n", milha); system("pause"); return 0; } 
 
 
Gabarito: 
#include 
#include 
int main(int argc, char** argv) { 
 const float fator = 1.61; 
 float medida; 
 scanf("%f", &medida); 
 medida = medida / fator; 
 printf("%f", medida); 
 return (0); 
} 
 
 
 
 2a Questão (Ref.: 201302021867) Pontos: 0,5 / 0,5 
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. 
 
 math.h - Funções matemáticas 
 
string.h - Funções para concatenação de strings com inteiros. 
 
stdio.h - Funções para gráficos. 
 
stdlib.h - Funções de entrada e saida. 
 
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos. 
 
 
 
 3a Questão (Ref.: 201302170038) Pontos: 0,0 / 1,5 
Desenvolva um programa que leia uma matriz 3 x 3 de inteiros e exiba sua diagonal 
principal e secundária. 
 
 
Resposta: include <stdio.h> include <stdlib.h> int main () { int [x][y]; for (xɛ, x++); for (yɛ, y++); 
scanf("%d\n", x); scanf("%d\n", y); printf("%d\n", [x1][y1], [x2][y2], [x3][y3], [x1][y3], [x2][y2], [x3][y1]); 
system("pause"); return 0; } 
 
 
Gabarito: 
#include 
#include 
void main(){ 
 int minhaMatriz[3][3]; 
 int linha,coluna; 
 for (linha=0; linha<3;linha++){ 
 for (coluna=0; coluna<3;coluna++){ 
 printf("Linha e Coluna: [%d][%d] ",linha,coluna);scanf("%d",&minhaMatriz[linha][coluna]); 
 } 
 } 
 printf("\n\n"); 
 printf("-----------------------------\n"); 
 printf("DIAGONAL PRINCIPAL Digitada:\n"); 
 printf("-----------------------------\n"); 
 for (linha=0; linha<3;linha++){ 
 for (coluna=0; coluna<3;coluna++){ 
 if (coluna == linha){ 
 printf("%5d ", minhaMatriz[linha][coluna]); 
 } 
 } 
 } 
 printf("\n\n"); 
 printf("-----------------------------\n"); 
 printf("DIAGONAL SECUNDARIA Digitada:\n"); 
 printf("-----------------------------\n"); 
 for (linha=0; linha<3;linha++){ 
 for (coluna=0; coluna<3;coluna++){ 
 if (coluna == (3 - 1 - linha )){ 
 printf("%5d ", minhaMatriz[linha][coluna]); 
 } 
 } 
 } 
 printf("\n\n"); 
 system("PAUSE"); 
} 
 
 
 
 4a Questão (Ref.: 201302166221) Pontos: 0,5 / 0,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 
 
 
 
 5a Questão (Ref.: 201302163331) Pontos: 0,5 / 0,5 
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 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 
 
 
 
 6a Questão (Ref.: 201302163347) Pontos: 0,0 / 0,5 
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. 
 
 
 
 7a Questão (Ref.: 201302021828) Pontos: 0,5 / 0,5 
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) 
 
 
 
 8a Questão (Ref.: 201302065115) Pontos: 1,0 / 1,0 
Baseado nos conceitos de Matrizes, no que tange em relação a declaração, dentre as afirmações que se 
seguem, assinale a que não contem erros sobre as matrizes multidimensionais- 1 e matrizes não 
dimensionadas- 2 respectivamente. 
 
 
1- Tipo nome [linha][coluna] e 2 - O tamanho não é especificado. 
 1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - O tamanho não é especificado. 
 
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - Tipo nome [tamanho] 
 
1- O compilador cria uma matriz grande para conter todos os seus elementos e 2-Tipo nome 
[tamanho1][tamanho2][tamanho3]...[tamanho n]. 
 
1- Tipo nome [linha][coluna] e 2 - O compilador cria uma matriz grande para conter todos os seus 
elementos. 
 
 
 
 9a Questão (Ref.: 201302174604) Pontos: 0,0 / 0,5 
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]; 
 
 
 
 10a Questão (Ref.: 201302160792) Pontos: 1,0 / 1,0 
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 
 
 
 
 3a Questão (Ref.: 201409101931) Pontos: 0,5 / 0,5 
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 
 Estruturada e Rapidez 
 Portabilidade e Estruturada 
 
 
 
 4a Questão (Ref.: 201409102087) Pontos: 0,5 / 0,5 
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. 
 
 rounder() 
 pow() 
 ceil() 
 sqrt() 
 floor() 
 
 
 
 5a Questão (Ref.: 201408577498) Pontos: 0,5 / 0,5 
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. 
 stdio.h - Funções para gráficos. 
 string.h - Funções para concatenação de strings com inteiros. 
 math.h - Funções matemáticas 
 time.h - Funções para manipulação de tempo, apenas horas, minutos e 
segundos. 
 
 
 
 6a Questão (Ref.: 201408755258) Pontos: 0,5 / 0,5 
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': break; 
case 'i': break; 
printf("%d",(tot_metros*3)/2+aux); 
case 'E': break; 
case 'e': break; 
printf("%d",(tot_metros*4)/2+aux); 
default: 
printf("%s","Tipo invalido"); 
} 
system("PAUSE"); 
} 
 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"); 
} 
 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"); 
} 
 if(tot_metros%2) 
aux = 1; 
else 
aux = 0; 
switch(tipo){ 
case 'I': break; 
case 'i': break; 
printf("%d",(tot_metros*3)/2+aux); 
break; 
case 'E': break; 
case 'e': break; 
printf("%d",(tot_metros*4)/2+aux); 
break; 
default: 
printf("%s","Tipo invalido"); 
} 
system("PAUSE"); 
} 
 if(tot_metros%2) 
aux = 1; 
else 
aux = 0; 
switch(tipo){ 
case 'I': 
case 'i': 
printf("%d",(tot_metros*3)/2+aux); 
case 'E': 
case 'e': 
printf("%d",(tot_metros*4)/2+aux); 
default: 
printf("%s","Tipo invalido"); 
} 
system("PAUSE"); 
} 
 
 
 
 7a Questão (Ref.: 201409112732) Pontos: 0,5 / 0,5 
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 
 0 1 2 3 4 5 
 0 1 2 
 1 2 3 4 5 
 1 2 3 
 
 
 
 8a Questão (Ref.: 201408725600) Pontos: 0,0 / 0,5 
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. 
 Deve ser declarado antes de acessado em seu programa. 
 Podem ser formado por elementos de tipos diferentes. 
 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. 
 
 
 
 9a Questão (Ref.: 201409052144) Pontos: 1,0 / 1,0 
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-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; 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/2; i++){ 
if(vet[i]!=vet[tam-i]){ 
aux = 0; 
break; 
} 
} 
return aux; 
} 
 
 
 
 10a Questão (Ref.: 201409119001) Pontos: 0,0 / 1,0 
O protótipo de fread() é: 
 
 void fread (void *buffer, int numero_de_bytes, int count, FILE *fp); 
 unsigned fread (int *buffer, int numero_de_bytes, int count, FILE *fp); 
 unsigned fread (void *buffer, int numero_de_bytes, int count, FILE *fp); 
 int fread (void *buffer, int numero_de_bytes, int count, FILE *fp); 
 signed fread (void *buffer, int numero_de_bytes, int count, FILE *fp); 
 
 3a Questão (Cód.: 191479) 
Pontos: 0,0 / 0,5 
 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; 
 
 3a Questão (Cód.: 191479) 
Pontos: 0,0 / 0,5 
 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; 
 
 5a Questão (Cód.: 135603) 
Pontos: 0,5 / 0,5 
Para resolver um determinado problema um programador escreveu um código para trabalhar 
com um vetor conforme apresentado na questão: 
 float vetn[20]; 
 for (int i=0; i < 20; i++){ 
 vetn[i] = ( i+1) * 0.1; 
 i = i + 2; 
 } 
Desconsiderando a necessidade do programa completo e levando em conta apenas o código 
descrito, das opções apresentadas, qual afirmativa está correta. 
 
 
O segundo valor armazenado será o 0.2. 
 
Serão armazenados 7 valores reais. 
 
O terceiro valor armazenado será o 0.6. 
 
O vigésimo valor armazenado será o 2.0. 
 
Serão armazenados 20 valores reais. 
 
 
 6a Questão (Cód.: 93831) 
Pontos: 0,0 / 0,5 
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 = -13 
y = 11 
z = 13 
 
x = -11 
y = 11 
z= 10 
 
x = 11 
y = 11 
z = 15 
 
x = -01 
y = 01 
z = 10 
 
x = -20 
y = 20 
z = 10 
 
As funções existem para decompor um problema em partes menores, simplificando e organizando 
o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma 
afirmativa ERRADA em relação aos conceitos de funções. 
 
 O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de 
parâmetros da função. 
 As variáveis declaradas no corpo de uma função são chamadas variáveis locais. 
 Todas as funções apresentam na declaração de seu cabeçalho um par de parênteses. 
 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 comando return encerra a execução de uma função e pode retornar vários valores para a 
função chamadora da função. 
 
 
 3a Questão (Ref.: 201201914489) Pontos: 1,0 / 1,0 
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. 
 
 
 
 4a Questão (Ref.: 201201957856) Pontos: 0,5 / 0,5 
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++) 
 
 
 
 5a Questão (Ref.: 201201970602) Pontos: 0,0 / 0,5 
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, abrir um 
arquivo txt para alteração. 
Quando existe a possibilidade de alteração, ele precisa conferir os dados antes de alterar. Dessa 
forma, ele opta pelo trecho de alteração que possibilita a leitura antes de alterar e por ter incluído um 
trecho de proteção que possibilita, se for necessário, desistir de alterar. 
Os arquivos com dados são salvos todos os dias e segue um modelo para nomeá-los conforme 
mostrado abaixo: 
 
ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) 
e aaaa(ano com 4 algarismos). 
 
Para que isso seja possível, deverá estar presente na função altera() uma das linhas abaixo.Selecione-
a. 
 
 fp=fopen(ddmmaaaa.txt, "r"); 
 fp=fopen("nomeArq", "a"); 
 fp=fopen(nomeArq, "w"); 
 fp=fopen(nomeArq, "a+"); 
 fp=fopen("ddmmaaaa.txt" "r"); 
 
 
 
 6a Questão (Ref.: 201201971734) Pontos: 1,0 / 1,0 
O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos 
em cinco vetores. 
Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C. 
Assinale a opção que possibilitará fazer o que o professor deseja. 
 
 
 
float NOTAS[47][47]; 
 
 
float Notas[47][47]; 
 
 
float notas[5][47]; 
 
 
float NOTAS[47,5]; 
 
float NOTAS[47][5]; 
 
 
 
 7a Questão (Ref.: 201201970574) Pontos: 0,0 / 0,5 
Um engenheiro elétrico desenvolveu um programa para que possa, entre outras funções, ler de um 
arquivo txt dados coletados durante um dia de um usina elétrica. 
Cada arquivo é salvo seguindo o modelo abaixo: 
 
ddmmaaaa.txt (onde tem dd( digita o dia com dois algarismos), mm(digita o mês com dois algarismos) 
e aaaa(ano com 4 algarismos). 
 
O chefe dele quando deseja fazer uma consulta, clica no executável e escolhe a opção leitura e 
quando lhe é perguntado, digita o nome do arquivo conforme falado acima. 
Para que isso seja possível, deverá estar presente na função consulta() uma das linhas abaixo. 
Selecione-a. 
 
 fp=fopen("nomeArq", "a"); " 
 fp=fopen(nomeArq, "r"); 
 fp=fopen(ddmmaaaa.txt, "w+"); 
 fp=fopen("ddmmaaaa.txt", "r"); 
 fp=fopen(nomeArq, "w"); 
 
 
 
 8a Questão (Ref.: 201201968216) Pontos: 0,0 / 1,5 
Construa um programa que informe ao usuário que ele deverá entrar com um 
número inteiro de três algarismos. 
Se o número tiver três algarismos, deverão ser exibidos o algarismo da casa das 
centenas e o algarismo da casa das unidades. 
Caso contrário, aparecerá a mensagem: O numero não tem tres algarismos. 
Observação: Lembre-se de que existem números negativos com tres algarismos. 
 
 
 
 
 
 
Resposta: 
 
 
Gabarito: 
 
int main() 
{ 
 int num; 
 printf("\nDigite um numero com tres algarismos:"); 
 scanf("%d", &num); 
 if( abs(num)>=100 && abs(num)<=999) 
 printf("\nCentenas: %d\tUnidades: %d\n",abs(num)/100, abs(num)%10); 
 else 
 printf("\nO numero nao tres algarismos\n"); 
} 
 
 
 
 9a Questão (Ref.: 201201879974) Pontos: 0,0 / 1,5 
Considere que você foi contratado para trabalhar em uma empresa de trading (comércio) de 
commodities. Tendo em vista o crescimento do mercado chinês, a empresa em que você 
trabalha deseja aumentar o comércio de commoditties com o mercado chinês. Para que a 
empresa se torne competitiva, ela precisa desenvolver programas em liguagem C para 
conversões de medidas para agilizar os seus processos e evitar possíveis erros com o uso de 
calculadoras eletrônicas. Codifique um programa em linguagem C que obtenha uma medida 
em Ku ping, unidade chinesa de medida de massa, como entrada de dados do usuário através 
da função scanf, converta a medida para toneladas e exiba a medida convertida através da 
função printf. Defina o fator de conversão como uma constante chamada fator de valor igual a 
26797,96. Este fator deve ser usado no cálculo da conversão, sabendo-se 1 tonelada equivale 
a 26797,96 Ku ping. Defina a constante chamada fator e a variável chamada medida como 
numéricos reais em ponto flutuante de menor precisão para ocupar menos espaço de 
memória. 
 
 
Resposta: 
 
 
Gabarito: #include 
#include 
int main(int argc, char** argv) { 
 const float fator = 26797.96; 
 float medida; 
 scanf("%f", &medida); 
 medida = medida / fator; 
 printf("%f", medida); 
 return (0); 
} 
 
 
 
 
 10a Questão (Ref.: 201201883671) Pontos: 0,0 / 0,5 
Qual é a saída de tela, deste trecho de programa? 
int x=4, 
y=8; 
if (x < 2) 
 printf ("%d \n", x); 
else 
 printf ("%d \n", y); 
 
 
9 
 8 
 
12 
 
\n4 
 \n8 
 
 
 
 3a Questão (Cód.: 92277) Pontos: 0,5 / 1,5 
Faça um programa em C que dado um número inteiro positivo n, imprimir os n primeiros naturais 
ímpares. Exemplo: Para n=4 a saída deverá ser 1,3,5,7. 
 
Resposta: #include int main ( ) { int n, i, impar; printf ("in digite o valor de n1"); scant ("% x", dln); 
i = 0; impar = 1; printf ("0,5% de primeiros impares são: \n"),n); while (i 
 
 
 
 4a Questão (Cód.: 135611) Pontos: 0,0 / 1,0 
Um programador durante a construção de um código precisava unir o nome e a matricula de um servidor. 
Na manipulação de textos na linguagem C++ é necessário a utilização de funções da biblioteca < string >. 
Das opções apresentadas, qual função apresenta a solução para o programador? 
 
atoi( ). 
 strcat( ). 
 
strlen( ). 
 
strcont( ). 
 strlength( ).5a Questão (Cód.: 135634) Pontos: 0,0 / 0,5 
Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de 
parâmetros de Passagem por: 
 
 
valor 
 
endereço 
 ponteiro 
 referência 
 
memória 
 
 
 
 6a Questão (Cód.: 134172) Pontos: 0,5 / 0,5 
A linguagem C/C++ utiliza variáveis, que podem ser classificadas como globais ou locais. 
Dentre as opções, assinale a que expressa corretamente à definição de "variável global" da linguagem 
C/C++. 
 
São declaradas no final de um bloco. Seus escopos não estão restritos aos blocos em que essas 
variáveis foram declaradas. 
 Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das 
funções. 
 
São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas 
variáveis foram declaradas. 
 
São declaradas dentro do main(). E suas variáveis são escritas dentro do escopo das funções. 
 
Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro do escopo das 
funções. 
 
 
 
 7a Questão (Cód.: 135597) Pontos: 0,0 / 0,5 
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias 
informações do mesmo tipo. 
Desconsiderando a necessidade do programa principal e levando em conta apenas a linha de comando, das opções apresentadas em 
relação à manipulação de vetores marque a resposta correta. 
 
char vetnome[5]= "Maria"; 
 
float array[4]=[1.0,2.4,3.5,4.5]; 
 float vetreais[4]={1.0,2.4,3.5,4.5}; 
 char vet[5]={a,b,c,d,e}; 
 
int vetinteiros[5]=[1,2,3,4,5]; 
 
 
 
 8a Questão (Cód.: 135623) Pontos: 0,5 / 0,5 
Na linguagem C++, no processo de manipulação de memória temos a possibilidade de utilizar os ponteiros. Quando as seguintes linhas de 
código forem executadas: (desconsidere a necessidade do restante do programa) 
 float *x, pos; 
 pos = 5.5; 
 x = &pos 
 
Podemos afirmar que: 
 
 
Não é possível trabalhar com ponteiros do tipo real. 
 
O conteúdo de x é 5.5 
 
O conteúdo de &pos é 5.5 
 O conteúdo do endereço para o qual x aponta é 5.5 
 
A variável pos aponta para x 
 
 
 9a Questão (Cód.: 135599) Pontos: 0,5 / 0,5 
As matrizes, em geral, são caracterizadas por se tratarem de uma única variável de determinado tamanho que guarda várias 
informações do mesmo tipo. 
Desconsiderando a necessidade do programa principal e levando em conta a programação adequada, declaração e respectiva 
manipulação das matrizes, das opções apresentadas a respeito das matrizes bidimensionais marque a resposta correta. 
 int mat[3][3]; mat[0][2] = 5; 
 
int mat[3][3]; mat[0][3] = 5; 
 
int mat[3][3]; mat[0][2] = 5.0; 
 
char mat[2][2]; mat[0][2] = "A"; 
 
char mat[2][2]; mat[0][2] = A; 
 
 
 
 10a Questão (Cód.: 135595) Pontos: 0,5 / 0,5 
Baseado nos conceitos de Matrizes, no que tange em relação a declaração, dentre as afirmações que se seguem, assinale a que não 
contem erros sobre as matrizes multidimensionais- 1 e matrizes não dimensionadas- 2 respectivamente. 
 
1- Tipo nome [linha][coluna] e 2 - O compilador cria uma matriz grande para conter todos os 
seus elementos. 
 
1- Tipo nome [linha][coluna] e 2 - O tamanho não é especificado. 
 1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - O tamanho não é 
especificado. 
 
1- O compilador cria uma matriz grande para conter todos os seus elementos e 2-Tipo nome 
[tamanho1][tamanho2][tamanho3]...[tamanho n]. 
 
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - Tipo nome [tamanho] 
 
 
 4a Questão (Cód.: 188769) Pontos: 1,0 / 1,0 
Um Engenheiro de Produção que gostava de programar resolveu definir uma função para facilitar seu trabalho, uma vez desejava dar 
um premio de produtividade para sua equipe. 
O premio seria calculado de forma variada e iria se basear na avaliação de cada funcionário (valores de 1 a 5). 
Ele escreveu o protótipo abaixo. 
 
float premio(float salario, int avaliacao); 
 
Tendo em vista esse protótipo é CORRETO afirmar que a função: 
 
 
 
 Recebe dois valores, salário e a avaliação, passados por referência. 
 Retornará dois valores para a função chamadora. 
 Não retorna nenhum valor para a função chamadora. 
 Recebe dois valores, salário e a classificação, passados por valor. 
 Retornará o salário somado ao percentual 
 
 5a Questão (Cód.: 135599) Pontos: 0,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. 
 
 
 char mat[2][2]; mat[0][2] = "A"; 
 int mat[3][3]; mat[0][2] = 5; 
 char mat[2][2]; mat[0][2] = A; 
 int mat[3][3]; mat[0][2] = 5.0; 
 int mat[3][3]; mat[0][3] = 5;

Outros materiais