Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
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)
char unsigned char int unsigned int short int long int unsigned long int float double long double
11
12
12/03/2011
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
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;
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
! && ||
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
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
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
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