Já vimos em posts anteriores um exemplo com entrada e saída de dados. Agora vamos entender melhor o que foi feito:
ESTE É UM POST ANTIGO
Este post foi importado do antigo blog e o seu conteúdo não foi revisado. O conteúdo deve estar desatualizado e a formatação pode apresentar problemas.
// Primeiro: vamos incluir as funções de entrada e saída de dados // stdio.h - STanDart Input Output - entrada e saída padrão #include <stdio.h> #include <stdlib.h> int main(void){ char nome[30]; printf("Qual é o seu nome? "); scanf("%s", &nome); printf("Olá, %s!", nome); return 0; }
As funções printf e scanf são responsáveis, respectivamente, pela saída e a entrada de dados. Em ambas utilizamos o código %s que identifica uma string. Vejamos outros tipos:
Tipo de dado | Código |
---|---|
char, unsigned char, signed char | %c |
int, signed int | %d ou %i |
unsigned int | %u |
short int, signed short int | %hi |
unsigned short int | %hu |
long int, signed long int | %li |
unsigned long int | %lu |
float | %f |
double | %lf |
long double | %Lf |
char[] (string) | %s |
Quando chamamos a função scanf, passamos primeiro o tipo de dado a ser lido utilizando os códigos acima e depois a referência da variável que recebe o valor. Ex.:
// ... int inteiro; char caractere; float flutuante; scanf("%d %c %f", &inteiro, &caractere, &flutuante); /* sim, é possível ler mais de um valor em uma única linha * o programa espera ler um int seguido de um espaço ou <enter> * depois um char seguido de outro espaço ou <enter> e por fim * um float seguido de <enter> */
A função printf recebe um string formatada como primeiro parâmetro seguido dos parâmetros que completam a string principal:
// ... char[] nome = "Eduardo"; int idade = 18; printf("Olá %s, você tem %d anos!", nome, idade); // saída: Olá Eduardo, você tem 18 anos!
Vemos que o primeiro símbolo (%s) foi substituído por nome, e o segundo (%d) por idade. É possível utilizar quantos símbolos quiser, mas para todos é preciso ter uma variável ou valor associado, em ordem.
Isso termina o básico de entrada e saída de dados. No próximo post pretendo começar com as estruturas condicionais (if) e laços (for, while e do…while). Imperdível! 😉