Prévia do material em texto
1a Questão
No ambiente Dev-cpp, temos algumas facilidades. Uma delas é quando desejarmos compilar e executar logo em seguida com um único clique ou um pressionamento de uma tecla.
Analise as afirmativas abaixo e escolha a opção correta
I Pressionar F9(pode ser F11 em versões mais novas)
II Clicar no ícone Compilar
III Clicar no ícone Executar
IV Clicar no ícone Compilar e Executar
Tanto a I quanto a IV possibilitam isso
Explicação:
Podemos clicar em compilar e depois clicar em executar ou então fazer isso de uma só vez: pressionando a tecla F9(ou F11) ou clicando no ícone Compilar/Executar (quatro quadrados coloridos juntos)
Repostas corretas I e IV.
2a Questão
Observe as afirmativas abaixo e assinale a opção correta.
I A linguagem C só pode tem uma função.
II A única função obrigatória em um programa codificado na linguagem C é a função main().
III Muitas vezes, poderemos incluir várias bibliotecas em nossos programas se tivermos que usar algumas funções pré-definidas.
IV Quando formos incluir bibliotecas, precisamos seguir uma ordem, começando pela biblioteca stdio.h, obrigatoriamente
As afirmativas II e III estão corretas
Explicação:
Tudo está na Aula 1
3a Questão
Qual das características abaixo NÃO pode ser atribuída á linguagem C?
Complexidade porque tem muitas palavras reservadas
Explicação:
A linguagem C tem poucas palavras reservadas logo, ela é simples. Complexa, nunca.
4a Questão
Na história da linguagem C, alguns momentos foram marcantes devido a acréscimos e/ou modificações significativas embora nem todos os compiladores tenham aderido. Abaixo estão relacionadas alguns deles:
- Surge o tipo long long para inteiros;
- As funções matemáticas passam a aceitar todos os tipos numéricos;
- O caracter // para comentário de uma linha, pode ser usado também;
Assinale a opção que contem o nome do documento onde apareceram, pela primeira vez, as modificações acima.
Padrão C99
Explicação:
Em 1999, alguns ajustes forma feitos e surgiu o padrão C99 que incluiu os itens abaixo.
5a Questão
Em relação à variável global, podemos afirmar:
I Somente a função principal pode alterar o valor armazenado
II Todas as funções podem alterar o valor armazenado
III É declarada dentro da função principal
IV É declarada fora de todas as funções
V Pode ser declarada em qualquer posição
II e IV
6a 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:
Precisamos recompilar o código fonte para o Linux.
Explicação:
A Portabilidade é uma das grandes vantagens da linguagem C, mas isso Não diz respeito ao executável porque, ao mudarmos de SO, se faz necessário gerar compilar e linkeditar para gerar o Executável que esteja de acordo com o SO em questão.
7a Questão
Na função main() da linguagem C, declarações, comandos, estruturas e tudo mais que pertence ao corpo da função estão envoltos por dois elementos.
Assinale a opção que apresenta esses elementos.
{ e }
Explicação:
As { } foram escolhidas para envolver todos comandos e/ou funções da função main() e também de algumas estruturas.
8a Questão
Com relação a diretiva de pré compilação #define, pode-se dizer que:
É usada para definição de constantes
Explicação:
Na linguagem C só existe duas formas de se definir uma constante:
Utilizando a diretiva de pré compilação #define ou utilizando o modificador "const" na declaração de uma variável.
Ex: #define PI 3.14
const float PI = 3.14;
1a 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?
atoi( ).
Explicação:
A opção correta é atoi() que é uma função da biblioteca stdlib.h que converte uma string em número inteiro ou 0 caso não contenha algarismos.
strlength( ) e strcont() Não são definidas na linguagem C.
strlen é uma função que retorna o comprimento da string entre parênteses, isto é, o número de caracteres sem contar com o caractere delimitador \0( caractere Nulo).
A função strcat () na linguagem C concatena duas strings dadas. Ele concatena a string de origem no final da string de destino.
2a Questão
Qual o nome da função matemática que calcula a potenciação de um número?
pow
Explicação:
A biblioteca math.h é formada por um grupo de funções matemáticas. Sendo assim, como a linguagem foi escrita em inglês, serão descartadas todas as palavras em Português.
Partindo desse princípio, sobram sqrt , pow e double.
double é um tipo de dado real de dupla precisão logo, não é função matemática.
sqrt abreviatura de square root. Essa é a função que retorna a raiz quadrada do argumento
pow, abreviatura de power(potência). Essa é a função que eleva um número a um expoente que significa multiplicar o número por ele mesmo tantas vezes quanto for o expoente.
3a Questão
Um Engenheiro estava construindo um trecho de programa onde pedia que o usuário respondesse com uma letra ou um algarismo.
Se o usuário não tivesse respondido, ele enviaria uma mensagem de erro.
Ele sabia que precisava aprender mais alguma estrutura, mas, no momento, pensou em experimentar uma função que pudesse lhe dar um retorno.
Pesquisou nas bibliotecas estudadas na aula 2 e achou.
Qual o nome dessa função?
isalnum()
4a Questão
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\"");
Explicação:
Esse assunto foi bem explorado na AULA 2.
5a Questão
Estudamos alguns caracteres especiais que lhe ajudam a formatar a saída de seus programas. Eles também são conhecidos como caracteres de controle ou sequência de escape por serem sempre precedidos pela \ cujo nome em inglês é backslash e por aqui é conhecida como barra invertida ou contra-barra.
Observe a linha abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
printf ("RESULTADO =\\%07d\\\n", 123);
RESULTADO =\0000123\
Explicação:
O trecho está baseado no conteúdo da AULA 2, pois saberia que para exibir um \ teria que incluir dois \
6a Questão
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 III 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.
7a Questão
Qual a funções da biblioteca stdio.h, da linguagemC usada exclusivamente para exibir apenas um caracter na tela?
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()
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:\funcoes\ minhasFuncoes.h"
1a Questão
São todos operadores aritméticos da Linguagem C:
+, -, *, /
Explicação: Os operadores aritméticos são: + (soma), - (subtração), * (multiplicação) e / (divisão).
2a 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)
Explicação:
Analisando a linha abaixo:
num2 = abs( (num /100 ) * 100 + ( (num / 10 ) % 10 ) + num / 100 );
A função abs(...) ignora o sinal caso o usuário tenha digitado um número negativo.
Como até a Aula 3, não estudamos a estrutura do if, não poderemos testar se o número tem somente três algarismos e partiremos do princípio que tem e será analisado com o número 345 dito no enunciado.
Lembrando que inteiro dividido por inteiro, inteiro será
num2 = abs( 3 * 100 + (34 % 10 ) + 3 );
num2 = abs( 300 + 4 + 3 );
num2 = 343;
Analisando a linha abaixo:
printf(¿\n%04d\n¿, num2);
%04d significa que o número deverá ser apresentado com quatro casas e se não tiver quatro algarismos, o 0 será colocado na posição mais à esquerda.
Logo, 0343
3a Questão
Marque a opção que apresenta apenas dados primitivos da linguagem C
char, int, float, double
Explicação:
A linguagem C apresenta apenas 4 tipos primitivos de dados : char, int, float e double
4a Questão
Um aluno viu o trecho de programa abaixo e não sabe qual das linhas daria como resposta 4.50
int num1=3, num2=6, num3=4;
Indique a linha.
printf("\nResultado: %.2f ",num1 + (float)num2/num3);
Explicação:
O aluno precisa conhecer todos os especificadores de formato e o que significa casting(conversão de tipo) e que inteiro dividido por inteiro, inteiro será o quociente.
5a Questão
Observe o trecho de código em Linguagem C #include main () { char Ch; scanf("%c", Ch); printf ("Você pressionou a tecla %c",Ch); } Na execução do código acima, ao pressionar qualquer tecla, o resultado sera
Ocorre um erro na alocação do valor digitado para variável na memória.
Explicação:
Quando usamos a função scanf para ler o conteúdo dos tipos inteiro, real e char de um caractere, é obrigatório o operador de endereço ( & ) antes do nome da variável logo, deveria estar assim: scanf("%c", &Ch);
6a Questão
A função scanf utiliza qual operador para a entrada de dados:
Endereço
7a Questão
Marque a alternativa que apresenta a linha de comando, em C++, que armazena na variável ¿resto¿ o resto da divisão de 6 por 2.
resto = (6 % 2);
Explicação:
O símbolo utilizado em C ou C++ para representar a operação resto da divisão é o %
8a Questão
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: 750.00
1a Questão
Alguns iniciantes na linguagem C sentem dificuldades de 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 .....
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.
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";
Explicação:
cin >> numero;
if (numero / 2 == 0)
cout << "par";
else
cout <<"impar";
Neste trecho a comparação verifica se o resultado da divisão por 2 é zero, por isso está errada.(numero / 2 == 0)
cin >> numero;
if (numero % 2 = 0)
cout << "par";
else
cout <<"impar";
Neste trecho não há comparação e sim a tentativa errada de se fazer uma atribuição (numero % 2 = 0)
cin >> numero;
if (numero %2 = 1)
cout << "par";
else
cout <<"impar";
Neste trecho não há comparação e sim a tentativa errada de se fazer uma atribuição (numero % 2 = 1)
cin >> numero;
cout << numero %2;
Neste trecho de código é impresso o resto da divisão por 2 do valor armazenado na variável numero. E não é isto que se quer.
3a Questão
Suponha que as notas digitadas pelo usuário sejam respectivamente (4.5; 8.5; 6.5).
int main()
{
float n1, n2, n3, med;
puts("Digites as notas");
scanf("%f", &n1);
scanf("%f", &n2);
scanf("%f", &n3);
med= (n1+n2+n3)/3;
if(med>=7)
printf("Aluno aprovado com: %.1f\n", med);
else
printf("Aluno reprovado com: %.1f\n", med);
system("pause");
return 0;
}
Desconsidere a necessidade da declaração das bibliotecas.
Qual será a mensagem final exibida para o usuário?
Aluno reprovado com: 6.5
4a Questão
Marque a opcão que apresenta apenas operadores lógicos:
&& || !
Explicação:
Os operadores relacionais do C são: && || !
5a Questão
Uma empresa que presta serviços de pintura predial, desenvolveu um aplicativo destinado a calcular o número de latas necessárias para pintar uma parede. O programa lê o tipo de pintura(interna ou externa), a largura e a altura em metros(inteiros) da parede. Para calcular a quantidade de tinta e o número de latas, sabe-se que são necessários 3 litros de tinta para pintar cada metro quadrado interno ou 4 litros para cada metro quadrado externo. Sabe-se também que cada lata tem 2 litros de tinta.
Dado o trecho de programa abaixo, identifique a opção correta que complemente o programa para realizar o cálculo do número de latas de tinta:
void main(){
float altura, largura;
char tipo; int total_latas, tot_metros, aux;
puts("\nDigite E para Externo e I para Interno");
tipo = getchar();
puts("\nDigite a altura da parede: ");
scanf("%f",&altura);
printf("\nDigite a largura da parede: ");
scanf("%f",&largura);
tot_metros = altura*largura;
if(tot_metros%2)
aux = 1;
else
aux = 0;
switch(tipo){
case 'I':
case 'i':
printf("%d",(tot_metros*3)/2+aux);
break;
case 'E':
case 'e':
printf("%d",(tot_metros*4)/2+aux);break;
default:
printf("%s","Tipo invalido");
}
system("PAUSE");
}
6a Questão
Em programação é possível que haja decisões usando o IF. Todo IF deve vir seguido de uma condição que deve ter como resultado Verdadeiro ou Falso. Considerando esta afirmativa, qual das opções abaixo deve apresentar erro na compilação.
if (z = 21)
Explicação:
Errada: if (z = 21)
O operador relacional de igualdade é ==
7a Questão
Seja o código a seguir, marque a opção que representa a saída deste código, quando o usuário digita o número 5.
int main ()
{
int num;
printf ("Digite um numero: ");
scanf ("%d",&num);
switch (num)
{
case 9:
printf ("\n\nO numero e igual a 9.\n");
break;
case 10:
printf ("\n\nO numero e igual a 10.\n");
break;
case 11:
printf ("\n\nO numero e igual a 11.\n");
break;
default:
printf ("\n\nO numero nao e nem 9 nem 10 nem 11.\n");
}
return(0);
}
O numero nao e nem 9 nem 10 nem 11
Explicação:
Na estrutura switch/case quando o valor da variável avalida não coincide com nenhum dos valores previstos nos cases, será executado a opção default, que neste caso aprsenta a linha de comando printf ("\n\nO numero nao e nem 9 nem 10 nem 11.\n");. Enviando assim a mensagem" O numero nao e nem 9 nem 10 nem 11" para a tela.
8a 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);
}
8
1a Questão
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
2a Questão
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
3a Questão
Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa:
#include < stdio.h> //Retire o espaço depois de < quando for compilar
int main()
{
int x, i;
printf("Entre com numero: "); scanf("%d", &x);
for(i=1; i<1 + x/2; i++)
{
if(x%i==0 && i%2==0) printf("Divisores: %d\n", i);
}
if(x%2==0)printf( "Divisores: %d\n", x);
return 0;
}
O código mostra os todos os divisores pares de um número.
Explicação:
O aluno deve compreender que estão sendo testados como divisor todos os números menores que a metade do número introduzido pelo usuário, e caso o número testado tenha divisão exata e seja par será mostrado.
Assim como o próprio número quando este for par, já que todo número é divisível por ele mesmo.
4a Questão
Quando tomamos conhecimento das três estruturas de repetição, ficamos sem saber, em alguns trechos, o que elas fazem.
Observe o trecho abaixo e assinale a opção que esclarece o que está sendo feito.
float num;
for(;;)
{
puts("\nNumero: ");
scanf("%f", &num);
if(num <= 0 ) break;
printf("\n%.2f", num *3);
}
Simula a estrutura while, enquanto num for > 0.
Explicação:
Simular outra estrutura de repetição foi bem explorada na AULA 5
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 divisíveis por 7.
6a Questão
Considere o trecho de código abaixo. O que será impresso quando o programa for executado?
int main()
{
int contador = 1; //declarando e inicializando a variável de controle
while (contador <= 10) // Testando a condição
{
printf("%d ", contador); //Executando um comando dentro do laço
}
return 0;
}
Nunca vai parar. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
Explicação:
A estrutura while repete o bloco enquanto o teste for verdadeiro.
Se a variável contador começa com 1 e NÃO tem ser valor alterado, ficará sempre com 1 logo, entra em loop
Resposta correta: Nunca vai parar. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
7a Questão
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++ )
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).
8a Questão
Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa:
#include < stdio.h> //Retire o espaço depois de < quando for compilar
int main()
{
int x, i;
printf("Entre com numero: "); scanf("%d", &x);
for(i=1; i<1 + x/2; i++)
{
if(x%i==0 && i%2!=0) printf("Divisores: %d\n", i);
}
if(x%2!=0)printf( "Divisores: %d\n", x);
return 0;
}
O código mostra os todos os divisores ímpares de um número.
1a Questão (Ref.:201805122915)
Acerto: 1,0 / 1,0
Qual a vantagem da Linguagem C que está descrita no texto abaixo?
'Permite que o desenvolvedor defina suas funções.'
Modularidade
2a Questão (Ref.:201802308228)
Acerto: 1,0 / 1,0
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++.
| e |||
3a Questão (Ref.:201805127528)
Acerto: 1,0 / 1,0
Se você precisasse exibir 123.45 onde o total de algarismos da parte inteira com a parte decimal seria igual a 8, preenchendo com zero as que não fossem necessárias e com três algarismos na parte decimal, qual das opções abaixo você escolheria?
printf("%09.3f\n", 123.45);
4a Questão (Ref.:201805127519)
Acerto: 0,0 / 1,0
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\n\n\tGABARITAR\n");
5a Questão (Ref.:201802911868)
Acerto: 1,0 / 1,0
Acerca das variáveis em Linguagem C, podemos afirmar que: I) Toda variável deve ser declarada antes de ser usada como sendo de um tipo. II) O tipo define o tamanho de bytes da variável e o intervalo de valores que ela poderá armazenar. III) O nome da variávelpoderá conter até 32 caracteres sendo que o primeiro preferencialmente deve ser uma letra. IV) Não existe regras para se declarar uma variável. Marque somente a única resposta correta:
Somente as afirmativas I, II e III são corretas.
6a Questão (Ref.:201802308239)
Acerto: 0,0 / 1,0
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.
7a Questão (Ref.:201804994875)
Acerto: 1,0 / 1,0
Seja o código a seguir, caso o usuário insira o valor 3 na variável num, qual a mensagem aparecerá na tela?
#include
#include
int main ()
{
int num;
printf ("Digite um numero: ");
scanf ("%d",&num);
if(num = 2)
printf("O numero eh 2");
else printf("O numero eh diferente de 2");
return(0);
}
O numero eh 2
8a Questão (Ref.:201802791536)
Acerto: 1,0 / 1,0
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
9a Questão (Ref.:201802954309)
Acerto: 1,0 / 1,0
Na maioria das linguagens de programação, as estruturas de controle de fluxo são fundamentais para a criação de programas elegantes e de fácil entendimento. Assinale a alternativa correta com relação aos comandos de controle de fluxo da linguagem C, sabendo que o comando for apresenta a seguinte forma geral: for (inicialização;condição;incremento) declaração;
Pode-se omitir a declaração, e, mesmo assim, o comando for ainda será válido.
10a Questão (Ref.:201805126899)
Acerto: 0,0 / 1,0
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 números ímpares menores ou igual a x.
1a Questão
Um programador deve declarar um vetor para armazenar as idades dos alunos de uma turma com 50 alunos.
Marque a alternativa correta para a declaração deste vetor, sabendo que o programamdor resolveu identificá-lo como vetorIdade.
int vetorIdade[50];
Explicação:
A declaração de um vetor é feita na forma identificador [nº de campos],
como o dado a ser armazenado é idade que é uma grandeza inteira e necessita-se de 50 posiçoes o correto é int vetorIdade[50];
2a Questão
Qual das alternativas abaixo possui o comando que devolve o numero de caracteres em um uma string?
strlen
3a Questão
Observe o trecho abaixo e marque o valor que será mostrado pela variável c após a execução do programa.
14
Explicação:
Esse é um vetor de tamanho 5 e como o número que fica entre colchetes representa o deslocamento do primeiro endereço do conjunto e que coincide o endereço do primeiro elemento,ele terá 0 dentro dos [0] e por essa razão, o for varia de 0 até 4.
0
1
2
3
4
7
5
6
8
12
A variável b é acrescida de todo número múltiplo de 6 logo, 6 e 12, ficando com 18.
A variável a é subtraída do deslocamento de todo número que não é múltiplo de 6 logo, 0, 1 e 3, ficando com -4.
A variável c recebe o resultado de b + a (18-4), ficando com 14.
4a Questão
Qual o elemento do vetor referenciado por vet[3]?
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.
5a Questão
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.
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.
6a Questão
O que será impresso pelo trecho de código abaixo?
int vet[5];
int x, s = 0;
for (x = 0; x < 5; x++) {
vet[x] = x * 2;
}
s = vet[2] + vet[4];
printf("%d", s);
12
Explicação:
Acompanhando a execução, encontraremos a resposta 12
int vet[5];
int x, s = 0;
for (x = 0; x < 5; x++) {
vet[x] = x * 2;
}
s = vet[2] + vet[4];
printf("%d", s);
x
s
vet[0]
vet[1]
vet[2]
vet[3]
vet[4]
0
0
0
0
1
0
0
2
2
0
0
2
4
3
0
0
2
4
6
4
0
0
2
4
6
8
5
12
0
2
4
6
8
7a Questão
Um programador declarou os vetores abaixo e gostaria de fazer o trecho de entrada para armazenar códigos dos 43 funcionários e respectivos salários.
int x,codigos[43]; float salarios[43];
A dúvida dele está na linha do for. Você poderia indicar qual ele deveria escolher?
for(x = 0; x < 43 ; x++ )
Explicação:
Saber que o número que fica dentro dos [ ] é o deslocamento em relação ao endereço base é fundamental para resolver a questão.
Isso é bem explicado na AULA 6
8a Questão
Qual das instruções abaixo compara duas strings?
strcmp
Explicação:
Na biblioteca string.h, encontramos várias funções e uma delas strcmp(string compare) serve para comparar duas strings.
1a Questão
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.
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.
2a 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][20];
3a Questão
Uma matriz é definida como float mat[5][10]; Quantos elementos esta matriz armazena?
50 elementos
4a 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-for-for-while
5a Questão
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 e exibe os elementos da diagonal principal.
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.
6a Questão
Observe o trecho de programa abaixo e selecione a resposta correta.
char nome[5][30];
puts("\nNome e ultimo sobrenome: ");
scanf( "%s", nome[0]);
...
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.
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
.
sábado
8a Questão
Analisando o códio a seguir, pode-se afirmar que:
#include
#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++)
printf("x[%d][%d]: %d\t",i, j,x[i][j]);
return 0;
}
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais.
Explicação:
Neste caso o preenchimento da matriz está sendo realizado de forma horizontal,
for(j=0; j< T; j++)
x[i][j]=j+1; Lembrar que durante esta execução o valor da linha é fixo o que varia é o valor da coluna.
isto é preenchendo-se por linha e como as linhas tem valores iguais pode-se afirmar que:
Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais.
1a Questão
5- Veja o código a seguir:
#include < stdio.h >
#include < stdlib.h >
void imprime(int v[])
{
int i;
for(i=0;i<10;i++)printf("v[%d]=%d\n", i, v[i]);
}
int main(int argc, char *argv[]) {
int num[]={1,2,3,4,5,6,7,8,9,10};
__________________________ // chamada a função imprime
return 0;
}
Está faltando o segundo comando na função main(), este deve ser uma chamada a função imprime(int v[]). Sabendo-se que o parâmetro a ser passado é um vetor,marque a alternativa com a forma correta da chamada desta função, de modo que o vetor num[] declarado na primeira linha da função main() tenha seus valores exibidos na tela.
imprime(num);
Explicação:
A chamda correta a esta função é imprime(num); pois em seu cabeçalho já está explicito que o parãmeetro é do tipo vetor de inteiros, assim basta inserir o indentificador do vetor no momento da chamada da função.
2a 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 algarismos do número digitado independente do sinal
Explicação:
A função descobre divide o numero digitado por 10 e torna a dividir este resultado por 10 enquanto que o resultado das divisões são maiores que zero.
Toda vez que a função realiza uma divisão é incrementada a variável c, desta forma o valor armazenado na variável c que é retornado pela função indica o número de algarismos que formam o número introduzido pelo o usuário.
3a Questão
Os programas inicialmente eram desenvolvidos em um único bloco, com a introdução da modularização de programas
foi possível garantir uma melhora na legibilidade dos códigos, um maior aproveitamento e reuso de códigos e melhora na manutenção de sistemas.
Assim o principal elemento da modularização de programas é:
funções
Explicação:
As funções são blocos de programas que proporcionam, um programa dividido em
módulos, podendo estas funções serem utilizadas varias vezes no mesmo programa
ou ainda em outros programas, garantindo o reuso de código. Como as funções
são blocos pequenos de códigos com objetivos bem específicos, o entendimento da funcionalidade
do bloco é facilitada, garantindo uma maior legibilidade do programa e em consequ~encia
maior facilidade para manutenção do programa.
4a Questão
Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas
main()
5a Questão
MARQUE A OPÇÃO REFERNETE VALOR FINAL DA VARIÁVEL RESULT?
6
6a 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: 3
Explicação: float é o tipo de retorno; E a quantidade de parâmetros é 3, pois temos que carregar n1, n2 e n3 do tipo int na função.
7a Questão
Suponha uma Universidade cujo critério para aprovação seja o seguinte: a soma das duas provas PR1 e PR2 tem que ser maior, ou superior a 14. Caso o aluno não consiga fazer esse total, deverá ir fazer a PR3, cuja nota, acrescida à soma da PR1 com PR2, precisará ser, no mínimo, o que falta para completar 21 pontos.
Assinale a opção CORRETA da definição de uma função que receba como parâmetros as notas da PR1 e da PR2, retornando a nota mínima que o aluno precisará tirar na terceira prova para que seja aprovado.
float aprovacaoFinal(float pr1, float pr2) { return 21-(pr1 + pr2); }
Explicação:
Se fosse do tipo void, não retornaria nada. O tipo de cada parâmetro precisa estar presente. O tipo float tem que retornar.
8a 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
1a 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
2a 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çãopara gravar um caractere.
3a Questão
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.
fclose(...);
4a Questão
Qual o modo de abertura de arquivo me permite ler, mas não escrever?
r
5a Questão
Sabe-se que o modo padrão é o texto logo, não precisa incluir ao final de cada letra t.
Observe as opções abaixo e escolha a que deverá ser usada quando se abre um arquivio, pois permite leitura/ escrita e alteração no modo texto(txt).
r+
6a Questão
Complete a lacuna:
A função getc() realiza a leitura de arquivos ____________________ .
caractere por caracterer
7a 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.
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.
8a 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", "a+");
1a Questão
Assinale a opção que apresenta o modo de abertura que permite leitura/ escrita e acrescentar ao final em um arquivo binário.
ab+
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");
3a 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
4a 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, tamanho, quantidade, ptrArq);
5a Questão
A função rewind() de protótipo
void rewind (FILE *fp);
tem como comportamento:
Retornar a posição corrente do arquivo para o início.
6a 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;
}
ABCYDEF
7a Questão
Assinale a opção que apresenta a função que grava dados em um arquivo binário.
fwrite(...);
8a Questão
Assinale a opção que apresenta a função que lê dados de um arquivo binário.
fread(...);