Você está na página 1de 11

Linguagem C

(Variveis, Operadores e Expresses)

Prof. Edson Pedro Ferlin

Tipos de Dados
by Prof. Edson Pedro Ferlin

Parte 1 Tipos Bsicos

Cinco (5) tipos bsicos:


char (caracter);
Int (Inteiro);
float (ponto flutuante);
double (ponto flutuante de dupla preciso);
void (sem valor);

Tipo Tamanho (bits) Escala


char 8 -128 a 127

int 16 -32.768 a 32.767

float 32 3,4E-38 a 3,4E+38

double 64 1,7E-308 a 1,7E+308

void 0 Sem valor

www.professorferlin.blogspot.com 1
Tipos de Dados
by Prof. Edson Pedro Ferlin

Parte 2 Modificadores de Tipo

Modificadores de tipo:
signed (com sinal);
unsigned (sem sinal);
long (longo);
short (curto);

So utilizados para alterar o significado do tipo base:


unsigned char (0 255)
long int (-2.147.483.648 a 2.147.483.647)
unsigned int (0 a 65.535)

Obs: unsigned e long sozinhas representam tipo int.

Variveis
by Prof. Edson Pedro Ferlin

Parte 1 Viso Geral

Duas condies:
O nome deve comear com uma letra ou sublinhado (_);
Os caracteres sub-sequentes devem ser letras, nmeros ou
sublinhado (_);
Duas restries:
O nome de uma varivel no pode ser igual a uma palavra
reservada;
O nome no pode ser igual ao nome de uma funo declarada
pelo programador, ou pelas bibliotecas do C;
Variveis de at 32 caracteres so aceitas;
Case sensitive (maisculas e minsculas);
Dicas:
Usar letras minsculas para nomes de Variveis;
Usar letras maisculas para nomes de Constantes;

www.professorferlin.blogspot.com 2
by Prof. Edson Pedro Ferlin

Variveis
Parte 1 - Declarao
Forma geral de um comando de declarao de
variveis:

[modificador] tipo_da_varivel Lista_de_Variveis;

Exemplo:
int i,j,l;

short int si;

float pi;

char ch;

long count;

by Prof. Edson Pedro Ferlin

Variveis
Parte 3 - Escopo

Existem trs locais em um programa em C onde


pode-se declarar variveis:

Global: Fora de todas as funes;

Local: Dentro de uma funo;

Parmetro formal: declarao dos parmetros;

www.professorferlin.blogspot.com 3
by Prof. Edson Pedro Ferlin

Variveis
Parte 4 Exemplo de Programa
int sum; /* Variavel Global */ total (x) /* Parametro formal */
main () int x;
{ {
int count; /* Variavel Local */ sum = x + sum;
sum = 0; }
for (count = 0; count < 10; count ++)
{ display ()
total (count); {
display (); int count;
} for (count = 0; count < 10; count++)
} {
printf (.);
}
printf (A soma corrente eh %d\n,sum);
}

by Prof. Edson Pedro Ferlin

Variveis
Parte 5 - Observaes

Observaes a serem seguidas:

Duas variveis globais no podem ter o mesmo nome;

Variveis locais em uma funo pode ter o mesmo nome de


outras variveis locais em outra funo, sem conflitos;

Duas variveis dentro de uma mesma funo no podem ter


o mesmo nome.

www.professorferlin.blogspot.com 4
Constantes
by Prof. Edson Pedro Ferlin

So valores que so mantidos fixos pelo compilador;

Tipos bsicos: b, \o, 2, -467, 0.0

Hexadecimais e octais: 0xFF (255), 011(9)

Strings: Teste,t

Barra invertida: \n, \b

Inicializao de Variveis
by Prof. Edson Pedro Ferlin

Parte 1- Forma Geral


Pode-se atribuir valores s variveis no momento
em que se declara, colocando um sinal de igual e
uma constante depois do nome da variveis;

Forma geral:
Tipo Nome_da_Varivel = constante;

Exemplos:
int hex=0xFF;
char CH=A;
int ANO=2011;
float balano = 123.4;

10

www.professorferlin.blogspot.com 5
Inicializao de Variveis
by Prof. Edson Pedro Ferlin

Parte 2 Globais e Locais

Variveis Globais inicializadas apenas no


comeo do programa. So inicializadas em zero, se
no for especificado;

Variveis Locais inicializadas cada vez que a


funo na qual elas so declaradas inserida. As
que no forem inicializadas tero valores
desconhecidos antes que seja feita a primeira
atribuio.

Vantagem: Reduz sensivelmente a quantidade de


cdigo do programa;

11

by Prof. Edson Pedro Ferlin

Exemplo
main ()
{
int t; /* Variavel Local */
printf (Digite um nmero: );
scanf (%d, &t);
total (t);
}
total (x) /* Parametro formal */
int x;
{
int soma = 0, i, cont;
for (i = 0; i < x; i++)
{
soma = soma + 1;
for (cont = 0; cont < 10; cont++) prinft (-);
}
}

12

www.professorferlin.blogspot.com 6
Operadores
by Prof. Edson Pedro Ferlin

Parte 1 - Classes

Um operador um smbolo que manda o compilador


executar determinadas manipulaes matemticas ou
lgicas;

Os operadores em C podem ser agrupados nas classes:

Operadores Aritmticos
Operadores Relacionais
Operadores Lgicos
Operadores bit-a-bit
Operadores de Atribuio
Operador de Tamanho
Operador Vrgula

13

Operadores
by Prof. Edson Pedro Ferlin

Parte 2 Operadores Aritmticos

Os operadores aritmticos so:

- Subtrao, tambm menos unrio;


+ Adio;
* Multiplicao; Precedncia
/ Diviso; ++, --
% Resto da diviso; - (unrio)
-- Decremento; * ,/, %
++ Incremento. +, -

O compilador avalia os operadores no mesmo nvel


de precedncia da esquerda para a direita.

14

www.professorferlin.blogspot.com 7
Operadores
by Prof. Edson Pedro Ferlin

Parte 3 Operadores Relacionais e Lgicos


Os operadores relacionais e lgicos so:
> Maior que;
>= Maior ou igual a;
Precedncia

< Menor que;
<= Menor ou igual a; !
== Igual a; >, >=, <, <=
!= No igual a; ==, !=
&& AND ; &&
|| OR; ||
! NOT.

As expresses que usam operadores relacionais e


lgicos retornaro 0 para Falso e 1 para
verdadeiro.

15

Operadores
by Prof. Edson Pedro Ferlin

Parte 4 Operadores de Atribuio

Os operadores de Atribuio so:

a= b=c; significa a = b; a=c;


a += b; significa a = a + b; Precedncia
a -= b; significa a = a - b; ++,--
a *= b; significa a = a * b; =, +=,-=,*=,/=
a /= b; significa a = a / b;
a=b++ significa a = b; b=b+1;
a=++b significa a = b+1; b=b+1;
a=b-- significa a = b; b=b-1;
a=--b significa a = b-1; b=b-1;

16

www.professorferlin.blogspot.com 8
Operadores
by Prof. Edson Pedro Ferlin

Parte 5 Operadores de Bit a Bit

Os operadores de Bit a Bit so:


& AND;
|| OR;
^ XOR (OR Exclusivo);
~ NOT;
>> Deslocamento de bits direita;
<< Deslocamento de bits esquerda.

Exemplo: i << 3; desloca 3 bits para a esquerda.

17

Operadores
by Prof. Edson Pedro Ferlin

Parte 6 Operador de Tamanho e Vrgula


O operador de tamanho obtido por meio do
operador sizeof(), que fornece a quantidade de
bytes de seu operando:
int x; x = sizeof (int); fornece 2 bytes
float a; x = sizeof a; fornece 4 bytes
int b; x = sizeof b; fornece 2 bytes
char c; x = sizeof c; fornece 1 byte

O operador vrgula usado para unir expresses


relacionadas. Uma lista de expresses separadas
por vrgulas tratada como uma expresso nica e
avaliada da esquerda para a direita.
if ( c = getchar() , c > 'a')

18

www.professorferlin.blogspot.com 9
Expresses
by Prof. Edson Pedro Ferlin

Parte 1 - Converso de Tipos


Quando constantes, variveis e funes de tipos
diferentes so misturados em uma expresso, elas
so convertidas para o mesmo tipo. O compilador C
converter todos para o tipo do operando maior.
Isto feito operao a operao, seguindo as regras
:

Todos os chars e short ints so convertidos para int. Todos os


floats so convertidos para doubles.

Para todos os pares de operandos, se um deles e um long


double, o outro operando convertido para um long double.
Se um double, o outro convertido para double. Se um
long, o outro convertido para long. Se um unsigned, o
outro convertido para unsigned.

19

Expresses
by Prof. Edson Pedro Ferlin

Parte 2 - Converso de Tipos - Exemplo

result = ( ch / i ) + ( f * d ) - ( f + i );

char int float double float int

int double double

double

double

20

www.professorferlin.blogspot.com 10
Expresses
by Prof. Edson Pedro Ferlin

Parte 3 - Modelador (Cast)

possvel forar uma expresso a ser de um tipo


especfico usando-se uma construo chamada de
modelador (cast).

A forma geral de um modelador :


(tipo) expresso

Se x um inteiro:
(float) x / 2 resultar em x/2 float, pois o modelador fora a operao
no tipo float.

(float) ( x / 2) resultar primeiramente x/2 calculada como inteiro,


depois o resultado da operao ser devolvido como
float.

21

Expresses
by Prof. Edson Pedro Ferlin

Parte 4 Espaamento e Parnteses

Pode-se colocar espaos numa expresso para


torn-la mais legvel.

O uso de parnteses redundantes ou adicionais no


causar erros ou diminuir a velocidade de
execuo da expresso.

a=b/9.67-56.89*x-34.7;

a = ( b / 9.67 ) - ( 56.89 * x ) - 34.7 ;

22

www.professorferlin.blogspot.com 11

Você também pode gostar