Você está na página 1de 25

Em C, expresso e uma combinao de variveis, operadores e constantes que pode ser avaliada computacionalmente, resultando em um valor; Constantes; Variveis;

Operadores; Entrada e sada bsicas;

So valores que no mudam no decorrer da execuo do programa; Exemplo:

a= b+123;
123 e uma constante;

Pode-se declarar uma constante no copilador;

#DEFINE PI 3,14159265

E o espao reservado para um valor; Possuem obrigatoriamente tipo e nome;


O nome da varivel no pode: conter espaos, comear com um numero, utilizar { ( + - * / ; . , ? A varivel pode ser de 4 tipos int, char, float, double;
Existem alguns operadores sobre esses tipos. Unsigned,

short e long so os mais usados;

Exemplos:

int a; int b; float c; a=5; b=10; c=5.3; int a, b; int a=5, b=10; float c=5.3;

Se o valor de uma varivel ainda no foi definido, dizemos que essa varivel contem lixo;

int a, b, c; a=2; c=a+b; // b contem lixo

O C no da erro quando utilizamos variveis sem valor definido no programa,

Operadores aritmticos so avaliados da esquerda para a direita Podem ser unrios ou binrios
Operadores unrios vem antes do operando; Operadores binrios vem entre seus operandos;

Operadores podem ser:


Aritmtico; Atribuio; Incremento e decremento; Relacionais e lgicos;

Os operadores aritmticos binrios so: adio (+), subtrao (-), multiplicao (*), diviso (/) e o operador modulo(%). E o operador menos unrio (-);

ATENO: Na diviso pode ocorrer mudana no tipo do resultado; O operador modulo s funciona com variveis do tipo int, e retorna o resto da diviso do primeiro pelo segundo;

Em C uma a atribuio e uma expresso que o valor atribudo corresponde ao valor da expresso;

Ex: x=y=4;
A ordem de avaliao e da direita para a esquerda

Existem os operadores de atribuio compostos, eles seguem a forma (op)=;


Ex: a+=5 ;// equivalente a a=a+5 x*= y*2;//equivalente a x=x*(y*2)

Os operadores de incremento (++) e decremento(--), adicionam ou retiram uma unidade do valor de seu operando; A diferena e que eles podem ser colocados antes ou depois da varivel

Se for colocado antes, incrementa-se a varivel antes de se analisar a expresso. Ex: x=++n; x agora armazena 6 e n armazena 6

Se for colocado depois primeiro se avalia a expresso e depois se incrementa. Ex: Se n armazena 5, ento: x=n++; x armazena 5 e n armazena 6; Ex2: a=3; b=a++*2; A varivel a agora armazena 4 e b armazena 6;

A linguagem C possui os seguintes operadores lgicos: menor que(<),maior que (>), menor ou igual que (<=), maior ou igual que (>=), igual a (==), diferente de (!=); Eles comparam dois valores e retornam 1 ou 0, para verdadeiro e falso respectivamente;

Os operadores lgicos so:

Operador binrio E (AND) (&&); Operador binrio OU (OR) (||); Operador unrio de NEGAAO (NOT) (!);

Eles servem para combinar operaes booleanas;

Ex: int a, b; int c=23; int d = c +4; a=(c<20)||(d>c);//verdadeiro b=(c<20)&&(d>c);//falso

O operador sizeof resulta no numero de bytes de um determinado tipo: Ex: int a = sizeof(float); A varivel a armazena 4 que o numero de bytes que o tipo float ocupa.

O bsico de entrada e sada em C e realizada por duas funes: printf e scanf; Ambas esto na biblioteca stdio.h; Deve-se acrescentar a seguinte linha no comeo do cdigo fonte: #include <stdio.h>

A funo printf permite a sada de valores para o monitor; Ela segue o modelo:

printf(formato, lista de constantes/variveis/expresses...);

Existe um especificador de formato para cada valor que se deseja imprimir:

A tambm e possvel definir o tamanho dos campos:

Existem alguns caracteres que no so impressos e deve se utilizar um formato para eles:

A funo scanf captura valores fornecidos pelo teclado e armazena em uma varivel; Tem o seguinte formato:

scanf(formato,lista de endereo das variaveis);

Se passa o endereo de uma varivel colocando o operador unario &; Utiliza a mesma tabela de formato que o printf, com o acrscimo de %s que captura Strings;

Para mltiplas entradas pode se definir um separador padro no formato;

Ex: scanf(%d:%d,&h,&m);
Os valores inteiros tem de ser separados por :

/*Programa para converter altura em metros para ft e pol*/ #include <stdio.h> int main(void){ int f; float p ,h; printf(Digite a altura em metros); scanf(%f,&h); h=100*h; f=(int) (h/30.48); p=(h-f*30.48)/2.54; printf(Altura: %dft %.1dpol\n,f,p); return 0; }