Prévia do material em texto
Linguagem Programação
1.
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
I, III e IV estão corretas
I e IV estão corretas
II, III e IV
Todas estão corretas
Todas estão erradas
Explicação:
I Com pequenas modificações, um código poderá ser compilado em várias plataformas VERDADE (Portabilidade)
II Não pode ser modularizada FALSO. Porque possibilita que o desenvolvedor defina funções (Modularizando).
III Possui um propósito específico FALSO. Não tem nenhum propósito específico.
IV Considerada de nível intermediário VERDADE. Porque o conceito de Ponteiro possibilita um acesso direto à MP.
Gabarito Coment.
2.
Na Aula 1, estudamos algumas características e vantagens da linguagem C. Observe as afirmativas abaixo e assinale a opção que contem a resposta correta.
I Tem boa Portabilidade.
II Não pode ser modularizada.
III É uma linguagem Orientada a Objetos.
IV Uma linguagem que pode manipular endereços de memória.
V Não possui um propósito especifico.
As afirmativas II, III e IV estão corretas e as demais, erradas.
As afirmativas IV e V estão corretas e as demais, erradas.
As afirmativas II, 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 I e IV estão corretas e as demais, erradas.
Explicação:
A linguagem C é estruturada. Inovou com o conceito de funções, modularizando o programa. Com poucas, ou nenhuma, modificação migra para outros sistemas. O conceito de Ponteiro possibilita manipular endereço de memória e não tem um propósito específico.
Sendo assim, a resposta correta é: As afirmativas I, IV e V estão corretas e as demais, erradas.
Gabarito Coment.
Gabarito Coment.
3.
A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere as seguintes afirmativas:
|) Possibilidade em programação de alto e baixo nível;
||) Grande período para o aprendizado.
|||) Adequação a grandes projetos;
Assinale a alternativa que contem apenas vantagens da linguagem C++.
Apenas |
|| e |||
| e ||
| e |||
Apenas |||
Explicação:
A únicaa alternativa errada é a que considera um longo período de aprendizado, já que estas são linguagens que possuem uma sintaxe fácil e conjunto de comandos limitados.
Gabarito Coment.
4.
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.
Modularidade
Reuso
Flexibilidade
Polimorfismo
Portabilidade
Explicação:
A Portabilidade é uma das grandes vantagens da linguagem C porque com poucas modificações( às vezes, nenhuma) podemos compilar em qualquer arquitetura.
Gabarito Coment.
Gabarito Coment.
5.
A Linguagem C foi inventada e foi implementada no inicio dos anos 70 por Dennis Ritchie em um DEC PDP-11, usando o Sistema Operacional UNIX.
Marque a alternativa CORRETA:
A linguaem C é uma linguagem interpretada e pode ser executada em vários sistemas operacionais.
A linguagem C é uma linguagem compilada e pode ser executada em vários sistemas operacionais.
A linguagem C é uma linguaem interpretada e compilada mas só é executada no UNIX.
A linguagem C é uma linguagem compilada e só pode ser executada no Windows.
A linguagem C é uma linguagem interpretada e só pode ser executada no WINDOWS.
Explicação:
A linguagem de programação C é uma linguagem compilada e muito flexível, pois pode ser compilada para execução em diversos sistemas operacionais.
6.
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 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.
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.
Explicação:
Conforme, estudamos na aula 1, mesmo sem usarmos uma IDE, podemos editar, compilar e executar no Linux, usando um editor de texto comum, salvando com a extensão c e, no terminal, usar o gcc para compilar e executar no terminal,
Sendo assim, a resposta CORRETA é:
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.
Gabarito Coment.
7.
Com relação a diretiva de pré compilação #include, pode-se dizer que:
É usada para declarações de objetos externos (protótipos de funções e variáveis)
É usada para inclusão de arquivos cabeçalhos (headers)
É usada para parar a execução de um programa
É usada para definição de constantes
É usada parra definições de funções (incluindo a função main())
Explicação:
Na linguagem C utiliza-se a diretiva de pre-compilação #include para incluir arquivos ou bibliotecas ao código.
Ex: #include
#include
8.
Qual a vantagem da Linguagem C que está descrita no texto abaixo?
'Um programa que, com pouca ou nenhuma modificação, poderá ser compilado em várias plataformas.'
Modularidade
Simplicidade
Estruturada
Rapidez
Portabilidade
Explicação:
A resposta está na Aula 1 quando estudamos as sete vantagens da Linguagem C.
1.
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:\funcoes\ minhasFuncoes.h"
#include
#include "minhasFuncoes.h"#include "c:\ minhasFuncoes.h\funcoes"
#include minhasFuncoes.h
2.
Qual biblioteca da linguagem C contém as funções para exibir mensagens na tela?
Cio.h
math.h
stdio.h
stdstring.h
tela.h
Explicação:
A biblioteca do C que possui funções para maniulação de entrada e saída de dados é a stdio.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);
}
% Juros de 10
%s%d%% Juros de 10
Juros de 10%
10 Juros de
Nada porque tem muitos %
Gabarito Coment.
4.
Saída formatada necessita de muita atenção.
Se você precisasse exibir 12345 utilizando 8 casas e preenchendo com zero as que não fossem necessárias, qual das opções abaixo você escolheria?
printf("%8d\n", 12345);
printf("%80d\n", 12345);
printf("%d\n", 12345);
printf("%08d\n", 12345);
printf("%d8\n", 12345);
Explicação:
Assunto bem explorado na Aula 2.
5.
Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h.
Assinale o trecho correto que possibilita incluí-las.
#define
#define
#define
#include
#include
#include
#include
#include
#include stdio.h
#include stdlib.h
#include math.h
Gabarito Coment.
6.
Qual será a saída do comando abaixo: printf("O valor de Pi é %.6f", pi);
O valor de Pi é pi
O valor de Pi é 3.14
O valor de Pi é 3.1415926535897932384626433832795
O valor de Pi é 3,14
O valor de Pi é 3.141592
Explicação: .6: 6 casas decimais
7.
Na Linguagem C, encontramos três funções que podem exibir na tela.
Leia com atenção as afirmativas abaixo e selecione a opção correta
I A função puts() exibe uma cadeia de caracteres, mas não exibe conteúdo de variáveis.
II A função printf() exibe cadeia de caracteres, conteúdo de variáveis de qualquer tipo, resultado de expressões.
III A função putchar() exibe uma cadeia de caracteres ou o conteúdo de variáveis do tipo char com um caractere ou um conjunto de caracteres.
A afirmativa II é a única correta
A afirmativa II está errada e as demais corretas
A afirmativa III está errada e as demais corretas
Todas as afirmativas estão corretas
A afirmativa I está errada e as demais corretas
Explicação:
O aluno precisa saber o que cada função é capaz de exibir. Esse conteúdo está na AULA 2.
8.
Temos linhas e colunas na tela. A um conjunto de 8 colunas, chamamos de zona.
Estudamos os caracteres \n e \t na Aula 2
Se você precisasse exibir VOU na terceira zona de uma linha estando o cursor na primeira coluna dessa linha e GABARITAR na segunda zona de uma linha que tem, antes dela,duas linhas em branco, qual das opções abaixo você escolheria?
printf("\t\tVOU\n\tGABARITAR\n");
printf("\t\t\tVOU\n\n\tGABARITAR\n");
printf("\t\tVOU\n\n\tGABARITAR\n");
printf("\t\tVOU\n\n\n\tGABARITAR\n");
printf("\t\t\tVOU\n\tGABARITAR\n");
Explicação:
Assunto bem explorado na Aula 2.
1.
Qual a função da stdio.h que exibe formatado um, ou vários caracteres, constante numérica, conteúdo de variável, retorno de função?
putchar("string")
printf("string")
scanf("string")
msg("string")
puts("string")
Explicação:
Apenas a printf é capaz de exibir uma saída formatada e o conteúdo de uma variável.
2.
Qual a funções da biblioteca stdio.h, da linguagem C usada exclusivamente para exibir apenas um caracter na tela?
msg('char')
printf('char')
scanf('char')
puts('char')
putchar('char')
Explicação:
Embora as funções puts() e printf() possam exibir um caracter, a função que exibe exclusivamente um caracter é a putchar()
3.
Assinale a função que não é disponível na plataforma Linux.
main()
printf()
system()
scanf()
return
4.
Se executarmos o comando printf(ceil(3.2));.O que será exibido na tela?
4
3.2
3
0.2
4.2
Explicação:
Será exibido na tela o número 4, pois a função ceil() arredonda um número real para o inteiro superior mais próximo.
5.
Um aluno precisava fazer uma citação e deveria colocar uma frase entre aspas.
Escolha a opção que poderá resolver o problema dele.
printf("\"LPI\"");
Como as aspas são usadas para delimitar a cadeia, não se pode fazer isso.
A solução seria usar aspas simples duas vezes para substituir printf("''LPI''"); .
printf(\"LPI\");
printf("\"LPI\");
Explicação:
Esse assunto foi bem explorado na AULA 2.
6.
Se a variável p está armazenando o valor 6, qual valor será armazenado na variável r após ser axecutada a função: r = pow (r,3)
36
18
98
126
216
7.
Quais as funções da biblioteca stdio.h, da linguagem C usadas para exibir mensagens na tela?
putchar("string") e puts("string")
printf("string") e msg("string")
msg("string") e puts("string")
putchar("string") e printf("string")
printf("string") e puts("string")
Explicação:
msg não é uma função da stdio.h, putchar() exibe apenas um caracter, portanto as únicas funções que são capazes de exibir uma mensagem e pertencem a stdio.h são a puts() e a printf()
8.
No comando: printf("Este é o numero: %d", 8); O que é o número "8"?
Uma constante
Um ponto flutuante
Um endereço
Um caractere
Uma variável
1.
Um aluno declarou uma variável inteira da seguinte forma: int num =145;
Qual linha ele deverá incluir em seu programa para que exiba o conteúdo com quatro casas alinhadas à direita, deixando espaços quando não for usada a posição.
printf("\nValor de num: %.f ",(float)num);
printf("\nValor de num: %04d ",num);
printf("\nValor de num: %.4d",num);
printf("\nValor de num: %.f ",num);
printf("\nValor de num: %4d ",num);
Explicação:
O aluno precisa conhecer todos os especificadores de formato e o que significa casting(conversão de tipo)
2.
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 segundasolicitação. Escolha a opção onde está presente o valor do imposto.
Valor do imposto a ser pago: 1000.00
Valor do imposto a ser pago: 800.00
Valor do imposto a ser pago: 650.00
Valor do imposto a ser pago: 750.00
Valor do imposto a ser pago: 850.00
Explicação:
A variável imposto recebe (4000 + 1000) e que multiplicado por 15 obterá o resultado 7500.00. Depois, esse valor é dividido por, totalizando 750.00
Gabarito Coment.
Gabarito Coment.
3.
Com relação a uma variável global podemos afirmar que:
Só é possivel acessar essa variável dentro do escopo da função que esta foi declarada
A declaração de uma variável global é feita fora de qualquer escopo do programa, inclusive fora da função main().
A declaração de uma variável global é feita sempre dentro da função main()
O identificador de uma variável global será feito obrigatoriamente com caracteres maiúsculos
O identificador de uma variável global inicia obrigatoriamente com com o caracter 'G'.
Explicação:
Uma variável global deve ser declarada fora de qualquer escopo do programa, esta pode ser acessada de qualquer parte do programa e uma vez declarada seu espaço de alocação só é liberado ao final do programa.
4.
Dado o programa na linguagem de programação C abaixo , informe qual os valores das variáveis x, y, a, b, c e d, respectivamente, ao final de sua execução:
#include
#include
int main(int argc, char *argv[]) {
int a,b,c,d,x,y;
x=10;
y=5;
a=x++;
b=++x;
c=--y;
d=y--;
printf("%d\n",x);
printf("%d\n",y);
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n",d);
return 0;
}
12, 3, 11, 11, 5, 3
11, 7, 12, 10, 3, 5
11, 6, 10, 11, 5, 6
12, 3, 10, 12, 4, 4
12, 7, 10, 10, 6, 4
Explicação:
Analisando
int a,b,c,d,x,y; //Declarando as variáveis
x=10; //Atribuindo 10 à variável x
y=5; // Atribuindo 5 à variável y
a=x++; //O valor de x (10) é atribuído à variável a e, depois, a variável x é incrementada de 1 e fica com 11
b=++x; //A variável x é incrementada de 1 e fica com 12 e, depois, a variável b recebe 12
c=--y; //A variável y é decrementada de 1 e fica com 4 e, depois, a variável c recebe 4
d=y--; //O valor de y (4) é atribuído à variável d e, depois, a variável y é decrementada de 1 e fica com 3
printf("%d\n",x);
printf("%d\n",y);
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",c);
printf("%d\n",d);
A saída seria um valor em cada linha
12
3
10
12
4
4
5.
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:
b=b+1; a=b;
b=b-1; a=b;
a=b; b=b+1;
a=a+1; b=b+1;
a=b; b=b-1;
Explicação:
a=b++; Significa que, primeiro, o valor atual de b será atribuído à variável a e, depois, a variável b será incrementada de 1.
Sendo assim, equivaleria aos dois comandos : a=b; b=b+1;
6.
Marque a opção abaixo que mostra um nome que não pode ser usado como identificador de uma variável:
uma
duas2
duas
1uma
uma1
Explicação:
O identificador de uma variável nunca poderá ser iniciado por um número.
7.
Um aluno sabia que, no Código ASCII os algarismo de 0 a 9 têm códigos no intervalo fechado de 48 a 57.
Ele viu várias linhas em um programa e gostaria de saber qual a linha que estava exibindo o algarismo de código 51.
int num=51;
printf("\nValor de num: %.4d",num);
printf("\nValor de num: %d ",num);
printf("\nValor de num: %.f ",num);
printf("\nValor de num: %.f ",(float)num);
printf("\nValor de num: %c ",num);
Explicação:
O aluno precisa conhecer todos os especificadores de formato e o que significa casting(conversão de tipo)
8.
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 * 1.8) + 32
TemperF = (TemperC * 1,8) + 32
TemperF = TemperC x 1.8 + 32
TemperF = TemperC * (1.8 + 32)
1.
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
((pontos>=10) && (pontos <=20))
((pontos>=10) % (pontos <=20))
((pontos>=10) # (pontos <=20))
((pontos>=10) ! (pontos <=20))
((pontos>=10) || (pontos <=20))
Explicação:
((pontos>=10) ! (pontos <=20)) Errada, pois ! é um operador Unário logo, não une expressões relacionais.
((pontos>=10) && (pontos <=20)) CERTA, pois está definindo um intervalo fechado: números maiores ou iguais a 10 e menores ou iguais a 20.
((pontos>=10) || (pontos <=20)) Errada, pois pontos>=10 abrange Todos os pontos maiores ou iguais a 10 e pontos <=20 abrange todos os pontos menores ou iguais a 20. Conclusão, qualquer número
((pontos>=10) # (pontos <=20)) Errada, pois # Não é operador lógico.
((pontos>=10) % (pontos <=20)) Errada, pois % Não é operador lógico.
Gabarito Coment.
Gabarito Coment.
2.
Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
case a=90: printf("Pode") ;break;
90: printf("Pode"); stop;
case a > 90: printf("Pode") ;break;
case 90: printf("Pode") ; break;
90: printf("Pode");
Explicação:
A estrutura switch tem uma sintaxe simples, mas precisamos saber que ela não admite que se use nos casos(cases) operadores relacionais.
Cada case(obrigatório) deverá conter uma constante.
Em alguns casos, o break; poderá ser dispensável.
Sendo assim, duas respostas sem case estão erradas e duas que apresentam operadores relacionais estão erradas.
case 90: printf("Pode") ; break; é a resposta correta.
Gabarito Coment.
3.
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óriousar o comando break; ao final de um case.
V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção default, caso exista.
I, III e IV são verdadeiras
II, IV e V são verdadeiras
II, III e IV são verdadeiras
III e V são verdadeiras
I, III, IV e V são verdadeiras
Gabarito Coment.
Gabarito Coment.
4.
Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro.
O dado testado era do tipo inteiro.
Assinale a opção que ele escolheu.
switch() com quatro cases e um default
switch() com cinco cases
quatro ifs simples
três ifs simples e um composto
quatro ifs simples e um composto
Gabarito Coment.
5.
Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para selecionar funcionários não estava dando certo.
Ele apresentou as cinco opções abaixo.
Assinale a única opção que atende à exigência: o candidato ser do sexo feminino e ter idade no intervalo fechado em 18 e aberto em 30.
if( sexo == 'f' or sexo == 'F' and idade >= 18 and idade <= 30 )
if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 )
if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 30 )
if(( sexo == 'f' || sexo == 'F' ) and idade >= 18 and idade < 30 )
if( sexo == 'f' || sexo == 'F' && idade >= 18 && idade <= 30 )
Gabarito Coment.
6.
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 else
printf()
if
switch()
Explicação:
Estudamos as estruturas: if, if ... else , if ... else if e swtitch().
If (simples) ¿ só executa o bloco se for verdadeiro o teste. Ideal
If.. else (composto) ¿ sempre executa um dos blocos
If ... else if (encadeados) ¿ sempre executa um dos n blocos
switch() ¿ um alternativa para ifs encadeados, mas com restrições a alguns tipos.
Gabarito Coment.
7.
O desenvolvimento de um programa precisa atender as necessidades do usuário final, para isto o desenvolvedor conta com algumas estruturas que facilitam a construção de seu código fonte. Uma delas é a estrutura condicional if.
Das opções apresentadas marque a qual melhor define esta estrutura.
Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa siga por caminhos diferentes.
Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente.
Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por caminhos diferentes.
Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos diferentes.
Testa uma condição e dependendo do resultado permite que o programa siga por caminhos diferentes repetidamente.
Gabarito Coment.
Gabarito Coment.
8.
Observe o trecho de programa abaixo com muita atenção e escolha a opção que mostra o que será exibido.
int a = 5, b = 6 , c = 7;
if( a > b ) puts(" \nUM\n" );
else if ( ( c - b) % 2 == 0) puts(" \nDOIS\n" );
else if ( (a + b) > c * 2) puts( " \nTRES\n" );
else if( c <= b + a ) puts( " \nQUATRO\n" );
else puts(" \nTodas Erradas\n" );
DOIS
UM
TRÊS
TODAS ERRADAS
QUATRO
Explicação:
Operações básicas para serem testadas. Somente uma resposta será possível porque são ifs encadeados.
1.
Analise os códigos descritos nas alternativas de 'A' até 'E' e marque qual o código que fornece exatamente a saída descrita a seguir: Ano valor na conta 0 1000.00 1 1050.00 2 1102.50 3 1157.63 4 1215.51 5 1276.28
a- printf("Ano\t valor na conta\n"); for(i==1;i<=5;i++) { vf=vp*pow(1+0.05,i); printf("%d \t %5.2f \n",i,vf); }
d- printf("Ano\t valor na conta\n"); for(i=0;i<5;i++) { vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf); }
c- printf("Ano\t valor na conta\n"); for(i=0;i==5;i++) { vf=vp*pow(1+0.05,i); printf("%d \t %5.2f \n",i,vf); }
e- printf("Ano\t valor na conta\n"); for(i=0;i<=5;i++) { vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf); }
b- printf("Ano\t valor na conta\n"); for(i=1;i>5;i++) { vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf); }
Explicação: os valores de i começando em zero e imprimindo seu valor até 5, só é atenda pela opção "e".
2.
Considerando com entrada os seguinte números 5 e 10. Marque a alternativa que contém a resposta do programa na tela para os números digitados.
int main() {
int a,b; scanf("%d",&a); scanf("%d",&b);
while (a < b) { printf("%d",a); a = a + 2; }
system("pause");
return 0; }
Nenhuma das outras alternativas
579
56789
57911
57
3.
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?
repeat...util
switch
do...while
while
for
Explicação:
A linguagem C apresenta três estruturas de repetição: for e while testam no início, significando que podem não executar nem uma vez.
A estrutura do...while testa ao final ao bloco logo, executa pelo menos uma vez.
Gabarito Coment.
Gabarito Coment.
4.
Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa, caso o usuário introduza um número positivo maior que zero:
#include < stdio.h> //Retire o espaço depois de < quando for compilar
int main()
{
int x, i=1;
printf("Entre com numero: "); scanf("%d", &x);
while(i<=x)
{
if(i%2==0) printf("%d\n", i);
i++;
}
return 0;
}
O código mostra os todos os divisores ímpares de um número.
O código mostra os números divisíveis por 3.
O código mostra os todos os números ímpares menores ou igual a x.
O código mostra os todos os números pares menores ou igual a x.
O código mostra os números divisíveis por 2.
Explicação:
O aluno deve compreender que estão sendo testados os números menores que o número introduzido pelo usuário, e caso o número testado tenha seja par será mostrado.
Assim como o próprio número quando este for par.
5.
Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo, supondo que você digitou 2 e 4 quando lhe foram solicitados dois números e escolha a opção que contém a série exibida pelo código.
2 4 6 10 16 26 42
2 4 4 8 12 20 32 52
2 4 6 10 16 26 42 68
2 4 6 8 19 12 14 16
2 4 4 8 12 20 32
Gabarito Coment.
Gabarito Coment.6.
Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa, caso o usuário introduza um número positivo maior que zero:
#include < stdio.h> //Retire o espaço depois de < quando for compilar
int main()
{
int x, i=1;
printf("Entre com numero: "); scanf("%d", &x);
while(i<=x)
{
if(i%2!=0) printf("%d\n", i);
i++;
}
return 0;
}
O código mostra os números divisíveis por 2.
O código mostra os números divisíveis por 3.
O código mostra os todos os números pares menores ou igual a x.
O código mostra os todos os divisores ímpares de um número.
O código mostra os todos os números ímpares menores ou igual a x.
Explicação:
O aluno deve compreender que estão sendo testados os números menores que o número introduzido pelo usuário, e caso o número testado tenha seja ímpar será mostrado.
Assim como o próprio número quando este for ímpar.
7.
Complete o trecho de código abaixo com a expressão condicional adequada para o comando de repetição exibir a mensagem "Boa Noite" 100 vezes.
i = 0;
while ( ) {
cout << "Boa Noite" << endl;
i = i + 1;
}
i != 100
i >= 100
i <= 100
i < 100
i == 100
8.
Um aluno estava fazendo experiências com a estrutura do for e precisava repetir a frase, 10 vezes:
Estudar para Prova no final de semana!
Sendo assim, construiu vários trechos.
Observe as tentativas que ele fez abaixo e assinale a opção correta.
I for(x = 2; x <= 20; x++ )
II for(x = 3; x <= 30; x = x + 3 )
III for(x = 0; x <= 10; x = x + 1 )
IV for(x = 2; x <= 11; x++ )
Todas, exceto as afirmativas I e a IV, permitem a repetição 10 vezes
As afirmativas II , III e IV permitem a repetição 10 vezes
Somente a afirmativa II permite a repetição 10 vezes
As afirmativas II e III permitem a repetição 10 vezes
As afirmativas II e IV permitem a repetição 10 vezes
Explicação:
Na aula tem exemplos e o aluno só precisar saber quanto números fazem parte da sequência(PA).
1.
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.
real notas[150];
float notas[150];
int notas[150];
float %.1f notas[150];
integer notas[150];
Explicação:
Quando declaramos um vetor, primeiro precisamos escolher o tipo e como são notas, precisará ser float.
Depois, entre parênteses, o número de notas que precisa ser armazenado. Nesse caso 150.
Se o vetor será preenchido com notas que não são sabidas, nada mais existe na declaração.
CORRETA: float notas[150];
Gabarito Coment.
Gabarito Coment.
2.
Qual das alternativas abaixo possui o comando que devolve o numero de caracteres em um uma string?
strcout
strcamp
strcap
strcat
strlen
3.
Analise o código a seguir e marque a alternativa que melhor descreve o que está sendo executado.
#include < stdio.h> //Retire o espaço depois de < quando for compilar
#define T 10
int main()
{
int x[T], i;
for(i=0; i< T; i++)x[i]=i+1;
for(i=1; i< T; i+=2)
{
printf("x[%d]: %d\n", i,x[i]);
}
return 0;
}
É declarado um vetor de inteiros com 9 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos.
É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 9, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos.
É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos.
É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos.
É declarado um vetor de inteiros com 9 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos.
Explicação:
É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.
E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos, já que no segundo laço a variável i é iniciada com o valor 1 e o incremento é 2.
4.
Qual o elemento do vetor referenciado por vet[3]?
2
0
1
4
7
Explicação:
Vetores são estruturas contíguas onde suas posições são referenciadas a partir de índices, onde o índice inicial é 0 (zero), o seguinte 1 e assim por diante.
O vetor é referenciado pelo endereço do primeiro byte do conjunto logo, o primeiro elemento tem o mesmo endreço do vetor e como o que fica entre [ ] é o deslocamenro do elmento em relação ao endreço base, 0 fica dentro dos [ ].
Desta forma o conteúdo do campo Vet[3] é 7.
5.
Em um programa o programador inseriu a seguinte linha de código: float notas [10]. Esta linha quer dizer:
notas é um vetor com 10 números reais.
notas é uma variável de potência 10.
notas é uma string com 10 caracteres.
notas é uma constante de valor 10.
notas é uma função para somar 10 números.
Explicação:
Analisando float notas [10]
float é o tipo do dado armazenado logo, real
notas é o nome do vetor.
[10] é o tamanho do vetor logo, 10 elementos.
6.
Um aluno estava estudando a Aula 6 quando se deparou com o trecho abaixo onde dizia que declarava e inicializava o vetor de nome matriculas e do tipo int.
int x, matriculas[4]={123,138, 13, 97 };
Ele gostaria de construir um trecho para exibir os dados do vetor na mesma linha.
Qual dos trechos abaixo ele usou?
for(x = 0; x < 4; x++ )
printf("%d\t",matriculas[x]);
for(x = 1; x <= 4; x++ )
printf("%d\n",matriculas[x]);
for(x=1; x < 4; x++ )
printf("%d\t",matriculas[x]);
for(x = 0; x < 4; x++ )
printf("%d\n",matriculas[x]);
for(x = 0; x <= 4; x++ )
printf("%d\n",matriculas[x]);
Explicação:
Um trecho que manipula todo o vetor deverá começar em 0 e terminar antes do tamanho.
Usar o caractere \t possibilita exibr na mesma linha.
7.
Assim como nas variáveis, podemos inicializar os vetores assim que declaramos.
Sabendo-se que existe um vetor de 3 posições do tipo inteiro, qual das opções abaixo correspondo a correta forma de se declarar e inicializar este vetor?
int numeros(2) = { 0, 1, 2};
integer numeros[3] = [ 0, 1, 2];
int numeros[3] = ( 0, 1, 2);
int numeros[3] = { 0, 1, 2};
int numeros[2] = [ 0, 1, 2];
Explicação:
Resposta correta: int numeros[3] = { 0, 1, 2};
Na declaração com atribuiçãode um vetor precisamos incluir:
Um par de [] com, ou sem, tamanho ao lado do nome.
Os valores separados por vírgulas e entre um par de { }.
Gabarito Coment.
Gabarito Coment.
8.
Os chamados vetores e matrizes podem ser considerados como:
Comandos de seleção composta
Estruturas de dados homogêneas
Comandos de seleção
Comandos de repetição
Estruturas de dados heterogêneas
1.
Um lojista gostaria de desenvolver um programa para armazenar os códigos(inteiros), valores de compra e venda (reais) e a quantidade (inteiros) de todos os mil produtos.
Pensou em declarar algumas matrizes bidimensionais.
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 CodQtde[1000][2]; float valores[1000][2];
double CodQtde[1000][2]; int valores[1000][2];
int CodQtde[999][2]; float valorer[999][2];
double CodQtdeVAL[1000][4];
double CodQtdeVal[999][4];
Explicação:
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que desejamos.
2.
Uma matriz é definida como float mat[5][10]; Quantos elementos esta matriz armazena?
5 elementos
45 elementos
10 elementos
36 elementos
50 elementos
3.
O departamento do pessoal de uma empresa precisa de um programa para armazenar nomes, cargos, número de dependentes e salários de 32 funcionários.
Um desenvolvedor pensou em algumas linhas que precisariam ser incluídas no código para tornar possível a construção dos trechos de entrada, saída e outros necessários.
Observe as declarações abaixo e escolha a que possibilita isso.
float dadosN[32][2]; char dadosC[32][30];
float sal[32]; int dep[32]; char nomes[32][30], cargos[32][20];
float sal[32]; int dep[32]; char nomes[32], cargos[32];
float sal[31]; int dep[31]; char nomes[31][30], cargos[31][20];
float sal[32]; int dep[32]; char dados[32][20];
Explicação:
Lembrando que o número que fica dentro dos [ ] significa o total, de fato, que desejamos.
O número de caracteres de um nome e profissão são baseados no comum: 25 a 30 caracteres para um nome é razoável.
Tipos diferentes não se agrupam.
4.
Observe as afirmativas abaixo e escolha a opção correta, sabendo-se que foi usada a letra V se a afirmativa for verdadeira e F, se for falsa. Nas respostas, aparecem três letras que correspondem, respectivamente, às afirmativas I, II e III.
I Matrizes bidimensionais não são Estruturas homogêneas.
II Se tivermos dois vetores reais de dimensões deferentes, podemos agrupá-los em uma matriz bidimensional com a dimensão do maior vetor.
III Quando precisarmos armazenar 30 nomes, deveremos dimensionar uma matriz bidimensional de char.
V V F
F F F
V V V
F V V
F F V
Explicação:
Essa é uma pergunta que deseja que o aluno tenha estudado os conceitos básicos da AULA 7 logo,certo ou errado.
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.
float nomes[20][31], salarios[20][14];
char nomes[20][31]; float salarios[20][14];
char nomes[20][31]; float salarios[20][20];
char nomes[20]; float salarios[19][13];
char nomes[19][31]; float salarios[19][13];
Explicação:
Para armazenar nomes de várias pessoas, precisamos de uma matriz bidimensional do tipo char. Nesse caso, cada nome será armazenado em uma linha e ao chamarmos, trataremos como se fosse uma matriz unidimensional, indicando a posição linha da matriz, mas, se desejarmos um caractere de um nome, usaremos as duas dimensões.
A matriz numérica salarios precisa ser bidimensional porque cada funcionário terá 14 salários armazenados.
Relembro que os tipos serão char e float logo, declarados em comandos separados.
Eliminada:
float nomes[20][31], salarios[20][14];
Não existe diferença na declaração de uma matriz em relação a uma variável simples a não ser pelos pares de colchetes logo, precisamos ficar atentos ao primeiro par de colchetes de uma matriz bidimensional onde indica o número total de funcionários: 20 e já eliminarmos o que tem 19.
Eliminadas:
char nomes[20]; float salarios[19][13];
char nomes[19][31]; float salarios[19][13];
Vamos observar o segundo par de colchetes:
Na Matriz de char, significa o número máximo de caracteres de cada nome. Nesse caso, foi determinado 31 que é um bom número já que UM será para o \0(finaliza uma matriz de char) e ficaremos com 30 caracteres
Na matriz numérica, significa o total de dados que deseja armazenar para cada funcionário que neste exemplo será 14.
Eliminada:
char nomes[20][31]; float salarios[20][20];
Sendo assim, a reposta correta será:
char nomes[20][31]; float salarios[20][14];
6.
Analisando o códio a seguir, pode-se afirmar que:
#include < stdio.h >
#define T 5
int main()
{
int x[T][T], i,j;
for(i=0; i< T; i++)
for(j=0; j< T; j++)
x[i][j]=j+1;
for(i=0; i< T; i++)
for(j=0; j< T; j++)
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]);
return 0;
}
O programa cria uma matriz de duas dimensões vazia.
O programa não executa;
O programa multiplica dois vetores de dimensão igua a 5.
O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal.
O programa cria uma matriz de duas dimensões e exibe todos seus elementos.
Explicação:
Neste caso o aluno deve conhecer o conceito de diagonal principal de uma matriz, isto é onde os índices linha e colna são iguais.
Assim como temos:
for(j=0; j< T; j++)
if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]);
Pode-se afirmar que: O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal.
7.
Observe o trecho de programa abaixo e selecione a resposta correta.
char nome[5][30];
puts("\nNome e ultimo sobrenome: ");
scanf( "%s", nome[0]);
...
Ignora a linha do scanf, mas não tem nenhuma mensagem.
Dá mensagem de erro porque scanf não pode ser usado com vetor de char.
Armazena nome e sobrenome.
Dá mensagem de erro porque falta & antes de nome
Armazena só o primeiro nome
Explicação:
A função scanf() para de "ler" o que foi digitado quando encontra o código do espaço porque assume que o que vem a ser o conteúdo de outra variável.
Use fgets.
8.
Um programador precisa armazenar em uma tabela a quantidade de alunos, por turma, que tiraram notas abaixo da méida, exatamente na média e acimma da média.
Sabendo que a méida é 6.0 e que esta tabela, chamada de mapa, servirá para armazenar as notas das 30 turmas existentes, e que para o programa que está sendo desenvolvido o melhor será organizar as turmas por linhas na tabela.
Marque a alternativa que melhor representa a declaração desta tabela.
float turmas[30]notas[3];
int turmas[30];
float mapa[30][30];
int mapa[3][30];
int mapa[30][3];1.
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;
}
170
215
230
30
130
2.
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:
referência
memória
valor
ponteiro
endereço
Explicação:
Há duas formas de passagem de parâmetros em uma função. Quando passamos um valor para a variável, então chamamos passagem por valor. Ou quando passamos o endereço de uma variável chamaos de passagem de parâmetro pro referência.
3.
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á 5
O programa exibirá 9
O programa exibirá 4
O programa exibirá 0
Ocorrerá um erro
Gabarito Coment.
Gabarito Coment.
4.
Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas
return
main()
begin
systema("pause")
end
Gabarito Coment.
Gabarito Coment.
Gabarito Coment.
5.
Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde deverão se posicionar as demais funções em relação à função main()?
Observe as afirmativas abaixo e assinale a resposta CORRETA
I Antes da função main() obrigatoriamente.
II Depois da função main(), obrigatoriamente, para melhorar a visibilidade, mas nada a acrescentar.
III Se depois da função main(), obrigatoriamente, tem que incluir o protótipo antes.
IV Pode ser antes da função main().
Só a afirmativa III está correta.
As afirmativas III e IV estão corretas.
Somente a afirmativa I está correta.
Somente a afirmativa II está correta.
Somente a afirmativa IV está correta.
Explicação:
Essa resposta necessita de um conhecimento prévio sobre o que está sendo perguntado.
6.
Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada.
O valor retornado corresponde ao índice da variável que contem o menor número
Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre
O menor número é retornado
O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número
O maior número é retornado
Gabarito Coment.
Gabarito Coment.
7.
Ao definirmos uma função, podemos afirmar que:
I Toda função tem parâmetros
II Quando nada retorna, o tipo é void
III Quando todos os parâmetros são do mesmo tipo, é suficiente usar o tipo uma vez e separar os nomes dos parâmetros por vírgulas
IV Na passagem por valor, o endereço da variável da função chamadora é passado para a função chamada
Após uma análise das afirmativas acima, escolha a opção correta.
As afirmativas II e IV estão corretas
As afirmativas I e II estão corretas
Somente a afirmativa II está correta
As afirmativas II, III e IV estão corretas
As afirmativas II e III estão corretas
Explicação:
Dominar os conceitos iniciais será fundamental para responder a essa questão.
Sintaxe na definição de uma função está bem explicada na Aula 8
8.
Um Engenheiro civil gostaria de construir uma função que pudesse calcular o total de metros lineares que deveriam ser comprados para montar o rodapé de salas retangulares.
Ele pediu ao desenvolvedor para definir a função.
Assinale a opção que corresponde à definição CORRETA da função.
float rodapeRet(float largura, float comprimento);
{ return largura + comprimento * 2;}
float rodapeRet(float largura, float comprimento);
{ return largura * comprimento;}
float rodapeRet(float largura, float comprimento)
{ return largura * comprimento;}
float rodapeRet(float largura, comprimento)
{ return largura + comprimento * 2;}
float rodapeRet(float largura, float comprimento)
{ return (largura + comprimento)*2;}
1.
Assinale a opção onde está presente a função que tem como finalidade fechar o arquivo, embora todos os arquivos sejam fechados quando o programa é finalizado.
fopen(..);
feof(...);
fclose(...);
fputs( ...);
fseek( ...);
Explicação:
Essa é uma resposta conclusiva.
2.
Considere que as bibliotecas necessárias foram devidamente declaradas.
int main() {
FILE *arq ;
int i;
_____ c ;
arq = _____ ( " jornal.txt " , " r " ) ;
if ( arq == NULL ){
printf ( " Erro na abertura do arquivo " ) ;
system ( " pause " ) ;
exit ( 1 ) ;
} else
for ( i = 0; i<5; i++){
c = fgetc ( arq ) ;
printf( "%c", c ) ;
}
_____( arq ) ;
system ( " pause " ) ;
return 0;
}
Complete as lacunas do código para que o programa funcione corretamente.
A ordem em que as palavras são dispostas na resposta, devem preencher respectivamente as lacunas.
char - fopen - fechar
float - fopen - fclose
int - open - close
int - abrir - fopen
char - fopen - fclose
Gabarito Coment.
3.
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 gravar uma linha.
Funções para ler um caractere.
Função que detecta o fim do arquivo.
Funções para leitura formatada.
Gabarito Coment.
4.
Selecione a opção que apresenta os arquivos padrão de saída, erro e entrada, nessa ordem.
stdout, stderr, stdin
stdin, stderr, stdout
stdout, stdin, stderr
stderr, stdin, stdout
stdin, stdout, stderr
Explicação:
in(Entrada), out(Saíida) e err(Erro) - lembrar assim, ajuda
5.
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.
arquivo = fopen("material.dat", "r+");
arquivo = fopen("material.dat", "w+");
arquivo = fopen("material.dat", "a+");
arq = fopen("texto.txt", "a+");
arq = fopen("texto.txt", "w");
Gabarito Coment.
6.
Assinale aopção onde está presente a função que " extrai " dados numéricos de um vetor de char, não do teclado, além de evitar problemas na alternância na leitura de valores numéricos com vetores de char ao trabalharmos com arquivos.
fgets(...);
sscanf(...);
fscanf(...);
fgetc(...);
fread(...);
Explicação:
Essa é uma Aula com muitas funções e o aluno precisa conehcer todas.
7.
A função fgets():
lê um caracter de cada vez.
imprime uma linha inteira de uma vez.
lê um arquivo inteiro de uma vez.
imprime um caracter de cada vez.
lê uma linha inteira de uma vez.
Gabarito Coment.
Gabarito Coment.
8.
Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes.
Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional.
tipo nome_matriz[numero_colunas][numero_linhas];
tipo nome_vetor[numero_colunas][numero_linhas];
tipo nome_matriz[numero_linhas][numero_colunas];
tipo nome_matriz[][];
nome_matriz[numero_linhas][numero_colunas];
1.
Assinale a opção que apresenta a função que grava dados em um arquivo binário.
fprintf(...);
fputs(...);
fwrite(...);
fputc(...);
printf(...);
Explicação:
São muitas funções nessa aula que precisam ser estudadas.
2.
Assinale a opção que apresenta a função que lê dados de um arquivo binário.
fscanf(...);
sscanf(...);
fread(...);
fgets(...);
fgetc(...);
Explicação:
São muitas funções nessa aula que precisam ser estudadas.
3.
Nas aulas aprendemos sobre as funções de leitura e gravação.
A respeito da função fwrite assinale a alternativa correta.
fwrite(quantidade, ptrArq, endreçoElemento,tamanho);
fwrite(endreçoElemento, tamanho, quantidade);
fwrite(endreçoElemento, ptrArq, quantidade);
fwrite(endreçoElemento, tamanho, quantidade, ptrArq);
fwrite( tamanho, endreçoElemento, ptrArq);
Gabarito Coment.
Gabarito Coment.
4.
A função rewind() de protótipo
void rewind (FILE *fp);
tem como comportamento:
Adiantar a posição corrente do arquivo para o fim.
Adiantar a posição corrente do arquivo para o início.
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.
Gabarito Coment.
Gabarito Coment.
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;
}
ABC
ABCDEFY
ABCDEF
ABCYDEF
DEF
Gabarito Coment.
Gabarito Coment.
6.
Assinale a opção que apresenta o modo de abertura que permite leitura/ escrita e acrescentar ao final em um arquivo binário.
r+
ab+
rb+
a+
w+
Explicação:
Para responder a essa questão, o aluno precisa conhecer os seis modos de abertura para um arquivo binário.
7.
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");
8.
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 edição
Não precisa abrir o arquivo
Somente para gravação
Para leitura e gravação
Somente para leitura