Prévia do material em texto
LINGUAGEM DE PROGRAMAÇÃO 1
AULA 1
1a Questão
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:
Complexidade e Estruturada
Portabilidade e Modularidade
Estruturada e Rapidez
Portabilidade e Estruturada
Rapidez e Portabilidade
2a Questão
A diretiva #include < stdio.h> faz referência a:
Nenhuma das alternativas acima.
Declarações de funções para tratamento de texto.
Declarações de funções úteis para entrada e saída de dados.
Declarações de funções para cálculo matemático.
Declaração de funções para tratamento numérico.
3a Questão
Acerca das variáveis, podemos destacar que os tipos básicos do C, são:
int, texto, inteiro e double.
string, int, float e double.
Nenhuma das alternativas acima
char, bool, real e int.
char, int, float e double.
4a Questão
Para que possamos criar nossos programas na linguagem C, iniciamos por criar o ______________, o qual pode ser feito através de um editor de texto não formatado e salvo com a ______________ ou mesmo utilizar um editor da linguagem, como o DEV C++. De acordo com o sistema operacional isto pode ser um pouco diferente. Após esta etapa, devemos ___________ e linkeditar o programa gerando o arquivo _____________, o qual após ser executado apresenta o resultado de nosso programa.
Das opções apresentadas, marque aquela que completa respectivamente e corretamente os espaços em branco destacados do texto, segundo os conceitos da linguagem C apresentados no material didático da disciplina.
Código base - extensão .c - compilar - fonte
Executável - extensão .c - compilar - fonte
Código de texto - extensão .txt - editar - fonte
Código fonte - extensão .c - compilar - executável
Fonte - extensão .txt - editar - executável
5a Questão
Acerca da Linguagem de Programação C, podemos afirmar que: I) Todo programa em C é composto de uma ou mais funções. II) Uma função main deve ser definida em cada programa. III) O C é case sensitive, ou seja, diferencia maiúsculas de minúsculas. IV) O C é baseado na Linguagem UAL. Marque somente a única resposta correta:
Somente as afirmativas I, II e III são corretas.
Somente a afirmativa I é correta.
Somente a afirmativa IV é correta.
Nenhuma das afirmativas é correta.
Somente as afirmativas I e IV são corretas
6a Questão
Em C++, quando temos variáveis do tipo CPF, identidade, matrícula, número do telefone, apesar de serem números não fazemos cálculo com eles. Logo podemos declarar estas variáveis como do tipo:
char
int
boolean
string
float
7a Questão
Uma das características mais marcantes da linguagem C é a sua portabilidade. Os códigos escrito em C são portáveis, o que significa que é possível executa-los nos mais diferentes tipos de arquiteturas. Tendo um programa C compilado para Windows, para executa-lo em Linux, identifique a opção CORRETA:
Basta apenas copiar o código executável para o Linux e executa-lo.
Ocorrerá erro, pois todas as instruções da linguagem C são incompatíveis com o Linux.
Precisamos recompilar o código fonte para o Linux.
Só é possível copiar o código executável do Linux para o Windows e executa-lo.
Ocorrerá erro, pois os programas C não rodam em Linux.
8a Questão
Na Aula 1, estudamos algumas características e vantagens da linguagem C. Observe as afirmativas abaixo e assinale a opção que contem a resposta correta.
I Tem boa Portabilidade.
II Não pode ser modularizada.
III É uma linguagem Orientada a Objetos.
IV Uma linguagem que pode manipular endereços de memória.
V Não possui um propósito especifico.
As afirmativas II, 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 I, IV e V estão corretas e as demais, erradas.
As afirmativas IV e V estão corretas e as demais, erradas.
As afirmativas I e IV estão corretas e as demais, erradas.
AULA 2
1a Questão
Qual o nome da função matemática que calcula a potenciação de um número?
sqrt
double
elevado
pow
pot
2a Questão
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?
strlength( ).
strlen( ).
strcont( ).
strcat( ).
atoi( ).
3a Questão
Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include
int main()
{
printf ("%s%d%%","Juros de ",10);
}
Nada porque tem muitos %
%s%d%% Juros de 10
Juros de 10%
% Juros de 10
10 Juros de
4a Questão
Desenvolva uma função em linguagem C que receba 2 números diferentes e retorne o maior valor.
float maior(float num1, float num2) { if(num1 > num2) return num1; else return num2; }
float maior(float num1, float num2) { if(num1 < num2) return num1; else return num2; }
float maior(float num1, num2) { if(num1 > num2) return num1; else return num2; }
def maior( num1, num2) { if(num1 >= num2) return num1; else return num2; }
maior(float num1, float num2) { if(num1 > num2) return num1; else return num2; }
5a Questão
No comando: printf("Este é o numero: %d", 8); O que é o número "8"?
Uma constante
Uma variável
Um endereço
Um caractere
Um ponto flutuante
6a Questão
Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas.
De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
string.h - Funções para concatenação de strings com inteiros.
time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
math.h - Funções matemáticas
stdlib.h - Funções de entrada e saida.
stdio.h - Funções para gráficos.
Ref.: 201704880039
7a Questão
Na linguagem C, as strings "%d", "%f" e "%s" estão usualmente associadas ao uso da função:
printf
getch
void
main
feof
8a Questão
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 "c:\ minhasFuncoes.h\funcoes"
#include "c:\funcoes\ minhasFuncoes.h"
#include
#include minhasFuncoes.h
#include "minhasFuncoes.h"
AULA 3
1a Questão
São todos operadores aritméticos da Linguagem C:
>, >=, <, <=, ==
MOD, DIV, %, &&
%, ||, &&, ==
&&, ||, !
+, -, *, /
2a Questão
Na linguagem de programação C, como em outras, na criação de programas, devemos definir os tipos de dados para nossas variáveis de acordo com o problema em questão.
Das opções apresentadas qual possui apenas tipos da linguagem C, conforme o material apresentado nas aulas.
char, int, float, double, void
char, int, real, double, boolean
char, integer, float, real, boolean
char, int, real, double, void
char, int, float, double, boolean
3a Questão
Estava pesquisando na internet, quando li, num fórum, um pedido de ajuda que incluía um programa codificado na linguagem C, apresentado abaixo. A pessoa não tinha um compilador e não estava conseguindo analisar o programa.Acompanhei no Teste de Mesa, supondo que eu teria digitado 345 quando foi solicitado um número inteiro de três algarismos. Assinale a resposta CORRETA que apresenta o que foi exibido na tela.
0343 (O valor absoluto do resultado da expressão formatada)
- 0.00289(O inverso do número formatado)
-0012 ( Representa a soma dos algarismos do número -345 formatado)
0345 (O valor absoluto do número formatado)
0543(O valor absoluto do número espelhado formatado)
4a Questão
A linguagem C/C++ utiliza variáveis, que podem ser classificadas como globais ou locais.
Dentre as opções, assinale a que expressa corretamente à definição de "variável global" da linguagem C/C++.
Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das funções.
Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro do escopo das funções.
São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas variáveis foram declaradas.
São declaradas dentro do main(). E suas variáveis são escritas dentro do escopo das funções.
São declaradas no final de um bloco. Seus escopos não estão restritos aos blocos em que essas variáveis foram declaradas.
5a Questão
A declaração de uma variável na linguagem C é realizada com a informação do tipo de dado que a variável irá armazenar em seguida o nome da variável.
Que tipo de informação é passada para o sistema operacional quando na declaração de uma variável informamos o tipo de dado que esta irá armazenar.
nenhuma informação pra o sistema operacional
quantidade de memória alocada
endereço de memória alocada
tipo de memória alocada
qualidade da memória alocada
6a Questão
Os operadores de incremento (++) e decremento (--) são muito utilizados no desenvolvimento de programas. Se em uma linha de um programa em C utilizarmos o seguinte comando: a=b++, qual das opções abaixo demonstra a operação que será executada:
a=b; b=b+1;
a=b; b=b-1;
a=a+1; b=b+1;
b=b-1; a=b;
b=b+1; a=b;
7a Questão
As bibliotecas da linguagem C guardam funções predefinidas da linguagem. Veja o código a seguir e marque a alternativa que contém as bibliotecas necessárias para que este código funcione.
#include________
#include________
int main()
{
int a=2, b=2, c=8, delt;
delt=(pow(b, 2)-(4*a*c));
system("pause");
return (0);
}
Não leve em consideração os sinais de maior e menor que envolvem o nome das bibliotecas.
math.h - stdlib.h
stdio.h - stdlib.h
stdlib.h - ctype.h
cmat.h - ctype.h
stdio.h - ctype.h
8a Questão
Considerando que a variável TemperC receba valor de temperatura em graus Celsius digitado pelo usuário e que a variável TemperF seja o resultado da temperatura de entrada em graus Fahrenheit, qual seria a linha de comando correta, sabendo que oF = oC x 1,8 + 32.
TemperF = TemperC * 1,8 + 32
TemperF = TemperC x 1.8 + 32
TemperF = TemperC * (1.8 + 32)
TemperF = (TemperC * 1.8) + 32
TemperF = (TemperC * 1,8) + 32
AULA 4
1a Questão
Observe o trecho do programa abaixo:
float a, b, c;
printf("\n Digite o primeiro numero: ");
scanf ("%f",&a);
printf("\n Digite o segundo numero: ");
scanf ("%f",&b);
if (a >= b) {
printf("Valor de c: %f" , c = a + b);
}
else {
printf("Valor de c: %f" , c = a - b);
}
Se o usuário digitar os números abaixo, marque a opção que contém as saídas corretas.
10 e 5 ; 8 e 8 ; 3 e 9 ; 25 e 15 ; 6 e 32.
16 ; 0 ; -6 ; 40 ; 26
16 ; - 16 ; -6 ; 40 ; -26
15 ; 16 ; 6 ; 40 ; -26
15 ; 0 ; -6 ; 35 ; 26
15 ; 16 ; -6 ; 40 ; -26
2a Questão
Qual dos trechos de programa em C++ apresentados indica corretamente se um numero é par ou impar?
cin >> numero;
if (numero % 2 = 0)
cout << "par";
else
cout <<"impar";
cin >> numero;
cout << numero %2;
cin >> numero;
if (numero %2 == 0)
cout << "par";
else
cout <<"impar";
cin >> numero;
if (numero %2 = 1)
cout << "par";
else
cout <<"impar";
cin >> numero;
if (numero / 2 == 0)
cout << "par";
else
cout <<"impar";
3a Questão
No contexto do comando switch e do uso do comando break emm seu interior, na linguagem de programação C é correto afirmar que:
a expressão usada numa cláusula case de um comando switch pode ser de qualquer tipo e deve conter pelo menos uma variável;
os comandos na cláusula case default de um comando switch são executados apenas se nenhuma das cláusulas case anteriores possuir um comando break;
não é possível executar comandos de uma das cláusulas case de um comando switch na mesma execução desse comando.
toda cláusula case de um comando switch, incluindo a cláusula case default, deve conter um comando break;
quando um comando break é executado, o comando switch é encerrado e o fluxo de controle passa para o próximo comando após o fim do comando switch
4a Questão
Se precisarmos testar o conteúdo de uma variável e sabendo-se que só serão executados comandos se o teste retornar verdadeiro, qual estrutura você indicaria para esse caso?
if else if
if
if else
printf()
switch()
5a Questão
Em relação aos operadores relacionais, o resultado de sua expressão é sempre igual a:
Decisão de parada ao comando while e do... while.
Nenhuma das alternativas anteriores.
Uma decisão de fluxo para o comando if.
Resposta && ou ||.
0 (falso) ou 1 (verdadeiro)
6a Questão
Qual a saída esperado no trecho de código abaixo:
int x = 4;
int y = 8;
if (x < 2){
printf("%d", x);
} else{
printf("%d", y);
}
4
12
9
8
\n8
7a Questão
O Operador ternário é uma forma elegante de representar if else if, visto que é abreviada. Observe o trecho abaixo e assinale a opção que descreve o que faz.
int a=12, b=35, c=7, resp;
resp=(a>b && a > c) ?a: (b>c) ? b/c:c;
printf (''valor: %d'' , resp);
Exibe valor: 0
Exibe valor: 12
Exibe valor: 7
Exibe valor: 5
Exibe valor: 35
8a Questão
Na construção de programas na linguagem C, precisamos tomar muito cuidado com a sintaxe das expressões condicionais, para que não tenhamos resultados inesperados.
Supondo que as variáveis foram devidamente declaradas e levando em conta apenas a linha de código apresentada, dentre as opções qual apresenta erro na sintaxe para a linguagem C.
if (x > 0) a = 2 else b = 2 ;
if x > 0 { a = 2;}
if (a > 0) {a = 2;} else {b= 2;}
if (a > 0) {a = 2;} else if (b < 10) {b= 2;}
if (a > 0) { a = 2;}
AULA 5
1a Questão
Sabendo que no programa abaixo foi digitado na sequencia os números 4 e 10. Marque a alternativa que contém a saída gerada pelo programa para a entrada fornecida.
#include
using namespace std;
int main() {
int a, b;
cin >> a >> b;
a = a + 1;
while ( a < b ) {
cout << " " << a;
a = a + 1;
}
}
4 5 6 7 8 9 10 11
5 6 7 8 9 10
5 6 7 8 9 10 11
4 5 6 7 8 9
5 6 7 8 9
2a Questão
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 estruturawhile, testam no início
Somente I, III e V estão corretas
Somente I, II, III e V estão corretas
Somente II, III e V estão corretas
Somente I, III e IV estão corretas
Somente I e V estão corretas
3a Questão
Qual será a saída do programa abaixo?
int main() {
int i=0;
do {
i++;
cout << i << endl;
} while (i < 2);
}
2
1
2
1 2
0
1
2
0
1
4a Questão
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{ // [bloco de comandos] }
while (cfp !=0);
if (cpf != 0)
{ // [bloco de comandos] }
do while (cfp !=0)
{ // [bloco de comandos] }
for (cpf=0; cpf !=0; cpf++)
{ // [bloco de comandos] }
5a Questão
Um programa que contém a linha de comando abaixo:
int soma, i = 0;
while ( i < 50000) {
if ( i % 7 == 0) {
soma = soma + i;
}
i++ ;
Qual será a saída:
Soma dos números inteiros menores que 50000 ímpares.
Soma dos números inteiros menores que 50000.
Soma dos números inteiros menores que 50000 divido por 7.
Soma dos números inteiros menores que 50000 com resto 7.
Soma dos números inteiros menores que 50000 divisíveis por 7.
6a Questão
Qual a estrutura de repetição usada para quantidade indeterminada de repetições?
switch
struct
while
for
if-else
7a Questão
1. Sabendo-se que um usuário entrou com o primeiro número (num1) igual a 10 e o segundo (num2) número igual a 20, analise o trecho do código apresentado na figura 1 e marque a resposta que confere exatamente com a saída esperada pelo código.
Figura 1
8a Questão
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
enquanto (num > 0)
for ( i = 0; i == num; i++)
while (num != 0)
while (num == 0)
for (i = num; i > 0; i++)
AULA 6
1a Questão
Os chamados vetores e matrizes podem ser considerados como:
Comandos de seleção composta
Estruturas de dados homogêneas
Comandos de repetição
Estruturas de dados heterogêneas
Comandos de seleção
2a Questão
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[] = {10, 15, 20, 25, 30};
char valores[] = {'A', 'B', 'C', 'D'};
char valores[5] = {'A', 'B', 'C', 'D'};
char valores = "ABCD";
int valores[5] = {10, 15, 20, 25, 30};
3a Questão
Qual o elemento do vetor referenciado por vet[vet[5]]?
9
3
2
4
1
4a Questão
Qual das alternativas abaixo possui o comando que devolve o numero de caracteres em um uma string?
strcat
strcamp
strcap
strlen
strcout
5a Questão
Um aluno estava estudando matrizes e se deparou com um pequeno problema: toda vez que ele pedia para exibir o conteúdo de uma variável de uma matriz unidimensional, o resultado que aparecia era outro.
Sabe-se que ele dimensionou uma matriz de nome numerosI para armazenar 100 números inteiros e que ele construiu um trecho que exibia, numerado de 1 até 100, os números digitados.
Observe o trecho do programa abaixo e assinale a opção onde estão presentes a declaração da matriz e a chamada correta do número escolhido pelo usuário.
6a Questão
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?
toupr
convertUpper
toupper
convertUp
upper
7a Questão
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[3] = ( 0, 1, 2);
int numeros(2) = { 0, 1, 2};
int numeros[2] = [ 0, 1, 2];
integer numeros[3] = [ 0, 1, 2];
8a Questão
Qual o elemento do vetor referenciado por vet[3]?
1
0
2
4
7
AULA 7
1a Questão
Analise o programa a seguir e escolha a opção que ilustra o que será exibido para o usuário caso ele digite o valor 4.
sexta
dia não existe
quinta
terça
quarta
2a Questão
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];
int matrizExemplo[10][20];
matrizExemplo float[20][10];
int matrizExemplo[10,20];
matrizExemplo int[10][20];
3a Questão
Para declararmos uma matriz inteira n de 5 linhas e 4 colunas, fazemos:
int n[5][4];
int n[4][3];
float n[5][4];
char n[5][4];
char n[4][3];
4a Questão
Qual o elemento do vetor referenciado pela expressão MAT[0][2]?
3.2
1.1
1.2
6.4
2.7
5a Questão
Uma matriz é definida como float mat[5][10]; Quantos elementos esta matriz armazena?
50 elementos
45 elementos
36 elementos
10 elementos
5 elementos
6a Questão
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];
char nomes [20][30];
char nomes (20,30);
char nomes [30][20];
char nomes (30);
7a Questão
Analise o programa a seguir e escolha a opção que ilustra o que será exibido para o usuário caso ele digite o valor 7
.
quinta
dia não existe
sábado
sexta
quarta
8a Questão
Considere que todas as bibliotecas necessárias foram declaradas.
int main()
{
int mat[3][3], i, j, det;
puts("Codigo que calcula o determinante de uma matriz 3x3\n");
____{
puts("Digite os elementos da matriz\n");
____(i=0;i<3;i++)
____(j=0;j<3;j++)
scanf("%d", &mat[i][j]);
fflush(stdin);
det= (mat[0][0]*mat[1][1]*mat[2][2]) + (mat[0][1]*mat[1][2]*mat[2][0]) + (mat[0][2]*mat[1][0]*mat[2][1]) - ((mat[0][1]*mat[1][0]*mat[2][2]) + (mat[0][0]*mat[1][2]*mat[2][1]) + (mat[0][2]*mat[1][1]*mat[2][0]));
printf("\ndet=%d\n", det);
} ____ (det==0);
system("pause");
return (0);
}
Complete as lacunas do código da maneira correta para que o programa funcione corretamente.
do-if-for-while
while-for-do-for
do-if-else-while
do-for-for-while
do-while-for-for
AULA 8
1a Questão
MARQUE A OPÇÃO REFERNETE VALOR FINAL DA VARIÁVEL RESULT?
18
9
6
7
11
2a Questão
Qual o tipo de retorno e quantos parâmetros tem a função abaixo?
float media(int n1, int n2, int n3){
return (n1+n2+n3)/3;
}
Tipo de retorno: float Quantidade de parâmetros: 2
Tipo de retorno: int Quantidade de parâmetros: 3
Tipo de retorno:media Quantidade de parâmetros: 3
Tipo de retorno: media Quantidade de parâmetros: 2
Tipo de retorno: float Quantidade de parâmetros: 3
3a Questão
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.
Nome, Parâmetro e Corpo da função.
Tipo , Nome, e Corpo da função.
Tipo, Nome, Parâmetros e Corpo da Função.
Tipo, Parâmetro e corpo da função.
4a Questão
Dada a função abaixo, qual o valor que será retornado quando esta função for chamada com: perc(200, 15)
float perc(float val, float perc) {
float resp;
resp = val + val * (perc/100);
return resp;
}
130
230
170
215
30
5a Questão
Um engenheiro gostaria de definir uma função para resolver um determinado problema.
Observe o código abaixo e identifique a opção que exibe o que é retornado pela função.
Retorna o total de números digitados e divisíveis por 10
Retorna 0 caso o número digitado seja negativo
Retorna 1 se o número digitado for divisível por 10
Retorna o total de algarismos do número digitado independente do sinal
Nada retorna porque tem erro na função, uma vez que não testa se o número é negativo
6a Questão
Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas
begin
main()
systema("pause")
end
return
7a Questão
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:
Ocorrerá um erro
O programa exibirá 0
O programa exibirá 9
O programa exibirá 4
O programa exibirá 5
8a Questão
Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de parâmetros de Passagem por:
endereço
valor
memória
referência
ponteiro
AULA 9
1a Questão
Qual o modo de abertura de arquivo me permite ler, mas não escrever?
w
a+
a
r
r+
2a Questão
A função fgets():
imprime um caracter de cada vez.
lê uma linha inteira de uma vez.
imprime uma linha inteira de uma vez.
lê um caracter de cada vez.
lê um arquivo inteiro de uma vez.
3a Questão
Considere que as bibliotecas necessárias foram devidamente declaradas.
int main() {
FILE *arq ;
int i;
_____ c ;
arq = _____ ( " jornal.txt " , " r " ) ;
if ( arq == NULL ){
printf ( " Erro na abertura do arquivo " ) ;
system ( " pause " ) ;
exit ( 1 ) ;
} else
for ( i = 0; i<5; i++){
c = fgetc ( arq ) ;
printf( "%c", c ) ;
}
_____( arq ) ;
system ( " pause " ) ;
return 0;
}
Complete as lacunas do código para que o programa funcione corretamente.
A ordem em que as palavras são dispostas na resposta, devem preencher respectivamente as lacunas.
char - fopen - fclose
float - fopen - fclose
int - open - close
char - fopen - fechar
int - abrir - fopen
4a Questão
Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.
Das afirmativas apresentadas qual define corretamente qual a finalidade da função fputc() .
Função que fecha um arquivo.
Funções para gravar uma linha.
Função para gravar um caractere.
Função que detecta o fim do arquivo.
Funções para gravação formatadas.
5a Questão
Qual o objetivo do programa abaixo?
Gravar no arquivo de texto apenas os valores impares do Vetor x.
Ler do arquivo texto o valor de X, exibir na tela e fechar o arquivo de texto.
Ler o valor de X via teclado, gravar no arquivo de texto o valor de X digitado pelo usuário e fechar o arquivo.
Ler do arquivo texto o valor de X e exibir na tela.
Gravar no arquivo de texto todos os dados do Vetor x.
6a Questão
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.
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.
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.
7a Questão
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", "w");
arq = fopen("texto.txt", "a+");
arquivo = fopen("material.dat", "a+");
arquivo = fopen("material.dat", "w+");
arquivo = fopen("material.dat", "r+");
8a Questão
Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.
Das afirmativas apresentadas qual define corretamente qual a finalidade da função feof() .
Funções para ler um caractere.
Funções para leitura formatada.
Funções para gravar uma linha.
Função que fecha um arquivo.
Função que detecta o fim do arquivo.
AULA 10
1a Questão
Suponha que o arquivo dados.txt contém a cadeia de caracteres "ABCYDEF" e nada mais. O que o seguinte programa imprime?
int main( void) {
FILE *entrada;
int c;
entrada = fopen( "dados.txt", "r");
while ((c = getc( entrada)) != EOF)
printf( "%c ", c);
fclose( entrada);
return EXIT_SUCCESS;
}
DEF
ABCDEFY
ABCYDEF
ABC
ABCDEF
2a Questão
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("ARQ", "ARQ2");
rename(ARQ2, ARQ);
rename("ARQ, ARQ2");
rename("ARQ2", "ARQ");
3a Questão
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.
fgets()
sscanf()
fprint()
fscanf()
fgetc()
4a Questão
A função rewind() de protótipo
void rewind (FILE *fp);
tem como comportamento:
Adiantar para a próxima posição corrente do arquivo.
Retornar a posição corrente do arquivo para o fim.
Retornar a posição corrente do arquivo para o início.
Adiantar a posição corrente do arquivo para o início.
Adiantar aposição corrente do arquivo para o fim.
5a Questão
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(quantidade, ptrArq, endreçoElemento,tamanho);
fwrite( tamanho, endreçoElemento, ptrArq);
fwrite(endreçoElemento, tamanho, quantidade);
fwrite(endreçoElemento, tamanho, quantidade, ptrArq);
6a Questão
Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo.
Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade.
Somente para leitura
Para leitura e edição
Para leitura e gravação
Somente para gravação
Não precisa abrir o arquivo