Seu terceiro programa em C
Publicado por Marcio Esper 27/07/2004
[ Hits: 6.150 ]
Aqui segue a continuação tão esperada do pequeno curso de C por scripts para iniciantes. nesta parte vamos aprender variaveis de ponto flutuante, entrada de dados e uma leve vizão sobre endereçamento.
/* Oi meu nome é marcio e este é o terceiro script da serie de 5937 scripts que ensinam C para quem nunca digitou uma linha de codigo sequer. no script anterior aprendemos a usar variaveis inteiras, agora vamos aprender as variaveis de ponto flutuante e a dar entrada de dados pelo comando scanf que é um complemento do printf (scan(f) print(f), viram como tem tudo a ver os nomes, os dois terminam com f :) mas deixando as goiabas de lado. para usarmos variaveis fracionarias em C devemos definir a variavel como Float. (Lembra do script anterior, elas eram declaradas como integer, o que limita o seu conteudo para numeros inteiros. antes de continuar, vamos aprender tb como dar entrada de dados. note que quando usamos o scanf, no exemplo a baixo, colocamos um & antes da variavel, resumindo e tentando simplificar, usamos isso para colocar o valor direto no endereço de memoria desta variavel e veremos mais para a frente em um script mais avançado como isso funciona, de momento basta vc saber que quando entramos dados, eles estão sendo jogados direto no endereço que a variavel ocupa. */ main() //função principal (ela vai existir em todos os seus programas { float z,x,y; /* aqui declaramos as variaveis z,x e y mas não á inicializamos pois elas ainda nao contem valor nenhum.*/ char e; // aqui declaramos a variavel e como caractere printf("\nDigite o primeiro numero:"); /* leia o script para aprender isso c você ainda não conhece - meu primeiro programa em C */ scanf("%f",&x); /* aqui entra a novidade, este comando esta adicionando o valor que vc digitar no endereço de memoria de x */ printf("\nDigite o segundo numero:"); scanf("%f",&y); /* aqui ele vai adicionar o que vc digitar ao endereço de memoria de y */ z=x*y; //agora z vai receber o valor da multiplicação de x por y printf("\nA multiplicaçao dos dois numeros digitados é igual a %f\n",z); printf(" endereço de x %x\n",&x); /* esta linha é so para vc entender melhor a entrada para o endereço, este é o endereço onde o valor de x esta. */ printf(" decimal de x %d\n",&x); /* não é comum usar a saida de endereço em decimal e isso esta errado */ printf(" ponto flutuante de x %f\n",&x); /* nao é correto fazer a saida de endereço assim tb. */ /* note que printf(" endereço de x %x\n",&x); a saida de texto esta definida como %x , onde o x explica que a saida vai ser em hexadeciamal . na segunda saida esta definido como %d isso faz com que a saida seja numerica decimal representada em hexadecimal, e a terceira em float point a diferença das 3 esta em como o compilador vai ver o resultado e vai tratar ele, note que a saida em decimal arredondou o resultado nos vamos ver mais pra frente isso, mas é bom vc saber sobre isso, o endereço de uma variavel sempre se v em hexadeciaml, apesar do compilador nao apresentar erro, nao é um procedimento correto, mas esta ai apresentado para você fazer testes enquanto espera ansioso o quarto script :) tente fazer um programa que mostre as saidas aprendidas ate agora tanto do endereço como do conteudo das variaveis. Ex de como compilar e da execução [iceman@localhost ctest]$ gcc tercero.c [iceman@localhost ctest]$ ./a.out Digite o primeiro numero:3 Digite o segundo numero:4 A multiplicaçao dos dois numeros digitados é igual a 12.000000 endereço de x bfffe0f8 decimal de x -1073749768 ponto flutuante de x 12.000000 [iceman@localhost ctest]$ gedit tercero.c Bom acaba por aqui esta parte do curso, ate a proxima. P.S. Comente se vc esta gostando, achando muito ruem, ou se esta conseguindo aprender , em suma, se esta legal o curso ou não. Qualquer comentario só para eu saber o que vc esta achando do curso. Valeu :) */ }
Utilização de Ponteiros em C (2)
Arquivo introdutório para chamadas de funções
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta