<aside>

Conhecimentos necessários:

Linguagem de programação procedimental

</aside>

<aside>

Navegação

</aside>

Agora vamos dar início aos primeiros comandos! \o/

Variável

O que é?

Variável… que nome lindo! Essa é sem dúvidas uma das suas melhores amigas na programação. Promete que vai fazer questão de lembrar dela? Pois lembrar das coisas é justamente o trabalho dela.

Variável nada mais é do que uma forma de você salvar informação no que criar em C. Se criar um programa que pergunta o nome do usuário, salvar o nome dele é papel da variável. Salvar qualquer tipo de dado é o papel da variável, e como já vemos, existem alguns tipos de dados em C (int, float, double, char e string), então por isso existirá um tipo de variável que recebe cada tipo de informação.

Como criar e usar?

Para criar uma variável, é bem simples, basta você informar o tipo de dado que ela irá armazenar, o nome da variável (para você poder chamar ela depois) e o valor que ela irá receber. Por exemplo:

Irei criar uma variável para guardar minha idade. Como minha idade é um número inteiro, a variável guardará uma informação do tipo int, ou seja, dizemos que a variável é do tipo int. Como nome, chamarei ela de “idade”. Isso tudo fica assim:

int idade = 18;

Bem simples, né?

Isso se aplica a qualquer tipo de variável que eu quiser criar, observe:

int idade = 18;
float altura = 1.85;
double numeroFavorito = 3.14159265;
char inicialDoNome = 'J';
char nome[10] = "João";

Caso não queira atribuir o valor logo após criá-la, você pode! Apenas tome cuidado para não se esquecer de atribuir valor para ela ao longo do código.

Você também pode usar uma única linha para criar várias variáveis do mesmo tipo. Um exemplo:

int id, idade, alturaCM;

Criei 4 variáveis de uma vez do tipo int sem valor atribuído, aí ao longo do código eu preciso dar algum valor para elas. Caso já queira criar com valores atribuídos, pode fazer assim:

int id = 25, idade = 18, alturaCM = 185;

Caso você não atribua valor para elas, elas ficarão com algum número aleatório que é chamado de “lixo de memória”;

Dito isso, tem alguns detalhes para destacar:

Nomes de variáveis

Os nomes de variáveis possuem algumas regrinhas:

Textos

O tipo char só suporta armazenar uma letra. Para armazenar textos, você precisa criar uma lista de char, para isso, basta abrir e fechar colchetes no final do nome da variável ao criá-la. Dentro dos colchetes, você informará a quantidade de caracteres que a variável suportará armazenar, mas caso não informe nada, o limite dele será automaticamente o texto informado.

Mas você deve se atentar em uma coisa: Caso informe que o número de caracteres é 31, você só poderá usar 30, pois o último local sempre será para um caractere nulo apelidado de ‘\0’, que nada mais é do que uma forma de falar para o programa que a string (lista de char) chegou ao fim.

Da mesma forma, se escrever char nome[] = "Joao" o limite será automaticamente 5 (4 para as letras e um para o elemento nulo).

Como usar?

O legal de variáveis é que podemos chamá-las e usá-las dentro de variáveis, além de modificar o valor delas. Um exemplo:

int numero1 = 15;
int numero2 = 10;
int soma = numero1 + numero2;

Ou seja, “soma” será a soma das variáveis que criei lá em cima. Mas também posso chamar uma variável nela mesma! Darei um exemplo em que eu farei um contador:

int contador = 1;
contador = contador + 1;

Ou seja, ele começou com 1, mas dps ele pegou o valor dele e somou com 1, agora ele vale 2! Mas sabia que há alguns truques para fazer isso de uma forma mais prática?

int contador = 1;
contador++;

“contador++;” é a mesma coisa de “contador = contador + 1;”. O único ruim de usar isso é que ele sempre soma ele mesmo com 1, o que nos impediria de fazer ele ir contando de 2 em 2, por exemplo, então por isso existe esse comando aqui também:

int contador = 1;
contador += 2;

“contador += 2;” é a mesma coisa de “contador = contador + 2;”, só que uma forma mais fácil e intuitiva de ser escrita, mas todas essas formas funcionam, então basta você escolher a que preferir!

Lembrando que as mesma coisas valem para a subtração:

Você também pode fazer várias atribuições ao mesmo tempo:

a = b = c = 0;

Aqui, as três variáveis serão iguais a zero.

Modificar strings

Strings são diferentes em quase tudo. Se, por exemplo, tentarmos o caso abaixo, acarretará em erro:

char nome[] = "Mario";
nome = "Jonas";

A primeira linha funciona, podemos criar uma variável e já colocar um conteúdo dentro dela, mas não conseguimos mudar desse jeito, como tentei fazer para colocar o nome “Jonas”. Para fazer isso da maneira correta, fazemos assim:

#include <string.h> //obrigatório para strcpy funcionar

char nome[] = "Mario";
strcpy(nome, "Jonas");

Caso o programa que você use afirme que esse comando não existe, você deverá importar uma biblioteca específica para isso, que seria a <string.h>. Falo mais no final dessa página

Constantes

Como vimos acima, variáveis podem mudar seu valor ao longo do tempo quando mandamos, coisa que não acontece com as constantes: são formas de armazenar dados também, mas a diferente é que não podemos mudar seu valor ao longo do tempo, ela será sempre fixa, algo que é bom para números que temos que ter cuidado para não mudar com o tempo, como o valor de $\pi$ ou o número de Euler.

Para criar uma constante, escrevemos assim:

#define nomeDaConstante Valor

Alguns exemplos:

Lembrando que isso é em cima de quase tudo, junto com os “#include”, e não se usa o ponto e vírgula no final.

Por questões de organização, é recomendado usar letras maiúsculas para nome de constante, mas funcionará corretamente com letras minúsculas também.

Também há como criar de uma forma mais parecida com a criação de variáveis, que basta incluir a palavra “const” antes da variável. Tipo assim:

Para usar, é igual às variáveis.

Entrada e saída de dados

Aqui é onde vamos mostrar e coletar informações.

printf

Usado para mostrar mensagens ao usuário.

Ele possui a seguinte estrutura:

printf(”Sua mensagem vem aqui dentro”);

O que estiver dentro dos parêntesis e das aspas, ele mostrará a mensagem escrita.

Usando o printf, também podemos mostrar os valores das variáveis, para isso, precisamos fazer umas coisinhas. Darei um exemplo para começar a explicar:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int idade = 18;
    printf("Minha idade: %d", idade);
    
    return 0;
}

Para já familiarizar, coloquei a estrutura base do C. Depois disso eu só criei uma variável para guardar minha idade e fiz o printf mostrar ela.

Observe que no printf tem o texto normal “Minha idade: ”, mas logo depois tem “%d”. Isso é uma forma de falar para o código que quero mostrar uma variável do tipo int bem ali, no lugar desse “%d”, mas ele ainda não sabe o que quero mostrar, por isso que, fora das aspas, coloquei uma vírgula e o nome da variável que queria que ele mostrasse. No final disso tudo, ele mostrará a mensagem assim para mim:

Minha idade: 18

Caso você esteja se perguntando sobre esse “%d”, isso é uma forma de falar que quero que o código coloque uma variável do tipo int ali no lugar desse símbolo. Nesse início, teremos 5 tipos de formatos para poder colocar:

Lembrando que no mesmo printf, podemos mostra várias variáveis diferentes, basta separá-las por vírgulas. Irei dar um exemplo mostrando tudo que falei:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int idade = 18;
    float altura = 1.85;
    char nota = 'B';
    char nome[10] = "João";
    printf("Meu nome e: %s. Tenho %d anos e %f metros de altura. Minha nota foi %c.", nome, idade, altura, nota);
    
    return 0;
}

Lembrando que acentos no printf não são suportados, o saída fica assim:

Meu nome e: João. Tenho 18 anos e 1.850000 metros de altura. Minha nota foi B.

Ao mexer com o printf, provavelmente perceberá que ele não pula linhas, para isso, basta escrever “\n” dentro das aspas que é uma forma de pular linhas, tipo assim:

printf("Uma linha \\n Outra linha \\n Mais uma linha".);

scanf

Isso aqui é justamente o oposto: você escrever algo para o código, que vai salvar em algum lugar. Sua escrita é bem parecida com a do printf, mas a diferença é que você precisa colocar um “&” atrás do nome de qualquer variável que não seja string. Um exemplo com todos todos os tipos:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int idade;
    scanf("%d", &idade);
    float altura;
    scanf("%f", &altura);
    double pi;
    scanf("%lf", &pi);
    char nota;
    scanf("%c", &nota);
    char nome[10] = "João";
    scanf("%s", nome);
    
    return 0;
}

gets e fgets

Novamente, a string dando trabalho e sendo especial. Como visto acima, scanf só coleta uma palavra, então se eu quisesse escrever “Joao Pedro Leal”, o scanf só coletaria o “Joao”, por isso existe o “gets” (que significa “get string”).

Para usá-lo é muito simples, basta escrever o nome da variável entre parêntesis, sem precisar de muita coisa( como no scanf). Um exemplo de uso dele: