Linguagem C
174 pág.

Linguagem C


DisciplinaFundamentos de Programação405 materiais4.775 seguidores
Pré-visualização38 páginas
AMPOS PARA AMPOS PARA 
AMPOS PARA E
EE
EXIBIÇÃO
XIBIÇÃOXIBIÇÃO
XIBIÇÃO 
 
 
A função printf() permite que os campos de exibição sejam formatados. As 
formatações mais usadas são o preenchimento com zeros à esquerda, para 
inteiros, e a especificação do número de casas decimais, para reais. 
Exemplo
ExemploExemplo
Exemplo 
 
 1.6.
1.6.1.6.
1.6. Formatação de campos com printf(). 
int a = 678; 
float b = 12.3456; 
... 
printf("\n|%5d|",a); 
printf("\n|%06d|",a); 
printf("\n|%7.3d|",b); 
printf("\n|%7.2d|",b); 
... 
A saída produzida pela execução desse trecho de programa é: 
| 678| 
|000678| 
 
1. INTRODUÇÃO 
10
1010
10
| 12.346| 
| 12.34| 
Note que valores reais são arredondados apenas quando a primeira casa 
decimal desprezada é igual ou superior a 5. \ufffd 
1.6. O
1.6. O1.6. O
1.6. OPERADORE
PERADOREPERADORE
PERADORES 
S S 
S A
AA
ARITMÉTICOS
RITMÉTICOSRITMÉTICOS
RITMÉTICOS 
 
 
C oferece operadores para as quatro operações aritméticas e também um ope-
rador para calcular o resto da divisão entre dois números inteiros. 
 
Operador
OperadorOperador
Operador 
 
 Resultado
ResultadoResultado
Resultado 
 
 
+ 
soma de dois números quaisquer 
\u2212 
diferença entre dois números quaisquer 
\u2217 
produto de dois números quaisquer 
/ 
quociente da divisão de dois números 
% 
resto da divisão de dois número inteiros 
Destes operadores, apenas dois merecem atenção especial. Os demais funcio-
nam conforme as regras usuais estabelecidas na matemática básica. 
\u2022 Divisão: o operador de divisão fornece resultado inteiro apenas quando 
ambos os operandos são inteiros. Por exemplo, 7 / 2 \u21d2 3 e 7.0 / 2 \u21d2 3.5. 
\u2022 Resto: o operador de resto somente pode ser utilizado com operandos 
inteiros. Por exemplo, 7 % 2 \u21d2 1 e 7.0 % 2 \u21d2 erro. 
Exercício 1.3.
Exercício 1.3.Exercício 1.3.
Exercício 1.3. Dadas as duas notas de um aluno, informe a sua média final. 
Exercício 1.4.
Exercício 1.4.Exercício 1.4.
Exercício 1.4. Dados uma distância e o total de litros de combustível gasto por 
um automóvel para percorrê-la, informe o consumo médio. 
Exercício 1.5.
Exercício 1.5.Exercício 1.5.
Exercício 1.5. Dado um caracter, informe o seu código ASCII em octal, decimal 
e hexadecimal 
 
1. INTRODUÇÃO 
11
1111
11
Exercício 1.6.
Exercício 1.6.Exercício 1.6.
Exercício 1.6. Dada um temperatura em graus Fahrenheit, informe o valor 
correspondente em graus Celsius. [Dica: C = (F \u2013 32) \u2217 (5 / 9)]. 
Exercício
ExercícioExercício
Exercício 
 
 1.7.
1.7.1.7.
1.7. 
 
 Dadas as medidas dos catetos de um triângulo retângulo, 
informe a medida da hipotenusa. [Dica: para calcular a raiz quadrada use a 
função sqrt(), definida no arquivo math.h]. 
 
12
1212
12
2. 2. 2. 2. CCCCOMANDOS DE OMANDOS DE OMANDOS DE OMANDOS DE DDDDECISÃOECISÃOECISÃOECISÃO 
Nesse capítulo introduzimos os conceitos básicos relacionados à tomada de 
decisão, tais como valores lógicos, operadores relacionais e conectivos, e 
apresentamos os comandos condicionais oferecidos na linguagem C. 
2.1. E
2.1. E2.1. E
2.1. EXPRESSÕES 
XPRESSÕES XPRESSÕES 
XPRESSÕES L
LL
LÓGICAS
ÓGICASÓGICAS
ÓGICAS 
 
 
Em C, não existe um tipo específico para a representação de valores lógicos. 
Entretanto, qualquer valor pode ser interpretado como um valor lógico: \u201czero 
representa falso e qualquer outro valor representa verdade\u201d. Por exemplo, os 
valores 5, \u20133, 1.2 e 'a' são verdadeiros, enquanto 0 e 4\u20134 são falsos. 
* 
Para gerar um valor lógico, usamos os operadores relacionais. Através deles 
podemos comparar dois valores de diversas formas. O resultado da avaliação 
de um operador relacional é 0 se a comparação é falsa e 1 se verdadeira. 
 
Operador r
Operador rOperador r
Operador re
ee
elacional
lacionallacional
lacional 
 
 Resultado
ResultadoResultado
Resultado 
 
 
x == y verdade se x for igual a y 
x != y verdade se x for diferente de y 
x < y verdade se x for menor que y 
x > y verdade se x for maior que y 
 x <= y verdade se x for menor ou igual a y 
x >= y verdade se x for maior ou igual a y 
Em C, 0 representa o valor lógico &quot;falso&quot; e 1 representa o valor lógico &quot;verdade&quot;. 
 
2. COMANDOS DE DECISÃO 
13
1313
13
Exemplo
ExemploExemplo
Exemplo 
 
 2.1.
2.1.2.1.
2.1. Operadores relacionais e valores lógicos. 
... 
printf(&quot;%d %d&quot;, 5<6, 6>5); 
... 
A saída produzida pela instrução será 1 0. \ufffd 
Além dos operadores relacionais, C oferece também operadores lógicos. Com 
eles, podemos criar expressões lógicas compostas. Os operadores lógicos 
funcionam conforme as regras definidas na lógica matemática. 
Operador lógico
Operador lógicoOperador lógico
Operador lógico 
 
 Resultado
ResultadoResultado
Resultado 
 
 
! x verdade se e só se x for falso 
x && y verdade se e só se x e y forem verdade 
x || y verdade se e só se x ou y for verdade 
Numa expressão contendo operadores aritméticos, relacionais e lógicos, a 
avaliação é efetuada na seguinte ordem: 
¬ primeiro avaliam-se todos os operadores aritméticos; 
­ em seguida, avaliam-se os operadores relacionais; 
® só então, avaliam-se os operadores lógicos. 
Exercício 2.1.
Exercício 2.1.Exercício 2.1.
Exercício 2.1. Qual a saída produzida pela instrução a seguir? 
printf(&quot;%d %d %d %d&quot;, !3, !0, 3+'a'>'b'+2 && !'b', 1 || !2 && 3); 
2.2. D
2.2. D2.2. D
2.2. DECISÃO 
ECISÃO ECISÃO 
ECISÃO S
SS
SIMPLES
IMPLESIMPLES
IMPLES 
 
 
A estrutura condicional ou de decisão simples serve para escolher um entre 
dois comandos alternativos, conforme ilustrado na figura 1.3. Em C, a estrutura 
condicional é codificada da seguinte forma: 
if( condição ) comando
1
; else comando
2
; 
e funciona, conforme ilustrado na figura 1.3, da seguinte maneira: 
 
2. COMANDOS DE DECISÃO 
14
1414
14
¬ avalia a condição, que deve ser uma expressão lógica; 
­ se a condição for verdadeira, executa apenas o comando
1
; 
® senão, executa apenas o comando
2
. 
Figura 1.3
Figura 1.3Figura 1.3
Figura 1.3 \u2212 A estrutura de decisão simples 
Exemplo
ExemploExemplo
Exemplo 
 
 2.2.
2.2.2.2.
2.2. O uso de decisão simples. 
#include <stdio.h> 
main() { 
 float a, b, m; 
 printf(\u201c\n Informe as duas notas obtidas: \u201d); 
 scanf(\u201c%f %f\u201d, &a, &b); 
 m = (a+b)/2; 
 if( m >= 7.0 ) printf(\u201c\n Aprovado\u201d); 
 else printf(\u201c\n Reprovado\u201d); 
} 
O programa solicita as duas notas obtidas pelo aluno, calcula sua média e, em 
função desse valor, decide se o aluno está ou não aprovado. \ufffd 
Pode ser que um dos comandos alternativos, ou ambos, seja composto por 
mais de uma instrução. Por exemplo, se o programa anterior tivesse que exibir 
Aprovado em azul e Reprovado em vermelho, então cada alternativa seria 
composta por duas instruções: uma para selecionar a cor e a outra para exibir 
F 
condição 
comando
1
 
V 
...
......
... 
 
 
 
 
 
comando
2
 
...
......
... 
 
 
 
2. COMANDOS DE DECISÃO 
15
1515
15
a situação do aluno. Nesse caso, teríamos que usar blocos, agrupando as 
instruções em cada alternativa dentro de um par de chaves. 
Exemplo
ExemploExemplo
Exemplo 
 
 2.3.
2.3.2.3.
2.3. O uso de blocos de instruções. 
#include <stdio.h> 
#include <conio.h> 
main() { 
 float a, b, m; 
 clrscr(); 
 printf(\u201c\n Informe as duas notas obtidas: \u201d); 
 scanf(\u201c%f %f\u201d, &a, &b); 
 m = (a+b)/2; 
 if( m >= 7.0 ) { 
 textcolor(BLUE); 
 cprintf(\u201c\n Aprovado\u201d); 
 } 
 else { 
 textcolor(RED); 
 cprintf(\u201c\n Reprovado\u201d); 
 } 
 getch(); 
} 
A função textcolor() seleciona a cor do texto e a função cprintf(), cuja sintaxe é 
idêntica à da printf( ), exibe o texto na cor selecionada. Essas funções, assim 
como as constantes BLUE e RED, estão declaradas no arquivo conio.h. \ufffd 
Exercício 2.2.
Exercício 2.2.Exercício 2.2.
Exercício 2.2. Dados dois números distintos,