Programar em C/Variáveis: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
He7d3r.bot (discussão | contribs)
Trocando categorização manual por AutoCat (o indexador da categoria estava incorreto) [ usando AWB ]
m enxugando
Linha 1:
{{TopNav|up=Indice|prev=Conceitos básicos|next=Entrada e saída simples}}
 
== 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 7:
 
== Declarando variáveis ==
 
Genericamente, para declarar uma variável, usamos a seguinte instrução:
 
Linha 19 ⟶ 18:
 
== Atribuindo valores ==
 
Se quisermos associar um valor a uma variável, usamos o operador <tt>=</tt> (igual):
 
Linha 37 ⟶ 35:
 
== Exemplo de erro ==
 
a = 25
 
Linha 45 ⟶ 42:
 
== Nomes de variáveis ==
 
* Os nomes de variáveis devem ser únicos: não podemos ter duas variáveis com o mesmo nome!
* O C, assim como muitas outras linguagens de programação, é sensível à utilização de maiúsculas e minúsculas. Portanto, o código a seguir seria válido e geraria três variáveis diferentes:
Linha 57 ⟶ 53:
 
== Tipos de variáveis ==
 
Até agora você só viu as variáveis do tipo <tt>int</tt>, que servem para guardar números inteiros. A linguagem C tem 4 tipos fundamentais. São eles:
* <tt>int</tt>
Linha 71 ⟶ 66:
 
=== Modificadores de tipo ===
 
Podemos alterar a maneira como os dados são guardados com os '''modificadores de tipo'''. Você pode modificar os tipos de duas maneiras.
 
==== Tamanho: <tt>short</tt> e <tt>long</tt> ====
 
Você pode modificar o tamanho de uma variável usando os '''modificadores de tipo''', que são dois: <tt>short</tt> e <tt>long</tt>. Note que <tt>float</tt> e <tt>char</tt> não podem ser modificados em tamanho.
 
Linha 83 ⟶ 76:
 
Uma observação é necessária: segundo o padrão, não existe nenhuma garantia de que uma variável <tt>short int</tt> é menor que uma variável <tt>int</tt>, nem que <tt>long int</tt> é maior que <tt>int</tt>. Apenas é garantido que <tt>int</tt> não é maior que <tt>long</tt> nem menor que <tt>short</tt>. De fato, nos sistemas x86 de 32 bits (ou seja, a maioria dos computadores pessoais atualmente), o tamanho de <tt>int</tt> é igual ao de <tt>long</tt>. Geralmente, <tt>int</tt> será o tamanho nativo do processador &mdash; ou seja, 32 bits num processador de 32 bits, 16 bits num processador de 16 bits etc.
 
 
=== Converter um tipo de variável ===
A conversão de uma variável consiste em converter o tipo de uma variável em um outro . Imagine que você esteja trabalhando com uma variável do tipo float e por alguma razão queira eliminar os números que estão depois da virgula.
 
Esta operação pode ser realizada de duas maneiras . <br>
'''
Conversões do tipo implícita:</b>''' Consiste em uma modificação do tipo de variável que é feita automaticamente
pelo compilador .<br>
:Ex:
int x;
x = 7.123 ;
 
'''Conversões do tipo explícita:''' :</b>Também chamada de operação <b>'''cast</b> ''', consiste em forçar a modificaçao
Esta operação pode ser realizada de duas maneiras . <br>
do tipo de variável usando o operador cast " ( ) " .<br>
<b>
:Ex:
Conversões do tipo implícita:</b>Consiste em uma modificação do tipo de variável que é feita automaticamente
pelo compilador .<br>
Ex:
int x;
x = 7.123 ;
<b>
Conversões do tipo explícita :</b>Também chamada de operação <b>cast</b> , consiste em forçar a modificaçao
do tipo de variável usando o operador cast " ( ) " .<br>
Ex:
int y;
y = (int)7.123 ;
 
Veja um exemplo da conversão de tipo inteiro em caracteres. Aqui convertemos um numero decimal em um caracte ASCII.
Aqui convertemos um numero decimal em um caracte ASCII .
<source lang="C">
#include <stdio.h>
 
int main( void )
{
{
int y = 65 ;
char x ;
 
x = (char) y ;
printf(" O numero inteiro : %i \n O caracter : %c \n\n " , x , y );
}
</source>
 
x = (char) y ;
printf(" O numero inteiro : %i \n O caracter : %c \n\n " , x , y );
}</source>
 
==== 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.
 
Linha 133 ⟶ 120:
'''long double''' preco;
 
<div style="background-color: #ddffdd; padding: 10px; margin: 20px;">'''Nota:''' Você pode abreviar <tt>short int</tt> e <tt>long int</tt> para simplesmente <tt>short</tt> e <tt>long</tt>, respectivamente.</div>
 
== Literais ==
 
Em programação, um '''literal''' é uma notação que representa um valor constante. Exemplos de literais em C são 415, 19.52, 'C', "João". Esses exemplos representam os quatro tipos de literais em C: literais de inteiros, literais de reais, literais de caracteres e literais de strings. Só com esses exemplos já é possível deduzir como se usam os literais; mas é importante fazer algumas observações:
 
* 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: <tt>'<nowiki>\'</nowiki>'</tt>.
 
* Literais de strings devem vir entre aspas duplas ("). Para usar aspas duplas dentro de strings, preceda-as com barra invertida: <tt>"Ele disse \"Olá\"."</tt>. Note que um literal de string adiciona o caractere nulo (<tt>\0</tt>) ao final da string, pois ele é, em C, a maneira de delimitar o final de uma string.
 
== Notas de rodapé ==
 
# Na verdade, segundo o padrão C, literais de caracteres podem conter a representação de mais um caractere, mas o uso deles seria para representar números e não seqüências de caracteres; é um aspecto pouco utilizado da linguagem C.