Вы находитесь на странице: 1из 4

Programao de Computadores 1

O que um nome? O que chamamos rosa no cheiraria igualmente doce em outro nome? W. Shakespeare.

Sem- 2008 Prof. Anbal e Cassilda LAB2 * *** ***** /|\

PRINTF O comando printf capaz de imprimir uma

Na verdade, o smbolo \ indica que um caractere especial ser impresso. Assim, quando se quer imprimir o caractere correspondente ao enter (que pula uma linha) usa-se \n. Outros comandos especiais esto descritos na Tabela T1. Tabela T1: impresso. Tag \n \t \b \a \r \ \\ %% Tags para comandos de Ao nova linha(enter) tabulao retrocesso(backspace) alerta(sinal sonoro) incio da linha exibe o caractere exibe o caractere \ exibe o caractere %

Programa P4: Escreva um programa que coloque na tela a seguinte sada: Total = 100% IVA = 17% IRS = 15% ----------------------Liq. = 68%

mensagem na tela, bem como o comando puts, que alm de imprimir a mensagem na tela pula uma linha automaticamente. O printf tambm pode pular uma linha desde que seja utilizado a tag \n. Portanto, os programas P1 e P2 so equivalentes:

Programa P1: Pulando uma linha. #include <stdlib.h> #include <stdio.h> main() { puts("Pula"); system("pause"); } Programa P2: Idem com printf. #include <stdlib.h> #include <stdio.h> main() { printf("Pula \n"); system("pause"); } Observe que a tag \n tambm poderia funcionar em conjunto com o comando puts, tal que duas linhas seriam puladas. Ou seja, todas as tags da Tabela 1 quando usadas com printf tambm causam o mesmo efeito ao serem usadas com puts.

VARIVEIS Uma varivel nada mais que um nome


dado a uma determinada posio de memria para guardar um valor de um determinado tipo. Em C existem quatro tipos de dados bsicos: char (tipo caractere), int (tipo inteiro), float (tipo preciso simples) e double (tipo preciso dupla)1. A declarao de variveis sempre tem que ser feita antes de sua utilizao e antes de qualquer instruo. A sintaxe para declarao de variveis a seguinte: main() { /* Declarao de variveis */ int i; char ch1, ch2;

importante notar que o caractere % pode ser utilizado para delimitar comentrios e ao invs de se utilizar \% para imprimir o mesmo em uma mensagem de texto, deve-se utilizar %%. Para testar os comandos da Tabela 1 desenvolva programas que realizam as tarefas dadas a seguir. Programa P1: Teste printf(" \" \\ \n ");. O que ir aparecer na tela ? Programa P2: Escreva um programa que coloque na tela a seguinte frase: Bem-vindos ao /Mundo \da programao em C Programa P3: Escreva um programa que coloque na tela uma rvore com o seguinte formato:

Existe ainda um outro tipo bsico o tipo Ponteiro. Este tipo de varivel serve para armazenar o endereo de memria de uma outra varivel.

Programao de Computadores 1

Sem- 2008 Prof. Anbal e Cassilda LAB2

float pi, raio, area; double total; /* Instrucoes manipulam as variaveis */ } Os nomes de variveis devem observar as seguintes regras: 1.Ser constitudo por letras do alfabeto (a...Z), dgitos (0...9) ou _ . 2.O primeiro caractere no pode ser um dgito. desaconselhvel usar _ (underline). 3.Maisculas e minsculas representam caracteres diferentes, logo variveis distintas. 4.Uma varivel no pode ter por nome uma palavra reservada da Linguagem C, tais como float, if e for.

A quantidade de espao de memria destinada a cada tipo de varivel est relacionada com a representao binria da mesma pelos bytes (cada byte corresponde a oito bits, ou seja, a oito posies que podem ser valores 0 ou 1). Por exemplo, o caractere A corresponde ao decimal 65 e cuja representao ASCII igual a 01000001. ASCII significa American Standard Computer for Information Interchange e nesta representao, cada caractere representado por 1 byte. Uma varivel tambm pode ser automaticamente iniciada quando se faz a sua declarao: int num = -17 ; Em C tambm possvel atribuir o mesmo valor a vrias variveis. Veja o que ocorre ao se usar as seguintes atribuies: Atribuies A1 int a, b, c, d; a = 1; b = 2; c = 3; d = 4; a = b = c = d = 5;
Programa P6: Utilizando o comando printf no formato descrito no programa P5, verifique o que ocorre com as atribuies A1.

Operaes O1 Opr Descrio Exemplo Resultado + Soma 21 + 4 25 Subtrao 21 4 17 * Multiplicao 21 * 4 84 / Diviso 21 / 4 5 % Resto da 21 % 4 1 Diviso Inteira
Programa P7: Idem ao programa P6, mas agora verificando os resultados a serem obtidos com as operaes O1.

ATRIBUIO Sempre que uma varivel declarada,


solicitado ao compilador para reservar espao em memria para armazen-la. Esse espao passar a ser referenciado atravs do nome da varivel. Quando uma varivel declarada fica sempre com um valor, o qual resulta do estado aleatrio dos bits que a constituem. Teste o programa. P5 para confirmar isto. Programa P5: Verifique o resultado de: main() { int var; printf(O valor de var = %d \n, var); } E se fosse feita a inicializao com atribuio int var = 21; o que ocorreria?

Para escrever inteiros na tela use o comando printf e o uso do comando %d (como descrito no programa P5). Ou seja, a sintaxe dada por: int var = 1; printf(O valor de var = %d \n, var); Na tela ir aparecer a mensagem: O valor de var = 1 Para se imprimir o valor contido na varivel var, e no a sua string, necessrio usar o operador %d que significa imprima o valor contido na memria de uma varivel inteira. Para imprimir dois ou mais valores, com o mesmo comando printf, basta associar aos pares os comandos %d com as variveis, tal que o primeiro %d corresponde a primeira varivel e assim por diante. Use o programa P8 para verificar isto.
2

OPERAES
Observe que qualquer operao com inteiros retorna um inteiro. As operaes que podem ser realizadas so:

Programao de Computadores 1

Sem- 2008 Prof. Anbal e Cassilda LAB2 Programa P13: Crie um programa que l um caractere e o imprime dentro de uma mensagem. Um resumo dos cdigos e as variveis que eles exibem so dados na Tabela T2:

Confirmar isto com o programa P10. Programa P8: Teste o programa: # include <stdio.h> main() { int n1, n2; n1 = 1; n2 = 2; printf(O resultado de %d + %d = %d \n , n1, n2, n1+n2); } Programa P10: Use o comando scanf para ler os valores de n1 e n2 do programa P8. Observe que para ler qualquer varivel do tipo int, char, float ou double, utilizando a funo scanf preciso colocar aps cada varivel o & (E comercial)2. Para saber o nmero de bytes que ocupa uma dada varivel usa-se o operador sizeof(). Confirme isto usando o programa P11. Programa P11: Sabendo que o comando sizeof(char) retorna o nmero de bytes que o tipo char ocupa em C, crie um programa que imprime o tamanho de todos os tipos bsicos (exceto o tipo ponteiro). A impresso (com printf) e a leitura (com scanf) de nmeros reais (tipo float ou double) pode ser feita com o uso de %f (use P12). Para caracteres basta usar %c (use P13). Programa P12: Teste o programa: # include <stdio.h> # include <stdlib.h> main() { float d, p; printf(Entre com o valor inicial: \n); scanf(%f,&d); p = d + 0.01*d; printf(Valor final = %f \n , p); system(" pause"); }

Para leitura de valores existe a funo scanf, cuja sintaxe para ler um valor inteiro e colocar em uma varivel num dada por: int num; scanf(%d,&num); Confirme a afirmao anterior com P9:
Programa P9: Teste o programa: # include <stdio.h> # include <stdlib.h> main() { int num; printf(Introduza um No: ); scanf(%d,&num); printf(O resultado e %d \n , num); system(" pause"); }

Tabela T2: Cdigos para impresso de valores das variveis. Cdigo Exibio %d nmero inteiro %f nmero de ponto flutuante %e notao cientfica %c caractere simples %s cadeia de caracteres %o representao octal %x representao hexadecimal %% exibe o caractere %

PROGRAMAS BSICOS
Programa PB1: Crie um programa que leia uma varivel inteira e outra real e depois mostra o resultado das operaes da tabela O1. O que aconteceu? Programa PB2: Baseado no P8 construa um programa que fornea o saldo de uma caderneta de poupana remunerada em 1% ao ms aps trs meses (dica: use %f no scanf). (a) Teste para vrios valores iniciais (500, 1000, 2000). (b) Permita a leitura simultnea do valor inicial e da taxa de juros (use taxas de 1% e 10%). Programa PB3: Sabendo que a frmula de converso de graus para fahrenheit dada por F = (9C + 160)/5, crie um programa que l o valor em graus e imprime seu valor correspondente em fahrenheit. 3

Da mesma forma que um comando printf pode imprimir dois ou mais valores, o comando scanf pode ler dois ou mais valores. Por exemplo:
scanf(%d%d, &n1, &n2);

O smbolo & significa endereo de memria. Este operador ser melhor comentado em outros Labs.

Programao de Computadores 1 Gabarito das Questes Programa P7:

Sem- 2008 Prof. Anbal e Cassilda LAB2 printf("O resultado de %d + %f = %d \n ", n1, n2, n4); n4 = n1-n2; printf("O resultado de %d - %f = %f \n ", n1, n2, n1-n2); printf("O resultado de %d - %f = %d \n ", n1, n2, n4); n4 = n1*n2; printf("O resultado de %d * %f = %f \n ", n1, n2, n1*n2); printf("O resultado de %d * %f = %d \n ", n1, n2, n4); n4 = n1/n2; printf("O resultado de %d / %f = %f \n ", n1, n2, n1/n2); printf("O resultado de %d / %f = %d \n ", n1, n2, n4); system("PAUSE"); } Programa PB2 # include <stdio.h> main() { float d, p, s, t, taxa; printf("Entre com o valor inicial: "); scanf("%f",&d); printf("Entre a taxa de juro: "); scanf("%f",&taxa); p = d + taxa*d; s = p + taxa*p; t = s + taxa*s; printf("Valor final = %f \n ", t); system("PAUSE"); }

Programa P11:

#include <cstdlib> #include <stdio.h> main() { int var1, var2, var3; var1 = 21; var2 = 4; var3 = var1 + var2; printf(var1 + var2 = %d \n, var3); var3 = var1 - var2; printf(var1 - var2 = %d \n, var3); var3 = var1 * var2; printf(var1 * var2 = %d \n, var3); var3 = var1/var2; printf(var1/var2 = %d \n, var3); var3 = var1 % var2; printf(var1 %% var2 = %d \n, var3); system("PAUSE"); }
Programa P10:

#include <cstdlib> #include <stdio.h> main() { printf(sizeof(char)=%d \n, sizeof(char)); printf(sizeof(int)=%d \n, sizeof(int)); printf(sizeof(float)=%d \n, sizeof(float)); printf(sizeof(double)=%d \n, sizeof(double)); system("PAUSE"); }
Programa P13:

#include <cstdlib>

#include <cstdlib> #include <stdio.h> main() { char ch; printf("Digite um caractere: "); scanf("%c",&ch); printf("O caractere e: %c \n",ch); system("PAUSE"); }
Programa PB1

# include <stdio.h> main() { int n1, n2; printf("Entre com n1: \n"); scanf("%d",&n1); printf("Entre com n2: \n"); scanf("%d",&n2); printf("O resultado de %d + %d = %d \n ", n1, n2, n1+n2); system("PAUSE"); }

#include <cstdlib>

# include <stdio.h> main() { int n1, n4; float n2, n3; printf("Entre com n1: "); scanf("%d",&n1); printf("Entre com n2: "); scanf("%f",&n2); n4 = n1+n2; printf("O resultado de %d + %f = %f \n ", n1, n2, n1+n2);

Вам также может понравиться