Вы находитесь на странице: 1из 75

1!!!!!111! AV2 !!!!!!!11!11!!

Pontos: 0,5 / 0,5


1a Questo (Cd.: 191422)
O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes
bidimensionais para armazenar nomes dos 20 funcionrios e 14 salrios de cada um deles.
Assinale a linha onde a declarao atende ao que ele deseja.

char nomes[19][31]; float salarios[19][13];


char nomes[20][31]; float salarios[20][20];
char nomes[20][31]; float salarios[20][14];
char nomes[20]; float salarios[19][13];
float nomes[20][31], salarios[20][14];
Pontos: 0,5 / 0,5
2a Questo (Cd.: 92347)
Sabemos que para a utilizao de funes da linguagem C precisamos declarar suas respectivas
bibliotecas.
De acordo com a Linguagem C marque a opo em que o descritivo da biblioteca est correto.
string.h - Funes para concatenao de strings com inteiros.
stdio.h - Funes para grficos.
time.h - Funes para manipulao de tempo, apenas horas, minutos e segundos.
stdlib.h - Funes de entrada e saida.
math.h - Funes matemticas
Pontos: 0,5 / 0,5
3a Questo (Cd.: 134172)
A linguagem C/C++ utiliza variveis, que podem ser classificadas como globais ou locais.
Dentre as opes, assinale a que expressa corretamente definio de "varivel global" da
linguagem C/C++.
So declaradas dentro do main(). E suas variveis so escritas dentro do escopo das
funes.
Mantm seu valor em todo o programa e suas variveis so escritas fora do escopo das
funes.
So declaradas no final de um bloco. Seus escopos no esto restritos aos blocos em que
essas variveis foram declaradas.
So declaradas no incio de um bloco. Seus escopos esto restritos aos blocos em que
essas variveis foram declaradas.
No mantm seu valor em todo o programa e suas variveis so escritas dentro do escopo
das funes.
4a Questo (Cd.: 187390)

Pontos: 0,0 / 1,5

Um professor de Linguagem de Programao I pediu a um aluno que desenvolvesse um programa


codificado na linguagem C para que ele pudesse calcular a nota da AV1 que seria composta de
duas notas: prova e seminrio. Entretanto, ele informou que, se a nota da prova fosse menor do
que 4.0, ento, no valeria a nota do seminrio, ficando a nota da AV1 s com a nota da prova.
Caso contrrio, Seria feita a mdia aritmtica para compor a nota da AV1.
Ajude ao aluno, escrevendo esse cdigo.

Gabarito:

int main()
{
float prova, seminario,media;
printf("\nNota da prova: \n") ;
scanf("%f", &prova);
printf("\nNota do seminario: \n") ;
scanf("%f", &seminario);
if ( prova < 4)
printf("\nNota da AV1: %.1f\n", prova) ;
else
{
media=(prova+seminario)/2;
printf("\nNota da AV1: %.1f\n", media) ;
}
}
5a Questo (Cd.: 135599)

Pontos: 1,0 / 1,0

As matrizes, em geral, so caracterizadas por se tratarem de uma nica varivel de


determinado tamanho que guarda vrias informaes do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta a programao
adequada, declarao e respectiva manipulao das matrizes, das opes apresentadas a
respeito das matrizes bidimensionais marque a resposta correta.
char mat[2][2]; mat[0][2] = A;
int mat[3][3]; mat[0][3] = 5;
int mat[3][3]; mat[0][2] = 5.0;
int mat[3][3]; mat[0][2] = 5;
char mat[2][2]; mat[0][2] = "A";
Pontos: 0,5 / 0,5
6a Questo (Cd.: 191420)
O professor de Matemtica armazena as notas dos quatro bimestres e da mdia dos seus 47
alunos em cinco vetores.
Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem
C.

Assinale a opo que possibilitar fazer o que o professor deseja.

float NOTAS[47,5];
float NOTAS[47][47];
float NOTAS[47][5];
float Notas[47][47];
float notas[5][47];
Pontos: 1,0 / 1,0
7a Questo (Cd.: 188713)
As funes 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 opo que apresenta uma
afirmativa ERRADA em relao aos conceitos de funes.
O comando return encerra a execuo de uma funo e pode retornar vrios valores
para a funo chamadora da funo.
O prottipo de uma funo informa ao compilador o tipo de retorno, o nome e a lista
de parmetros da funo.
Alm do valor de uma varivel possvel passar para uma funo o endereo da
varivel como por exemplo, das matrizes.
As variveis declaradas no corpo de uma funo so chamadas variveis locais.
Todas as funes apresentam na declarao de seu cabealho um par de parnteses.
Pontos: 0,5 / 0,5
8a Questo (Cd.: 187983)
Um engenheiro precisava calcular o valor do imposto a ser pago no carn leo.
Sabe-se que o imposto calculado sobre o salrio bruto.
Acompanhe o programa codificado na linguagem C, supondo que voc digitou 4000 para primeira
solicitao de entrada e 1000, para segunda solicitao. Escolha a opo onde est presente o
valor do imposto.

Valor do imposto a ser pago: 650.00


Valor do imposto a ser pago: 800.00
Valor do imposto a ser pago: 1000.00
Valor do imposto a ser pago: 750.00
Valor do imposto a ser pago: 850.00

9a Questo (Cd.: 135605)

Pontos: 0,5 / 0,5

Para resolver um determinado problema um programador escreveu um cdigo para trabalhar


com um vetor conforme apresentado na questo:
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 cdigo
descrito, das opes apresentadas em relao ao vetor, qual afirmativa est correta.
Sero armazenados 10 valores inteiros.
O terceiro valor armazenado ser o 60.
O segundo valor armazenado ser o 26.
Sero armazenados 5 valores inteiros.
O dcimo valor armazenado ser o 117.
Pontos: 0,0 / 1,5
10a Questo (Cd.: 188843)
Um engenheiro civil gostaria de construir uma funo que pudesse ajudar a quem precisa construir
uma cerca para um terreno de forma retangular.
Dever ser informado a quantidade de fios da cerca, o preo do metro linear do arame farpado, a
largura e o comprimento do terreno.
Por medida de segurana, sero comprados 10% a mais do total de metros lineares. A funo
retornar o custo total da cerca.
Gabarito:
float valorFinal(int quantidadeFios, float preco, float largura, float comprimento)
{
return ((largura + comprimento) * 2)*1.1 * quantidadeFios * preco;
}
2a Questo(Cd.: 135612)

Pontos:0,0 / 1,0

Um programador durante a construo de um cdigo precisava converter o texto


correspondente a um ano em um nmero inteiro, para poder executar alguns clculos a partir
deste ano.
Das opes apresentadas, qual funo apresenta a soluo para o programador?
atoi( ).
strcont( ).
strlength( ).

strlen( ).
strcat( ).

Pontos:0,5 / 0,5
5a Questo(Cd.: 135633)
Durante a execuo de um programa o operador delete pode desalocar memria, criada pelo
operador new.
Esse tipo de manipulao de variveis com este operador chamado de:

Alocao dinmica
Alocao por endereo
Passagem por endereo
Alocao esttica
Passagem por valor

Pontos:0,0 / 0,5
6a Questo(Cd.: 135635)
Na linguagem C++, no processo de manipulao de arquivos, existem algumas formas de indicar o
que ser feito com os mesmos no momento em que os abrimos.
Das opes apresentadas, marque aquela que permite que os dados sejam adicionados no
arquivo aberto aps os dados existentes sem apag-los.

ios::app
ios::pos
ios::beg
ios::in
ios::out

8a Questo(Cd.: 135608)

Pontos:0,0 / 0,5

Para resolver um determinado problema um programador escreveu um cdigo para trabalhar


com um vetor conforme apresentado na questo:
intvetn[3][2];
for (inti=0; i< 3; i++){
for (int j=0; j < 2; j++){

vetn[i][j] = i + j;
}
}
Desconsiderando a necessidade do programa completo e levando em conta apenas o cdigo
descrito, das opes apresentadas, qual afirmativa est correta.
Sero armazenados os valores 0,1,1,2,2,3.
O trecho apresentado possui erro e apenas um valor ser armazenado.
Sero armazenados os valores 0,0,1,1,2,2.
O trecho apresentado possui erro e nenhum valor ser armazenado.
Sero armazenados os valores 0,1,2,2,3,3.

9a Questo(Cd.: 135412)
Um programador criou o seguinte cdigo:

Pontos:0,0 / 0,5

int calcula(int x, char letra){


cout<< letra<<") "<<"Nmero: "<<x;<span=""><x;<font=""></x;<></x;<>
x - -;
return x;
}
Baseado no trecho de cdigo apresentado e na teoria vista sobre o funcionamento das
funes marque a resposta na qual a afirmativa est errada.

O nome da funo calcula.


A funo deve obrigatoriamente retornar um nmero inteiro.
A funo deve ser chamada pelo seu nome enviando os parmetros solicitados.
A funo trabalha com dois parmetros.
O x no pode ser retornado, pois foi recebido como parmetro.

10a Questo(Cd.: 103357)


Qual a sada de tela, deste trecho de programa?
int x=4,
y=8;
if (x < 2)
printf ("%d \n", x);
else
printf ("%d \n", y);

Pontos:0,5 / 0,5

9
8
12
\n8
\n4

Pontos:
0,0 / 1,0

2a Questo (Cd.: 135613)


Um programador durante a construo de um cdigo precisava retirar de um texto que
continha uma data completa, com dia, ms e ano, apenas o ano.
Das opes apresentadas, qual funo apresenta a soluo para o programador?
substr( );
strcont( ).
strlength( ).
strcat( ).
strlen( ).

Pontos:
0,0 / 1,0

4a Questo (Cd.: 135610)


Um programador durante a construo de um cdigo precisava obter a quantidade de
caracteres contido em um determinado texto.

Na manipulao de textos na linguagem C++ necessrio a utilizao de funes da biblioteca


< string >.
Das opes apresentadas, qual funo apresenta a soluo para o programador?
strcont( ).
strlen( ).
strlength( ).
atoi( ).
strcat( ).

4a Questo(Cd.: 135611)

Pontos:0,0 / 1,0

Um programador durante a construo de um cdigo precisava unir o nome e a matricula de


um servidor.
Na manipulao de textos na linguagem C++ necessrio a utilizao de funes da biblioteca
<string>.

Das opes apresentadas, qual funo apresenta a soluo para o programador?


strlength( ).
strlen( ).
strcont( ).
atoi( ).
strcat( ).

Pontos:
0,0 / 0,5
Na linguagem C++, no processo de manipulao de memria temos a possibilidade de utilizar os
ponteiros. Quando as seguintes linhas de cdigo forem executadas: (desconsidere a necessidade
do restante do programa)
float *x, pos;
pos = 5.5;
x = &pos
8a Questo (Cd.: 135623)

Podemos afirmar que:

O contedo do endereo para o qual x aponta 5.5


A varivel pos aponta para x
No possvel trabalhar com ponteiros do tipo real.
O contedo de x 5.5
O contedo de &pos 5.5

Baseado nos conceitos de Matrizes, no que tange em relao a declarao, dentre as


afirmaes que se seguem, assinale a que no contem erros sobre as matrizes
multidimensionais- 1 e matrizes no dimensionadas- 2 respectivamente.
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - O tamanho no
especificado.
1- Tipo nome [linha][coluna] e 2 - O tamanho no especificado.
1- Tipo nome [linha][coluna] e 2 - O compilador cria uma matriz grande para conter todos os
seus elementos.
1- Tipo nome [tamanho1][tamanho2][tamanho3]...[tamanho n] e 2 - Tipo nome [tamanho]
1- O compilador cria uma matriz grande para conter todos os seus elementos e 2-Tipo nome
[tamanho1][tamanho2][tamanho3]...[tamanho n].

Pontos: 0,0 / 0,5


5a Questo (Cd.: 135634)
Quando uma funo e chamada e recebe como parmetro o endereo de uma varivel,
damos o nome a esta forma de passagem de parmetros de Passagem por:

valor
endereo
ponteiro
referncia
memria

Pontos: 0,0 / 0,5


7a Questo (Cd.: 135597)
As matrizes, em geral, so caracterizadas por se tratarem de uma nica varivel de
determinado tamanho que guarda vrias informaes do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta apenas a linha de
comando, das opes apresentadas em relao manipulao 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];

3a Questo (Cd.: 135601)

Pontos: 0,5 / 0,5

Na definio de estruturas, funes, variveis, etc. devemos seguir suas respectivas Sintaxes.
Das opes apresentas, qual SINTAXE correta da definio de um vetor bidimensional.

tipo nome_vetor[numero_colunas][numero_linhas];
tipo nome_matriz[numero_colunas][numero_linhas];
tipo nome_matriz[numero_linhas][numero_colunas];
nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[][];

4a Questo (Cd.: 188769)

Pontos: 1,0 / 1,0

Um Engenheiro de Produo que gostava de programar resolveu definir uma funo 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 avaliao de cada funcionrio
(valores de 1 a 5).
Ele escreveu o prottipo abaixo.

float premio(float salario, int avaliacao);


Tendo em vista esse prottipo CORRETO afirmar que a funo:

Recebe dois valores, salrio e a avaliao, passados por referncia.


Retornar dois valores para a funo chamadora.
No retorna nenhum valor para a funo chamadora.
Recebe dois valores, salrio e a classificao, passados por valor.
Retornar o salrio somado ao percentual

8a Questo (Cd.: 187951)

Pontos: 0,0 / 0,5

Na lista de exerccios que foi liberada pela professora de Linguagem de Programao I, na


questo 3, estava presente o programa abaixo. No enunciado, era solicitado que fosse feito o
acompanhamento da execuo do programa no Teste de Mesa, supondo que tivesse sido digitada
a seguinte data: 11151918.
Assinale a opo CORRETA para a sada desse programa.

1918 / 15 / 11
1918 / 11 / 15
15 / 11 / 1918
11 / 1918 / 15
11 / 15 / 1918

10a Questo (Cd.: 187941)

Pontos: 0,0 / 1,5

Um comerciante resolveu dar descontos em sua loja porque as vendas tinham diminudo muito
nos ltimos quinze dias.
Teve uma idia de confeccionar um cartaz informando que:
COMPRAS COM VALORES MENORES QUE R$ 40,00 - desconto de 5%
DEMAIS VALORES - desconto de 10%
Construa um programa que deixe entrar com o valor da compra e exiba o valor j com desconto.

Gabarito:

int main()
{
float valor;
printf("\nValor da compra:");
scanf("%f", &valor);
if( valor < 50)
printf("\nValor com desconto: %.2f\n",valor*0.95);
else
printf("\nValor com desconto: %.2f\n",valor*0.9);
}
1a Questo (Ref.: 201202262780)

Pontos: 0,0 / 0,5

Um engenheiro eltrico desenvolveu um programa para que possa, entre outras funes, abrir um

arquivo txt para alterao.


Quando existe a possibilidade de alterao, ele precisa conferir os dados antes de alterar. Dessa
forma, ele opta pelo trecho de alterao que possibilita a leitura antes de alterar e por ter includo
um trecho de proteo que possibilita, se for necessrio, desistir de alterar.
Os arquivos com dados so 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 ms com dois
algarismos) e aaaa(ano com 4 algarismos).

Para que isso seja possvel, dever estar presente na funo altera() uma das linhas
abaixo.Selecione-a.

fp=fopen("ddmmaaaa.txt" "r");
fp=fopen(ddmmaaaa.txt, "r");
fp=fopen(nomeArq, "w");
fp=fopen(nomeArq, "a+");
fp=fopen("nomeArq", "a");

2a Questo (Ref.: 201202166323)

Pontos: 1,0 / 1,0

Dado o trecho de lgica utilizando o conceito da linguagem de programao C. Diga o resultado


das variveis x, y e z depois da seguinte sequncia de operaes:
int x,y,z;
x=y=10;
z=++x;
x=-x;
y++;
x=x+y-(z--);

x = -20
y = 20
z = 10
x = 11
y = 11
z = 15
x = -01
y = 01
z = 10
x = -13
y = 11
z = 13
x = -11
y = 11
z = 10

3a Questo (Ref.: 201202259850)

Pontos: 1,0 / 1,0

Quanto aos cdigos de formatao (especificadores de formato) usados com a funo printf() e
tendo em vista o trecho do programa, qual deveria ser a linha usada para exibir a sada abaixo:
Observao: A sequncia de nmeros que aparece na sada representa as colunas da tela.

Trecho
int num= 12; float med=9.8;
printf("\n12345678901234");

printf("\n%4d\t%f\n", num, med);


printf("\n%d\t%6.2f\n", num, med);
printf("\n%d\t%06.2f\n", num, med);
printf("\n%04d\t%.2f\n", num, med);
printf("\n%d\t06.2f\n", num, med);

4a Questo (Ref.: 201202207909)

Pontos: 0,0 / 0,5

Na linguagem C/C++ existem trs loops ou estruturas de repetio, sendo elas, for, while e dowhile. Considere as afirmaes abaixo.
I) O loop for usado para repetir um comando ou bloco de comandos diversas vezes, podendo ser
baseado em um contador interno da estrutura e uma condio que o encerra.
II) A estrutura do-while executa inicialmente todos os comandos internos do lao, depois testa a
condio, se esta for verdadeira, retorna e faz tudo novamente.
III) A estrutura while testa uma condio, se esta for falsa, as instrues dentro do lao no sero
executadas, e o teste ser feito novamente at que a condio seja atingida.
As assertivas corretas so:

Apenas a ||
| e ||
|| e |||
Apenas a |||
| e |||

5a Questo (Ref.: 201202208129)

Pontos: 0,0 / 0,5

Na criao de uma rotina de manipulao de equipamentos para perfurao de poos, o


programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento
para efeitos de clculos e fech-lo.
Das opes abaixo marque a que descreve a forma mais adequada, com a qual o programador
deveria acessar o arquivo, segundo sua necessidade.

Somente para gravao


Para leitura e gravao
No precisa abrir o arquivo
Para leitura e edio
Somente para leitura

6a Questo (Ref.: 201202140650)


Qual a estrutura de repetio usada para quantidade indeterminada de repeties?

struct
for
while
if-else
switch

Pontos: 0,5 / 0,5

9a Questo (Ref.: 201202164800)

Pontos: 0,5 / 0,5

Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos perifricos,


verifique se est correto os arquivos pr-definidos:

stdaux = Dispositivo de sada principal (normalmente a porta usb)

stdout = Dispositivo de sada de erro padro (normalmente o monitor)


stdin = Dispositivo de entrada padro (normalmente o teclado)
stderr = Dispositivo de sada padro (normalmente o monitor)
stdprn = Dispositivo de abertura de txt padro (normalmente a porta paralela)

Pontos: 0,8 / 1,5


1a Questo (Ref.: 201301220969)
Uma nova regra foi criada para as finais das Olimpadas; duas provas para decidir o campeo
olmpico. Na primeira prova, os trs nadadores com melhores tempos iriam participar e somente os
dois com melhores tempos iriam para segunda.
Construa um programa, somente para a primeira prova, que deixe entrar com os tempos e os
nmeros de inscrio e exiba os nmeros de inscrio dos dois melhores tempos, assumindo que
os tempos sero diferentes.

Gabarito:

int main()
{
int matric1, matric2, matric3;
float tempo1, tempo2, tempo3;
printf("\nDigite tres numeros de inscricao: ");
scanf("%d %d %d",&matric1, &matric2, &matric3) ;
printf("\nDigite tres tempos: ");
scanf("%f %f %f", &tempo1, &tempo2, &tempo3) ;
if( tempo1 > tempo2 && tempo1 > tempo3 )
printf("\n%d\t%d\n", matric2 ,matric3);
else if( tempo2 > tempo3 )
printf("\n%d\t%d\n", matric1 ,matric3);
else
printf("\n%d\t%d\n",matric1,matric2);
}

Pontos: 0,0 / 1,0


2a Questo (Ref.: 201301273643)
Matrizes um dos conceitos mais largamente usado em programao nos dias de hoje.
Identifique a opo que ocorrer um erro:
int matriz[2][3]= {{2,4,6},{7,8,9}};
int matriz[][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;

Pontos: 0,5 / 0,5


4a Questo (Ref.: 201301224644)
A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as
afirmaes abaixo e escolha a opo ERRADA.
I As chaves de abertura e fechamento, sempre, no so obrigatrias.
II No teste unimos expresses relacionais com operadores lgicos quando necessrio.
III A palavra then est presente na estrutura.
IV O uso do else poder no ser necessrio.

I est errada.
IV est correta e a I no est correta.
I e III esto corretas.
II est correta e a III no est correta.
II e IV esto corretas.

5a Questo (Ref.: 201301101344)


Qual o nome da funo matemtica que calcula a potenciao de um nmero?

Pontos: 0,5 / 0,5

elevado
pow
sqrt
double
pot

Pontos: 0,5 / 0,5


6a Questo (Ref.: 201301167349)
A linguagem C/C++ apresenta vantagens e desvantagens em sua utilizao. Considere as

seguintes afirmativas:
|) Possibilidade em programao de alto e baixo nvel;
||) Grande perodo para o aprendizado.
|||) Adequao a grandes projetos;

Assinale a alternativa que contem apenas vantagens da linguagem C++.


Apenas |
Apenas |||
| e ||
| e |||
|| e |||

Pontos: 0,0 / 1,5


8a Questo (Ref.: 201301125465)
Faa um programa em C que dado um nmero inteiro positivo n, imprimir os n primeiros naturais
mpares. Exemplo: Para n=4 a sada dever ser 1,3,5,7.

Gabarito: #include
int main() {
int n, i, impar;
printf("\n\tGerador de numeros impares\n");
printf("\nDigite o valor de n: ");
scanf("%d", &n);
i = 0;
impar = 1;
printf("Os %d primeiros impares sao:\n", n);
while (i < n) {
printf ("%d\n", impar);
impar = impar + 2;
i = i + 1;
}
return 0;
}

Pontos: 0,5 / 0,5


9a Questo (Ref.: 201301273637)
Dentre as estruturas de Dados mais utilizadas em programao, se encontram os vetores.
Baseado neste conceito, identifique a opo incorreta:

Na declarao int[50]; o ndice da ultima posio 49.


Permite agrupar vrios elementos em uma mesma varivel indexada.
Um vetor de caracteres terminado com um caracter nulo uma string na linguagem C.
Deve ser declarado antes de acessado em seu programa.
Podem ser formado por elementos de tipos diferentes.

Pontos: 1,0 / 1,0


10a Questo (Ref.: 201301278296)
Na linguagem C, no processo de manipulao de memria temos a possibilidade de utilizar os
ponteiros. Aps as linhas de cdigo apresentadas, que tratam a manipulao de variveis e
ponteiros, forem executadas e antes do programa ser finalizado: (desconsidere a necessidade
do restante do programa)
int *x, pos;
pos = 5;
x = &pos;
Podemos afirmar que:
O contedo de x 5.
O endereo de memria de x 5.
O contedo do endereo para o qual x aponta 5.
A varivel pos aponta para x.
O contedo de &pos 5.
1a Questo (Ref.: 201302029147)

Pontos: 0,5 / 1,5

Considere que voc foi contratado para trabalhar em um avanado laboratrio de engenharia. Este
laboratrio precisa desenvolver programas em liguagem C para converses de medidas para
automatizar os seus processos. Codifique um programa em linguagem C que obtenha uma medida
em quilmetros como entrada de dados do usurio atravs da funo scanf, converta a medida
para milhas e exiba a medida convertida atravs da funo printf. Defina o fator de converso
como uma constante chamada fator de valor igual a 1.61, que deve ser usado no clculo da
converso. Defina as variveis como numricos reais em ponto flutuante de menor preciso para
ocupar menos espao de memria.

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);
}
3a Questo (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
secundria.

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 Questo (Ref.: 201302166221)

Pontos: 0,5 / 0,5

Observe o cdigo 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 opes abaixo correto afirmar:

O programa exibir 11
Ocorrer um erro
O programa exibir 0
O programa exibir 8
O programa exibir 16

5a Questo (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 atravs de um editor de texto no 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. Aps esta etapa, devemos ___________ e
linkeditar o programa gerando o arquivo _____________, o qual aps ser executado apresenta o
resultado de nosso programa.
Das opes apresentadas, marque aquela que completa respectivamente e corretamente os
espaos em branco destacados do texto, segundo os conceitos da linguagem C apresentados no
material didtico da disciplina.
Cdigo base - extenso .c - compilar - fonte
Cdigo de texto - extenso .txt - editar - fonte
Fonte - extenso .txt - editar - executvel
Executvel - extenso .c - compilar - fonte
Cdigo fonte - extenso .c - compilar - executvel

6a Questo (Ref.: 201302163347)

Pontos: 0,0 / 0,5

O desenvolvimento de um programa precisa atender as necessidades do usurio final, para isto o


desenvolvedor conta com algumas estruturas que facilitam a construo de seu cdigo fonte. Uma
delas a estrutura condicional if.
Das opes apresentadas marque a qual melhor define esta estrutura.
Compara os valores de algumas variveis dependendo do resultado permite que o programa
possa fazer um caminho diferente repetidamente.
Testa uma expresso e dependendo do resultado permite que o programa siga por
caminhos diferentes.
Testa uma condio e dependendo do resultado permite que o programa siga por caminhos
diferentes repetidamente.
Compara os valores de algumas variveis e dependendo do resultado permite que o
programa siga por caminhos diferentes.
Compara os valores possveis para uma varivel e dependendo do resultado permite que o
programa siga por caminhos diferentes.

7a Questo (Ref.: 201302021828)

Pontos: 0,5 / 0,5

Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos perifricos,


verifique se est correto os arquivos pr-definidos:
stdin = Dispositivo de entrada padro (normalmente o teclado)

stdaux = Dispositivo de sada principal (normalmente a porta usb)


stderr = Dispositivo de sada padro (normalmente o monitor)

stdout = Dispositivo de sada de erro padro (normalmente o monitor)


stdprn = Dispositivo de abertura de txt padro (normalmente a porta paralela)

9a Questo (Ref.: 201302174604)

Pontos: 0,0 / 0,5

Na linguagem C os vetores so um assunto de grande relevncia, 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 necessrio 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 Questo (Ref.: 201302160792)

Pontos: 1,0 / 1,0

Observe o programa abaixo e escolha a opo que apresenta o que retorna da funo chamada.

Nada retorna porque o nome do vetor da funo main diferente do nome do vetor da
funo descobre
O maior nmero retornado
O valor retornado corresponde ao ndice da varivel que contem o menor nmero
O menor nmero retornado
O valor retornado corresponde ao deslocamento mais um em relao ao endereo base da
varivel que contem o menor nmero

5a Questo (Cd.: 135601)

Pontos:0,0 /
0,5

Na definio de estruturas, funes, variveis, etc. devemos seguir suas respectivas Sintaxes.
Das opes apresentas, qual SINTAXE correta da definio de um vetor bidimensional.
tipo nome_vetor[numero_colunas][numero_linhas];
nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[numero_colunas][numero_linhas];
tipo nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[][];

7a Questo (Cd.: 135603)

Pontos:0,0 /

0,5
Para resolver um determinado problema um programador escreveu um cdigo para trabalhar
com um vetor conforme apresentado na questo:
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 cdigo
descrito, das opes apresentadas, qual afirmativa est correta.

Sero armazenados 20 valores reais.


Sero armazenados 7 valores reais.
O vigsimo valor armazenado ser o 2.0.
O terceiro valor armazenado ser o 0.6.
O segundo valor armazenado ser o 0.2.

1a Questo (Ref.: 201202339035)


Observe o programa abaixo e escolha a opo que descreve o que ele faz.

L dados do teclado e armazena na Memria Principal em uma matriz unidimensional.


Depois abre um arquivo do tipo texto para escrita e, se for possvel, grava os dados no
arquivo.

L dados de um arquivo texto e armazena na Memria Principal em uma matriz


unidimensional, exibindo depois na tela.
L dados do teclado e armazena na Memria Principal em uma matriz unidimensional.
Depois abre um arquivo do tipo binrio para escrita e, se for possvel, grava os dados no
arquivo.
L dados de um arquivo binrio e armazena na Memria Principal em uma matriz
unidimensional, exibindo depois na tela.
L dados do teclado e armazena na Memria Principal em uma matriz unidimensional.
Depois abre um arquivo do tipo binrio para escrita e leitura e, se for possvel, grava os
dados no arquivo.

2a Questo (Ref.: 201202296451)


As funes 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 opo que apresenta uma
afirmativa ERRADA em relao aos conceitos de funes.
Alm do valor de uma varivel possvel passar para uma funo o endereo da
varivel como por exemplo, das matrizes.
O prottipo de uma funo informa ao compilador o tipo de retorno, o nome e a lista
de parmetros da funo.
Todas as funes apresentam na declarao de seu cabealho um par de
parnteses.
As variveis declaradas no corpo de uma funo so chamadas variveis locais.
O comando return encerra a execuo de uma funo e pode retornar vrios valores
para a funo chamadora da funo.

1a Questo (Cd.: 191422)

Pontos:
0,5 / 0,5

O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes


bidimensionais para armazenar nomes dos 20 funcionrios e 14 salrios de cada um deles.
Assinale a linha onde a declarao atende ao que ele deseja.

char nomes[20][31]; float salarios[20][20];


char nomes[19][31]; float salarios[19][13];
char nomes[20]; float salarios[19][13];
char nomes[20][31]; float salarios[20][14];
float nomes[20][31], salarios[20][14];

3a Questo (Cd.: 191479)

Pontos:

0,0 / 0,5
Uma das dificuldades da estrutura escolha/ caso o fato das restries variarem para cada
linguagem, dificultando a fixao. Na linguagem C, essa estrutura recebe o nome de switch() e tem
suas restries. Observe os trechos abaixo e assinale o que possvel ser usado na linguagem C,
supondo que se espera encontrar na varivel de nome a, inteira, alguns valores e entres eles est
o nmero 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o nmero
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;

Pontos:
0,0 / 1,0
Um programa pode ser formado por uma, ou mais funes. Quando existir mais de uma funo,
onde podero se posicionar as demais funes em relao funo main()?
Observe as afirmativas abaixo e assinale a resposta CORRETA
4a Questo (Cd.: 188744)

I Antes ou depois, depende do programador, pois a posio no gera, nunca, problema.


II Depois, desde que os prottipos sejam colocados antes da main().
III Antes para no ter que colocar os prottipos e nunca ocasionar erros.
IV Antes ou depois, desde que sejam colocados os prottipos.
II e III esto corretas
I e III esto corretas
S a II est correta
I e IV esto corretas
II e IV esto corretas
7a Questo (Cd.: 135608)

Pontos:
0,5 / 0,5

Para resolver um determinado problema um programador escreveu um cdigo para trabalhar


com um vetor conforme apresentado na questo:
int vetn[3][2];
for (int i=0; i < 3; i++){
for (int j=0; j < 2; j++){
vetn[i][j] = i + j;
}
}

Desconsiderando a necessidade do programa completo e levando em conta apenas o cdigo


descrito, das opes apresentadas, qual afirmativa est correta.
O trecho apresentado possui erro e apenas um valor ser armazenado.
Sero armazenados os valores 0,1,1,2,2,3.
O trecho apresentado possui erro e nenhum valor ser armazenado.
Sero armazenados os valores 0,0,1,1,2,2.
Sero armazenados os valores 0,1,2,2,3,3.

Pontos: 0,0 / 1,0


4a Questo (Ref.: 201102291136)
Na linguagem C, uma varivel pode ser classificada como LOCAL ou GLOBAL. De acordo com as
caractersticas das variveis LOCAIS, marque a alternativa ERRADA.
A funo main() pode acessar qualquer varivel local de qualquer funo.
Duas, ou mais funes, podem declarar variveis locais com os mesmos nomes.
As variveis locais no podem ser acessadas de fora do escopo em que foram
criadas.
Uma varivel local s visualizada pela funo onde foi declarada.
Existem funes que no tm variveis locais.
Pontos: 1,0 / 1,0
6a Questo (Ref.: 201102291319)
Muitas sries matemticas podem ser geradas pela estrutura do for. Analise o cdigo abaixo e
escolha a opo que contm a srie exibida pelo cdigo.

0
1
0
0
1

1
1
1
1
3

1
2
1
1
4

2
3
3
2

3
5
2
3
7

4
8
4
5
9

5
13
5
8
11

6
21
7
13 21
13

Pontos: 0,5 / 0,5


10a Questo (Ref.: 201102279951)
Os operadores lgicos servem para combinar resultados de expresses, retornando se o resultado

final verdadeiro ou falso. Marque a alternativa que contm o operador lgico que deve ser
utilizado quando as duas proposies lgicas necessitam ser verdadeiras para que o resultado da
combinao seja verdadeiro.
((pontos>=10) || (pontos <=20))
((pontos>=10) % (pontos <=20))
((pontos>=10) ! (pontos <=20))
((pontos>=10) # (pontos <=20))
((pontos>=10) && (pontos <=20))

Pontos: 0,5 / 0,5


2a Questo (Ref.: 201201971778)
Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados.
Sabemos que algumas afirmativas abaixo no produziriam um resultado errado, mas que tornaria
o programa com menor qualidade, visto que testes seriam realizados sem necessidade.
Ento, leia com ateno e s escolha a afirmativa poder ajud-los a construir programas com
qualidade, usando todos os recursos da estrutura if ... else if .....

Posso substituir ifs encadeados por ifs simples sem prejuzo de qualidade.
Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
O nmero de ifs encadeados igual ao nmero de respostas possveis, no
considerando a resposta errada do usurio, pois essa seria criticada no else.
O nmero de ifs encadeados igual ao nmero de respostas possveis, considerando
a resposta errada do usurio e no usaria else.
Posso substituir por vrios ifs simples e um if composto, ao final, para criticar a
resposta errada do usurio.
Pontos: 1,0 / 1,0
3a Questo (Ref.: 201201914489)
Uma parte bastante importante no estudo da linguagem C ter o conhecimento das suas
bibliotecas. As respectivas categorias das funes das bibliotecas #include ctype.h e #include
math.h so:
Funes para teste de caracteres e converso de letras maisculas em minscula e viceversa; funes para entrada e sada de dados.
Funes para entrada e sada de dados; funes para converso de nmeros e alocao na
memria.
Funes para entrada e sada de dados; funes matemticas que possibilitam
arredondamento de um numero.
Funes para converso de nmeros e alocao na memria; funes matemticas que
possibilitam arredondamento de um numero.
Funes para teste de caracteres e converso de letras maisculas em minscula e viceversa; funes matemticas que possibilitam arredondamento de um numero.

Pontos: 0,5 / 0,5


4a Questo (Ref.: 201201957856)
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a

varivel 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++)

Pontos: 0,0 / 1,5


8a Questo (Ref.: 201201968216)
Construa um programa que informe ao usurio que ele dever entrar com um nmero inteiro de
trs algarismos.
Se o nmero tiver trs algarismos, devero ser exibidos o algarismo da casa das centenas e
o algarismo da casa das unidades.
Caso contrrio, aparecer a mensagem: O numero no tem tres algarismos.
Observao: Lembre-se de que existem nmeros 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");
}

Pontos: 0,0 / 1,5


9a Questo (Ref.: 201201879974)
Considere que voc foi contratado para trabalhar em uma empresa de trading (comrcio) de
commodities. Tendo em vista o crescimento do mercado chins, a empresa em que voc trabalha
deseja aumentar o comrcio de commoditties com o mercado chins. Para que a empresa se torne
competitiva, ela precisa desenvolver programas em liguagem C para converses de medidas para
agilizar os seus processos e evitar possveis erros com o uso de calculadoras eletrnicas.
Codifique um programa em linguagem C que obtenha uma medida em Ku ping, unidade chinesa
de medida de massa, como entrada de dados do usurio atravs da funo scanf, converta a
medida para toneladas e exiba a medida convertida atravs da funo printf. Defina o fator de
converso como uma constante chamada fator de valor igual a 26797,96. Este fator deve ser
usado no clculo da converso, sabendo-se 1 tonelada equivale a 26797,96 Ku ping. Defina a
constante chamada fator e a varivel chamada medida como numricos reais em ponto flutuante
de menor preciso para ocupar menos espao de memria.

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);
}

8a Questo (Ref.: 201201899321) Pontos: 0,0 / 1,5


Faa um programa em C que dado um nmero inteiro positivo n, imprimir os n
primeiros naturais mpares.
Exemplo: Para n=4 a sada dever ser 1,3,5,7.
Gabarito: #include
int main() {
int n, i, impar;
printf("\n\tGerador de numeros impares\n");
printf("\nDigite o valor de n: ");
scanf("%d", &n);
i = 0;
impar = 1;
printf("Os %d primeiros impares sao:\n", n);
while (i < n) {
printf ("%d\n", impar);
impar = impar + 2;

i = i + 1;
}
return 0;

}
9a Questo (Ref.: 201202047493) Pontos: 0,0 / 0,5
Dentre as estruturas de Dados mais utilizadas em programao, se encontram os
vetores.
Baseado neste conceito, identifique a opo incorreta:
Na declarao int[50]; o ndice da ultima posio 49.
**Podem ser formado por elementos de tipos diferentes.**
Deve ser declarado antes de acessado em seu programa.
Permite agrupar vrios elementos em uma mesma varivel indexada.
Um vetor de caracteres terminado com um caracter nulo uma string na linguagem C.

7a Questo (Ref.: 201201966329) Pontos: 0,3 / 1,5


Sabe-se que o domin um jogo milenar e que tem 28 peas. Os valores dessas
peas,
poderamos dizer, usando uma linguagem Matemtica, que seriam resultados da
combinao 2 a 2 dos nmeros de 0 a 6, incluindo peas onde o nmero esteja
presente duas vezes.
Construa uma funo que exiba os valores das peas do domin.
Gabarito:
void domino()
{
int x, y;
for( x=0 ; x <= 6 ; x++)
{
for( y = x; y <= 6 ; y++)
printf("%d - %d\t", x,y);
printf("\n");
}
}

1a Questo (Ref.: 201202238477) Pontos:


Um Engenheiro da prefeitura est fazendo um levantamento do nmero de rvores
necessrias para serem plantadas em 20 bairros. Ele gostaria de declarar matrizes
para armazenamento desses dados.Assinale a linha onde a declarao atende ao que
ele deseja.
char bairros[20,40]; int quantidade[20];
**char bairros[20][40]; int quantidade[20]**;
char bairros[20]; int quantidade[20];
char bairros[1 9]; int quantidade[1 9];
char bairros[1 9][40]; int quantidade[1 9];
2a Questo (Ref.: 201202234790) Pontos:
Quanto aos cdigos de formatao (especificadores de formato) usados com a funo
printf() e/
outras e tendo em vista o trecho do programa, qual deveria ser a linha usada para

exibir a sada
abaixo:
Observao: A sequncia de nmeros que aparece na sada representa as colunas da
tela.
Trecho
int num1 = 7, num2=8; float num3=1 5.2;
printf("\n1 2345678901 234");
printf("\n%.3f\t%.2f\n", ce il((num1+num2)) /2+num3, num3/2);
printf("\n%.3f\t%.2f\n", (float)(num1+num2) /2+num3, num3/2);
printf("\n%.0f\t%06.2f\n", (float)num2+num1, num3);
printf("\n%.2f\t%06.2f\n",(float) num1+num2/2 +num3, num3);
**printf("\n%.3f\t%.0f\n", ce il((num1+num2)/2+num3), num3);**
1a Questo (Ref.: 201202462941) Pontos: 0,2 / 1,5
Desenvolva um programa que leia nmeros inteiros, at que seja digitado 0, e que
exiba:
A mdia de todos os valores digitados
O maior valor digitado
Gabarito:
#include
#include
void main(){
int i=0;
float valor, soma=0, media=0, maior;
puts("Digite um valor: ");
scanf("%f",&valor);
while(valor!=0){
i++;
if(i==1)
maior=valor;
else
if(maior maior=valor;
soma+=valor;
puts("Digite outro valor: ");
scanf("%f",&valor);
}
media= soma/i;
printf("Elementos: %d\n",i);
printf("Mdia: %.2f\n",media);
printf("Maior: %.2f\n",maior);
system("PAUSE");
}

9a Questo (Ref.: 201202358035) Pontos: 1,0 / 1,0


As matrizes, em geral, so caracterizadas por se tratarem de uma nica varivel de
determinado tamanho que guarda vrias informaes do
mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta apenas a
linha de comando, das opes apresentadas em relao
manipulao de vetores marque a resposta correta.
char vetnome[5]= "Maria";
**float vetreais[4]={1.0,2.4,3.5,4.5};**

float array[4]=[1.0,2.4,3.5,4.5]; int


vetinteiros[5]=[1,2,3,4,5];
char vet[5]={a,b,c,d,e};
10a Questo (Ref.: 201202453675) Pontos: 0,5 / 0,5
Um lojista gostaria de desenvolver um programa que pudesse armazenar os
cdigos(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 possvel.
Qual das opes abaixo declara as matrizes necessrias para que o programa possa
ser
desenvolvido a partir delas e seguindo, rigorosamente, as sugestes do texto acima?
double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
**int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; int**
codigos[999], qtdade[999]; float valorC[999], valorV[999]; double
codigos[999], qtdade[999], valorC[999], valorV[999];
2a Questo (Ref.: 201102441169) Pontos: 0,0 / 1,0
Na definio de uma funo, precisamos escrever suas partes, sendo algumas
obrigatrias e
outras, facultativas.
tipo nome ( tipo1 parmetro1, tipo2 parmetro2, ..., tipon parmetroN)
{
corpo da funo
}
Das opes apresentadas abaixo, marque a que apresenta apenas partes obrigatrias
de forma que a funo execute alguma tarefa, sem levar em considerao os smbolos
(chaves, parnteses, etc).
Nome, Parmetro e Corpo da funo.
Tipo, Parmetro e corpo da funo.
**Tipo , Nome, e Corpo da funo.**
Tipo, Nome e Parmetros.
Tipo, Nome, Parmetros e Corpo da Funo
4a Questo (Ref.: 201102344808) Pontos: 0,0 / 1,5
Faa um programa em C que dado um nmero inteiro positivo n, calcular a soma dos
n primeiros nmeros naturais.
Gabarito:
#include
int main() {
int n, soma;
printf("\n\tCalculo da soma dos n primeiros numeros naturais\n");
printf("\nDigite o valor de n: ");
scanf("%d", &n);
soma = (n * (n + 1)) / 2;
printf("A soma dos %d primeiros numeros naturais e' %d\n", n, soma);
return 0;
}
7a Questo (Ref.: 201102441304) Pontos: 0,0 / 1,5
Sabe-se que a mdia ponderada o quociente da diviso da soma dos produtos valor
x peso pelasoma dos pesos.

Construa um programa na linguagem C que receba duas notas e seus respectivos


pesos e exiba
mdia ponderada.
Gabarito:
#include
#include
int main()
{
float nota1, nota2, peso1, peso2, mediaP;
printf("\n1a Nota e peso: " );
scanf("%f %f",a1, &peso1);
printf("\n2a Nota e peso: " ) ;
scanf("%f %f",a2, &peso2);
mediaP=(nota1 * peso1 + nota2 * peso2)/(peso1 + peso2);
printf("\nMedia Ponderada: %.2f\n" , mediaP );
}
4a Questo (Ref.: 201301811378) Pontos: 0,5 / 0,5
Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
=, > e ||
+, - e *
**<, > e >=**
&&, >= e ||
&&, || e ~
5a Questo (Ref.: 201301874260) Pontos: 0,0 / 0,5
A estrutura de deciso switch extremamente poderosa na linguagem C. Dado o
cdigo:
#include < stdio.h>
#include < stdlib.h>
void main(){
int a= 3; int b =2;
switch(a){
case 1: a++; break;
case 2: a-=b++; break;
case 3: if(b)a+=b;
default: a = 1;
}
printf("%d", a+b);
system("PAUSE");
}
Selecione a opo correta:
O programa exibir 5
**O programa exibir 3**
O programa exibir 7
Ocorrer um erro
O programa exibir 1
6a Questo (Ref.: 201301821765) Pontos: 1,0 / 1,5
Um comerciante resolveu dar descontos em sua loja porque as vendas tinham
diminudo muito nos ltimos quinze dias.
Teve uma idia de confeccionar um cartaz informando que:
COMPRAS COM VALORES MENORES QUE R$ 40,00 - desconto de 5%

DEMAIS VALORES - desconto de 10%


Construa um programa que deixe entrar com o valor da compra e exiba o valor j com
desconto.
Gabarito:
int main()
{
float valor;
printf("\nValor da compra:");
scanf("%f", &valor);
if( valor < 50)
printf("\nValor com desconto: %.2f\n",valor*0.95);
else
printf("\nValor com desconto: %.2f\n",valor*0.9);
}
9a Questo (Ref.: 201301865040) Pontos: 0,0 / 0,5
Observe o trecho de cdigo abaixo e suponha que foi digitado o nmero 1762.
Qual das opes abaixo corresponde sada?
2671 1762
12671 1762
1762 0
1762 12671
**2671 0**
1a Questo (Ref.: 201403741018)

A funo remove() apaga um arquivo especificado. Tem como prottipo:

int remove (int *nome_do_arquivo);


int remove (char *nome_do_arquivo);
void remove (char *nome_do_arquivo);
char remove (char *nome_do_arquivo);
int remove (char nome_do_arquivo);

2a Questo (Ref.: 201403242751)

As matrizes, em geral, so caracterizadas por se tratarem de uma nica varivel de


determinado tamanho que guarda vrias informaes do mesmo tipo.
Desconsiderando a necessidade do programa principal e levando em conta a programao
adequada, declarao e respectiva manipulao das matrizes, das opes apresentadas a

respeito das matrizes bidimensionais marque a resposta correta.

int mat[3][3]; mat[0][2] = 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";
int mat[3][3]; mat[0][3] = 5;

3a Questo (Ref.: 201403242789)

Na criao de uma rotina de manipulao de equipamentos para perfurao de poos, o


programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento
para efeitos de clculos e fech-lo.
Das opes abaixo marque a que descreve a forma mais adequada, com a qual o programador
deveria acessar o arquivo, segundo sua necessidade.

Para leitura e gravao


Somente para leitura
Somente para gravao
Para leitura e edio
No precisa abrir o arquivo

4a Questo (Ref.: 201403727983)

Uma das ultimas funes estudadas foi a remove(). Suponha que o nome do arquivo (pessoa) e
constante.

Assinale a alternativa que apresenta a sintaxe correta para a funo.


remove( "pessoa", "arq" ) ;
remove( "pessoa", arq ) ;
remove( "pessoa" ) ;
remove(pessoa, arq) ;
remove( pessoa ) ;

5a Questo (Ref.: 201403727918)

Nas aulas conhecemos primeiro as funes fseek() e ftell() e posteriormente outras duas funes
______ e ______ que so equivalentes a estas porm com sintaxe diferentes.
Assinale a alternativa que completa corretamente as lacunas.
fgetpos() e fsetpos().
rewind () e fgets ().
fgets() e fsetpos().
fgetpos() e ftell().
fwrite() e rewind().

6a Questo (Ref.: 201403338449)


Observe o programa abaixo e escolha a opo que descreve o que ele faz.

L dados do teclado e armazena na Memria Principal em uma matriz unidimensional.


Depois abre um arquivo do tipo binrio para escrita e, se for possvel, grava os dados no
arquivo.
L dados de um arquivo binrio e armazena na Memria Principal em uma matriz
unidimensional, exibindo depois na tela.
L dados do teclado e armazena na Memria Principal em uma matriz unidimensional.
Depois abre um arquivo do tipo texto para escrita e, se for possvel, grava os dados no
arquivo.
L dados do teclado e armazena na Memria Principal em uma matriz unidimensional.
Depois abre um arquivo do tipo binrio para escrita e leitura e, se for possvel, grava os
dados no arquivo.
L dados de um arquivo texto e armazena na Memria Principal em uma matriz
unidimensional, exibindo depois na tela.

1a Questo (Ref.: 201403727837)

Na manipulao de arquivos na linguagem C, podemos utilizar vrias funes da linguagem. Cada


uma delas tem um propsito especfico.
Das afirmativas apresentadas qual define melhor e corretamente qual a finalidade da
funo fprintf() .
Funes para gravar uma linha.
Funo que detecta o fim do arquivo.
Funo que fecha um arquivo.
Funes para gravao formatada.

Funes para gravar um caractere.


2a Questo (Ref.: 201403733388)

Suponha que o arquivo dados.txt contm 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
ABCYDEF
ABCDEF
ABC
DEF

3a Questo (Ref.: 201403681900)

Considere que as bibliotecas necessrias 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 cdigo para que o programa funcione corretamente.


A ordem em que as palavras so dispostas na resposta, devem preencher respectivamente as
lacunas.

char - fopen - fechar


char - fopen - fclose
int - open - close
float - fopen - fclose
int - abrir - fopen
4a Questo (Ref.: 201403740977)

O prottipo do comando fputs :

int *fputs (char *str,FILE *fp);


char fputs (char *str,FILE *fp);
char *fputs (char *str,FILE fp);
char *fputs (char str,FILE *fp);
char *fputs (char *str,FILE *fp);

5a Questo (Ref.: 201403727805)

Para a manipulao 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 varivel de nome: arq, e que do
tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura para ler e/ou gravar
dados no fim do arquivocorretamente seguindo as regras da linguagem.

arq = fopen("texto.txt", "w");


arquivo = fopen("material.dat", "w+");
arquivo = fopen("material.dat", "r+");
arq = fopen("texto.txt", "a+");
arquivo = fopen("material.dat", "a+");

6a Questo (Ref.: 201403727826)

Na manipulao de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter


erros: devido a no existncia do arquivo; ao arquivo estar corrompido; etc, no sendo possvel
abrir o mesmo.
Das afirmativas apresentadas qual define corretamente o que pode ser feito em relao ao erro
na abertura, segundo o que foi apresentado nas aulas.
No necessrio tratar, pois no existindo o arquivo ele simplesmente cria um novo e nunca
ter problema.
No possvel tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que
consegue prevenir e evitar o fechamento do programa.
A palavra chave FILE, que permite fazer a associao do arquivo, mantem o valor NULL
caso no seja possvel abrir o arquivo, desta forma, utilizando o if, o usurio pode mandar
uma mensagem adequada para o usurio.
A funo fopen, retorna NULL quando no consegue abrir o arquivo e o usurio pode tratar o
contedo da varivel associada ao arquivo, comparando com o valor NULL.
O tratamento feito com um if, e tendo havido problemas no arquivo de texto, o mesmo

eliminado e retornado uma mensagem padro para o usurio.

1a Questo (Ref.: 201403242764)

Um programador durante a construo de um cdigo precisava converter o texto


correspondente a um ano em um nmero inteiro, para poder executar alguns clculos a partir
deste ano.
Das opes apresentadas, qual funo apresenta a soluo para o programador?

atoi( ).
strlen( ).
strcat( ).
strcont( ).
strlength( ).

2a Questo (Ref.: 201403347620)

Observe o cdigo apresentado na questo:


#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 opes abaixo correto afirmar:

O programa exibir 9
O programa exibir 5
O programa exibir 0
Ocorrer um erro
O programa exibir 4

3a Questo (Ref.: 201403295881)

Na definio de uma funo, precisamos escrever suas partes, sendo algumas obrigatrias e
outras, facultativas.

tipo nome ( tipo1 parmetro1, tipo2 parmetro2, ..., tipon parmetroN)


{
corpo da funo
}

Das opes apresentadas abaixo, marque a que apresenta apenas partes obrigatrias de forma
que a funo execute alguma tarefa, sem levar em considerao os smbolos (chaves, parnteses,
etc).

Tipo, Nome e Parmetros.


Tipo, Nome, Parmetros e Corpo da Funo.
Nome, Parmetro e Corpo da funo.
Tipo, Parmetro e corpo da funo.
Tipo , Nome, e Corpo da funo.

4a Questo (Ref.: 201403338424)

Observe o programa abaixo e escolha a opo que apresenta o que retorna da funo chamada.

O valor retornado corresponde ao deslocamento mais um em relao ao endereo base da


varivel que contem o menor nmero
Nada retorna porque o nome do vetor da funo main diferente do nome do vetor da
funo descobre
O maior nmero retornado
O valor retornado corresponde ao ndice da varivel que contem o menor nmero
O menor nmero retornado

5a Questo (Ref.: 201403674145)

A lngua portuguesa realmente surpreendente. Alm de rica em fonemas e vocabulrio, possui


muitas curiosidades. Entre elas o conceito de palndromo, que uma palavra ou um nmero que
se l da mesma maneira nos dois sentidos como, por exemplo, OVO.
Dado o cdigo abaixo, qual das opes complementa o programa para identificar este curioso
conceito?
int ePalindromo(char vet[],int tam);
void main(int argc, char *argv[]) {

char texto[] = "arara";


int i;
if(ePalindromo(texto, strlen(texto)))
printf("Eh palindromo");
else
printf("Nao eh palindromo");
system("PAUSE");
}

int ePalindromo(char vet[],int tam){


int i; int aux=1;
for(i=0; i < tam/2; i++){
if(vet[i]!=vet[tam-1-i]){
aux = 0;
break;
}
}
return aux;
}
int ePalindromo(char vet[],int tam){
int i; int aux=1;
for(i=0; i < tam-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;
}
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;
}

6a Questo (Ref.: 201403352254)

Existem basicamente dois tipos de variveis que podem ser declaradas em um cdigo: variveis
locais e variveis globais. Para que um programador possa escolher a melhor maneira de declarar
as variveis em seu programa necessrio que ele tenha domnio sobre elas.
Assinale a alternativa que contm apenas caractersticas das variveis globais.

Declaradas dentro do escopo de todas as funes e no poder ser manipulado por


qualquer funo.
Declaradas fora ou dentro do escopo de todas as funes e no poder ser manipulado
por qualquer funo.
Declaradas dentro do escopo de todas as funes e poder ser manipulado por qualquer
funo.
Declaradas fora do escopo de todas as funes e no poder ser manipulado por
qualquer funo.
Declaradas fora do escopo de todas as funes e poder ser manipulado por qualquer
funo.

1a Questo (Ref.: 201403681731)

Verifique o cdigo a seguir e assinale a alternativa que contm um erro presente no cdigo e a

justificativa correta. Suponha que as bibliotecas necessrias foram declaradas.


int main()
{
int i, j, det, l, c;
int mat[l][c];
puts("Codigo que calcula o determinante de uma matriz 3x3\n");
do{
puts("Digite os elementos da matriz\n");
for(i=0;i<3;i++)
for(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);
}while (det==0);
system("pause");
return (0);
}

Formato do while- deveria ter apenas um sinala de (=).


Declarao da matriz- Na declarao de uma matriz suas dimenses no podem ser
indicadas por variveis.
Declarao de variveis- det uma palavra reservada, portanto no pode ser nome
de varivel.
Utilizao da funo puts- Pois o puts exibe apena um caractere.
Falta no (;) aps o comando for- Toda linha do cdigo deve ser encerrada com (;).

2a Questo (Ref.: 201403352251)

As matrizes, assim como os vetores, so 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];
int matrizExemplo[10,20];

int matrizExemplo[10][20];
matrizExemplo float[20][10];
matrizExemplo int[10][20];

3a Questo (Ref.: 201403347607)

Matrizes um dos conceitos mais largamente usado em programao nos dias de hoje.
Identifique a opo que ocorrer um erro:

int matriz[2][3]= {{2,4,6},{7,8,9}};


int matriz[][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[2][3]= {{2,4,6};{7,8,9}};

4a Questo (Ref.: 201403298572)

O professor de Matemtica armazena as notas dos quatro bimestres e da mdia dos seus 47
alunos em cinco vetores.
Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem
C.
Assinale a opo que possibilitar fazer o que o professor deseja.

float NOTAS[47,5];

float notas[5][47];

float NOTAS[47][47];

float NOTAS[47][5];

float Notas[47][47];

5a Questo (Ref.: 201403242755)

Para resolver um determinado problema um programador escreveu um cdigo para trabalhar


com um vetor conforme apresentado na questo:
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 cdigo
descrito, das opes apresentadas, qual afirmativa est correta.
O terceiro valor armazenado ser o 0.6.
Sero armazenados 20 valores reais.
O segundo valor armazenado ser o 0.2.
Sero armazenados 7 valores reais.
O vigsimo valor armazenado ser o 2.0.

6a Questo (Ref.: 201403681704)

Considere que todas as bibliotecas necessrias 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 cdigo da maneira correta para que o programa funcione corretamente.

while-for-do-for
do-while-for-for
do-if-for-while
do-if-else-while
do-for-for-while

1a Questo (Ref.: 201403385390)

Um dos problemas que assola a computao o de segurana. Dentre vrias solues existentes,
a criptografia uma rea que tem avanado muito nos dias de hoje. Uma empresa para
criptografar seus textos, efetua a leitura de textos com at 80 caracteres e a partir de uma chave
numrica os embaralha.
Exemplo:
texto: "ABCDEFGHIJ"
chave: 42153
sada: "EBCAFDGHIJ"
Dado o trecho de programa abaixo, identifique qual das opes completa o mesmo para este fim.

void main(){
char vetor[10]={'A','B','C','D','E','F','G','H','I','J'};
int i;
char aux;

int chave[5] = {4,2,1,5,3};

for(i = 0; i <5 ; i++){


aux = vetor[0];
vetor [0] = vetor[chave[i]];
vetor[chave[i]]= aux;
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){
vetor [i] = vetor[chave[i]];
vetor[chave[i]]= aux;
aux = vetor[i];
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){
vetor[i] = aux;
vetor[chave[i]] = vetor [i];
aux = vetor[chave[i]];
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){
aux = vetor[i];
vetor [i] = vetor[chave[i]];
vetor[chave[i]]= aux;
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}
for(i = 0; i <5 ; i++){

vetor[i] = vetor[chave[i]];
vetor[chave[i]] = vetor [i];
}
for(i = 0; i <10 ; i++){
printf("%c",vetor[i]);
}
system("PAUSE");
}

2a Questo (Ref.: 201403375774)

Observe as afirmativas abaixo sobre o terminador nulo e assinale a opo correta.


I Devemos sempre acrescentar mais uma posio ao vetor de char quando ele for dimensionado;
II Ele deve ser includo ao final de todo vetor independente do tipo;
III O terminador nulo identificado pelo caracter \0;

Somente a afirmativa I verdadeira


As afirmativas II e III so verdadeiras
As afirmativas I e III so verdadeiras.
Todas as afirmativas so verdadeiras
Somente a III verdadeira

3a Questo (Ref.: 201403375776)

Observe as declaraes abaixo e assinale a opo correta.


I int idades[]={5,16,27,19};
II float CR[3]={6.1, 8.9, 9.3};
III char letras[]={"A", "E", "I", "O", "U"};
IV char letras[]={"Linguagem de "};

Somente as declaraes I e II esto corretas


A declarao I est errada e a declarao II est correta
Somente as declaraes I , II e IV esto corretas

As declaraes III e IV esto erradas


Todas as declaraes esto corretas

4a Questo (Ref.: 201403369692)

Qual das opes abaixo est correta com relao a declarao de variveis para um vetor de 15
elementos de nmeros reais em C?

double x[15][15];
char x[15];
double x[15];
int vetor[15][15];
int vetor[15];

5a Questo (Ref.: 201403369690)

Analise as sentenas abaixo sobre a declarao 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 (cdigo ASCII igual a 0).
II. O terminador nulo tambm pode ser escrito usando a conveno de barra invertida do C++
como sendo '\0'.
III. Como precisamos reservar duas posies para o terminador (a barra e o zero), sempre iremos
declarar o tamanho necessrio menos um.

Todas as sentenas esto corretas


Somente a sentena II est correta
Somente as sentenas II e III esto corretas
Somente as sentenas I e III esto corretas
Somente as sentenas I e II esto corretas

6a Questo (Ref.: 201403375770)

Um desenvolvedor precisava armazenar matrcula, nome e CR de um aluno. Sabe-se que a


matrcula um nmero inteiro e que o CR um nmero real. Observe as alternativas abaixo e
assinale qual foi a escolhida por atender a todas as exigncias.

char nome[30]; int matricula; float CR;


char nome; int matricula[12]; double CR;
char[30] nome; int matricula; double CR;
char[30] nome; int matricula[12]; float CR;
char nome; int matricula; float CR;

1a Questo (Ref.: 201403175310)

Qual a estrutura de repetio usada para quantidade indeterminada de repeties?

struct
for
while
switch
if-else
2a Questo (Ref.: 201403298631)

Uma das dificuldades da estrutura escolha/ caso o fato das restries variarem para cada
linguagem, dificultando a fixao. Na linguagem C, essa estrutura recebe o nome de switch() e tem
suas restries. Observe os trechos abaixo e assinale o que possvel ser usado na linguagem C,
supondo que se espera encontrar na varivel de nome a, inteira, alguns valores e entres eles est
o nmero 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o nmero
90 na estrutura switch().

case a=90: printf("Pode") ;break;

case a > 90: printf("Pode") ;break;


case 90: printf("Pode") ; break;
90: printf("Pode"); stop;
90: printf("Pode");
3a Questo (Ref.: 201403298608)

A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as


afirmaes abaixo e escolha a opo ERRADA.

I As chaves de abertura e fechamento, sempre, no so obrigatrias.


II No teste unimos expresses relacionais com operadores lgicos quando necessrio.
III A palavra then est presente na estrutura.
IV O uso do else poder no ser necessrio.

I e III esto corretas.


II e IV esto corretas.
I est errada.
II est correta e a III no est correta.
IV est correta e a I no est correta.

4a Questo (Ref.: 201403296071)

Muitas sries matemticas podem ser geradas pela estrutura do for. Analise o cdigo abaixo,
supondo que voc digitou 2 e 4 quando lhe foram solicitados dois nmeros e escolha a opo que
contm a srie exibida pelo cdigo.

19

10

10

12

16
12

26
20

16
12

26
20

14
42
32

16
68
52

42
32

5a Questo (Ref.: 201403296055)

Muitas sries matemticas podem ser geradas pela estrutura do for. Analise o cdigo abaixo e
escolha a opo que contm a srie exibida pelo cdigo.

1
1

1
3

2
4

5
7

8
9

13
11

21
13

13

21

6a Questo (Ref.: 201403734733)

As estruturas de repetio so essenciais no desenvolvimentos de programas na linguagem C.


Dado o programa abaixo, identifique a opo 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;
}

123
12
12345
012
012345

1a Questo (Ref.: 201403698036)

Preencha as lacunas abaixo para que a mensagem abaixo seja exibida, caso a varivel Idade seja
maior ou igual a 18 e a varivel Peso seja maior que 50.
if((Idade_ _ _18)_ _ _(peso_ _ _50))
{
printf("Voc pode ser doador de Sangue");

>=; &; >;


>=; &&; >;
<>; and; >;
>=; e; >;
>>; and; >;

2a Questo (Ref.: 201403724549)

Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para selecionar
funcionrios no estava dando certo.
Ele apresentou as cinco opes abaixo.
Assinale a nica opo que atende exigncia: o candidato ser do sexo feminino e ter idade
no intervalo fechado em 18 e aberto em 30.

if( sexo == 'f' || sexo == 'F' && idade >= 18 && idade <= 30 )
if(( sexo == 'f' || sexo == 'F' ) and idade >= 18 and idade < 30 )
if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 )
if( sexo == 'f' or sexo == 'F' and idade >= 18 and idade <= 30 )
if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 30 )

3a Questo (Ref.: 201403724595)

Um desenvolvedor construiu um cdigo onde estava presente o trecho abaixo.


char resp;
scanf("%c", &resp);
switch(toupper(resp)) ;
{
case 'A': puts("Digitou a letra A" ); break;
case 'E': puts("Digitou a letra E" ); break;
case 'i': puts("Digitou a letra I" );
case 'O': puts("Digitou a letra O" );
case 'U': puts("Digitou a letra U" ); break;

default: puts("Nao digitou vogal" );


}
Analise as afirmativas abaixo e assinale a opo correta.
I Se digitar I, aparece: Digitou a letra I / Digitou a letra O/ Digitou a letra U uma mensagem em
cada linha.
II Se digitar i, aparece: Nao digitou vogal.
III Se digitar o, aparece:Digitou a letra O/ Digitou a letra U uma mensagem em cada linha.
IV Se digitar a, aparece: Nao digitou vogal.
V Se digitar A, aparece: Digitou a letra A.

II, III e V so verdadeiras


I, III e IV so verdadeiras
III e IV so verdadeiras
S a a III verdadeira
II e, IV so verdadeiras

4a Questo (Ref.: 201403724621)

Um desenvolvedor estava construindo um cdigo que tinha quatro possibilidades de resposta


vlidas alm de uma mensagem de erro.
O dado testado era do tipo inteiro.
Assinale a opo que ele escolheu.

quatro ifs simples e um composto


switch() com cinco cases
switch() com quatro cases e um default
trs ifs simples e um composto
quatro ifs simples

5a Questo (Ref.: 201403377259)

Uma empresa que presta servios de pintura predial, desenvolveu um aplicativo destinado a
calcular o nmero de latas necessrias 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 nmero de latas, sabe-se que so necessrios 3 litros de tinta para pintar
cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se tambm que
cada lata tem 2 litros de tinta.
Dado o trecho de programa abaixo, identifique a opo correta que complemente o programa para
realizar o clculo do nmero de latas de tinta:

void main(){
float altura, largura;
char tipo; int total_latas, tot_metros, aux;
puts("\nDigite E para Externo e I para Interno");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&altura);
printf("\nDigite a largura da parede: ");
scanf("%f",&largura);
tot_metros = altura*largura;

if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i':
printf("%d",(tot_metros*3)/2+aux);
case 'E':
case 'e':
printf("%d",(tot_metros*4)/2+aux);
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': 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");
}

6a Questo (Ref.: 201403727647)

Na construo de programas na linguagem C, precisamos utilizar os operadores lgicos para


montar nossas expresses.
Supondo que as variveis foram devidamente declaradas, dentre as opes apresentadas
qual no apresentauma expresso logica / relacional correta na linguagem C.
a > b && < c
a > b && ! c
a > b && a < c
! (a > b)
a > b || b < c

1a Questo (Ref.: 201403295123)

Estava pesquisando na internet, quando li, num frum, um pedido de ajuda que inclua um
programa codificado na linguagem C, apresentado abaixo. A pessoa no tinha um compilador e
no estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu
teria digitado 345quando foi solicitado um nmero inteiro de trs algarismos. Assinale a
resposta CORRETA que apresenta o que foi exibido na tela.

-0012 ( Representa a soma dos algarismos do nmero -345 formatado)


0345 (O valor absoluto do nmero formatado)
0343 (O valor absoluto do resultado da expresso formatada)
- 0.00289(O inverso do nmero formatado)
0543(O valor absoluto do nmero espelhado formatado)

2a Questo (Ref.: 201403340974)

Na programao em C como em outras linguagens, muitas vezes se faz necessrio a converso


de tipos de dados, para que possamos exibir ou armazenar o resultado de uma operao da forma
desejada. O nome dado a esta operao Cast.
Das opes apresentadas, marque aquela que converte e armazena corretamente o valor de uma
varivel n do tipo int para a varivel x do tipo float utilizando o Cast.
n = (float) x;
x = float n;
n = float x;
x = (float) n;
x = (int) n;

3a Questo (Ref.: 201403284687)

Os operadores lgicos servem para combinar resultados de expresses, retornando se o resultado

final verdadeiro ou falso. Marque a alternativa que contm o operador lgico que deve ser
utilizado quando as duas proposies lgicas necessitam ser verdadeiras para que o resultado da
combinao seja verdadeiro.

((pontos>=10) && (pontos <=20))


((pontos>=10) # (pontos <=20))
((pontos>=10) || (pontos <=20))
((pontos>=10) % (pontos <=20))
((pontos>=10) ! (pontos <=20))

4a Questo (Ref.: 201403681637)

Segundo o cdigo exposto na questo e desconsiderando a necessidade da declarao das


bibliotecas, o que exibido no display pela funo de sada?

int main()
{
int n1=3, n2=7, n3=5, n4=2;
float med;
med= (float)(n1 + n2+ n3+ n4)/4;
printf("a media e %.2f", med);
system("pause");
return 0;
}

a mdia : 4.25000
a media : 4.250
a mdia : 4.25
a media e: 4.2500
a media e: 4.25

5a Questo (Ref.: 201403200983)

Dado o trecho de lgica utilizando o conceito da linguagem de programao C. Diga o resultado

das variveis x, y e z depois da seguinte sequncia de operaes:


int x,y,z;
x=y=10;
z=++x;
x=-x;
y++;
x=x+y-(z--);
x = -13
y = 11
z = 13
x = -20
y = 20
z = 10
x = 11
y = 11
z = 15
x = -11
y = 11
z = 10
x = -01
y = 01
z = 10

6a Questo (Ref.: 201403199499)

Sabemos que para a utilizao de funes da linguagem C precisamos declarar suas respectivas
bibliotecas.
De acordo com a Linguagem C marque a opo em que o descritivo da biblioteca est correto.
stdlib.h - Funes de entrada e saida.
time.h - Funes para manipulao de tempo, apenas horas, minutos e segundos.
math.h - Funes matemticas
stdio.h - Funes para grficos.
string.h - Funes para concatenao de strings com inteiros.

1a Questo (Ref.: 201403343781)

Sabe-se que a linguagem C uma das mais utilizadas no mundo. Desenvolvida em 1972 uma
linguagem voltada para programadores. Dentre as opes abaixo incorreto afirmar:

Permite a compilao de softwares para plataforma Windows, Linux e Unix.


Possibilita o desenvolvimento de funes prprias
Possui com conjunto muito grande palavras reservadas o que torna o aprendizado
complexo
Possui caractersticas de Linguagem de alto nvel.
Possui caractersticas de Linguagem de baixo nvel.

2a Questo (Ref.: 201403375729)

Na Aula 1, estudamos algumas caractersticas e vantagens da linguagem C. Observe as


afirmativas abaixo e assinale a opo que contem a resposta correta.
I Tem boa Portabilidade.
II No pode ser modularizada.
III uma linguagem Orientada a Objetos.
IV Uma linguagem que pode manipular endereos de memria.
V No possui um propsito especifico.

As afirmativas I, IV e V esto corretas e as demais, erradas.


As afirmativas I e IV esto corretas e as demais, erradas.
As afirmativas II, III e IV esto corretas e as demais, erradas.
As afirmativas IV e V esto corretas e as demais, erradas.
As afirmativas II, IV e V esto corretas e as demais, erradas.

3a Questo (Ref.: 201403338866)

Todo programa codificado na linguagem C pode incluir uma, ou vrias bibliotecas, mas existe uma

que tem que estar nessa lista, na maioria das vezes, devido a necessidade da interao com o
usurio..
Assinale a alternativa que apresenta essa biblioteca.

iostream
stdin.h
studio.h
stdio.h
iostream.h

4a Questo (Ref.: 201403340963)

Para que possamos criar nossos programas na linguagem C, iniciamos por criar
o ______________, o qual pode ser feito atravs de um editor de texto no 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. Aps esta etapa, devemos ___________ e
linkeditar o programa gerando o arquivo _____________, o qual aps ser executado apresenta o
resultado de nosso programa.
Das opes apresentadas, marque aquela que completa respectivamente e corretamente os
espaos em branco destacados do texto, segundo os conceitos da linguagem C apresentados no
material didtico da disciplina.
Cdigo de texto - extenso .txt - editar - fonte
Executvel - extenso .c - compilar - fonte
Cdigo fonte - extenso .c - compilar - executvel
Cdigo base - extenso .c - compilar - fonte
Fonte - extenso .txt - editar - executvel

5a Questo (Ref.: 201403681314)

Um dos grandes problemas de empresas que desenvolvem software a variedade hardware.


Como por exemplo, em grandes redes de supermercados, o software instalado no pode ser
trocado sem maiores custos e traumas. A linguagem C possui a capacidade de ser compilado ou
executado em diferentes arquiteturas (seja de hardware ou de software). Identifique abaixo a

capacidade descrita.

Flexibilidade
Polimorfismo
Portabilidade
Modularidade
Reuso

6a Questo (Ref.: 201403375736)

Na histria da linguagem C, alguns momentos foram marcantes devido a acrscimos e/ou


modificaes significativas embora nem todos os compiladores tenham aderido. Abaixo esto
relacionadas alguns deles:
- Surge o tipo long long para inteiros;
- As funes matemticas passam a aceitar todos os tipos numricos;
- O caracter // para comentrio de uma linha, pode ser usado tambm;
Assinale a opo que contem o nome do documento onde apareceram, pela primeira vez, as
modificaes acima.

C tradicional
ISO/IEC 9899:1990
Padro C89
Padro C99
Padro C95

1a Questo (Ref.: 201403723926)

Pontos: 0,0 / 0,5

No ambiente Linux, no precisamos, obrigatoriamente, ter um nico ambiente para editar, compilar e executar
um programa codificado na linguagem C como temos no Windows.
Sendo assim, qual seria a sequncia para conseguirmos editar, compilar e executar um programa?
Usar um editor de texto para digitar o cdigo e salvar com extenso c/ digitar uma linha de comando no
terminal usando o compilador gcc para gerar o executvel / digitar o nome do executvel no terminal
para execut-lo.
Usar um editor de texto para digitar o cdigo/ salvar com extenso c/ digitar uma linha de comando no
terminal, usando o compilador gcc que ir gerar o executvel e execut-lo em seguida.
Usar um editor de texto para digitar o cdigo e salvar com extenso c/ digitar uma linha de comando no

terminal usando o compilador gcc para gerar o executvel/ digitar o nome do executvel, precedido por
./ no terminal para execut-lo.
Usar um editor de texto para digitar o cdigo/ salvar sem se preocupar com extenso/ e digitar uma
linha de comando, tambm no terminal, usando o compilador gcc.
Usar o terminal para digitar o cdigo/ salvar sem se preocupar com extenso/ e digitar uma linha de
comando, tambm no terminal, usando o compilador gcc.

2a Questo (Ref.: 201403723917)

Pontos: 0,5 / 0,5

Qual das caractersticas abaixo NO pode ser atribuda linguagem C?


Complexidade porque tem muitas palavras reservadas
Rapidez, pois gera executvel compacto
Estruturada
Modularidade
Portabilidade

3a Questo (Ref.: 201403294512)

Pontos: 0,5 / 0,5

Quanto aos cdigos de formatao (especificadores de formato) usados com a funo printf() e
tendo em vista o trecho do programa, qual deveria ser a linha usada para exibir a sada abaixo:
Observao: A sequncia de nmeros que aparece na sada representa as colunas da tela.
Trecho
int num1= 12, num2=8; float num3=15;
printf("\n12345678901234");

printf("\n%d\t%06.2f\n", num1, num3);


printf("\n%4d\t%.2f\n", num1%num2, num3/2);
printf("\n%d\t%6.2f\n",num1/num2, num3);
printf("\n%.2f\t%06.2f\n",(float) num1/num2, num3);
printf("\n%04d\t%.2f\n", num1/num2, num3);

4a Questo (Ref.: 201403298608)

Pontos: 1,0 / 1,0

A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as


afirmaes abaixo e escolha a opo ERRADA.

I As chaves de abertura e fechamento, sempre, no so obrigatrias.


II No teste unimos expresses relacionais com operadores lgicos quando necessrio.
III A palavra then est presente na estrutura.
IV O uso do else poder no ser necessrio.
II est correta e a III no est correta.
I e III esto corretas.
II e IV esto corretas.
IV est correta e a I no est correta.
I est errada.

5a Questo (Ref.: 201403343853)

Pontos: 0,5 / 0,5

Observe o cdigo 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 opes abaixo correto afirmar:
Ocorrer um erro
O programa exibir 0
O programa exibir 8
O programa exibir 11
O programa exibir 16

6a Questo (Ref.: 201403295123)

Pontos: 1,0 / 1,0

Estava pesquisando na internet, quando li, num frum, um pedido de ajuda que inclua um
programa codificado na linguagem C, apresentado abaixo. A pessoa no tinha um compilador e
no estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu
teria digitado 345quando foi solicitado um nmero inteiro de trs algarismos. Assinale a
resposta CORRETA que apresenta o que foi exibido na tela.

0543(O valor absoluto do nmero espelhado formatado)


- 0.00289(O inverso do nmero formatado)
0345 (O valor absoluto do nmero formatado)
0343 (O valor absoluto do resultado da expresso formatada)
-0012 ( Representa a soma dos algarismos do nmero -345 formatado)

7a Questo (Ref.: 201403284707)

Pontos: 1,0 / 1,0

Um programa de cadastro deve solicitar cpf,nome e telefone de alunos at que o cpf seja igual a 0. Que
estrutura em C melhor representa esta tarefa?
while{ // [bloco de comandos] }
do (cfp !=0);
do while (cfp !=0)
{ // [bloco de comandos] }
for (cpf=0; cpf !=0; cpf++)
{ // [bloco de comandos] }
if (cpf != 0)
{ // [bloco de comandos] }
do{ // [bloco de comandos] }
while (cfp !=0);

8a Questo (Ref.: 201403375740)

Pontos: 1,0 / 1,0

Um aluno de LPI gostaria de testar duas condies, usando somente uma estrutura if.
Abaixo as duas condies 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 varivel do tipo char de nome sexo e o ano em uma varivel do
tipoint de nome ano.
Alm disso, ele deseja que seja aceita tanto a letra M quanto a letra m.
Assinale a opo que resolve o problema desse aluno.

if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) )
if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' )
if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 )
if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) )
if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) )

9a Questo (Ref.: 201403377259)

Pontos: 0,0 / 1,0

Uma empresa que presta servios de pintura predial, desenvolveu um aplicativo destinado a calcular o nmero
de latas necessrias 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 nmero de latas, sabe-se que so
necessrios 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado
externo. Sabe-se tambm que cada lata tem 2 litros de tinta.
Dado o trecho de programa abaixo, identifique a opo correta que complemente o programa para realizar o
clculo do nmero 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");
}
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");
}

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");
}

10a Questo (Ref.: 201403352223)

Pontos: 1,0 / 1,0

Para o desenvolvimento de nossos programa na linguagem C, contamos com 3 tipos bsicos de


estruturas de repetio, for, while e do..while. O funcionamento e aplicao dos mesmos tem
pequenas diferenas.
int i;
for(i=0; i < 10; i+=2)
if (i%2)

printf("%d",i);
printf("%d",i);
Supondo que as demais linhas necessrias para o funcionamento do programa estejam devidamente
criadas e baseado no trecho de cdigo apresentado, o que ser exatamente apresentado na tela aps a sua
execuo.
02468
024681010
0 2 4 6 8 10
10
0246810