Uma pincelada no printf

Publicado por Gabriel Falcão Gonçalves de Moura 01/11/2006

[ Hits: 6.402 ]

Homepage: http://gabrielfalcao.com

Download printf.c




Fiz esse pequeno script totalmente comentado para iniciantes, demonstrando os tipos básicos de impressão em printf.

  



Esconder código-fonte

#include <stdio.h>
/**********************************************/
/*              Programa printf.c             */
/*Usando o comando printf, por Gabriel Falcão */
/**********************************************/


int main()

{

/* Saída comum de texto:                                           */

   printf("O comando printf() pode ser usado de muitas formas\n");
   printf("\n");  /* Lembrando que "\n" desce uma linha e retorna o carro*/
   printf("Este é um exemplo de saída normal de texto\n\n\n");

/* Declarando variável já atribuindo valor: */
int numero1 = 24;

/* Somente declaração:                     */

int ano;

/* Somente atribuição:           */

ano=360;

/* Imprimindo variáveis: */
   printf("Exemplo de impressao de variaveis:\n");

   printf("Um ano tem %d dias, e cada dia possui %d horas\n",ano,numero1);

/* note que é importante a ordem das variáveis incluidas no printf:
neste caso eu inverti numero1 com ano */

   printf("Um ano tem %d dias, e cada dia possui %d horas\n",numero1,ano);
/* Introdução aos tipos de impressão de variáveis no printf */

/* Sabemos que para imprimir números inteiros declaramos %d no printf, mas e quanto aos outros tipos?

vamos lá!*/

// %d - números inteiros
// %f - números decimais (ponto flutuante, ou float)
// %c - caractere
// %s - String
// %o - octais minúsculas
// %x - hexadecimais minúsculas
// %X - hexadecimais maiúsculas

// há outros tipos, mas por hora ficaremos só com esses!


/* Imprimindo o valor hexadecimal de um numero*/

int decimal = 255;

printf("O numero %d em hexadecimal equivale a %x\n\n", decimal, decimal);

/* este caso imprimirá o número que está na variável "decimal" em hexa, porém a impressão será em minúsculas*/

/* Imprimindo hexa em maiúsculas: */

printf("O numero %d em hexadecimal equivale a %X\n\n", decimal, decimal);


/*************************/


/* Imprimindo o valor octal de um numero*/


printf("O numero %d em octal equivale a %o\n\n", decimal, decimal);

/* Impressão de caractere */

//Sabemos que cada caractere possui um código equivalente numa tabela chamada ASCII, que é interpretada pelo pc e mostra em tela letras inteligíveis.
/* agora vamos pegar um número qualquer e saberemos qual o caractere equivalente em ASCII*/
/* para isso usaremos o parâmetro %c*/
int numero2 = 66;

printf("O numero %d na tabela ASCII equivale a %c\n\n", numero2, numero2);


/* Mas e numa situação que eu precise de uma variável caractere a ser impressa mas não sei o código equivalente a ela na tabela ASCII???*/

//Simples: declare uma variável do tipo char (caractere)

/* Imprimindo caracteres: */

char letra = 'A';

printf("Olha so mamae, eu sei imprimir caracteres: %c\n\n", letra);


/* OK estamos aprendendo legal, mas será que é só isso que o comando printf tem a me oferecer?*/
/* A resposta é NÃO! Como tuda na linguagem C, o printf é bem flexível!*/

/* Vejamos um exemplo de impressão de string! */
/* usaremos o parâmetro %s */

printf("Ola %s %s, eu gosto muito de %s\n\n", "Gabriel", "Falcao", "programar");

/* note que no lugar de variáveis eu coloquei diretamente o conteúdo.
isso também pode ser feito com números!*/

printf("Veja! %d x %d = %d\n\n", 2,2,4);

/**********************************************/

/* Um pouco mais sobre strings em C */

/* A Linguagem C é bem conhecida pela complicação para lidar com strings(linha de caracteres)
isso se deve ao fato da linguagem deixar a gerência de memória do sistema por conta do programador. 
Portanto sabendo que uma string é simplesmente uma série de caracteres, para usá-la precisamos reservar o espaço de quantos carateres precisamos
não entendeu?

Então vamos ilustrar!

Supondo que eu queira imprimir a letra B

basta declarar:
char letra= 'B';
depois imprimo com
printf("%c",letra);

mas e se eu quiser imprimir "BOM DIA" ???
"BOM DIA", contando com o espaço em branco, que também é um caractere, tem 7 caracteres

daí eu preciso declarar o tamanho do meu char:
*/

char frase[7] = "BOM DIA";

printf("%s usuario!\n\n",frase);


/* Até aí parece simples, mas à frente ao trabalhar com interação com o usuário veremos que não tem como advinhar-mos quantos caracteres o usuaŕio vai precisar, mas isso é algo bem mais pra frente */


/* Espero ter conseguido ajudar!*/

/* Gabriel Falcão
[email protected]*/
return 0;
}

Scripts recomendados

Contador de moedas

Convertendo char em string

Jogo da velha melhorado

Uma implementação do HeapSort

Tabela ASCII


  

Comentários
[1] Comentário enviado por mbmaciel em 18/01/2010 - 18:41h

interessante.
Mas aqui só funcionou legal quando coloquei
char frase[8]="BOM DIA"

Com 7 caracteres ficou
BOM DIAB


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts