17.04.2013 Views

2.1 Preencha os espaços em branco em um cada das seguintes. a ...

2.1 Preencha os espaços em branco em um cada das seguintes. a ...

2.1 Preencha os espaços em branco em um cada das seguintes. a ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>2.1</strong> <strong>Preencha</strong> <strong>os</strong> espaç<strong>os</strong> <strong>em</strong> <strong>branco</strong> <strong>em</strong> <strong>um</strong> <strong>cada</strong> <strong>das</strong> <strong>seguintes</strong>.<br />

a. Todo programa de C começa execução na função _________.<br />

b. A _________ começa o corpo de toda função e a _________ termina o corpo de toda<br />

função.<br />

c. Toda declaração de C termina com <strong>um</strong>(a) _________.<br />

d. O \n de seqüência de escape representa o caractere de _________ que faz o cursor<br />

p<strong>os</strong>icionar ao começo da próxima linha na tela.<br />

e. A declaração _________ é usada para tomar decisões.<br />

2.2 Estabeleça se <strong>cada</strong> <strong>um</strong>a <strong>das</strong> <strong>seguintes</strong> é verdadeira ou falsa. Se falsa, explique por que.<br />

a. Comentári<strong>os</strong> faz<strong>em</strong> o computador imprimir o texto depois do // na tela quando o<br />

programa é executado.<br />

b. A de seqüência de escape \n, quando <strong>em</strong>itido com printf(), faz o cursor p<strong>os</strong>icionarse<br />

no começo da próxima linha na tela.<br />

c. To<strong>das</strong> as variáveis dev<strong>em</strong> ser declara<strong>das</strong> antes de ser<strong>em</strong> usa<strong>das</strong>.<br />

d. To<strong>das</strong> as variáveis dev<strong>em</strong> ter <strong>um</strong> tipo quando são declara<strong>das</strong>.<br />

e. C considera as variáveis n<strong>um</strong>ero e NuMeRo idênticas.<br />

f. Declarações pod<strong>em</strong> aparecer <strong>em</strong> quase qualquer lugar no corpo de <strong>um</strong>a função <strong>em</strong> C.<br />

g. O operador de módulo (%) só pode ser usado com operand<strong>os</strong> inteir<strong>os</strong>.<br />

h. Os operadores aritmétic<strong>os</strong> *, /,%, + e tod<strong>os</strong> têm o mesmo nível de precedência.<br />

i. Um programa <strong>em</strong> C que imprime três linhas de saída t<strong>em</strong> que conter três sentenças que<br />

usam puts() ou printf().<br />

2.3 Escreva <strong>um</strong>a única sentença <strong>em</strong> C para realizar <strong>cada</strong> <strong>um</strong> do seguinte:<br />

a. Declare as variáveis c, thisIsAVariable, q76354 e n<strong>um</strong>ero ser<strong>em</strong> de tipo int.<br />

b. Peça ao usuário para entrar <strong>em</strong> <strong>um</strong> inteiro. Termine sua mensag<strong>em</strong> de pedido com <strong>um</strong><br />

dois pont<strong>os</strong> (:) seguido por <strong>um</strong> espaço e deixe o cursor p<strong>os</strong>icionado depois do espaço.<br />

c. Leia <strong>um</strong> inteiro do usuário no teclado e armazene o valor entrado <strong>em</strong> <strong>um</strong>a variável<br />

inteira idade.<br />

d. Se o valor da variável não for igual a 7, imprima "O valor da variável não é<br />

igual a 7."<br />

e. Imprima a mensag<strong>em</strong> “Este é <strong>um</strong> programa <strong>em</strong> C” <strong>em</strong> <strong>um</strong>a linha.<br />

f. Imprima a mensag<strong>em</strong> <strong>em</strong> duas linhas. Termine a primeira linha após C.<br />

g. Imprima a mensag<strong>em</strong> “Este é <strong>um</strong> programa <strong>em</strong> C” com <strong>cada</strong> palavra <strong>em</strong> <strong>um</strong>a linha<br />

separada.<br />

h. Imprima a mensag<strong>em</strong> “Este é <strong>um</strong> programa <strong>em</strong> C” com <strong>cada</strong> palavra separada da<br />

próxima por <strong>um</strong>a tabulação.<br />

2.4 Escreva <strong>um</strong>a sentença (ou comentário) para realizar <strong>cada</strong> <strong>um</strong> do seguinte:<br />

a. Faça que <strong>um</strong> programa calcule o produto de três inteir<strong>os</strong>.<br />

b. Declare as variáveis x, y, z e resultado do tipo int (<strong>em</strong> declarações separa<strong>das</strong>).<br />

c. Peça ao usuário para entrar <strong>em</strong> três inteir<strong>os</strong>.<br />

d. Leia três inteir<strong>os</strong> do teclado e <strong>os</strong> armazene nas variáveis x, y e z.<br />

e. Compute o produto d<strong>os</strong> três inteir<strong>os</strong> contid<strong>os</strong> nas variáveis x, y e z, e armazene o<br />

resultado na variável resultado.<br />

f. Imprima "O produto é " seguido pelo valor da variável resultado.


g. Devolva <strong>um</strong> valor de main indicando que o programa terminou com sucesso.<br />

2.5 Usando as declarações você escreveu no Exercício 2.4, escreva <strong>um</strong> programa<br />

completo que calcule e exiba o produto de três inteir<strong>os</strong>. Acrescente comentári<strong>os</strong> ao código<br />

onde apropriado.<br />

2.6 Identifique e corrija <strong>os</strong> err<strong>os</strong> <strong>em</strong> <strong>cada</strong> <strong>das</strong> declarações <strong>seguintes</strong>:<br />

a. if ( c < 7 );<br />

b. printf( "c e menor que 7\n" );<br />

c.<br />

d. if ( c => 7 )<br />

e. printf( "c eh maior ou igual a 7\n" );<br />

f.<br />

2.7 <strong>Preencha</strong> <strong>os</strong> espaç<strong>os</strong> <strong>em</strong> <strong>branco</strong> <strong>em</strong> <strong>cada</strong> <strong>um</strong>a <strong>das</strong> <strong>seguintes</strong>:<br />

a. São usad<strong>os</strong> ______para doc<strong>um</strong>entar <strong>um</strong> programa e melhorar sua legibilidade.<br />

b. A função usada para imprimir informação na tela é _____.<br />

c. Uma declaração de C que toma <strong>um</strong>a decisão é ______.<br />

d. A maioria d<strong>os</strong> cálcul<strong>os</strong> normalmente é executada através de declarações de ______.<br />

e. A função ______ faz a entrada de valores do teclado.<br />

2.8 Escreva <strong>um</strong>a única declaração de C ou linha que realize <strong>cada</strong> do seguinte:<br />

a. Imprima a mensag<strong>em</strong> "Entre <strong>em</strong> dois númer<strong>os</strong>".<br />

b. Atribua o produto <strong>das</strong> variáveis b e c para a variável a.<br />

c. Descreva que <strong>um</strong> programa executa <strong>um</strong> cálculo de folha de pagamento (i.e., usar texto<br />

que ajude a doc<strong>um</strong>entar <strong>um</strong> programa).<br />

d. Introduza três valores inteir<strong>os</strong> do teclado nas variáveis inteiras a, b e c.<br />

2.9 Declare quais <strong>das</strong> <strong>seguintes</strong> são verdadeiras e quais são falsas. Se falsa, explique sua<br />

resp<strong>os</strong>ta.<br />

a. Operadores de C são avaliad<strong>os</strong> da esquerda para a direita.<br />

b. Os <strong>seguintes</strong> nomes de variáveis são tod<strong>os</strong> válid<strong>os</strong>: _barra_inferior_, m928134,<br />

t5, j7, ven<strong>das</strong>_dela, total_da_conta_dele, a, b, c, z, z2.<br />

c. A declaração puts( "a = 5;" ); é <strong>um</strong> ex<strong>em</strong>plo típico de <strong>um</strong>a declaração de<br />

atribuição.<br />

d. Em C, <strong>um</strong>a expressão aritmética s<strong>em</strong> parênteses válida é avaliada da esquerda para a<br />

direita.<br />

e. Os <strong>seguintes</strong> nomes de variáveis são tod<strong>os</strong> inválid<strong>os</strong>: 3g, 87, 67h2, h22, 2h.<br />

<strong>2.1</strong>0 <strong>Preencha</strong> <strong>os</strong> espaç<strong>os</strong> <strong>em</strong> <strong>branco</strong> <strong>em</strong> <strong>cada</strong> <strong>das</strong> <strong>seguintes</strong>:<br />

a. Quais operações aritméticas estão no mesmo nível de precedência que multiplicação?<br />

______.<br />

b. Quando parênteses são aninhad<strong>os</strong> que par de parênteses é avaliado primeiro <strong>em</strong> <strong>um</strong>a<br />

expressão de aritmética? ______.<br />

c. Um local na m<strong>em</strong>ória do computador que pode conter diferentes valores <strong>em</strong> diferentes<br />

t<strong>em</strong>p<strong>os</strong> ao longo da execução de <strong>um</strong> programa é chamado <strong>um</strong>a ______.


<strong>2.1</strong>1 O que, se for o caso, é impresso quando <strong>cada</strong> <strong>um</strong>a <strong>das</strong> <strong>seguintes</strong> declarações de C é<br />

executada? Se nada for impresso, então resp<strong>os</strong>ta "nada". Ass<strong>um</strong>a x = 2 e y = 3.<br />

a. printf( “%d”, x );<br />

b. printf( “%d”, x + x );<br />

c. printf( "x=" );<br />

d. printf( "x = %d", x );<br />

e. printf( "%d = %d" , x + y, y + x );<br />

f. z = x + y;<br />

g. scanf( “%d %d”, &x, &y );<br />

h. // printf( "x + y = %d", x + y );<br />

i. printf( "\n" );<br />

<strong>2.1</strong>2 Quais <strong>das</strong> <strong>seguintes</strong> declarações de C contêm variáveis cuj<strong>os</strong> valores são substituíd<strong>os</strong>?<br />

a. scanf( “%d %d %d %d %d”, &b, &c, &d, &e, &f );<br />

b. p = i + j + k + 7;<br />

c. printf( "variáveis cuj<strong>os</strong> valores são substituíd<strong>os</strong>" );<br />

d. printf( "a = 5" );<br />

<strong>2.1</strong>3 Dada a equação algébrica y = ax 3 + 7, quais <strong>das</strong> <strong>seguintes</strong>, se houver, são declarações<br />

corretas de C para esta equação?<br />

a. y = a * x * x * x + 7;<br />

b. y = a * x * x * ( x + 7 );<br />

c. y = ( a * x ) * x * ( x + 7 );<br />

d. y = (a * x) * x * x + 7;<br />

e. y = a * ( x * x * x ) + 7;<br />

f. y = a * x * ( x * x + 7 );<br />

<strong>2.1</strong>4 Declare a ord<strong>em</strong> de avaliação d<strong>os</strong> operadores <strong>em</strong> <strong>cada</strong> <strong>das</strong> declarações de C <strong>seguintes</strong><br />

e m<strong>os</strong>tre o valor de x depois que <strong>cada</strong> declaração for executada.<br />

a. x = 7 + 3 * 6 / 2 - 1;<br />

b. x = 2 % 2 + 2 * 2 - 2 / 2;<br />

c. x = ( 3 * 9 * ( 3 + ( 9 * 3 / ( 3 ) ) ) );<br />

<strong>2.1</strong>5 Escreva <strong>um</strong> programa que peça ao usuário para entrar com dois númer<strong>os</strong>, pegue <strong>os</strong><br />

dois númer<strong>os</strong> do usuário e imprima a soma, produto, diferença, e quociente d<strong>os</strong> dois númer<strong>os</strong>.<br />

<strong>2.1</strong>6 Escreva <strong>um</strong> programa que imprima <strong>os</strong> númer<strong>os</strong> 1 a 4 na mesma linha com <strong>cada</strong> par de<br />

númer<strong>os</strong> adjacentes separad<strong>os</strong> por <strong>um</strong> espaço. Faça isto d<strong>os</strong> <strong>seguintes</strong> mod<strong>os</strong>:<br />

a. Usando <strong>um</strong>a declaração com <strong>um</strong>a função printf().<br />

b. Usando <strong>um</strong>a declaração com quatro funções printf().<br />

c. Usando quatro declarações.


<strong>2.1</strong>7 Escreva <strong>um</strong> programa que peça ao usuário para entrar com dois inteir<strong>os</strong>, obtenha<br />

<strong>os</strong> númer<strong>os</strong> do usuário, então imprima o número maior seguido pelas palavras "é maior.".<br />

Se <strong>os</strong> númer<strong>os</strong> for<strong>em</strong> iguais, imprima a mensag<strong>em</strong> "Estes númer<strong>os</strong> são iguais.”.<br />

<strong>2.1</strong>8 Escreva <strong>um</strong> programa que entre com três inteir<strong>os</strong> do teclado e imprima a soma, média,<br />

produto, o menor e o maior destes númer<strong>os</strong>. O diálogo de tela deveria se aparecer como<br />

segue:<br />

Introduza três inteir<strong>os</strong> diferentes: 13 27 14<br />

Soma é 54<br />

Média é 18<br />

Produto é 4914<br />

Menor é 13<br />

Maior é 27<br />

<strong>2.1</strong>9 Escreva <strong>um</strong> programa que leia o raio de <strong>um</strong> círculo como <strong>um</strong> inteiro e imprima o<br />

diâmetro do círculo, circunferência e área. Use o valor constante 3.14159 para. π. Faça tod<strong>os</strong><br />

<strong>os</strong> cálcul<strong>os</strong> <strong>em</strong> declarações de saída.<br />

2.20 Escreva <strong>um</strong> programa que imprima <strong>um</strong>a caixa, <strong>um</strong> oval, <strong>um</strong>a seta e <strong>um</strong> l<strong>os</strong>ango como<br />

segue:<br />

********* *** * *<br />

* * * * *** * *<br />

* * * * ***** * *<br />

* * * * * * *<br />

* * * * * * *<br />

* * * * * * *<br />

* * * * * * *<br />

* * * * * * *<br />

********* *** * *<br />

2.21 O que imprime o seguinte código?<br />

puts( "*\n**\n***\n****\n*****" );<br />

2.22 Escreva <strong>um</strong> programa que leia cinco inteir<strong>os</strong> e determine e imprima o maior e o<br />

menor inteiro no grupo.<br />

2.23 Escreva <strong>um</strong> programa que leia <strong>um</strong> inteiro e determine e imprima se é impar ou<br />

par. [Sugestão: Use o operador de módulo. Um número par é <strong>um</strong> múltiplo de dois. Qualquer<br />

múltiplo de dois não deixa resto quando dividido por 2.]<br />

2.24 Escreva <strong>um</strong> programa que leia dois inteir<strong>os</strong> e determine e imprima se o primeiro<br />

for <strong>um</strong> múltiplo do segundo. [Sugestão: Use o operador de módulo.]


2.25 Exiba o padrão de tabuleiro de damas seguinte com oito declarações de saída, então<br />

exiba o mesmo padrão usando tão poucas declarações quanto p<strong>os</strong>sível.<br />

* * * * * * * *<br />

* * * * * * * *<br />

* * * * * * * *<br />

* * * * * * * *<br />

* * * * * * * *<br />

* * * * * * * *<br />

* * * * * * * *<br />

* * * * * * * *<br />

2.26 C também pode representar letras maiúsculas, letras minúsculas e <strong>um</strong>a variedade<br />

considerável de símbol<strong>os</strong> especiais. C usa pequen<strong>os</strong> inteir<strong>os</strong> internamente para representar<br />

<strong>cada</strong> diferente caráter. O conjunto de caracteres que <strong>um</strong> computador usa e as correspondentes<br />

representações <strong>em</strong> númer<strong>os</strong> inteir<strong>os</strong> para esses caracteres são chama<strong>das</strong> de conjunto de<br />

caracteres de computador. Você pode imprimir <strong>um</strong> caráter incluindo este caráter <strong>em</strong> aspas<br />

simples, como <strong>em</strong><br />

printf( “%c”, 'A' ); // imprime <strong>um</strong> A maiúsculo<br />

Você pode imprimir o inteiro equivalente de <strong>um</strong> caráter usando (int) como segue:<br />

printf( "%d", (int)'A' );// imprime 'A' como <strong>um</strong> inteiro<br />

Isto é chamada <strong>um</strong>a operação de molde. Quando a declaração precedente for executada,<br />

imprime o valor 65 (<strong>em</strong> sist<strong>em</strong>as que usam o conjunto de caracteres ASCII). Escreva <strong>um</strong><br />

programa que imprima o inteiro equivalente de <strong>um</strong> caráter digitado ao teclado. Teste seu<br />

programa várias vezes usando letras maiúsculas, letras minúsculas, dígit<strong>os</strong> e caracteres<br />

especiais (como $).<br />

2.27 Escreva <strong>um</strong> programa que introduza <strong>um</strong> inteiro de cinco dígit<strong>os</strong>, separe o inteiro <strong>em</strong><br />

seus dígit<strong>os</strong> individuais e imprima <strong>os</strong> dígit<strong>os</strong> separad<strong>os</strong> <strong>um</strong> do outro por três espaç<strong>os</strong> <strong>cada</strong>.<br />

[Sugestão: Use <strong>os</strong> operadores de divisão inteira e de módulo.] Por ex<strong>em</strong>plo, se o usuário<br />

digitasse 42339, o programa deveria imprimir:<br />

4 2 3 3 9


2.28 Escreva <strong>um</strong> programa que calcule <strong>os</strong> quadrad<strong>os</strong> e cub<strong>os</strong> d<strong>os</strong> inteir<strong>os</strong> de 0 para 10 e use<br />

tabulação para imprimir a seguinte tabela de valores nitidamente formatada:<br />

int quad cubo<br />

0 0 0<br />

1 1 1<br />

2 4 8<br />

3 9 27<br />

4 16 64<br />

5 25 125<br />

6 36 216<br />

7 49 343<br />

8 64 512<br />

9 81 729<br />

10 100 1000

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!