Вы находитесь на странице: 1из 7

Tipos Bsicos de Dados Fundamentos de Linguagem C

Prof. Emerson de O. Batista CREUPI Cincia da Computao


n n n n n

char int float double void

n n n n n

Caracteres ASCII Valores inteiros Reais de Simples Preciso Reais de Dupla Preciso Sem retorno e sem ponteiros.

Prof. Emerson de O. Batista

Modificadores
n n n n

Modificadores
n

signed com sinal unsigned sem sinal long - longo short - curto

n n n

O uso de nmeros com sinal (signed) ou sem sinal (unsigned) diferenciado pela forma como os bits so armazenados, usando o conceito de bit mais significativo. Para signed int : 32.767 fica 01111111 11111111 Se no lugar do zero tivssemos 1 seria 32.767. Para unsigned int e tivssemos o 1 no lugar do zero o nmero seria 65.536.
Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Identificadores
n

Variveis
n

Os identificadores so os nomes de variveis, de funes, rtulos e vrios outros objetos definidos pelo usurio. O primeiro caractere de um identificador DEVE ser uma letra ou um sublinhado ( underline _). Os outros caracteres devem ser letras, nmeros ou sublinhados.

Posio de memria, com um nome, que armazena um valor que pode ser modificado pelo programa. Em C todas as variveis declaradas devem ser usadas. Sintaxe de declarao:
Tipo Lista de variveis;

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Declarao de Variveis
n

Uso de variveis
n

Exemplos:
int a, b, c; short int numero; unsigned int maior, menor; double salario, aliquota, teste;

Variveis locais
n

As variveis em C so declaradas em 3 lugares bsicos: dentro das funes, na definio de parmetros da funes e fora de todas as funes (variveis locais, parmetros, variveis globais).
Prof. Emerson de O. Batista

So aquelas declaradas dentro de uma funo, tambm conhecidas como variveis automticas. Seu contedo s conhecido dentro da funo onde foi definida. Ela s existe enquanto a funo est em execuo.

Prof. Emerson de O. Batista

Uso de variveis
n

Uso de variveis
n

Exemplos:
void Teste1 (void) { int n; n = 16; } void Teste2 (void) { int n; n = -254; }

A inicializao de variveis pode acontecer na sua declarao ou no decorrer do programa:


main() { float n1=8, n2 = 5, n3, n4; /* inicializao na declarao */ float media; n3=7; /* inicializao no decorrer do programa */ n4=6; media = (n1+n2+n3+n4)/4; }

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Uso de variveis
n

Uso de variveis
n

comum os programadores declararem as variveis no incio do programa, ou seja, logo aps a abertura da chave. Porm, as variveis locais podem ser declaradas dentro de qualquer outro bloco de cdigo, mas ela criada no incio do bloco e destruda no final dele. Seu contedo fica disponvel apenas no bloco em questo.
Prof. Emerson de O. Batista

Exemplo:
main(void) { int numero; printf (Entre com um nmero:); scanf (%d, &numero); if (t >= 1) { char nome[80]; printf (Digite o seu nome:); gets (nome);} else printf (Voc est com um pensamento nulo ou negativo!); }
Prof. Emerson de O. Batista

Uso de variveis
n n

Exemplos corretos
void minhafcA (void) { int n1; n1 = 12; {/* aqui inicia outro bloco */ int n2; n2=50; } void minhafcB (void) { /* definida no incio do bloco */ int n1; int n2; n1 = 12; n2=50; }

Uma varivel deve ser declarada no incio do bloco que ir utiliz-la. Exemplo:
void minhafc (void) { int n1; n1 = 12; int n2; /* aqui tem-se um erro */ n2=50; }

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Uso de variveis
n

Variveis Lgicas ou Booleanas


n

As variveis locais no podem reter seu contedo a menos do uso da instruo static . Seu valor inicializado cada vez que entra na funo, exemplo:

#include stdio.h void fc ( void ); void main (void) { int num; for (num=0; num<15; num++) fc(); } void fc ( void ) { int digito = 10; printf (%d, digito); digito++; /* desnecessrio */ }

Em C no existe um tipo especfico para representar dados lgicos (verdadeiro ou falso). Em linguagem C qualquer valor diferente de zero verdadeiro e o valor zero o falso. Exemplos:
a=1 /* um valor verdadeiro */ b=0 /* um valor falso */ c=-101 /* um valor verdadeiro */

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Constantes
n

Outros tipos de constantes


n

A declarao de constantes utilizada para criar uma varivel com um valor inicial que no se modifica no desenvolvimento da funo ou programa. Sintaxe:
const x = 20; const g = 9.8; const float indice = 20.56;

Constantes hexadecimais
int hex = 0x80 /* 128 em decimal */

Constantes octais
int oct = 012 /* 10 em decimal */

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Outros tipos de constantes


n

Outros tipos de constantes


n

Constantes string:
n n n n

Conjunto de caracteres entre aspas; Caractere muito diferente de string; Caractere a; String de uma letra a;

Constantes de controle (de barra invertida)


n

So constantes especiais que so utilizadas para utilizar caracteres no disponveis no teclado.

\b \f \n \r \t \ \ \0 \\ \a

Retrocesso (BS) Aliment . Formul. (FF) Nova linha (LF) Retorno de carro (CR) Tab. Horizontal (HT) Caractere aspas Caractere apstrofe Nulo (Null) Caractere barra invertida Alerta (beep)

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Operadores
n

Operadores aritmticos
* / % + ++ -Multiplicao Diviso Mdulo resto da diviso Adio Subtrao Incremento Decremento

A linguagem C muito rica em operadores, dando uma nfase muito maior do que outras linguagens; Ela possui quatro famlia de operadores;
n n n n

Aritmticos; Relacionais; Lgicos; Bit a bit;

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Oper. Aritmticos especiais


n

Hierarquia dos operadores


Mais alta ++ -* / % + Mais baixa

Incremento
Ao invs de x = x + 1 pode-se usar ++x ou x++

Decremento
Ao invs de x = x 1 pode-se usar --x

Quando estes operadores so usados em expresses a ordem pode influenciar na conta. Exemplos:
x = 10; y = ++x; /* incrementa x e guarda em y */ z = x++; /* guarda em z e incrementa em x */ No final tem-se x=11, y=11 e z = 10;
Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Operadores especiais
n

Operador de atribuio
n n

Operadores aritmticos de atribuio:


op1 += op2; /* op1 = op1 + op2; */ op1 -= op2; /* op1 = op1 - op2; */ op1 *= op2; /* op1 = op1 * op2; */ op1 /= op2; /* op1 = op1 / op2; */ op1 %= op2; /* op1 = op1 % op2; */

Este operador usado para inicializar uma varivel no programa ou alterar o seu valor. Sintaxe :
n

Nomevar = expresso;

Em algumas situaes a mistura de tipos de variveis promove a converso de tipos em atribuies. Pode-se tambm tirar proveito de atribuies mltiplas, exemplo:
x = c = d = 4.5;

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Converso de Tipos
int num; char texto; float real; void main (void) { texto = num; /* primeira linha*/ num = real; /* segunda linha*/ real = texto; /* terceira linha*/ real = num; /* quarta linha*/ }
n

Em converses deve-se obs.


char c; int i; float f; doubled; Conta = (c / i) + (f * d) (f + i)

Primeira linha texto possuir os bits menos significativos de num. Segunda linha num recebe a parte inteira de real. Terceira linha real converte o valor existente em texto (8 bits)para ponto flutuante. Quarta linha real converte um valor inteiro (16 bits) para ponto flutuante.

int

double float

double double

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Converso forada (Cast)


n

Operadores relacionais
> >= < <= == != Maior que Maior ou igual que Menor que Menor ou igual que Igual a Diferente de

Para resolver problemas de perda de preciso de clculos ou de informao (algarismos significativos aps o ponto decimal), pode-se utilizar uma converso de tipo forada. Exemplo:
d = (double) (a + b); /* converte a+b para double */ a = (int) ((long) c + b); /* converte c para long e c+b para int. */

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Operadores Lgicos
&& || ! And (multiplicao lgica) Or (adio lgica) Not (negao lgica)
n n n n

Exemplos
Linha 1 se a = 10, b = 30 e c = 3; Linha 2 se a = 5, b = 2, c = 4; Linha 3 se a = 10, b = 5, c = 8; Linha 4 se a = 3, b = 40, c = 7; a>b 0 1 1 0 a>c 1 0 1 0 a>b && a<c 0 0 1 0 a>b || a<c 1 1 1 1 a>b && !a<c 0 1 0 0

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Operador ternrio
n

Operador Ternrio
x = 10; y = x > 9 ? 100 : 200; Neste caso y possuir o valor 100. O mesmo poderia ser feito com: x = 10; if (x > 9) y = 100; else y = 200;
Prof. Emerson de O. Batista

Este operador uma estrutura condicional resumida. Sintaxe;


Expresso1 ? Expresso2 : Expresso3; Se a expresso1 for verdadeira executa a expresso2, seno executa a expresso3.

Prof. Emerson de O. Batista

Estruturas de controle de fluxo


n

Em linguagem C
if (condio) procedimento_se_verdadeiro; else procedimento_se_falso; if (condio) { procedimento1_se_verdadeiro procedimento2_se_verdadeiro procedimento3_se_verdadeiro } else { procedimento1_se_verdadeiro procedimento2_se_verdadeiro procedimento3_se_verdadeiro }

Estrutura condicional de um procedimento por situao:


SE (condio) ENTO procedimento_se_verdadeir o; SENO procedimento_se_falso;

Estrutura condicional com vrios procedimentos por situao:


SE (condio) ENTO { procedimentos_se_verdadeiro; } SENO { procedimentos_se_falso; }

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Estrutura condicional aninhada


if (condio1) procedimento_se_verdadeiro; else { procedimento_se_falso; if (condio2) procedimento_se_verdadeiro2; else procedimento_se_falso2; }
Prof. Emerson de O. Batista n n

Estrutura mltiplos casos


uma estrutura que resume o uso de vrios ifs aninhados. Sintaxe:
switch (nomevar){ case valor1 : procedimento1; break; case valor2 : procedimento2; break; default : procedimento_caso_contrrio; break; }

Prof. Emerson de O. Batista

Estrutura de repetio
n

Variaes de Loop
As expresses de inicializao, comparao e incremento so opcionais. i = 0; for ( ; i<10; ) { procedimento1; procedimento2; i++; }
n

Uma instruo:

Vrias instrues:

for (inicializao; comparao; incremento) instruo; Exemplo: for (a=1; a<=10; a++) printf(Mensagem);

for (c=1; c<=5; c=c+1){ procedimento1 procedimento2 procedimento3 .... procedimentoN }

Contagem regressiva: for (j=10; j<0; j--) procedimento;


n

Loops aninhados: for (i=0; i<10; i++) for (j=0; j<5; j++) procedimento;
n

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista

Loop condicional
while (condio) procedimento;
n

Loop condicional 2
do procedimento; while (condio);
n

while (condio){ procedimento1; procedimento2; Ela repete o procedimento procedimento3; enquanto a condio for } verdadeira.
n

Mesmo loop com vrios procedimentos.

Neste caso, pelo menos uma vez o procedimento ser executado. O teste feito aps a execuo do procedimento.

do{ procedimento1; procedimento2; procedimento3; } while (condio);


n

Mesmo do anterior com vrios procedimentos.

Prof. Emerson de O. Batista

Prof. Emerson de O. Batista