Programar em C/Variáveis: diferenças entre revisões
[edição não verificada] | [edição verificada] |
Conteúdo apagado Conteúdo adicionado
Etiqueta: esvaziamento |
Desfeita a edição 260385 de 177.59.95.98 (Discussão): conteúdo inserido fora de contexto (a explicação é sobre o exemplo anterior); <tt> --> <code>; <source> -><syntaxhighlight> |
||
Linha 1:
== Variáveis ==
Em um programa, existe a necessidade de se guardar valores na memória, e isso é feito através de '''variáveis''', que podem ser definidas simplificadamente como nomes que se referem a lugares na memória onde são guardados valores.
Linha 10 ⟶ 9:
tipo_da_variável nome_da_variável;
Por exemplo, para declarar uma variável do tipo <
<
int a;
</syntaxhighlight>
É sempre necessário indicar o tipo da variável, pois cada tipo tem um tamanho diferente, ou seja, ocupa mais ou menos espaço na memória do computador. Mais adiante introduziremos os tipos de variável.
== Atribuindo valores ==
Se quisermos associar um valor a uma variável, usamos o operador <
<
a = 5;
</syntaxhighlight>
Nesse caso, estamos pedindo que o computador guarde o valor 5 no espaço alocado à variável <var>a</var>.
É possível também atribuir um valor a uma variável ao mesmo tempo que ela é declarada, o que é chamado de ''inicializar'' a variável. Por exemplo:
<
int a = 5;
</syntaxhighlight>
É possível também declarar mais de uma variável de um mesmo tipo em uma única instrução, separando os nomes por vírgulas. Também é possível inicializar as variáveis dessa maneira:
<
int a, b, c, d;
int e = 5, f = 6;
int g, h = 2, i = 7, j;
</syntaxhighlight>
== Exemplo de erro ==
Mesmo sabendo que é um exemplo de erro, escreva o código acima em um arquivo .c e tente compilar para se familiarizar com as mensagens de erro do compilador, assim você saberá o que fazer quando elas ocorrerem.
Linha 59 ⟶ 57:
== Tipos de variáveis ==
Até agora você só viu as variáveis do tipo <
* <
* <
* <
* <
* <
Os tipos <
Também existem outros tipos, como short (ou short int), que serve para inteiros menores, long (ou long int) para inteiros maiores. Qualquer tipo inteiro pode ser precedido por unsigned (o signed para COM negativos), para cortar os números negativos, permitindo maior capacidade de armazenamento de números positivos. Alguns compiladores aceitam o long long, para aumentar ainda mais o tamanho da variável, alguns desses só aceitam para o tipo int, outros também para o tipo double.
Linha 93 ⟶ 91:
Podemos alterar a maneira como os dados são guardados com os '''modificadores de tipo'''. Você pode modificar os tipos de duas maneiras.
==== Tamanho: <
Você pode modificar o tamanho de uma variável usando os '''modificadores de tipo''', que são dois: <
* '''<
* '''<
* O padrão C de 1999 adicionou um terceiro modificador, suportado pelos compiladores mais recentes, inclusive o gcc: <
Uma observação é necessária: segundo o padrão, não existe nenhuma garantia de que uma variável <
=== Converter um tipo de variável ===
Linha 106 ⟶ 104:
Esta operação pode ser realizada de duas maneiras.<br>
'''Conversões do tipo implícita:''' Consiste em uma modificação do tipo de variável que é feita automaticamente ▼
▲Conversões do tipo implícita:''' Consiste em uma modificação do tipo de variável que é feita automaticamente
pelo compilador.
:Ex:
Linha 120 ⟶ 117:
Veja um exemplo da conversão de tipo inteiro em caracteres. Aqui convertemos um numero decimal em um caracte ASCII.
<
#include <stdio.h>
Linha 130 ⟶ 127:
x = (char) y;
printf("O numero inteiro: %d \n O caracter: %c \n\n", y, x);
}</
Existe outro tipo de modificador, que define se o número vai ser guardado com '''sinal''' ou não. São os modificadores <
* '''<
▲==== Sinal: <tt>signed</tt> e <tt>unsigned</tt> ====
* '''<
▲Existe outro tipo de modificador, que define se o número vai ser guardado com '''sinal''' ou não. São os modificadores <tt>signed</tt> e <tt>unsigned</tt>, suportados pelos tipos inteiros apenas.
▲* '''<tt>signed</tt>''' diz que o número deve ser guardado com sinal, ou seja, serão permitidos valores positivos e negativos. Esse é o padrão, portanto esse modificador não é muito usado.
▲* '''<tt>unsigned</tt>''' diz que o número deve ser guardado '''sem sinal'''. Com isso, o valor máximo da variável aumenta, já que não teremos mais valores negativos. Por exemplo, com uma variável <tt>char</tt> podemos guardar valores de -128 a 127, mas com uma variável <tt>unsigned char</tt> pode guardar valores de 0 a 255.
Para usar esses modificadores, devemos colocá-los '''antes''' do nome do tipo da variável, sendo que o modificador de sinal deve vir antes do modificador de tamanho caso ambos sejam usados. Por exemplo:
Linha 146 ⟶ 142:
'''long double''' preco;
<div style="background-color: #ddffdd; padding: 10px; margin: 20px;">'''Nota:''' Você pode abreviar <
== Literais ==
Linha 154 ⟶ 149:
* Literais de inteiros podem ser especificados nas bases decimal, octal ou hexadecimal. Se o literal for prefixado com "0x" ou "0X", ele será interpretado como hexadecimal; se o prefixo for apenas "0", será interpretado como octal; ou se não houver prefixo, será interpretado como decimal.
* Literais de reais podem ser especificados na forma decimal (144.57) ou em notação científica (1.4457e+2). Lembre-se que o separador decimal é o ponto e não a vírgula, como seria usual.
* Literais de caracteres devem vir entre aspas simples (') e conter a representação de apenas um caractere<sup>1</sup>. Usos válidos seriam: 'c', '\n', '\x1b', '\033'. Se você quiser usar a aspa simples como caractere, preceda-a com uma barra invertida: <
* Literais de strings devem vir entre aspas duplas ("). Para usar aspas duplas dentro de strings, preceda-as com barra invertida: <
== Notas de rodapé ==
|