Você está na página 1de 7

12/03/2011

Linguagem C
Origem de C est associada ao sistema Unix Histrico:

Introduo Programao C
Introduo Cincia da Computao I
Prof. Denis F. Wolf

1970: Ken Thompson desenvolve B, baseada em BCPL, para o primeiro Unix no DEC PDP-7 1972: Dennis Ritchie projeta a linguagem C, baseada na linguagem B. 1988: o American National Standard Institute (ANSI) define o padro ANSI C

considerada uma linguagem de nvel mdio case sensitive, ou seja, interpreta como diferentes letras maisculas de minsculas
2

Variveis
Como armazenar os dados de entrada, fornecidos pelo usurio? O que fazer com os resultados das operaes? Variveis so elementos que esto associados a posies de memria, cujo objetivo o armazenamento informaes. ...por tempo suficiente ao seu processamento

Programao em C

VARIVEIS E TIPOS DE DADOS

Identificadores
Nome que fazem referncia a elementos tais como as variveis Regras para a definio de identificadores:
Na formao do identificador s podem ser utilizados: dgitos, letras (tanto maisculas quanto minsculas) e o caractere de sublinha ( _ ) O identificador deve comear sempre com uma letra ou caractere de sublinha

Identificadores
Em C, h diferena entre maisculo e minsculo
Exemplo: Nome nome NOME

Apenas os 31 primeiros caracteres so considerados

No pode ser empregar qualquer uma das palavras reservadas linguagem C como identificadores

12/03/2011

Palavras-chave de C (ANSI)
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typeof union unsigned void volatile while

Variveis
Exemplos de nomes de variveis: Corretos Contador Teste23 Alto_Paraiso __sizeint
7

Incorretos 1contador oi!gente Alto..Paraso _size-int


8

Tipos de Dados
O tipo de uma varivel define os valores que ela pode assumir e as operaes que podem ser realizadas com ela Descreve a natureza da informao Ex:
variveis tipo int recebem apenas valores inteiros variveis tipo float armazenam apenas valores reais
9

Tipos de dados bsicos em C


char: um byte que armazena o cdigo de um caractere do conjunto de caracteres local int: um inteiro cujo tamanho depende do processador, tipicamente 16 ou 32 bits float: um nmero real com preciso simples double: um nmero real com preciso dupla
10

Modificadores de Tipos
Os modificadores alteram algumas caractersticas dos tipos bsicos para adequ-los a necessidades especficas Modificadores:
signed: indica nmero com sinal (inteiros e caracteres) unsigned: nmero apenas positivo (inteiros e caracteres) long: aumenta abrangncia (inteiros e reais) short: reduz a abrangncia (inteiros)

Abrangncia de dados: 16 bits


Tipo Tamanho Abrangncia (bytes)
1 1 2 2 2 4 4 4 8 10 -128 0 -32768 0 -32768 -2.147.483.648 0 3,410 -38 1,710 -308 3,410 -4932 a a a a a a a a a a 127 255 32767 65535 32767 2.147.483.647 4.294.967.295 3,410 38 1,710 308 3,410 4932

char unsigned char int unsigned int short int long int unsigned long int float double long double

11

12

12/03/2011

Abrangncia de dados: 32 bits


Tipo Tamanho (bytes)
1 1 4 4 2 4 4 4 8 10

Declarao de variveis
A declarao de uma varivel segue o modelo:
TIPO_VARIVEL lista_de_variaveis;

Abrangncia
-128 0 -2.147.483.648 0 -32768 -2.147.483.648 0 3,410 1,710 3,410
-38 -308 -4932

char unsigned char int unsigned int short int long int unsigned long int float double long double

a a a a a a a

127 255 2.147.483.647 4.294.967.295 32767 2.147.483.647 4.294.967.295


38 308 4932

Ex:
int x, y, z; float f; unsigned int u; long double df; char c = A; /* variavel definida e iniciada */ char s[ ] = vetor de caracteres;

a 3,410 a 1,710 a 3,410

13

14

Operadores
Correspondem a smbolos simples ou combinados que representam operaes de natureza: aritmtica, relacional ou lgica.
Programao em C

OPERADORES

Podem ser classificados tambm quanto a quantidade de elementos sob os quais incidem, i.e., unrios, binrios ou ternrios

Op. Aritmticos
Representam as operaes aritmticas bsicas
Operao Adio Subtrao Multiplicao Diviso Resto Incremento Decremento Operador

Op. Relacionais
Estabelecem relaes/comparaes
Operao Igualdade Diferena Maior Maior ou igual Menor Menor ou igual Operador

+ * / % ++ --

== != > >= < <=

12/03/2011

Op. Lgicos
Representam as operaes bsica dada na lgica matemtica
Operao Negao Conjuno Disjuno Operador

Op. de Atribuio (de varivel)


Forma geral: variavel = expresso ou constante Armazena o contedo dado a direita no elemento dado esquerda Mltiplas atribuies
C permite a atribuio de mais de uma varivel em um mesmo comando:

! && ||

x = y = z = 0;
20

Expresses
Expresses so compostas por:
Operandos: a, b, x, Meu_dado, 2, ... Operadores: +, -, %, ... Pontuao: ( ) Funes: sin(), abs(), sqrt(), ...

Expresses
Expresses retornam um valor:
x = 5 + 4 /* retorna 9 */
esta expresso atribui 9 a x e retorna 9 como resultado da expresso

Ex:
X 14 x+y (x + y)*z + w v ( -b + sqrt(delta) ) / 2*a
21

((x = 5 + 4) == 9) /* retorna verdade = 1 */


na expresso acima, alm de atribuir 9 a x, o valor retornado utilizado em uma comparao

22

Expresses
a ordem em que uma expresso avaliada depende da prioridade dos operadores e da pontuao expresses podem aparecer em diversos pontos de um programa
comandos parmetros de funes condies de teste /* x = y; */ /* sqrt(x + y); */ /* if (x == y) */

Converso de Tipos
Quando uma varivel de um tipo atribuda a uma de outro tipo, o compilador automaticamente converte o tipo da varivel a direita de = para o tipo da varivel a esquerda de = Ex:
int i; char ch; float f; ch = i; /* ch recebe 8 bits menos significativos de x */ i = f; /* x recebe parte inteira de f */ f = ch; /* f recebe valor 8 bits convertido para real */ f = i; /* idem para inteiro i */
23 24

12/03/2011

Programao em C
Todo programa, escrito na linguagem C, deve apresentar uma funo principal chamada main, que define todo o corpo do programa Exemplo:
Programao em C

ESTRUTURA BSICA

int main() { /* corpo do programa */ }

Comandos de Sada
Empregados para que o sistema fornea, em um dispositivo de sada, as mensagens e resultados de seu processamento. O dispositivo padro de sada o monitor. A linguagem C oferece alguns comandos de sada, mas o que apresenta propsito mais geral o printf.

Comando PRINTF()
Sintaxe: printf(Mensagem, lista de variveis); Funcionamento:
O comando escreve a mensagem dada no dispositivo padro de sada, realizando a substituio das mscaras de formatao encontradas pelas respectivas variveis dadas na lista subseqente a mensagem. O dispositivo padro dado pela varivel stdout

Mscaras de formatao
Smbolo de por cento seguido de uma letra: %c %d %u %f %e %x %s Caractere Inteiros com sinal Inteiros sem sinal Nmeros reais Notao cientfica Nmeros em hexadecimal Cadeia de caracteres (strings)
29

Exemplo
Sada formatada printf(). Ex:
O trecho abaixo: int i = 10; float r = 3.1514; char s[] = Blablabla; /* cadeia de caracteres */ printf(Inteiro: %d, Real: %f, String: %s,i,r,s); Produz: Inteiro: 10, Real: 3.151400, String: Blablabla

30

12/03/2011

Constantes do Tipo Char


Barra invertida seguido de um caractere: \a \b \n \r \t \ \ \\ bip backspace nova linha return tabulao horizontal apstrofe aspas barra invertida
31

Comandos de entrada
Utilizado para receber dados fornecidos pelo usurio (dados de entrada) e armazen-los na memria principal (em variveis) Os dados so fornecidos ao sistema por meio de um dispositivo de entrada, cuja configurao dada como padro o teclado. A linguagem C oferece vrios comandos de entrada, cada qual mais indicado para uma situao em particular. O principal comando de entrada o scanf

Comando SCANF()
Sintaxe: scanf(formato, &varivel); Funcionamento:
O comando coleta as informaes dadas no dispositivo padro de entrada, interpretando as informaes segundo a mscara de formatao e armazenando na(s) respectiva(s) varivel(is) dada(s) subseqentemente ao formato. O dispositivo padro dado pela varivel stdin Ex:

Exemplo
Entrada formatada scanf().
int i; float r; char str[10]; scanf(%d,&i); scanf(%f,&r); scanf(%s,&str); Ou ainda: int dia, mes, ano; scanf(%d/%d/%d, &dia, &mes, &ano);

34

Programa C
#include <stdio.h> #include <math.h> int main(){ int num1, num2, media; printf(Digite 2 numeros: ); scanf("%d %d",&num1, &num2); media=(num1+num2)/2; printf(\nMedia: %d, media); getch(); return 0; }

Programao em C

UM EXEMPLO COMPLETO

12/03/2011

Exerccios
1) Faa um programa que converta uma medida de temperatura dada em Celsius (C) para Fahrenheit (F).

9 F = C + 32 5

2) Dado o raio de um crculo, calcular seu permetro e sua rea.


37

Você também pode gostar