Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?

O tipo de dado inteiro (int) na Linguagem C

Vamos estudar agora um dos tópicos mais básicos, bastante usado e importante na linguagem de programação C: os tipos de dados.

Para começar, vamos iniciar falando sobre os números inteiros em C, um tipo de dado muito importante, que usaremos durante toda nossa apostila de C.




Como declarar variáveis inteiras na linguagem C

Variáveis são os nomes que vamos dar a determinado bloco de memória.
Sempre que você quiser usar um dado (um número, um caractere, um texto etc) na linguagem C, você precisará declarar uma variável.

Ao fazer isso, você estará selecionando um espaço na memória (lembre-se que o C é uma linguagem poderosíssima e age no hardware de sua máquina).

Por exemplo, suponha que você queira armazenar sua pontuação em um jogo que você desenvolveu em C.
Se esse valor for inteiro, você precisará declarar uma variável (poderia usar o nome 'pontos', por exemplo), e o C irá alocar um espaço de 2 ou 4 bytes de memória. Aquele  espaço em memória serve somente para sua variável, é o endereço dela.

Para declarar uma variável inteira fazemos:

int nome_de_sua_variavel;

Ao fazer isso, estamos reservando um espaço em memória para guardar um número. Em vez de lidarmos com o número da posição da memória, vamos usar seu nome, que é nome_de_sua_variavel;

Vale realçar que os tipos (no caso, usamos o tipo int), são sempre em letras minúsculas e vêm antes do nome da variável.


Como imprimir um número inteiro na tela, usando a linguagem C

Vamos mostrar agora como imprimir o valor de uma variável na função printf.
Dentro do printf, entre as aspas duplas, os números são representados por: %d, e após o fechamento das aspas, colocamos uma vírgula e o real valor da variável que é representada por %d.

Por exemplo, vamos supor que você queira fazer um programa que imprima na tela: "Eu tenho 20 anos", mas sem digitar o 20.
Ele ficaria assim:

#include <stdio.h>

int main()
{
    printf("Eu tenho %d anos", 18);
}


Podemos colocar vários números inteiros representados por %d dentro das aspas, e seus valores serão os que vem após a vírgula, na mesma ordem.
Por exemplo, um programa em C que imprima "Eu nasci em 2112, no dia 21 do mes 12":


#include <stdio.h>

int main()
{
    printf("Eu nasci no ano %d, no dia %d do mes %d", 2112, 21, 12);
}


Agora que já sabemos declarar um número e imprimir ele na tela, vamos fazer os dois.
Vamos criar uma variável inteira chamada 'cprogressivo' e imprimir seu valor no printf:

#include <stdio.h>

int main()
{
    int cprogressivo;
    printf("O valor da variavel 'cprogressivo' eh %d", cprogressivo);
}



Aqui notamos duas coisas interessantes:
1. Digitamos 'cprogressivo' dentro do escopo da função printf, e o que aconteceu? Apareceu o nome 'cprogressivo', e não o valor dessa variável inteira. Como dissemos, para aparecer o valor dentro de um printf, usamos o %d.

2. Apareceu um número totalmente aleatório e louco (conhecido como lixo, em C), não foi? Por quê?

Ao declarar a variável 'cprogressivo', nós reservamos um espaço em memória. Dentro da printf nós imprimos o seu conteúdo, e naquela posição da memória de seu computador havia aquele número lá armazenado (não me pergunte o porquê, mas saiba que pro computador é tudo número: textos, imagens, som etc).
No meu printf apareceu o número 2130567168, e na sua máquina?


Como inicializar variáveis inteiras na linguagem C

Não nos serve para nada aqueles números aleatórios que você imprimiu com o último código.
Variáveis só servem se pudermos controlar seu valor, e para isso temos que inicializá-las, ou seja, colocar um valor dentro dessa variável.
Para isso, usamos o símbolo de igualdade '='.

A inicialização pode ocorrer de duas formas:
1. Junto com a declaração da variável
int idade = 18;

2. Depois da declaração, em qualquer lugar do programa (após a variável ter sido declarada)
int idade;
...
idade = 18;

Por exemplo, um programa que mostre na tela o salário que você desejar receber:

#include <stdio.h>

int main()
{
    int salario = 5;
    printf("Eu pretendo ganhar %d mil reais como programador C", salario);
}


Note que você pode alterar o valor da variável 'salario', e esse valor sempre será impresso no printf. Qual o salário que você colocou?

Em breve vamos estudar em detalhes as operações matemáticas na Linguagem C, mas por hora vamos mostrar como é possível usar alguns cálculos com e nas variáveis inteiras, dentro ou não do printf.
Leia o seguinte programa e tente entender cada trecho do seguinte código, que está comentado.
Ele mostra que é possível declarar variáveis inteiras em várias partes do código, que podemos fazer operações matemáticas com as variáveis, dentre outras coisas.




#include <stdio.h>

int main()
{
    int soma = 1+1;
    printf("1 + 1 = %d \n", soma);

    int numero1 = 10;
    int numero2 = 20;

    soma = numero1 + numero2; //Podemos fazer o valor de uma variável mudar no decorrer
                              //de um programa
    printf("%d + %d = %d \n", numero1, numero2, soma);

    //Ao invés de criar uma variável para armazenar um resultado de operação matemática,
    //podemos colocar direto esses cálculos dentro do printf
    printf("%d - %d = %d\n", soma, numero1, (soma-numero1));
}

29 comentários:

Unknown disse...

Muito bom, passei um tempinho lendo esse ultimo código mas eu consegui entender ele por completo.

Anônimo disse...

eu coloquei 10 mil ;)

alanz disse...

Bem legal, podemos somar e subtrair entre as variaveis dentro de printf, ou seja, sem precisar declarar variaveis com os seus resultados. Ou seja parece que só temos usar qnd necessitamos de um valor expresso anteriormente, aí temos q salva-lo na memória, ou seja declarar uma variavel para o valor, para podermos usarmos. Percebi q é o caso da "soma", qnd precisamos subtrair o numero 1 dela. Parabéns pelo tutorial!!

Anônimo disse...

Espero que continuem ativos!
Excelente trabalho.
...
while( 1 == 1)
{
printf(“Parabéns \n”);
}

...
05.2014

Unknown disse...

#include
int main(){
//Este programa diz em ingLẽs que gostei
// muito das aulas iniciais do curso cprogressivo
//Flávio Henrique Gomes da Silva
printf("I do like it!");
}

Bruno Pacheco disse...

No meu eu não consigo declarar a variável depois de colocar um printf.
Só posso antes..
qual será o problema?

Unknown disse...

Excelente conteúdo, recomendarei aos meus colegas de curso. Parabéns pela iniciativa.

Criar Meu MU Online em 2019 - GRÁTIS ! disse...

#include

int main(void){
system("title,MC Brinquedo");
int n1,n2,n3;
printf("Digite um numero: ");
scanf("%d",&n1);
printf("Digite outro numero: ");
scanf("%d",&n2);
system("cls");
n3 = n1+n2;
printf("A Soma de %d \+ %d e igual a %d\n",n1,n2,n3);
system("PAUSE");
return 0;
}

Meu código em C :P

Anônimo disse...

int main(void){
system("title,MC Brinquedo");
int n1,n2,n3;
printf("Digite um numero: ");
scanf("%d",&n1);
printf("Digite outro numero: ");
scanf("%d",&n2);
system("cls");
n3 = n1+n2;
printf("A Soma de %d \+ %d e igual a %d\n",n1,n2,n3);
system("PAUSE");
return 0;
}

Meu Codico pra brincar com uns amigos meus... kkk buuum!

Diego Fortunatto disse...

Muito bom! Estou aprendendo muito com vcs! Como sempre aqui está rodando perfeito!

Carlos disse...

tive aulas de Turbo Pascal na escola á 20 anos atrás e gostava embora não tivesse seguido esse caminho. no entanto sempre fiquei com o bicho de "programar" e actualmente dou cabo da cabeça a inventar fórmulas em excel para atingir o que me pedem.
lembrei-me de pesquisar na net e encontrei o vosso site. Só posso dizer que finalmente estou a aprender a programar. Continuem que eu Também .

Anônimo disse...

Esse foi o melhor curso que encontrei na internet. Muito obrigado!!!

Abdias disse...

Só não entendi porque no ultimo printf, precisou por o mumero1 seguida de (soma-numero1).

FR33DOM disse...

Para o código dar certo, devemos rever o código passado, e reparar que falta uma variável inteira para a "soma" =)

Unknown disse...

Muito bom esse site, achei por acaso, vou indicar para meus amigos.

Adrianoag16 disse...

Parabéns pelo site

Unknown disse...

Primeiramente, só queria dizer q o site de vcs eh muito bom, me ajuda sempre qndo preciso.
Tenho uma duvida que não encontrei no site.

Tenho um programa que lê variaveis int, e depois são impressas na tela.
Porém, eu quero q o programa armazene a variavel como ela foi digitada:
Ex: Se digito "01", quando peço para imprimir, ele imprime "01".
Se digito "1", ele imprime "1".
Procurei e não encontrei nada na referência que tenho

#include
int main(){
int dia,mes,ano;

scanf("%d/%d/%d",&dia,&mes,&ano);
printf("%d/%d/%d",dia,mes,ano);

return 0;
}

Unknown disse...

Pessoal estou precisando fazer um algoritmo para informar a quantidade minima necessária de cédulas e moedas para formar um determinado valor,alguem pode me ajudar.

Unknown disse...

Excelente conteúdo!

Unknown disse...

Excelente conteúdo!

Unknown disse...

Boa noite, estou iniciando em C e gostei muito do curso. Porém me surgiu uma dúvida. Porque se eu mudar o valor da variável "soma" antes das variáveis "numero1 e numero2" o compilador acusa erro?

Exemplo:

#include

int main()

{
int soma = 2+2;

printf("%d \n",soma);


soma = numero1 + numero2;

int numero1 = 5;
int numero2 = 10;

printf("%d + %d = %d",numero1,numero2,soma);
}

Vicente disse...

Alexandre, td bem?

Veja que vc esqueceu de carregar a biblioteca

No caso das variáveis, penso que vc deve declara-las primeiro para depois fazer a soma.

Abraço.

Vicente.

Carlos Cordeiro disse...

Bom dia, pessoal.

Na linha "int main()" o "int" tem função de declarar o valor de retorno da função "main" como inteiro? Mas as saída é uma string, correto? Abraços.

Victor Carvalho disse...

Alguem interessado em me ajudar num projeto? eu ja fiz a estrutura do pragrama, mas queria a ajuda de alguem... é um programa onde voce informa o valor em dinheiro que quer trocar, e escolhe se quer em moedas ou cedulas e entao ele exibe quanto de cada voce precisa pra juntar esse valor

Sérgio Mercês disse...

Alguém pode me ajudar? Consegui manipular as variáveis com a soma e a exibição quando elas tem os valores constantes, porém quando uso o scan para a inserção dos valores o resultado é um lixo. O que está errado no meu código?

#include
int main(void)
{
int n1, n2, soma;
n1 = '%d';
n2 = '%d';
soma = n1 + n2;
printf("\n \t Por favor digite os numeros a serem somados \n");
printf("\n \t Por favor digite o primeiro numero ");
scanf("%d", &n1);
printf("\n \t Por favor digite o segundo numero ");
scanf("%d", &n2);
printf("\n \t A soma de %d + %d = %d ", n1, n2, soma);
getchar();
return 0;
}

Anônimo disse...

Sergio, coloque a linha (soma = n1 + n2) depois do ultimo scanf e antes do ultimo printf

Ibraim disse...

Muito bom este curso online, estou aprendendo muito,e espero chegar ate o final do curso,e que vocês continuem com esse excelente projeto.

Lucas de Lima disse...

O meu cprogressivo deu 146, o site esta de parabéns!

Anônimo disse...

O mwu c progressivo deu 2