Buscar

LINGUAGEM DE PROGRAMAÇÃO I

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

1a Questão (Ref.: 201602305022) Fórum de Dúvidas (1 de 1) Saiba (0) 
 
Um dos grandes problemas de empresas que desenvolvem software é a variedade hardware. Como por 
exemplo, em grandes redes de supermercados, o software instalado não pode ser trocado sem maiores custos e 
traumas. A linguagem C possui a capacidade de ser compilado ou executado em diferentes arquiteturas (seja de 
hardware ou de software). Identifique abaixo a capacidade descrita. 
 
 
 Portabilidade 
 
Modularidade 
 
Polimorfismo 
 
Flexibilidade 
 
Reuso 
 
 
 
 
 
 
 2a Questão (Ref.: 201601999437) 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 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. 
 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. 
 
 
 
 
 
 
 3a Questão (Ref.: 201601964671) 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. 
 
 
 Código fonte - extensão .c - compilar - executável 
 
Executável - extensão .c - compilar - fonte 
 
Código base - extensão .c - compilar - fonte 
 
Fonte - extensão .txt - editar - executável 
 
Código de texto - extensão .txt - editar - fonte 
 
 
 
 
 
 
 4a Questão (Ref.: 201602347624) Fórum de Dúvidas (1) Saiba (0) 
 
Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos 
construindo? 
 
 
 
typedef 
 
define 
 
const 
 
struct 
 include 
 
 
 
 
 
 
 5a Questão (Ref.: 201602347599) 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: 
 
 
 
Podemos dividir o programa em parte menores. 
 
Um programa executável gerado na plataforma Windows é executado na Plataforma Linux. 
 
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. 
 
A linguagem possui um propósito específico. 
 
 
 
 
 
 
 6a Questão (Ref.: 201602347621) 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 
 
 
 
II, III e IV 
 I e IV estão corretas 
 
Todas estão erradas 
 
Todas estão corretas 
 
I, III e IV estão corretas 
 
 
 
 
 
 
 7a Questão (Ref.: 201602347640) 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 
 
Rapidez e Portabilidade 
 
Complexidade e Estruturada 
 Portabilidade e Estruturada 
 
Portabilidade e Modularidade 
 
 
 
 
 
 
 8a Questão (Ref.: 201602347597) 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 70 
 
década de 80 
 
década de 50 
 
década de 90 
 
década de 60 
 
 
 
 
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? 
 
 
 
 
 
 
isalpha() 
 
 
isspace() 
 
 
isnotalphadigit() 
 
 
isalnum() 
 
 
isdigit() 
 
 
 
 
 
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. 
 
 
 
 
 tolower() e ctype.h 
 
 
toupper() e stdlib.h 
 
 
atof() e stdlib.h 
 
 
isalpha() e stdlib.h 
 
 
atoi() e math.h 
 
 
 
 
 
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); 
} 
 
 
 
 
 
 
 
%s%d%% Juros de 10 
 
 
Juros de 10% 
 
 
Nada porque tem muitos % 
 
 
% Juros de 10 
 
 
10 Juros de 
 
 
 
 
 
4. 
 
 
Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h. 
Assinale o trecho correto que possibilita incluí-las. 
 
 
 
 
 
#include stdio.h 
#include stdlib.h 
#include math.h 
 
 
#define 
#define 
#define 
 
 
 
#include 
#include 
#include 
 
 
 
#include 
 
 
#include 
 
 
 
 
 
5. 
 
 
No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, 
compilar e executar um programa codificado na linguagem C como temos no Windows. 
Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um 
programa? 
 
 
 
 
 
 
Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha 
de comando, também no terminal, usando o compilador gcc. 
 
 
Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no 
terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ 
no terminal para executá-lo. 
 
 
Usar 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. 
 
 
 
 
 
6. 
 
 
Assinale a função que não é disponível na plataforma Linux. 
 
 
 
 
 
 
return 
 
 
printf() 
 
 
system() 
 
 
main() 
 
 
scanf() 
 
 
 
 
 
7. 
 
 
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 "minhasFuncoes.h" 
 
 
#include "c:\funcoes\ minhasFuncoes.h" 
 
 
#include "c:\ minhasFuncoes.h\funcoes" 
 
 
#include minhasFuncoes.h 
 
 
 
 
 
8. 
 
 
Qual o nome da função matemática que calcula a potenciação de um número? 
 
 
 
 
 
 
pot 
 
 
pow 
 
 
elevado 
 
 
double 
 
 
sqrt 
 
1. 
 
 
As bibliotecas da linguagem C guardam funções predefinidas da linguagem. Veja o código a 
seguir e marque a alternativa que contém as bibliotecas necessárias para que este código 
funcione. 
 
#include________ 
#include________ 
int main() 
{ 
int a=2, b=2, c=8, delt; 
delt=(pow(b, 2)-(4*a*c)); 
system("pause"); 
return (0); 
} 
 
Não leve em consideração os sinais de maior e menor que envolvem o nome das bibliotecas. 
 
 
 
 
 
 
stdio.h - ctype.h 
 
 
math.h - stdlib.h 
 
 
stdio.h - stdlib.h 
 
 
cmat.h - ctype.h 
 
 
stdlib.h - ctype.h 
 
 
 
 
 
2. 
 
 
Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C. 
 
 
 
 
 
 
2nota, a36, x#y, --j 
 
 
nota-2 , a36, x_y 
 
 
i, j, int, obs 
 
 
If, nota_do_aluno_2, HOJE, _yes 
 
 
2_ou_1, fim, *h, j 
 
 
 
 
 
3. 
 
 
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. 
 
 
 
 
 
 
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos. 
 
 
stdlib.h - Funções de entrada e saida. 
 
 
stdio.h - Funções para gráficos. 
 
 
math.h - Funções matemáticas 
 
 
string.h - Funções para concatenação de strings com inteiros. 
 
 
 
 
 
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. 
 
 
 
 
 
 
 
 
-0012 ( Representa a soma dos algarismos do número -345 formatado) 
 
 
0345 (O valor absoluto do número formatado) 
 
 
- 0.00289(O inverso do número formatado) 
 
 
0343 (O valor absoluto do resultado da expressão formatada) 
 
 
0543(O valor absoluto do número espelhado formatado) 
 
 
 
 
 
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. 
 
 
 
 
 
 
printf ( ) 
 
 
scanf ( ) 
 
 
fgetc(stdin) 
 
 
getchar ( ) 
 
 
cin ( ) 
 
 
 
 
 
6. 
 
 
Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. 
De acordo com as características das variáveis LOCAIS, marque a 
alternativa ERRADA. 
 
 
 
 
 
 
Existem funções que não têm variáveis locais. 
 
 
Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes. 
 
 
As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas. 
 
 
Uma variável local só é visualizada pela função onde foi declarada. 
 
 
A função main() pode acessar qualquer variável local de qualquer função. 
 
 
 
 
 
7. 
 
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: 650.00 
 
 
Valor do imposto a ser pago: 800.00 
 
 
Valor do imposto a ser pago: 750.00 
 
 
Valor do imposto a ser pago: 1000.00 
 
 
 
 
 
8. 
 
 
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 = -01 
y = 01 
z = 10 
 
 
x = -20 
y = 20 
z = 10 
 
 
x = -11 
y = 11 
z = 10 
 
 
x = 11 
y = 11 
z = 15 
 
 
1. 
 
Existe sempre uma dúvida por parte do desenvolvedor se escolhe switch() ou if quando está 
usando a Linguagem C. 
Sabemos que existem algumas exigências para se usar o switch(). 
Analise as opções abaixo e assinale a opção correta. 
 
 
 
 
I Qualquer tipo pode ser usado. 
II Somente o tipo vetor de char que Não pode ser usado. 
III Não pode ser usado intervalo tipo: 1..3 em um case. 
IV Sempre será obrigatório usar o comando break; ao final de um case. 
V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção 
default, caso exista. 
 
 
 II, IV e V são verdadeiras 
 I, III, IV e V são verdadeiras 
 II, III e IV são verdadeiras 
 III e V são verdadeiras 
 I, III e IV são verdadeiras 
 
 
 
 
 
2. 
 
 
Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para 
selecionar funcionários não estava dando certo. 
Ele apresentou as cinco opções abaixo. 
Assinale a única opção que atende à exigência: o candidato ser do sexo feminino e ter idade 
no intervalo fechado em 18 e aberto em 30. 
 
 
 
 
 if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 ) 
 if(( sexo == 'f' || sexo == 'F' ) and idade >= 18 and idade < 30 ) 
 if( sexo == 'f' or sexo == 'F' and idade >= 18 and idade <= 30 ) 
 if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 30 ) 
 if( sexo == 'f' || sexo == 'F' && idade >= 18 && idade <= 30 ) 
 
 
 
 
 
3. 
 
 
O Operador ternário é uma forma elegante de representar if else if, visto que é abreviada. 
Observe o trecho abaixo e assinale a opção que descreve o que faz. 
 
int a=12, b=35, c=7, resp; 
resp=(a>b && a > c) ?a: (b>c) ? b/c:c; 
printf (''valor: %d'' , resp); 
 
 
 
 
 Exibe valor: 12 
 Exibe valor: 5 
 Exibe valor: 7 
 Exibe valor: 35 
 Exibe valor: 0 
 
 
 
 
 
4. 
 
 
Alguns iniciantes na linguagem C sentem dificuldadesde usar a estrutura dos ifs 
encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado 
errado, mas que tornaria o programa com menor qualidade, visto que testes seriam 
realizados sem necessidade. 
Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas 
com qualidade, usando todos os recursos da estrutura if ... else if ..... 
 
 
 
 
 
 
Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do 
usuário. 
 Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch(). 
 Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade. 
 
O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta 
errada do usuário, pois essa seria criticada no else. 
 
O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta 
errada do usuário e não usaria else. 
 
 
 
 
 
5. 
 
 
Na construção de programas na linguagem C, precisamos tomar muito cuidado com a 
sintaxe das expressões condicionais, para que não tenhamos resultados inesperados. 
Supondo que as variáveis foram devidamente declaradas e levando em conta apenas a linha 
de código apresentada, dentre as opções qual apresenta erro na sintaxe para a linguagem C. 
 
 
 
 
 if (a > 0) {a = 2;} else if (b < 10) {b= 2;} 
 if x > 0 { a = 2;} 
 if (a > 0) {a = 2;} else {b= 2;} 
 if (a > 0) { a = 2;} 
 if (x > 0) a = 2 else b = 2 ; 
 
 
 
 
 
6. 
 
 
Na construção de programas na linguagem C, precisamos utilizar os operadores relacionais 
para montar nossas expressões relacionais. 
Supondo que as variáveis foram devidamente declaradas, dentre as opções apresentadas 
qual não apresenta uma expressão relacional correta na linguagem C. 
 
 
 
 
 x > ( a + b ) 
 x <= ( a + b ) 
 x >= ( a + b ) 
 x == ( a + b ) 
 x = ( a + b ) 
 
 
 
 
 
7. 
 
 
Um desenvolvedor construiu um código onde estava presente o trecho abaixo. 
char resp; 
scanf("%c", &resp); 
switch(toupper(resp)) ; 
{ 
case 'A': puts("Digitou a letra A" ); break; 
case 'E': puts("Digitou a letra E" ); break; 
case 'i': puts("Digitou a letra I" ); 
case 'O': puts("Digitou a letra O" ); 
case 'U': puts("Digitou a letra U" ); break; 
default: puts("Nao digitou vogal" ); 
} 
 
Analise as afirmativas abaixo e assinale a opção correta. 
I Se digitar I, aparece: Digitou a letra I / Digitou a letra O/ Digitou a letra U uma mensagem 
em cada linha. 
II Se digitar i, aparece: Nao digitou vogal. 
III Se digitar o, aparece:Digitou a letra O/ Digitou a letra U uma mensagem em cada linha. 
IV Se digitar a, aparece: Nao digitou vogal. 
V Se digitar A, aparece: Digitou a letra A. 
 
 
 
 
 II e, IV são verdadeiras 
 Só a a III é verdadeira 
 II, III e V são verdadeiras 
 I, III e IV são verdadeiras 
 III e IV são verdadeiras 
 
 
 
 
 
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 
aprovado 
com: 6.0 
 
Aluno 
reprovado 
com: 6.50 
 
Aluno 
reprovado 
com: 6.5 
 
Aluno 
aprovado 
com: 6.5 
 
Aluno 
aprovado 
com: 6.00 
 
 
1. 
 
 
Leia com atenção as afirmativas abaixo e escolha a opção correta. 
I A estrutura do for, por definição, é ideal quando o número de repetições for conhecido 
II A estrutura do for testa ao final enquanto a estrutura while testa no início 
III A estrutura while pode simular a estrutura do for e a estrutura do... while 
IV A estrutura do for sem nenhum parâmetro, só com os ; dentro dos parênteses e com um 
if no corpo da repetição, pode simular a estrutura while 
V Tanto a estrutura do...while quanto a estrutura while, testam no início 
 
 
 
 
 Somente I, II, III e V estão corretas 
 Somente I, III e IV estão corretas 
 Somente II, III e V estão corretas 
 Somente I e V estão corretas 
 Somente I, III e V estão corretas 
 
 
 
 
 
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; 
} 
 
 
 
 
 9 10 11 12 13 14 15 
 100 121 144 169 196 225 
 15 14 13 12 11 10 
 20 22 24 26 28 30 
 10 11 12 13 14 15 
 
 
 
 
 
3. 
 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a 
variável num seja diferente de 0? 
 
 
 
 
 for ( i = 0; i == num; i++) 
 while (num != 0) 
 for (i = num; i > 0; i++) 
 enquanto (num > 0) 
 while (num == 0) 
 
 
 
 
 
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 4 8 12 20 32 
 2 4 6 10 16 26 42 
 2 4 6 8 19 12 14 16 
 2 4 6 10 16 26 42 68 
 2 4 4 8 12 20 32 52 
 
 
 
 
 
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, para executar a parte do código que se repetia. 
 Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia. 
 Criar uma função para executar a parte do código que se repetia. 
 Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia. 
 Utilizar a estrutura de loop DO-WHILE, 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. 
 
 
 
 
 
 I está errada. 
 II está correta e a III não está correta. 
 I e III estão corretas. 
 IV está correta e a I não está correta. 
 II e IV estãocorretas. 
 
 
 
 
 
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(). 
 
 
 
 
 case 90: printf("Pode") ; break; 
 90: printf("Pode"); stop; 
 case a > 90: printf("Pode") ;break; 
 case a=90: printf("Pode") ;break; 
 90: printf("Pode"); 
 
 
 
 
 
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? 
 
 
 
 
 while 
 repeat...util 
 switch 
 for 
 do...while 
 
Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores 
inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a 
quantidade(valores inteiros) de todos os mil produtos. 
Pensou em declarar algumas matrizes unidimensionais para tornar isso possível. 
 
Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido 
a partir delas e seguindo, rigorosamente, as sugestões do texto acima? 
 
 
 
 int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 double codigos[999], qtdade[999], valorC[999], valorV[999]; 
 double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; 
 int codigos[999], qtdade[999]; float valorC[999], valorV[999]; 
 
 
 
 
 
2. 
 
 
Os chamados vetores e matrizes podem ser considerados como: 
 
 
 Comandos de seleção 
 Estruturas de dados homogêneas 
 Comandos de seleção composta 
 Estruturas de dados heterogêneas 
 Comandos de repetição 
 
 
 
 
 
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 III estão corretas 
 Todas as sentenças estão corretas 
 Somente as sentenças II e III estão corretas 
 Somente as sentenças I e II estão corretas 
 Somente a sentença II está correta 
 
 
 
 
 
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[3] = ( 0, 1, 2); 
 int numeros(2) = { 0, 1, 2}; 
 int numeros[3] = { 0, 1, 2}; 
 int numeros[2] = [ 0, 1, 2]; 
 integer numeros[3] = [ 0, 1, 2]; 
 
 
 
 
 
5. 
 
 
A linguagem C permite a inicialização de vetores junto com sua declaração. 
Dada as alternativas abaixo, selecione a que está incorreta: 
 
 
 
 int valores[5] = {10, 15, 20, 25, 30}; 
 char valores[5] = {'A', 'B', 'C', 'D'}; 
 int valores[] = {10, 15, 20, 25, 30}; 
 char valores = "ABCD"; 
 char valores[] = {'A', 'B', 'C', 'D'}; 
 
 
 
 
 
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 ('/end'). 
 Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\end') 
 Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\0'). 
 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 ('{0}'). 
 
 
 
 
 
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("%c", nome[0]); 
 scanf("%s", &nome); 
 scanf("%s&c", nome[0]); 
 scanf("%s", nome); 
 scanf("%&s", &nome); 
 
 
 
 
 
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? 
 
 
 
 convertUp 
 upper 
 convertUpper 
 toupper 
 toupr 
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 float[20][10]; 
 int matrizExemplo[10,20]; 
 matrizExemplo int[10][20]; 
 int matrizExemplo[10][20]; 
 
 
 
 
 
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. 
 
 
 
 while-for-do-for 
 do-while-for-for 
 do-if-else-while 
 do-if-for-while 
 do-for-for-while 
 
 
 
 
 
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[47][47]; 
 
 
float NOTAS[47,5];float notas[5][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 
 Não existem matrizes com mais de duas dimensões. 
 Matrizes unidimensionais são conhecidas também como vetores; 
 
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 
 Podemos inicializar com valores no ato de sua declaração. 
 
 
 
 
 
5. 
 
 
Supondo que está 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 [30][20]; 
 char nomes (30); 
 char nomes [20][30]; 
 char nomes [30]; 
 char nomes (20,30); 
 
 
 
 
 
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. 
 
 
 
 int notas[150]; 
 float notas[150]; 
 float %.1f notas[150]; 
 real notas[150]; 
 integer notas[150]; 
 
1. 
 
 
A função fgets(): 
 
 
 lê uma linha inteira de uma vez. 
 imprime uma linha inteira de uma vez. 
 imprime um caracter de cada vez. 
 lê um caracter de cada vez. 
 lê um arquivo inteiro de uma vez. 
 
 
 
 
 
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. 
 
 
 int - abrir - fopen 
 char - fopen - fclose 
 float - fopen - fclose 
 int - open - close 
 char - fopen - fechar 
 
 
 
 
 
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", "a+"); 
 arquivo = fopen("material.dat", "r+"); 
 arquivo = fopen("material.dat", "w+"); 
 arq = fopen("texto.txt", "w"); 
 
 
 
 
 
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_vetor[numero_colunas][numero_linhas]; 
 tipo nome_matriz[][]; 
 nome_matriz[numero_linhas][numero_colunas]; 
 tipo nome_matriz[numero_colunas][numero_linhas]; 
 
 
 
 
 
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ções para gravar uma linha. 
 Função que detecta o fim do arquivo. 
 Funções para gravação formatadas. 
 Função para gravar um caractere. 
 Função que fecha um arquivo. 
 
 
 
 
 
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. 
 
Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue 
prevenir e evitar o fechamento do programa. 
 
A palavra chave FILE, que permite fazer a associação do arquivo, mantem o valor NULL caso não seja 
possível abrir o arquivo, desta forma, utilizando o if, o usuário pode mandar uma mensagem adequada 
para o usuário. 
 
O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado 
e retornado uma mensagem padrão para o usuário. 
 
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. 
 
 
 
 
 
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 
fecha um 
arquivo. 
 
Funções para 
ler um 
caractere. 
 
Funções para 
gravar uma 
linha. 
 
Função que 
detecta o fim 
do arquivo. 
 
Funções para 
leitura 
formatada. 
 
 
1. 
 
 
Observe o programa abaixo e escolha a opção que apresenta o que retorna da função 
chamada. 
 
 
 
 
 
 O maior número é retornado 
 
O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável 
que contem o menor número 
 O menor número é retornado 
 
Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função 
descobre 
 O valor retornado corresponde ao índice da variável que contem o menor número 
 
 
 
 
 
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á 0 
 O programa exibirá 4 
 O programa exibirá 9 
 O programa exibirá 5 
 Ocorrerá um erro 
 
 
 
 
 
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). 
 
 
 
 
 Tipo, Nome e Parâmetros. 
 Tipo, Parâmetro e corpo da função. 
 Nome, Parâmetro e Corpo da função. 
 Tipo , Nome, e Corpo da função. 
 Tipo,Nome, Parâmetros e Corpo da Função. 
 
 
 
 
 
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? 
 
 
 
 
 strlen( ). 
 strcat( ). 
 strcont( ). 
 atoi( ). 
 strlength( ). 
 
 
 
 
 
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][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]; 
 
 
 
 
 
6. 
 
 
Função em C onde são colocados todos os comandos e outras funções que desejamos que 
sejam executadas 
 
 
 
 
 end 
 systema("pause") 
 begin 
 main() 
 return 
 
 
1. 
 
 
A função rewind() de protótipo 
 
void rewind (FILE *fp); 
tem como comportamento: 
 
 
 
 Retornar a posição corrente do arquivo para o fim. 
 
 
Adiantar para a próxima posição corrente do arquivo. 
 
 
Retornar a posição corrente do arquivo para o início. 
 
 
Adiantar a posição corrente do arquivo para o fim. 
 
 
Adiantar a posição corrente do arquivo para o início. 
 
 
 
 
 
 
 
 
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("ARQ", ARQ2); 
 
 
rename("ARQ2", "ARQ"); 
 
 
rename("ARQ, ARQ2"); 
 
 
rename(ARQ2, ARQ); 
 
 
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. 
 
 
 
 
 
 
Para leitura e gravação 
 
 
Para leitura e edição 
 
 
Não precisa abrir o arquivo 
 
 
Somente para gravaçã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() 
 
 
sscanf() 
 
 
fgets() 
 
 
fgetc() 
 
 
fscanf() 
 
 
 
 
 
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; 
} 
 
 
 
 
 
ABCDEF 
 
 
ABCYDEF 
 
 
ABC 
 
 
ABCDEFY 
 
 
DEF 
 
 
 
 
 
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( tamanho, endreçoElemento, ptrArq); 
 
 
fwrite(endreçoElemento, tamanho, quantidade); 
 
 
fwrite(quantidade, ptrArq, endreçoElemento,tamanho); 
 
 
fwrite(endreçoElemento, tamanho, quantidade, ptrArq);

Outros materiais