Buscar

Conceitos Básicos da Linguagem C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1a Questão
	
	
	
	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.
		
	
	Executável - extensão .c - compilar - fonte
	
	Fonte - extensão .txt - editar - executável
	 
	Código fonte - extensão .c - compilar - executável
	
	Código de texto - extensão .txt - editar - fonte
	
	Código base - extensão .c - compilar - fonte
	Respondido em 05/05/2020 07:32:37
	
Explicação:
Não importa se usamos uma IDE ou vários programas, mas tudo começa assim:
· Digitamos nosso código fonte em um editor como se fosse um texto.
· Salvamos com a extensão  .c .
· Em seguido, o compilador é chamado para que tente converter em uma linguagem objeto.
· Por fim, um linkeditor para unir os objetos(as bibliotecas também) e gerar um executável.
	· 
	 
	
	 2a Questão
	
	
	
	
	Qual seria o menor programa compilável da Linguagem C?
		
	 
	main(){}
	
	main{}()
	
	main()[]
	
	main{}
	
	main[]{}
	Respondido em 05/05/2020 07:32:49
	
Explicação:
O menor programa compilável é o main(){}, pois a única obrigação é o main() que é a função principal e o {} (abre e fecha chaves) que é do início e fim da função.
	
	
	 
	
	 3a Questão
	
	
	
	
	Qual das características abaixo NÃO pode ser atribuída á linguagem C?
		
	
	Estruturada
	
	Rapidez, pois gera executável compacto
	
	Portabilidade
	
	Modularidade
	 
	Complexidade porque tem muitas palavras reservadas
	Respondido em 05/05/2020 07:33:32
	
Explicação:
A linguagem C tem poucas palavras reservadas logo, ela é simples. Complexa, nunca.
	
	
	 
	
	 4a 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
	 
	string
	
	int
	
	float
	
	boolean
	Respondido em 05/05/2020 07:34:09
	
Explicação:
Um string é um tipo de dado que representa uma cadeia de caracteres, podendo ser estes tanto letras quanto números.
	
	
	 
	
	 5a 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 ]
	
	begin e end;
	
	( e )
	 
	{ e }
	
	begin e end
	Respondido em 05/05/2020 07:35:03
	
Explicação:
As { } foram escolhidas para envolver todos  comandos e/ou funções da função main() e também de algumas estruturas.
	
	
	 
	
	 6a Questão
	
	
	
	
	Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré-definidos:
		
	
	stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela)
	
	
stdout = Dispositivo de saída de erro padrão (normalmente o monitor)
	 
	 stdin = Dispositivo de entrada padrão (normalmente o teclado)
	
	stderr = Dispositivo de saída padrão (normalmente o monitor)
	
	
stdaux = Dispositivo de saída principal (normalmente a porta usb)
	Respondido em 05/05/2020 07:36:25
	
Explicação:
Na primeira Aula, estudamos a biblioteca padrão de entrada(in)  e de saída(ou): stdio.h std in out
Separadamente, stdin(geralmente o teclado) e stdout(geralmente o display).
	
	
	 
	
	 7a Questão
	
	
	
	
	 IDE, do inglês Integrated Development Environment ou Ambiente de Desenvolvimento Integrado, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo.Geralmente os IDEs facilitam a técnica de RAD (de Rapid Application Development, ou "Desenvolvimento Rápido de Aplicativos"), que visa a maior produtividade dos desenvolvedores.
Marque a alternativa ERRADA relativa as ferramentas mais comuns encontradas nos IDEs:
		
	
	Compilador (compiler) - compila o código-fonte do programa, editado em uma linguagem específica e a transforma em linguagem de máquina;
	 
	Ativador - ativa o código fonte para que o mesmo seja executado em qualquer sistema operacional.
	
	Editor - edita o código-fonte do programa escrito na(s) linguagem(ns) suportada(s) pela IDE;
	
	Linker - liga (linka) os vários "pedaços" de código-fonte, compilados em linguagem de máquina, em um programa executável que pode ser executado em um computador ou outro dispositivo computacional;
	
	Depurador (debugger) - auxilia no processo de encontrar e corrigir defeitos no código-fonte do programa, na tentativa de aprimorar a qualidade de software;
	Respondido em 05/05/2020 07:38:00
	
Explicação:
Não existe uma ferramenta capaz de transformar um código em multiplataforma, as demais opções estão corretas e são ferramentas normalmente encontradas nas IDE's.
	
	
	 
	
	 8a Questão
	
	
	
	
	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.'
		
	
	Simplicidade
	
	Estruturada
	
	Modularidade
	 
	Portabilidade
	
	Rapidez
	Respondido em 05/05/2020 07:38:47
	 1a 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 II é a única correta
	
	A afirmativa I está errada e as demais corretas
	
	Todas as afirmativas estão corretas
	
	A afirmativa II está errada e as demais corretas
	 
	A afirmativa III está errada e as demais corretas
	Respondido em 05/05/2020 07:44:12
	
Explicação:
O aluno precisa saber o que cada função é capaz de exibir. Esse conteúdo está na AULA 2.
	
	
	 
	
	 2a Questão
	
	
	
	
	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");
	
	printf("\t\t\tVOU\n\tGABARITAR\n");
	
	printf("\t\tVOU\n\n\tGABARITAR\n");
	
	printf("\t\t\tVOU\n\n\tGABARITAR\n");
	
	printf("\t\tVOU\n\tGABARITAR\n");
	Respondido em 05/05/2020 07:44:06
	
Explicação:
Assunto bem explorado na Aula 2.
	
	
	 
	
	 3a 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\\
	
	RESULTADO =\\0000000123\\
	 
	RESULTADO =\0000123\
	
	RESULTADO = 0000123
	
	RESULTADO = 0000000123
	Respondido em 05/05/2020 07:44:26
	
Explicação:
O trecho está baseado no conteúdo da AULA 2, pois saberia que para exibirum \ teria que incluir dois \
	
	
	 
	
	 4a Questão
	
	
	
	
	Quais as funções da biblioteca stdio.h, da linguagem C usadas para exibir mensagens na tela?
 
		
	
	putchar("string") e puts("string")
 
	
	msg("string") e puts("string")
	
	printf("string") e msg("string")
	 
	printf("string") e puts("string")
	
	putchar("string") e printf("string")
	Respondido em 05/05/2020 07:44:32
	
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()
	
	
	 
	
	 5a Questão
	
	
	
	
	Se executarmos o comando printf(ceil(3.2));.O que será exibido na tela?
 
		
	
	0.2
 
	
	3.2
 
	
	4.2
 
	
	3
	 
	4
 
	Respondido em 05/05/2020 07:44:38
	
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.
	
	
	 
	
	 6a 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.
		
	
	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\");
	
	printf(\"LPI\");
	Respondido em 05/05/2020 07:44:42
	
Explicação:
Esse assunto foi bem explorado na AULA 2.
	
	
	 
	
	 7a 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.
		
	
	stdio.h - Funções para gráficos.
	
	stdlib.h - Funções de entrada e saida. 
	
	time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
	
	string.h - Funções para concatenação de strings com inteiros.
	 
	math.h - Funções matemáticas
	Respondido em 05/05/2020 07:44:50
	
Explicação:
De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto.
	stdio.h - Funções para gráficos.
 Errada, pois esta biblioteca trata de entrada e saída.
	string.h - Funções para concatenação de strings com inteiros.
 Errada, pois essa biblioteca contém uma série de funções para manipular strings.
	stdlib.h - Funções de entrada e saida.
 Errada, pois stdlib.h é um arquivo cabeçalho da biblioteca de propósito geral padrão da linguagem de programação C. 
 Ela possui funções envolvendo alocação de memória, controle de processos, conversões e outras
	time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
 Errada, pois time.h é um arquivo cabeçalho que fornece protótipos para funções, macros e definição de tipos da 
 biblioteca padrão da linguagem de programação C para manipulação de datas e horários de modo padrão
	math.h - Funções matemáticas
 Correta
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	
	
	
	
	
	
	 
	
	 8a Questão
	
	
	
	
	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)
		
	
	126
	
	18
	
	98
	
	36
	 
	216
	 1a Questão
	
	
	
	Sabe-se que os códigos das letras Maiúsculas se encontram no intervalo fechado de 65 a 90(A-Z) e os das letras Minúsculas se encontram no intervalo fechado de 97 a 122(a-z)
Qual das linhas abaixo apresenta a letra e Minúscula?
char c='A';
		
	
	printf("\nValor de num: %c ",toupper(c)+3);
	
	printf("\nValor de c: %f ",c);
	 
	printf("\nValor de num: %c",tolower(c)+4);
	
	printf("\nValor de c: %c ",c);
	
	printf("\nValor de c: %d ",c); 
	Respondido em 05/05/2020 07:47:30
	
Explicação:
O aluno precisa conhecer todos os especificadores de formato e o que significa casting(conversão de tipo) e conhecer as finalidades das funções tolower() e toupper()
	
	
	 
	
	 2a 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.
		
	 
	quantidade de memória alocada
	
	endereço de memória alocada
	
	nenhuma informação pra o sistema operacional
	
	tipo de memória alocada
	
	qualidade da memória alocada
	Respondido em 05/05/2020 07:47:35
	
Explicação:
Na declaração de uma variável, o tipo de dado que a variável irá armazenar serve para que o sistema operacional saiba a quantidade de memória necessaria para armazenamento do dado, enquanto que o nome da variável é associado pelo sistema operacional ao endereço da memória onde a variável é alocada.
	
	
	 
	
	 3a Questão
	
	
	
	
	Uma das características da linguagem C++ é a utilização de operadores (Lógicos, aritméticos, de atribuição, etc.) que se baseiam em símbolos que permitem a realização de operações. Basicamente, as regras de precedência desses operadores seguem as regras algébricas.
Dentre os símbolos abaixo, quais correspondem respectivamente a Negação Lógica e Resto de Divisão?
		
	
	!= e %
	
	% e :?
	 
	! e %
	
	:? e !
	
	:? e %
	Respondido em 05/05/2020 07:47:40
	
Explicação:
São os seguintes o significado dos operadores lógicos e aritméticos em C/C++.
! negação
&& E lógico
||  OU lógico
+ soma
- subtração
/ divisão
* multiplicação
% resto de uma divisão entre inteiros
	
	
	 
	
	 4a 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)
	
	0345 (O valor absoluto do número formatado)
	
	0543(O valor absoluto do número espelhado formatado)
	
	- 0.00289(O inverso do número formatado)
	
	-0012 ( Representa a soma dos algarismos do número -345 formatado)
	Respondido em 05/05/2020 07:48:15
	
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
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 5a Questão
	
	
	
	
	É um nome de variável válido:
		
	 
	media_nota2
	
	maça
	
	1X
	
	meu 2Cel
	
	número
	Respondido em 05/05/2020 07:48:31
	
Explicação:
As regras para se nomear uma variável na linguagem C são:
· Somente letras sem acentuação e nem cedilha, maiúsculas e minúsculas.
· Algarismos
· O caractere underline ( _ )
· Não pode começar com algarismo
A única que atende às exigências é: media_nota2
	
	
	 
	
	 6a Questão
	
	
	
	
	São todos operadores aritméticos da Linguagem C:
		
	
	%, ||, &&, ==
	
	MOD, DIV, %, &&
	
	&&, ||, !
	
	>, >=, <, <=, ==
	 
	+, -, *, /
	Respondido em 05/05/2020 07:48:32
	
Explicação: Os operadores aritméticos são: + (soma), - (subtração), * (multiplicação) e / (divisão).
	
	
	 
	
	 7a QuestãoObserve abaixo várias funções que recebem dados via teclado. Qual delas permite uma leitura formatada?
		
	
	getchar()
	
	fgetc()
	
	fgets()
	
	gets()
	 
	scanf()
	Respondido em 05/05/2020 07:48:53
	
	
	 
	
	 8a Questão
	
	
	
	
	Marque a opção abaixo que mostra um nome que não pode ser usado como identificador de uma variável:
		
	 
	1uma
	
	duas
 
	
	uma
	
	duas2
	
	uma1
	1a Questão
	
	
	
	Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
		
	
	+, - e *
	
	&&, >= e ||
	
	&&, || e ~
	 
	<, > e >=
	
	=, > e ||
	Respondido em 07/05/2020 07:49:38
	
Explicação:
Conhecer os operadores relacionais e lógicos será fundamental para criarmos a expressão do teste que será usada nas estruturas de decisão (if / if...else) e nas estruturas de repetição(for, while e do...while).
Os operadores relacionais são: > , >= , < , <= , ==  e !=.
Sendo assim, a única resposta que só contém operadores relacionais é : <, > e >= .
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão
	
	
	
	
	Um aluno de LPI gostaria de testar duas condições, usando somente uma estrutura if.
Abaixo as duas condições a serem testadas:
a) O ano de nascimento que precisa estar no intervalo fechado de 1989-2007.
b) O sexo que precisa ser masculino.
Sabe-se que o sexo se encontra em uma variável do tipo char de nome sexo e o ano em uma variável do tipo int de nome ano.
Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m.
Assinale a opção que resolve o problema desse aluno.
		
	
	if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) )
	 
	if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) )
	
	if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' )
	
	if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 )
	
	if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) )
	Respondido em 07/05/2020 08:11:53
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 3a Questão
	
	
	
	
	Se a minha média for maior ou igual a 6 estarei aprovado, caso contrário, estarei reprovado. Qual dos trechos abaixo escritos em C++ representa esta situação?
		
	
	if (media > 6)
cout << "Aprovado";
else
cout << "Reprovado";
	
	if (media <= 6)
cout << "Aprovado";
else
cout << "Reprovado";
	 
	if (media >= 6)
cout << "Aprovado";
else
cout << "Reprovado";
	
	if (media > 6)
{
cout << "Aprovado";
}
else
{
cout << "Reprovado";
}
	
	if (media != 6)
{
cout << "Aprovado";
}
else
{
cout << "Reprovado";
}
	Respondido em 07/05/2020 08:20:38
	
Explicação:
if (media > 6) errado pois aprovado apenas aqueles que obtiverem media maior que 6
if (media <= 6)errado pois aprovado apenas aqueles que obtiverem media menor ou igual que 6
if (media != 6)errado pois aprovado apenas aqueles que obtiverem media diferente que 6
if (media >= 6)correto pois aprovado apenas aqueles que obtiverem media maior ou igual que 6
	
	
	 
	
	 4a Questão
	
	
	
	
	A estrutura do if.. else na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção Correta sobre as afirmativas.
I As chaves de abertura e fechamento sempre serão obrigatórias.
II No teste unimos expressões relacionais com operadores lógicos quando necessário.
III A palavra then está presente na estrutura.
IV O uso do else nem sempre será necessário.
		
	
	Somente a afirmativa IV está correta.
	
	Somente a afirmativa I está correta.
	 
	As afirmativas II e IV estão corretas.
	
	As afirmativas II e III estão corretas
	
	.As afirmativas I e III estão corretas.
	Respondido em 07/05/2020 08:21:02
	
Explicação:
Questão muito conceitual. Não tem o que comentar.
	
	
	 
	
	 5a 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 .....
 
		
	
	Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
	
	O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else.
	
	Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
	 
	O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else.
	
	Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
	Respondido em 07/05/2020 08:21:11
	
	
	 
	
	 6a Questão
	
	
	
	
	Marque a opção que apresenta apenas operadores relacionais:
		
	
	> < ++ == >=
	
	!+ != == =+
	
	> < == >+ >=
	 
	> < == <= >=
	
	> < == && >=
	Respondido em 07/05/2020 08:21:29
	
Explicação:
Os operadores relacionais do C são:
> < == >= <= !=
	
	
	 
	
	 7a Questão
	
	
	
	
	Observe o trecho abaixo:
char sexo; int idade;
puts("\nEntre com sexo(F/ M) e idade: ");
scanf("%c %d", &sexo, &idade);
if(toupper(sexo) == 'F' && (idade < 18 || idade > 80))
 puts(" \nValor do plano de Saúde com desconto\n");
else    
  puts(" \nValor do plano de Saúde sem desconto\n");       
Se o usuário executar três vezes os valores: f 17 / M 17/ F 81, qual opção mostraria as respostas corretas?
		
	
	Valor do plano de Saúde sem desconto / Valor do plano de Saúde com desconto / Valor do plano de Saúde sem desconto
	
	Valor do plano de Saúde com desconto / Valor do plano de Saúde com desconto / Valor do plano de Saúde com desconto
	
	Valor do plano de Saúde sem desconto / Valor do plano de Saúde sem desconto / Valor do plano de Saúde sem desconto
	 
	Valor do plano de Saúde com desconto / Valor do plano de Saúde sem desconto / Valor do plano de Saúde com desconto
	
	Valor do plano de Saúde sem desconto / Valor do plano de Saúde sem desconto / Valor do plano de Saúde com desconto
	Respondido em 07/05/2020 08:21:26
	
Explicação:
Em programação, entender dominar a sintaxe de cada comando/ estrutura é fundamental.
Nesse caso, conhecer os operadores relacionais e lógicos também
	
	
	 
	
	 8a 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 aprovado com: 6.00
	
	Aluno aprovado com: 6.0
	 
	Aluno reprovado com: 6.5
	
	Aluno reprovado com: 6.50
	
	Aluno aprovado com: 6.5
	
	 1a 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 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.
	
	Soma dos números inteiros menores que 50000.
	
	Soma dos números inteiros menores que 50000 ímpares.
	Respondido em 07/05/2020 08:25:13
	
	
	 
	
	 2a Questão
	
	
	
	
	 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       8       19       12       14       16
	 
	2       4       6       10       1626       42
	
	2       4       6       10       16       26       42       68
	
	2       4       4       8       12       20       32       52
	
	2       4       4       8       12       20       32       
	Respondido em 07/05/2020 08:26:13
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 3a Questão
	
	
	
	
	int main() {
  int contador = 1; 
  while (contador < 10)
 {
    printf("%d ", contador);
    contador++;
} 
return 0;
}
		
	
	1 2 3 4 5 6 7 8 9 10
	
	1 2 3 4 5 6 7 8 9 10 11
	
	0 1 2 3 4 5 6 7 8 9 10
	 
	1 2 3 4 5 6 7 8 9
	
	0 1 2 3 4 5 6 7 8 9 10 11
	Respondido em 07/05/2020 08:26:31
	
	
	 
	
	 4a Questão
	
	
	
	
	João foi realizar uma prova que tinha uma questão com o trecho abaixo e pedia para assinalar a opção que mostrava quantas vezes seria exibida a mensagem Tenho que estudar.
Se fosse você, qual escolheria?
int y;
for(y=5; y>=25; y+=5); puts("\nTenho que estudar");
 
		
	
	Nenhuma vez
	
	19 vezes
	
	5 vezes
	
	6 vezes
	 
	1 vez 
	Respondido em 07/05/2020 08:28:08
	
Explicação:
 O aluno precisa ter entendido que a estrutura do for usa uma PA ou PG
	
	
	 
	
	 5a Questão
	
	
	
	
	Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
		
	
	for ( i = 0; i == num; i++)
	
	enquanto (num > 0)
	
	while (num == 0)
	 
	while (num != 0)
	
	for (i = num; i > 0; i++)
	Respondido em 07/05/2020 08:28:36
	
Explicação:
As estruturas de repetição podem testar a condição antes de executar o bloco (for e while) ou executar pelo menos uma vez(do...while) porque testa ao final.
Conhecer os operadores relacionais e lógicos será fundamental para criarmos a expressão do teste.
A frase  enquanto a variável  num seja diferente de 0 já nos dá a resposta: while(num != 0).
	
	
	Gabarito
Coment.
	
	 
	
	 6a Questão
	
	
	
	
	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.
	
	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 números divisíveis por 3.
	
	O código mostra os números divisíveis por 2.
	Respondido em 07/05/2020 08:28:32
	
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.
	
	
	 
	
	 7a Questão
	
	
	
	
	Considere o trecho de código abaixo. O que será impresso quando o programa for executado?
int main()
{
    int contador = 10; 
     
    while (contador > 1) 
    {
          printf("%d ", contador); 
          
          contador--;
         
    }
     
    return 0; 
}
		
	
	Nunca vai parar. 1 1 1 1 1 1 1 1 1 1 1 1 ...
	
	1 2 3 4 5 6 7 8 9
	 
	10 9 8 7 6 5 4 3 2
	
	10 9 8 7 6 5 4 3 2 1
	
	Nunca vai parar. 10 10 10 10 10 10 10 10...
	Respondido em 07/05/2020 08:29:15
	
Explicação:
A estrutura while repete o bloco enquanto o teste for verdadeiro.
Se a variável contador começa com 10 e exibe o valor do contador enquanto ele for maior do que, significa que quando ele for decrementado e chegar a 1, interromperá a repetição;
Resposta correta: 10 9 8 7 6 5 4 3 2
	
	
	 
	
	 8a Questão
	
	
	
	
	Analise o trecho de código abaixo e determine qual a saída gerada:
int i,  A = 0, B = 1 ;
for (i = 1; i < 5; i++) {
      A = B;
      B = i + B * A;
}
cout << " A = " <<  A << " B =  " << B;
		
	
	A = 0 B = 1
	
	A = 8 B = 67
	
	A = 6 B = 39
	 
	A = 39  B = 1525
	
	A = 67  b = 4757
	 1a Questão
	
	
	
	Qual das alternativas abaixo possui o comando que devolve o numero de caracteres em um uma string?
		
	
	strcout
	
	strcat
	
	strcap
	 
	strlen
	
	strcamp
	Respondido em 07/05/2020 08:31:51
	
	
	 
	
	 2a Questão
	
	
	
	
	
Qual o elemento do vetor referenciado por vet[vet[5]]?
		
	
	9
	
	3
	
	1
	 
	4
	
	2
	Respondido em 07/05/2020 08:32:07
	
	
	 
	
	 3a Questão
	
	
	
	
	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
	Respondido em 07/05/2020 08:32:14
	
Explicação:
São chamados de Estruturas de Dados Homogêneas  porque são formados por dados do mesmo tipo.
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão
	
	
	
	
	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=1; x < 4; x++ )
 printf("%d\t",matriculas[x]);
	 
	for(x = 0; x < 4; x++ )
 printf("%d\t",matriculas[x]);
	
	for(x = 1; x <= 4; x++ )
 printf("%d\n",matriculas[x]);
	
	for(x = 0; x < 4; x++ )
 printf("%d\n",matriculas[x]);
	
	for(x = 0; x <= 4; x++ )
 printf("%d\n",matriculas[x]);
	Respondido em 07/05/2020 08:32:48
	
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.
	
	
	 
	
	 5a 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 = "ABCD";
	
	char valores[] = {'A', 'B', 'C', 'D'};
	
	char valores[5] = {'A', 'B', 'C', 'D'};
	
	int valores[5] = {10, 15, 20, 25, 30};
	Respondido em 07/05/2020 08:33:56
	
Explicação:
Errada: char valores = "ABCD"; porque faltam [].
Deveria ser assim: char valores[] = "ABCD";
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 6a 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.
		
	
	float vetorIdade[49];
	 
	int vetorIdade[50];
	
	double vetorIdade[25];
	
	int vetorIdade[49];
	
	float vetorIdade[50];
	Respondido em 07/05/2020 08:35:57
	
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];
 
	
	
	 
	
	 7a Questão
	
	
	
	
	Em um programa o programador inseriu a seguinte linha de código: float notas [10]. Esta linha quer dizer:
		
	
	notas é uma string com 10 caracteres.
	 
	notas é um vetor com 10 números reais.
	
	notas é uma constante de valor 10.
	
	notas é uma função para somar 10 números.
	
	notas é uma variável de potência 10.
	Respondido em 07/05/2020 08:37:16
	
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.
 
	
	
	 
	
	 8a 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 < 44 ; x++ )
	
	  for(x = 1; x < 43 ; x++ ) 
	 
	  for(x = 0; x < 43 ; x++ )
	
	  for(x = 1; x <= 43 ; x++ )
	
	  for(x = 0; x <= 43 ; x++ )1a 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 [30][20];
	
	char nomes (20,30);
	
	char nomes [20][30];
	
	char nomes (30);
	Respondido em 07/05/2020 08:42:00
	
	
	Gabarito
Coment.
	
	
	Gabarito
Coment.
	
	 
	
	 2a Questão
	
	
	
	
	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 sal[32]; int dep[32]; char nomes[32][30], cargos[32][20]; 
	
	float sal[32]; int dep[32]; char dados[32][20];
	
	float dadosN[32][2]; char dadosC[32][30];
	
	float sal[31]; int dep[31]; char nomes[31][30], cargos[31][20];
	
	float sal[32]; int dep[32]; char nomes[32], cargos[32]; 
	Respondido em 07/05/2020 08:43:43
	
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.
 
	
	
	 
	
	 3a 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-while-for-for
	 
	do-for-for-while
	
	do-if-else-while
	Respondido em 07/05/2020 08:46:35
	
	
	Gabarito
Coment.
	
	 
	
	 4a Questão
	
	
	
	
	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 mapa[30][3];
	
	int mapa[3][30];
 
	
	float mapa[30][30];
	
	int turmas[30];
	Respondido em 07/05/2020 08:48:15
	
Explicação:
A declaração de um vetor bidimensional é feita na forma identificador [nº de linhas][nº de colunas],
como os dados a serem armazenado são grandezas inteira, isto é quantidade de alunos  e necessita-se de 30 posiçoes para linhas que representam as turmas e apenas 3 posiçoes para as colunas, o correto é int mapa[30][3];
	
	
	 
	
	 5a Questão
	
	
	
	
	Uma matriz é definida como float mat[5][10]; Quantos elementos esta matriz armazena?
		
	
	36 elementos
	
	10 elementos
	
	45 elementos
	
	5 elementos
	 
	50 elementos
	Respondido em 07/05/2020 08:49:03
	
	
	 
	
	 6a 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 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.
	
	O programa cria uma matriz de duas dimensões vazia.
	Respondido em 07/05/2020 08:51:47
	
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.
	
	
	 
	
	 7a 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 zerados.
	
	O programa não executa pois há falta de chaves.
	
	Os valores armazenados nos elementos de uma mesma linha na matriz são iguais.
	 
	Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais.
	
	Os valores armazenados nos elementos de uma mesma linha na matriz são zerados.
 
	Respondido em 07/05/2020 08:52:10
	
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.
	
	
	 
	
	 8a 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
.
		
	
	dia não existe
	
	quinta
	
	sexta
	
	quarta
	 
	sábado
	
	 
		
	
		1.
		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:
 
	
	
	
	memória
	
	
	endereço
	
	
	ponteiro
	
	
	valor
	
	
	referência
	
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.
	
	
	
	 
		
	
		2.
		Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa.
cout <<  " Produto =  " << multiplicar(a,b);
Observe as opções abaixo e escolha aquela onde o protótipo da função está presente.
 
 
	
	
	
	float multiplicar(int a, int b)
	
	
	void multiplicar(int a, int b);
	
	
	void multiplicar(int a, int b)
	
	
	int multiplicar(int a, int b) ;
	
	
	int multiplicar(int a, b);
	
Explicação:
Se fosse do tipo void, não precisaria de cout. Todo protótipo termina com ; . O tipo de cada parâmetro precisa estar presente
	
	
	
	 
		
	
		3.
		Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas
	
	
	
	systema("pause")
	
	
	return
	
	
	main()
	
	
	end
	
	
	begin
	
		4.
		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 é:
 
	
	
	
	structs
 
	
	
	funções
	
	
	vetor
	
	
	tipo de dados
	
	
	variáveis
	
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 outrosprogramas, 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.
	
	
	
	 
		
	
		5.
		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 I e II estão corretas
  
	
	
	As afirmativas II,  III e IV estão corretas
 
	
	
	As afirmativas II e IV estão corretas
 
	
	
	Somente a afirmativa II está correta
	
	
	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
	
	
	
	 
		
	
		6.
		Analise o código a seguir:
#include < stdio.h >
#include < stdlib.h >
void modifica(int v[])
{
    int temp=v[0];
    v[0]=v[1];
    v[1]=temp;
}
int main(int argc, char *argv[]) {
    int vetor[]={5,3};
    modifica(vetor);
    printf("vetor[0]=%d\tvetor[1]=%d", vetor[0], vetor[1]);
    return 0;
}
Marque a alternativa correta:
	
	
	
	A saída que será exibida é v[0]=3 e v[1]=5 os valores dos campos do vetor são alterados, na função main().
	
	
	A saída que será exibida é v[0]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main().
	
	
	A saída que será exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main().
	
	
	O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]).
 
	
	
	A saída que será exibida é v[0]=3 e v[1]=3 os valores dos campos do vetor são copiados, na função main().
	
Explicação:
Na função o acesso ocorre exatamente no vetor que foi passado como parâmetro, portanto há alteração do conteúdo do mesmo.
	
	
	
	 
		
	
		7.
		Seja a função a seguir, onde são passados como parâmetros um vetor e seu tamanho, respectivamente int v[] e tam:
void imprime(int v[], int tam)
{
  int i;
 for(i=0; i< = tam;i++)    printf("v[%d]=%d\n", i, v[i]);
}
Analise o código da função e marque a alternativa correta:
 
 
	
	
	
	Não há problemas com o código da função, esta pode ser executada sem problemas.
	
	
	Há erro no uso da função printf(), sabendo que um dos argumentos é um elemento do vetor.
	
	
	O laço de repetição está errado pois tenta acessar fora dos limites do vetor.
	
	
	O cabeçalho da função possui erro , pois neste caso não pode-se usar como valor de retorno void.
 
	
	
	A função printf() não pode ser usada com vetores.
	
Explicação:
Como o tamanho do vetor é passado pelo parâmeto tam, o laço de repetição só pode acessar da posição 0 até a posição tam-1. Portanto há erro na tentativa de acesso no vetor.
	
	
	
	 
		
	
		8.
		O presidente da construtora Sempre Verde precisou, em um determinado momento, reajustar o salário dos funcionários e, como ele sabia programar porque tinha se dedicado muito à disciplina de Linguagem de Programação I, definiu uma função com o seguinte protótipo:
float calcSalario(float salario, float percentual);
Baseado nesse protótipo é CORRETO afirmar que a função:
 
	
	
	
	Retornará o salário somado ao percentual.
	
	
	Recebe dois valores passados por referência.
	
	
	Recebe dois valores, salário e o percentual  de reajuste,  passados por valor.
	
	
	Retornará dois valores para a função chamadora.
	
	
	Não retorna nenhum valor para a função chamadora.
	
	 
		
	
		1.
		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:
 
	
	
	
	memória
	
	
	endereço
	
	
	ponteiro
	
	
	valor
	
	
	referência
	
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.
	
	
	
	 
		
	
		2.
		Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa.
cout <<  " Produto =  " << multiplicar(a,b);
Observe as opções abaixo e escolha aquela onde o protótipo da função está presente.
 
 
	
	
	
	float multiplicar(int a, int b)
	
	
	void multiplicar(int a, int b);
	
	
	void multiplicar(int a, int b)
	
	
	int multiplicar(int a, int b) ;
	
	
	int multiplicar(int a, b);
	
Explicação:
Se fosse do tipo void, não precisaria de cout. Todo protótipo termina com ; . O tipo de cada parâmetro precisa estar presente
	
	
	
	 
		
	
		3.
		Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas
	
	
	
	systema("pause")
	
	
	return
	
	
	main()
	
	
	end
	
	
	begin
	
		4.
		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 é:
 
	
	
	
	structs
 
	
	
	funções
	
	
	vetor
	
	
	tipo de dados
	
	
	variáveis
	
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.
	
	
	
	 
		
	
		5.
		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 I e II estão corretas
  
	
	
	As afirmativas II,  III e IV estão corretas
 
	
	
	As afirmativas II e IV estão corretas
 
	
	
	Somente a afirmativa II está correta
	
	
	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
	
	
	
	 
		
	
		6.
		Analise o código a seguir:
#include < stdio.h >
#include < stdlib.h >
void modifica(int v[])
{
    int temp=v[0];
    v[0]=v[1];
    v[1]=temp;
}
int main(int argc, char *argv[]) {
    int vetor[]={5,3};
    modifica(vetor);
    printf("vetor[0]=%d\tvetor[1]=%d", vetor[0], vetor[1]);
    return 0;
}
Marque a alternativa correta:
	
	
	
	A saída que será exibida é v[0]=3 e v[1]=5 os valores dos campos do vetor são alterados, na função main().
	
	
	A saída que será exibida é v[0]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main().
	
	
	A saída que será exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main().
	
	
	O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]).
 
	
	
	A saída que será exibida é v[0]=3 e v[1]=3 os valores dos campos do vetor são copiados, nafunção main().
	
Explicação:
Na função o acesso ocorre exatamente no vetor que foi passado como parâmetro, portanto há alteração do conteúdo do mesmo.
	
	
	
	 
		
	
		7.
		Seja a função a seguir, onde são passados como parâmetros um vetor e seu tamanho, respectivamente int v[] e tam:
void imprime(int v[], int tam)
{
  int i;
 for(i=0; i< = tam;i++)    printf("v[%d]=%d\n", i, v[i]);
}
Analise o código da função e marque a alternativa correta:
 
 
	
	
	
	Não há problemas com o código da função, esta pode ser executada sem problemas.
	
	
	Há erro no uso da função printf(), sabendo que um dos argumentos é um elemento do vetor.
	
	
	O laço de repetição está errado pois tenta acessar fora dos limites do vetor.
	
	
	O cabeçalho da função possui erro , pois neste caso não pode-se usar como valor de retorno void.
 
	
	
	A função printf() não pode ser usada com vetores.
	
Explicação:
Como o tamanho do vetor é passado pelo parâmeto tam, o laço de repetição só pode acessar da posição 0 até a posição tam-1. Portanto há erro na tentativa de acesso no vetor.
	
	
	
	 
		
	
		8.
		O presidente da construtora Sempre Verde precisou, em um determinado momento, reajustar o salário dos funcionários e, como ele sabia programar porque tinha se dedicado muito à disciplina de Linguagem de Programação I, definiu uma função com o seguinte protótipo:
float calcSalario(float salario, float percentual);
Baseado nesse protótipo é CORRETO afirmar que a função:
 
	
	
	
	Retornará o salário somado ao percentual.
	
	
	Recebe dois valores passados por referência.
	
	
	Recebe dois valores, salário e o percentual  de reajuste,  passados por valor.
	
	
	Retornará dois valores para a função chamadora.
	
	
	Não retorna nenhum valor para a função chamadora.

Outros materiais