Buscar

Cap1 e 3 Renan Rossetto das Neves RA 83512

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

Nome: Renan Rossetto das Neves R.A: 83512
Capítulo 1 – Exercícios Resolvidos.
1.Qual a função que deve estar presente em todos os programas em C?
R: A função main deve estar presente em todos os programas em C.
2.Como devem terminar todas as instruções em C?
R:As instruções em C devem terminar com ;
3.Como é delimitado um bloco em C?
 
 R: O bloco em C é delimitado com {}
4.A função printf é parte integrante da linguagem C?
R: Não, por isso que é necessário colocar #include<stdio.h>
5.Para que serve a linha #include <stdio.h> num programa?
R: A linha #include<stdio.h> serve para incluir uma biblioteca de entrada e saída de dados.
6.A extensão .h indica que o arquivo correspondente é composto por ... ?
R: A extensão .h indica que o arquivo é composto por uma biblioteca.
7.Os arquivos com extensão .h são também conhecidos por ... ?
R: Bibliotecas (header files)
8.Por que razão não se utilizou a linha #include <stdio.h> no programa prog0101.c?
R: Não se utilizou o stdio.h pois no programa não foi usada a entrada e saída de dados.
9.Dentro de uma string pode-se usar letras maiúsculas? Justifique.
R: Pode se utilizar letras maiúsculas em uma string, apenas declarando-a. 
10.Qual o significado de stdio?
R: stdio é uma biblioteca de entrada e saída de dados. 
11.Identifique os erros de compilação que seriam detectados nos seguintes programas:
11.1
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h>
Main() // aqui o main foi escrito da forma errada.
{
printf("Hello World");
}
11.2
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h>
Main //Aqui faltou o (), e o main está incorreto.
{
printf("Hello World");
}
11.3
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h>
main()
{
print ("Hello World"); // aqui o printf foi escrito de forma incorreta.
}
11.4
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h>
main()
{
printf("Hello")(" World"); // o printf está com parâmetro errado.
}
11.5
/*
* Copyright: Asneira Suprema Software!!!
/* // O comentário foi escrito errado.
#include <stdio.h>
main()
{
printf("Hello World");
}
11.6
/*
/* Copyright: Asneira Suprema Software!!! */
*/ // Aqui foi comentado dentro do comentário.
#include <stdio.h>
main()
{
printf("Hello World");
}
11.7
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h>
main()
{
printf(Hello World); // printf está sem aspas.
}
11.8
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h>
main()
{
printf("Hello World") // Está sem ponto e vírgula.
}
11.9
/*
* Copyright: Asneira Suprema Software!!!
*/
include <stdio.h> // Aqui falta a # no #include.
main()
{
printf("Hello World");
}
11.10
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h>
main()
{
printf('Hello World'); // Aqui o printf está com aspas simples.
}
12.Os comentários devem ser escritos
a)Antes de qualquer instrução do programa.
b)Depois de todas as instruções.
c)Antes do main.
d)Sempre que o programador ache necessário ou conveniente.
Letra D é a correta.
13.Um programa em C, que tenha comentários no seu código, é, em relação a outro que não os tenha,
a)Mais rápido para executar.
b)Mais lento para executar.
c)Executado praticamente à mesma velocidade, pois os comentários exigem uma utilização ínfima da CPU.
d)Executado à mesma velocidade, pois os comentários são simplesmente ignorados pelo compilador, não havendo qualquer reflexo deles no tempo de execução.
Letra D é a correta.
14.Indique se são verdadeiras ou falsas as seguintes afirmações:
Os Comentários
a)só podem ocupar uma única linha. (F)
b)podem ocupar várias linhas.(V)
c)podem conter outros comentários dentro. (F)
d)começam por /* e terminam com */. (V)
e)não têm qualquer influência na velocidade de execução de um programa. (V)
f)têm que começar no início de uma linha. (F)
g)quando ocupam apenas uma linha não precisam terminar com */. (F)
15.Escreva um programa que coloque na tela a seguinte frase:
Bem-vindos ao /Mundo\ da programação em "C"
#include <stdio.h>
main()
{
Printf (“Bem-vindos ao /Mundo\ da programação em "C" “);
Return 0;
}
16.Escreva um programa que coloque na tela uma árvore com o seguinte formato:
*
***
*****
/|\
#include <stdio>
main()
{
printf(“ *\n *** \n *****\n /|\\”);
Return 0;
}
17.Escreva um programa que coloque na tela a seguinte saída:
	Total
	=
	100%
	IVA
	=
	17%
	IRS
	=
	15%
	
	Líq.
	=
	68%
#include <stdio>
main()
{
printf(“
	 Total
	=
	100% \n
	IVA
	=
	17% \n
	IRS
	=
	15% \n
	Líq.
	=
	68%
”);
Return 0;
}
18.Experimente a função puts("Hello World"); (put string) para escrever a string “Hello World” e indique qual a diferença entre esta e a função printf. (Nota: Essa função também faz parte do stdio.h.)
#include <stdio>
main()
{
puts (“Hello World “);
Return 0;
}
A diferença para a função printf, é que na puts ocorre a quebra de linha.
Capítulo 3 – Exercícios Resolvidos
Por que razão variáveis do tipo float não devem armazenar valores lógicos?
R: Porque as variáveis do tipo float armazenam números quebrados, que podem ser verdadeiros e falsos ao mesmo tempo, como por exemplo, 0.001.
2. Indique quais, das seguintes afirmações, são verdadeiras e quais são falsas.
2.1 O else de um if é facultativo. (V)
2.2 Num if são necessários parênteses em torno da condição.(V)
2.3 O if pode conter a palavra then opcionalmente. (F)
2.4 Tanto a componente if como a componente else só podem conter uma única instrução. (V)
2.5 O if tem que estar numa linha diferente do else. (F)
2.6 Na condição do if pode ser colocada uma constante, uma variável ou uma expressão. (V)
3. Como consegue uma instrução if-else saber onde termina o if e começa o else, ou se o if tem ou não else.
R: Pelo fato de if-else ser considerado apenas um bloco para o compilador, a leitura é feita da seguinte forma, o compilador lê o if-else, porém se não encontrar o else termina ali mesmo a leitura do bloco.
4. Um bloco pode ser constituído por apenas uma instrução?
R: Sim.
5. Depois de um bloco é obrigatório o uso de ; ?
R:Não.
6. [Exercício de Exame]
Existe alguma diferença no funcionamento dos seguintes trechos?
	if (x==0)
printf("X");
else
printf("Y");
R: Sim, o primeiro if está criando uma condição de igualdade, já o segundo faz uma atribuição.
	if (x=0)
printf("X");
else
printf("Y");
7. [Exercício de Exame]
A indentação facilita o processo de
a) Compilação
b) Linkagem
c) Execução
d) Programação
R: Letra D é a correta.
8. Um programa indentado é, em geral:
a) Mais rápido de executar que outro que não o seja.
b) Mais lento de executar que outro que não o seja.
c) Mais legível que outro que não seja indentado.
d) Menos legível que outro que não o seja.
R: Letra C é a correta.
9. [Exercício de Exame]
Sempre que um compilador detecta um código mal indentado:
a) Emite um erro.
b) Emite um "WARNING".
c) Escreve o arquivo corretamente indentado.
d) Um compilador não faz qualquer tipo de verificação da indentação.
R: Letra D é a correta.
10. Indique duas vantagens e duas desvantagens do if-else em relação ao switch.
R:
Vantagens:
O if permite o teste de condições que não estão limitadas a valores constantes - if (x>y)
A instrução if permite a utilização de mais de uma condição - if (x>10 && x<100)...
Desvantagens:
Quando o número de condições é muito elevado, if-else encadeados podem tornar o código particularmente confuso.
O switch permite encadear diversos case, controlando-os com a instrução break.
11. Será que a instrução break, quando apresentada dentro de um if, passa a execução automaticamente para o else?
R: Não, pois a instrução break não pode ser utilizada com um if, apenas com um else.
12. Qual o valor lógico que as seguintes expressões enviam para o if?
a) if (10 == 5) Falsob) if ((2+3) == -( -2 -3)) Verdadeiro
c) if (x = 5) Verdadeiro (atribuição)
d) if (x = 0) Falso (atribuição)
13. Supondo x= 4, y=6 e z= –1, qual o valor lógico das seguintes expressões:
a) if (x == 5) Falso
b) if (x == 5 || z < 0) Verdadeiro
c) if (y - x +z -1) Falso
d) if (x == 4 || y>= z && ! (z)) Verdadeiro 
14. Escreva, utilizando um único if, o seguinte código.
if (x == 0)
if (y <= 32)
printf("Sucesso!!!");
R: if (x == 0 && y <= 32)
  printf ("Sucesso!");
15. Identifique os erros de compilação que seriam detectados nos seguintes programas.
15.1
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h> main()
{ int x;
if (x==0)
break; // Break não pertence ao conjunto do if. 
else
printf("X não é zero \n");
}
15.2
/*
* Copyright: Asneira Suprema Software!!!
*/
#include <stdio.h> main()
{
int x;
if (x==0) then // o comando then não se aplica dentro de um if.
printf("X é zero \n");
else
printf("X não é zero \n");
}
15.3
/*
* Copyright: Asneira Suprema Software!!! */
#include <stdio.h> main()
{ int x;
switch (x)
{
case 1: printf("um"); break;
case 2: printf("dois"); break;
else: printf("Nem um nem dois"); // O comando else, não pode aparecer dentro de um switch.
}
}

Continue navegando