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