1.2 Variables and Arithmetic Expressions

O próximo programa usa a fórmula oC = (5/9) (oF-32) para imprimir a seguinte tabela de Fahrenheit temperaturas e seus equivalentes Celsius ou Celsius:

1    -17
20   -6
40   4
60   15
80   26
100  37
120  48
140  60
160  71
180  82
200  93
220  104
240  115
260  126
280  137
300  148

O próprio programa ainda consiste na definição de uma única função chamada main. É mais longo do que aquele que foi imprimido “hello, world ”, mas não complicado. Ele apresenta várias novas idéias, incluindo comentários, declarações, variáveis, expressões aritméticas, loops e saída formatada

 #include 
/* print Fahrenheit-Celsius table
for fahr = 0, 20, ..., 300 */
main()
{
	int fahr, celsius;
	int lower, upper, step;
	lower = 0; /* lower limit of temperature scale */
	upper = 300; /* upper limit */
	step = 20; /* step size */
	fahr = lower;

	while (fahr <= upper) {
		celsius = 5 * (fahr-32) / 9;
		printf("%d\t%d\n", fahr, celsius);
		fahr = fahr + step;
	}
}	

As duas linhas

 
/* print Fahrenheit-Celsius table
for fahr = 0, 20, ..., 300 */

são um comentário, que neste caso explica brevemente o que o programa faz. Quaisquer caracteres entre / * e * / são ignorados pelo compilador; eles podem ser usados livremente para fazer um programa mais fácil de entender. Os comentários podem aparecer em qualquer lugar onde há um espaço em branco, tabulação ou nova linha. Em C, todas as variáveis devem ser declaradas antes de serem usadas, geralmente no início da function (função) antes de qualquer declaração executável. Uma declaração anuncia as propriedades das variáveis; consiste em um nome e uma lista de variáveis, como

int fahr, celsius;
int lower, upper, step;

O tipo int significa que as variáveis listadas são inteiras; em contraste com o float, o que significa ponto flutuante, ou seja, números que podem ter uma parte fracionada. O intervalo de ambos int e float depende da máquina que você está usando; Inteiros de 16 bits, que se situam entre -32768 e +32767,são comuns, assim como as entradas de 32 bits. Um número float é tipicamente uma quantidade de 32 bits, com pelo menos seis dígitos significativos e magnitude geralmente entre cerca de 10 elevado a -38 e 10 elevado a38.C fornece vários outros tipos de dados além de int e float, incluindo:

char      character - a single byte
short     short integer
long      long integer
double    double-precision floating point

O tamanho desses objetos também é dependente da máquina. Existem também arrays, estruturas e uniões desses tipos básicos, ponteiros para eles e funções que os retornam, tudo o que nós iremos encontrar durante o curso. O cálculo no programa de conversão de temperatura começa com as instruções de atribuição

lower = 0;
upper = 300;
step = 20;

que configura as variáveis para seus valores iniciais. As declarações individuais são encerradas por ponto e vírgula.Cada linha da tabela é calculada da mesma maneira, então usamos um loop que se repete uma vez por linha de saída; Este é o propósito do loop while

while (fahr <= upper) {
...
}

O loop while funciona da seguinte forma: a condição entre parênteses é testada. Se é verdadeiro (fahr é inferior ou igual a superior), o corpo do laço (as três instruções incluídas nas chaves) é executado. Então, a condição é re-testada, e se for verdadeiro, o corpo será executado novamente. Quando o teste torna-se falso (fahr excede superior) o ciclo termina e a execução continua na declaração que segue o loop. Não há mais declarações neste programa, por isso se encerra. O corpo de um while pode ter uma ou mais declarações fechadas em chaves, como na conversão de temperatura, ou uma única declaração sem chaves, como em

while (i < j)
i = 2 * i;

Em ambos os casos, sempre serão indentadas as declarações controladas pelo while por uma tabulação (que mostramos como quatro espaços) para que você possa ver de relance quais declarações estão dentro do laço. A indentação enfatiza a estrutura lógica do programa. Embora compiladores C não se preocupam com a aparência de um programa, o recuo e o espaçamento apropriados são críticos para facilitar a leitura de programas. Recomendamos escrever apenas uma declaração por linha, e usando espaços em branco em torno de operadores para esclarecer o agrupamento. A posição das chaves é menor importante, embora as pessoas tenham crenças apaixonadas. Escolhemos um dos vários populares estilos. Escolha um estilo que lhe convenha e use-o de forma consistente. A maior parte do trabalho é feita no corpo do loop. A temperatura Celsius é calculada e atribuída à variável celsius pela declaração

celsius = 5 * (fahr-32) / 9;

A razão para multiplicar por 5 e dividir por 9 em vez de apenas multiplicar em 5/9 é que em C, como em muitas outras línguas, a divisão inteira trunca: qualquer parte fracionada é descartada. Uma vez que 5 e 9 são inteiros. 5/9 seria truncado para zero e, portanto, todas as temperaturas Celsius seria relatado como zero.

Este exemplo também mostra um pouco mais de como o printf funciona. printf é uma função de propósito geral de formatação de saída, que descreveremos detalhadamente no Capítulo 7. Seu primeiro argumento é uma seqüência de caracteres a serem impressos, com cada % indicando onde um de outros (segundo, terceiro,

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s