Você está na página 1de 61

Linguagem C

Aluno: Srgio Lima


Histrico
Em 1972, no laboratrio da Bell, foi projetada a
linguagem C por Dennis M. Ritchie (que, em 1973,
escreveu uma verso do sistema operacional UNIX
utilizando a linguagem C) e Brian W. Kernighan.

A linguagem C derivada da ALGOL 68 e foi baseada na


linguagem B de Ken Tompson que, por sua vez, era uma
evoluo da BCPL.

A linguagem C nasceu da necessidade de escrever


programas que utilizem os recursos internos de mquina
de uma forma mais fcil que a linguagem de montagem
Assembly.
Vantagens
A linguagem C permite aos programadores
desenvolverem programas estruturados e
modulares, e permite a reutilizao de cdigo
atravs da construo de bibliotecas.

Os programas executveis construdos em C so


rpidos e compactos; alm de serem portveis,
ou seja, podem ser transferidos de uma
plataforma de trabalho para outra, sem grandes
modificaes.
Compiladores C
Inicialmente um programa em C, pode ser
escrito em at um bloco de notas qualquer.

Mas, para executar o programa, necessrio o


compilador compatvel com a linguagem.

Um compilador uma ferramenta que


transforma um programa-fonte(alto nvel) em
um programa objeto(baixo nvel), o incluindo ao
run-time do sistema operacional.
Compilador
O compilador para linguagem C, pode ser o
Turbo C.

Pode ser adquirido esse compilador no site da


Borland.
http://community.borland.com/museum
Ou com o professor
Sintaxe
O programa em linguagem C trabalha em
estrutura modular, ou seja, aes sero inseridas
dentro de pequenos modulos. Esta linguagem
possui obrigatoriamente um modulo principal,
chamado main.

main(){
//corpo do programa
}
Sintaxe
Este modulo, o modulo que d inicio
execuo do programa, o compilador no cdigo-
fonte tal modulo, seria em pascal a palavra
reservada begin dentro do program.

Linguagem C Linguagem Pascal


main(){ program teste;
//corpo do programa Var
} //variaveis utilizadas
begin
//corpo do programa
end;
Sintaxe
A linguagem C case sensitive, ou seja, a escrita
difere o que maiusculo do que minusculo.

Exemplo:
Soma <> soma <> SOMA
Instalao do Turbo C
Aps descompactar o arquivo TC3.zip, ser
criada uma pasta contendo todos os arquivos do
programa.
Para iniciar a instalao execute o arquivo
Install.exe
Instalao do Turbo C
Tela de Apresentao.
Instalao do Turbo C
Pergunta: Qual o drive de origem do instalador?
Instalao do Turbo C
Pergunta: Qual o diretrio de destino do
instalador?
Instalao do Turbo C
Informativo: O diretrio de destino e o que vai
ser instalado. Iniciar instalao
Instalao de Turbo C
Aps a instalao, um informativo. Pressione ENTER, e
ir aparecer um leia-me, pressione ESC e feche.
Utilizando pela primeira vez
Para utilizar o turbo C, acesse o diretrio
C:\TC\BIN e copie o arquivo TC.EXE, arquivo
executvel do turbo C, para o desktop como
atalho.
Execute o arquivo
Tela Principal
Manipulao de Arquivo
Menu File
Open... Opo para abrir arquivo existente.
New Criar um arquivo novo, sem nome.
Save Opo de salvar o arquivo
Save as Salvar uma cpia de um arquivo
Print Imprimi o cdigo-fonte
DOS Shell mostra a tela do DOS
Quit - Sair
Edio
Menu Edit
Copy Copiar o texto selecionado
Cut Recortar o texto selecionado
Paste Colar o texto copiado ou recortado
Undo Desfazer
Redo Refazer
Clear Apaga o texto selecionado
Localizar
Menu Search
Find Procurar um texto no arquivo
Replace Procura um texto e o substitui
Searche again procurar novamente
Go to line number vai para linha indicada pelo
nmero
Previous error Erro anterior
Next error Prximo erro
Executar
Run Executar o programa
Program reset para a execuo do programa
Go to cursor executa o programa at a posio
do cursor.
Trace into executa o programa passo por passo
de forma mais detalhada.
Set over executa o programa passo por passo.
Arguments valores passados para o programa
para executar.
Compilar
Compile Compilador o programa (transforma
o cdigo-fonte para linguagem do computador).
Make Compila o programa que no est
atualizado e cria o executvel.
Build All cria o executvel de um projeto
compilando todos os arquivos de um projeto.
Link Verifica a conexo do programa com as
bibliotecas.
Information contm informaes sobre o seu
programa.
Opes
Directories Diretrio da localizao da
instalao do Turbo C (bibliotecas e local onde
ser criados os arquivos de sada para executar)
Ajuda
Index permite que voc encontre determinada
funo, dando como entrada o nome da funo.
Primeiro Programa
Em qualquer linguagem de programao, existe
um exemplo genrico como exemplo, conhecido
como Hello World. Trata-se de um programa
capaz de mostrar na tela uma pequena frase.
Anlise do primeiro Programa
No primeiro pargrafo temos um comentrio de
mltiplas linhas.

Comentrios no influenciam na execuo do


programa, porm todo comentrio de mltiplas
linhas deve ser iniciado com os smbolos /* e
encerrados com os smbolos */
Anlise do primeiro Programa

Esta linha faz com que seja incluida em nosso


programa uma biblioteca, mas especificamente,
a biblioteca stdio que possui a extenso .h.

Esta biblioteca stdio, possui a funo que


permite imprimir uma mensagem na tela
(printf).
Anlise do primeiro Programa
Em seguida a criao do mtodo principal,
chamado main.

Os parenteses so utilizados para passagem de


parmetros. Obs.: ainda no utilizados por ns.
Dentro deste mtodo, estar todas as variveis
locais e implementaes do algoritmo.
Anlise do primeiro Programa
No mtodo main foi utilizado dois simbolos
para delimitar o bloco de aes.
{ representa o inicio das aes
} representa o fim das aes deste mtodo.
Anlise do primeiro Programa
Nesta linha de comando, temos um comentrio
de uma nica linha. Para este tipo, temos que
iniciar duas barras.

Vale observar, que este tipo ir comentar a linha


completa.
Anlise do primeiro Programa
Nesta linha, temos um exemplo de uma funo como
comando de sada, que esta imprimindo na tela a frase
Hello World!.

Vale observar, que esta frase esta delimitado por aspas.

Tanto o comentrio quanto o comando de sada,


apresentam-se dentro do bloco de aes do modulo
main.
Anlise do primeiro Programa
Resultado do Algoritmo anterior.
Exerccios
Qual a funo que deve estar presente em todos os programas em C?

Como devem terminar todas as instrues em C?

Como delimitado um bloco de aes em C?

A funo printf parte integrante da linguagem C?

Para que serve a linha #include <stdio.h> em um programa?

A extenso .h indica que o arquivo correspondente ..?

Qual o significado de stdio?


Programa de Computador
Um programa passa por trs nveis:

Entrada de Dados;

Processamento (transformao) dos dados em


informao;

Sada de informaes.
Tipos de Dados
Os dados so processados por um computador, a
fim de transformarem em informao.

O tipos de dados bsicos por um computador


so: numricos(inteiros ou reais), caracteres e
lgicos.
Tipos de dados Inteiros
qualquer nmero que no seja fracionrio.
Para referencia-los utiliza-se um dos seguintes
identificadores:
Tipo de dado inteiro Faixa de abrangncia
Int De -32.768 a 32.767
Long int De -2.147.483.648 a 2.147.483.647
Unsigned int De 0 at 65.535
Unsigned long int De 0 at 4.292.967.295
Tipos de Dados Reais

Suporta nmeros fracionrios e tambm


inteiros, podem ser positivos ou negativos.
Para referencia-los utiliza-se um dos seguintes
identificadores:

Tipo de dado real Faixa de abrangncia


Float De 3.4 e-38 at 3.4 e+38
Double De 1.7 e-308 at 1.7 e+308
Long double De 3.4 e-4932 at 1.1 e+4932
Tipos de Dados Caracter
Representa um valor alfanmerico, ou seja, de a
at z, de 0 at 9 ou caracteres especiais.

Tipo de dado Caracter Representao


Char Um nico caracter
Tipos de Dados Lgicos

Em Linguagem C, no existe especificamente


verdadeiro ou falso.

A representao para Falso simbolizado por


valor inteiro 0 (zero), para valor verdadeiro
qualquer nmero inteiro diferente de 0 (zero),
porm normalmente o 1 (um).
Tipos de Dados

Fonte: Help do turbo C


Variveis
Uma varivel, um espao na memria do
computador previamente identificada por um
nome.

Tem finalidade de armazenar os dados por um


determinado espao de tempo.

Uma varivel pode ser de qualquer tipo de dado.

Pode ser declarada em qualquer parte do


programa.
Identificadores
O nome utilizado para identificar a varivel, deve
obedecer algumas regras de formao:

Nomes de variveis podem ser atribudos com um ou mais


caracteres;

obrigatrio iniciar com uma letra;

No pode ter espaos em branco. Pode ser utilizado o underline


(_);

Utiliza-se no mximo 32 caracteres.

Vale lembrar que a linguagem C case sensitive, ou seja,


identificadores com letras maiusculas so diferentes
daqueles com letra minusculas.
Declarao de Variveis
Declarao de Variveis
Para declarar uma varivel na linguagem C, precisa-se definir
qual ser o tipo e o identificador;
Caso 1 - int idade;
Caso 2 - float saldo;
Caso 3 - char sexo;
Caso4 - float altura, peso;

Caso 1: A varivel idade representada na memria


como um valor do tipo inteiro.
Caso 2: saldo representado por um real (float: ponto
flutuante)
Caso 3: sexo representado por um caracter.
Caso 4: altura e peso duas variveis sendo declaradas
com um mesmo tipo (float).
Declarao de variveis
As variveis em linguagem C podem ser
declaradas, em qualquer parte do algoritmo,
considerando que esteja sendo declarada antes
de utiliz-la.
#include <stdio.h>

main(){
printf(Informe sua idade: );
int i;
scanf(%d,&i);
}
Exerccios
Crie as declaraes de variveis para
representar:
O sexo de uma pessoa;
A idade de uma pessoa;
O peso de um animal;
O saldo de uma conta;
As operaes bsicas de uma calculadora.
Comando de Atribuio
Permite atribuir um valor em uma nica varivel
por vez, ou seja, utilizaremos o comando de
atribuio, para lanar para dentro de uma
varivel um valor qualquer que seja derivado de
uma outra varivel, ou uma constante, ou at
mesmo o resultado de uma expresso.
O comando de atribuio em linguagem C,
simbolizado por um smbolo de igualdade =.
Comando de Atribuio
Todos os comando em linguagem C, terminaram
com pont-vrgula ;
Sempre o valor da direita ser atribuido a
varivel que se encontra esquerda do
comando.
Exemplo:
x = 5;
y = x;
soma = x + y;
Operadores aritmticos
Tanto variveis como constantes podem ser
utilizadas na elaborao de clculos matemticos

Tais clculos utilizam os operadores aritmticos.

Existem operadores binrios e unrios.


Operadores Aritmticos
Operador Operao Tipo Tipo de Dados

- Inverso de Sinal Unrio Inteiro ou Real

+ Adio Binrio Inteiro ou Real

- Subtrao Binrio Inteiro ou Real

* Multiplicao Binrio Inteiro ou Real

/ Diviso Binrio Inteiro ou Real

% Resto de Diviso Binrio Inteiro

Pow(base,expoente) Potncia funo Inteiro ou Real

Sqrt(valor) Radiciao funo Inteiro ou Real


Incremento
Em alguns casos, faz-se necessrio realizar
incremento em uma varivel.
Em uma linguagem comum de programao,
para realizar um incremento unitrio por
exemplo, devemos realizar a seguinte sintaxe:
X = X+1;
Utilizando a linguagem C, podemos utilizar um
operador especial, que obedece a seguinte
sintaxe:
X++;
Decremento
Para realizar um decremento, normalmente
temos criar uma sintaxe, que com o valor atual
seja subtraido um e em seguida atribuido
novamente varivel.
Ex.: X = X 1;
Em linguagem C, pode-se utilizar um operador
especifico na seguinte sintaxe:
Ex.: X --;
Expresses Aritmticas
Sempre no nosso dia a dia necessidade de
resolver alguma expresso aritmtica.

Na computao sempre h essa necessidade.

Por exemplo para encontrar a rea de um


crculo. Teramos que ela igual a Pi vezes o raio
ao quadrado (rea = *raio2). Em linguagem C,
temos: area = 3.14159 * (raio * raio)
Expresses Aritmticas
Para resolver uma expresso aritmtica deve-
se seguir as prioridades de resoluo.
1. Parnteses
2. Exponenciao e Radiciao
3. Diviso, Multiplicao e Resto da diviso
4. Adio e Subtrao
Comandos de Sada
Comando para escrever (imprimir) informaes.

Funo responsvel para imprimir as


informaes chama-se printf().

Esta funo encontra-se na biblioteca stdio

Esta funo possui argumentos:


Printf(char formato,argumentos);
Incluso de Biblioteca
Para incluir bibliotecas no seu algoritmo.
Deve-se utilizar a clausula #include <...>
Deve ser informado fora e antes da funo
main().
Comandos de Sada
Diretivas:
%c Permite escrita de um caractere.
%d Permite escrita de nmeros inteiros.
%e permite escrita de nmeros em notao cientfica.
%f permite escrita de nmeros reais.
%i permite escrita de nmeros inteiros.
%I permite escrita de nmeros long int
%o permite escrita de nmeros octais.
%s permite escrita de uma srie de caracteres.
%u permite escrita de nmero decimal sem sinal.
%x permite escrita de um nmero hexadecimal.
Comandos de Sada
Exemplo:
printf (50 em octal %o,50); 50 em octal 62
printf(%d,50); 50
printf(%f,3.14159); 3.14159
printf(%0.2f,3.14159); 3.14
(Obs.: formatado para 2 casas decimais)
printf(%x,200); c8
printf(%c,A); A
printf(%s,Frase de teste); Frase de teste
printf(%d,A); 65
printf(%c,65); A
printf(%d+%d = %d,5,6,5+6);
Comando de Sada
\n Pula a linha e posiciona o cursor no inicio
da mesma.
\t Insere um TAB
\ Insere uma Aspa ()
\b Retrocede um cursor a posio anterior.
Comandos de Entrada
Possibilita efetuar entrada de dados via teclado.

Usa a biblioteca stdio.h


Para incluir use: #include <stdio.h>

Scanf(), funo responsvel por realizar entrada


de dados.
scanf(char formato,argumentos)

Argumentos endereo de uma varivel (&).


Comandos de Entrada
Diretivas:
%c Permite leitura de um caractere.
%d Permite leitura de inteiros.
%e Permite leitura de nmeros em notao cientfica.
%f permite leitura de nmeros reais.
%i permite leitura de nmeros inteiros.
%I permite leitura de nmero inteiro longo.
%o permite leitura de nmeros octais.
%s permite leitura de uma srie de caracteres.
%u permite leitura de um nmero decimal.
%x permite leitura de um nmero hexadecimal.
Comandos de Entrada
Exemplo:
int x;
scanf(%d,&x);

char c;
scanf(%c,&c);

float valor
scanf(%f,&valor);
Outros Comandos de Entrada
Getch() requer do usurio uma tecla qualquer
e retorna um nmero inteiro.
No mostra na tela a tecla pressionada.
Usa a biblioteca conio.h
Getche() requer do usurio uma tecla qualquer
e retorna um nmero inteiro.
Mostra na tela a tecla pressionada.
Usa a biblioteca conio.h