You are on page 1of 37

TCNICAS DE PROGRAMAO 1 INTRODUO LING C

2013.1

Prof Geiza Maria Hamazaki da Silva

Resumo

Para implementar algoritmos em uma linguagem de programao importante conhecer o conceitos bsicos dos ambientes de programao. Para o teste do ambiente a ser utilizado no curso apresentado o Primeiro programa na linguagem C.

Compilao de programas
Ao escrever um programa realizado a codificao de uma sequncia de operaes para serem executadas pelo computador. Algoritmo: Programa Linguagem C

variveis a,b,c: inteiro; incio leia(a,b); c a+b; imprima(c); fim.

int a,b,c; scanf(%d %d,&a,&b); c= a+b; printf(%d, c);

Compilao de programas

Um programa escrito em C no pode ser diretamente executado, pois os computadores s executam programas em sua linguagem de mquina (Assembly) - especfica de cada modelo (ou famlia de modelos) de computador.

int a,b,c; scanf(%d d&a,&b); c= a+b; printf(%d, c);

No entendo essas instrues!!

http://3.bp.blogspot.com/_eU2zBBNQzO4/TP7N1jQzx9I/AAAAAAAAAX4/W1NHUpJj0 A0/s1600/La+tristeza+del+computador.jpg

Compilao de programas

A linguagem de Mquina ser referenciada neste conjunto de slides como M.


Agora sim!! Eu entendo a Linguagem M!

int a,b,c; scanf(%d d&a,&b); c= a+b; printf(%d, c); int, 7h AXBX, AX int, 4h AXCX, AX SOMA:sub CX add BX jz SOMA AX, BX out

Compilao

Compilao de programas

C uma linguagem compilada


o

que significa que um programa escrito em C (referenciada como Pc) s pode ser executado se antes for traduzido para a linguagem de mquina (M) correspondente ao modelo do computador a ser utilizado.

A esse processo damos o nome de compilao.

Compilao de programas

O termo mquina intencionalmente vago. Computadores idnticos com sistemas operacionais diferentes devem ser considerados mquinas, ou plataformas diferentes. Um programa em C compilado em um PC com Windows no pode ser executado em um PC com linux e vice-versa para cada mquina devemos repetir o processo de compilao.

Compilao de programas

Um compilador (Cm) - escrito em M, realiza os seguintes passos: 1-l o programa Pc - escrito em C; 2- traduz cada uma de suas instrues para M, escrevendo um programa-objeto Pm. O programa-objeto conhecido tambm como cdigo-objeto ou cdigo binrio ou cdigo de mquina.
Pc programa fonte Cm compilador Pm programa objeto

Processo de Compilao

Compilao de programas

Desta forma a construo de um programa que usa a linguagem C envolve duas fases independentes:
compilao

e execuo

conforme ilustra a figura abaixo:


Processo de Compilao
Pc programa fonte Processo de Execuo dados de entrada Pm programa objeto sada Cm compilador Pm programa objeto

Compilao de programas

Relao entre o processo de Compilao e Execuo: Processo de


Execuo

dados de entrada

Processo de Compilao Pc programa fonte Cm compilador Pm programa objeto

sada

Compilao de programas
Processo de Execuo Processo de Compilao Pc programa fonte Cm compilador Pm programa objeto dados de entrada

Na prtica, o programa fonte e o programa objeto so armazenados em arquivos em memria Secundria, aos quais nos referimos como arquivo fonte e arquivo objeto.

sada

Desenvolvendo programas em C

Para desenvolver programas em C necessrio, no mnimo, um editor e um compilador:


O

editor de texto utilizado para escrever os programas fontes, que so salvos em arquivos.
Pode-se

utilizar qualquer editor de texto para escrever os programas-fontes, exceto editores que incluem caracteres de formatao (como o Word do Windows, por exemplo); e

compilador transformam os programas fontes em programas objetos (linguagem de mquina) serem executados.

Desenvolvendo programas em C
os

programas fontes so, em geral, armazenados em arquivos cujo nome tem a extenso .c os programas executveis possuem extenses que variam com o sistema operacional
no

Windows, tm extenso .exe no Unix (Linux), em geral, no tm extenso.

Ambiente de programao

Para execuo dos trabalhos, ser necessrio obter um compilador C


Os

alunos podem usar qualquer compilador C que siga o padro ANSI. Entretanto, o compilador de referncia do nosso curso do Visual C++.

Estilo de programao

Adquire-se um bom estilo de programao apenas com a prtica. Recomendao


Sempre

escrever um programa que seja de fcil compreenso para outras pessoas

No existe frmula mgica que garanta programas legveis. Porm, existem diversas boas prticas de programao a serem seguidas.

Primeiro programa C

Considerando um exemplo simples que imprime uma linha de texto O par de caracteres /*, indicando um
/* primeiro programa */ #include <stdio.h> comentrio, que termina com o prximo par de caracteres */

1. 2.

3.
4. 5. 6.

/* a funcao main inicia o programa */


int main(){ printf(Bem-vindo ao Curso de TP-1!\n"); /* indica que o programa terminou com sucesso */

7.
8.

return 0;
}

Primeiro programa C
Comentrio:

/* primeiro programa */
Programadores

inserem comentrios para documentar programas e tambm para ajudar as pessoas a ler e a entender programas. Os comentrios so ignorados pelo computador durante a execuo do programa.

Primeiro programa C

Considerando um exemplo simples que imprime uma linha de texto


/* primeiro programa */ #include <stdio.h> Diretiva de Pr-processamento

1. 2.

3.
4. 5. 6.

/* a funcao main inicia o programa */


int main(){ printf(Bem-vindo ao Curso de TP-1!\n"); /* indica que o programa terminou com sucesso */

7.
8.

return 0;
}

Primeiro programa C

linha 2
#include <stdio.h>

uma diretiva de pr-processamento, que uma mensagem para o pr-processador C. As linhas que iniciam com # so processadas pelo pr-processador antes de o programa ser compilado. Essa linha instrui o pr-processador a incluir no programa o contedo do arquivo de cabealho de biblioteca de entrada/sada stdio.h, este arquivo deve ser includo em qualquer programa que realize sada de dados na tela ou a entrada de dados a partir do teclado.

Primeiro programa C

Erro comum de programao 1:


Esquecer

de incluir o arquivo de cabealho. Neste caso o compilador emite uma mensagem de erro, no exemplo apresentado o compilador no reconhecer a funo printf.

Primeiro programa C

Considerando um exemplo simples que imprime uma linha de texto


/* primeiro programa */ #include <stdio.h> Linha em branco

1. 2.

3.
4. 5. 6.

/* a funcao main inicia o programa */


int main(){ printf(Bem-vindo ao Curso de TP-1!\n"); /* indica que o programa terminou com sucesso */

7.
8.

return 0;
}

Primeiro programa C

Utilize linhas em branco e caracteres de espao em branco para aprimorar a legibilidade do programa.

Primeiro programa C

Considerando um exemplo simples que imprime uma linha de texto


/* primeiro programa */ #include <stdio.h>

1. 2.

3.
4. 5. 6.

/* a funcao main inicia o programa */


int main(){

Funo PrincipalMarca o incio do cdigo a ser compilado.

printf(Bem-vindo ao Curso de TP-1!\n"); /* indica que o programa terminou com sucesso */

7.
8.

return 0;
}

Primeiro programa C
int main()

A main uma funo caracterizada pelos parnteses depois da palavra main. Um programa em C, em geral, constitudo de diversas pequenas funes que so independentes entre si. Funes so blocos de cdigos que realizam um processamento especfico. Por exemplo a funo printf imprime a informao entre os parnteses na tela.

Primeiro programa C

Em C no permitido definir uma uma funo dentro de outra. Pode-se apenas realizar chamadas a uma funo dentro da outra. Um programa em C tem que, obrigatoriamente, conter a funo principal main.

Primeiro programa C

A execuo de um programa comea pela funo principal.


a

funo main automaticamente chamada quando o programa carregado para a memria principal, mesmo se main no for a primeira funo no cdigo do programa.

A palavra-chave int esquerda de main indica que main retorna um valor do tipo inteiro . A chave esquerda { deve comear o corpo da funo e a chave direita } correspondente deve terminar o corpo da funo.

Primeiro programa C

Considerando um exemplo simples que imprime uma linha de texto


/* primeiro programa */ #include <stdio.h>

1. 2.

3.
4. 5. 6.

/* a funcao main inicia o programa */


int main(){ printf(Bem-vindo ao Curso de TP-1!\n"); /* indica que o programa terminou com sucesso */

7.
8.

return 0;
}

Primeiro programa C

As funes auxiliares so chamadas, direta ou indiretamente, a partir da funo principal

linha 5
printf()

printf uma funo da biblioteca padro do C, que possibilita a sada de valores segundo um determinado formato. Para usar a funo printf() inclumos o arquivo de cabealho stdio.h

Primeiro programa C
Bem-vindo ao Curso de TP-1!\n

Uma cadeia de caracteres (ou string) em C uma srie de caracteres entre aspas duplas

os caracteres de espao em branco em cadeia de caracteres no so ignorados pelo computador. a barra invertida (\) chamada de caractere de escape, ela indica que um caractere especial deve ser impresso. Neste exemplo o \n indica que o cursor deve se mover para o comeo da prxima linha na tela.

Primeiro programa C

Quando uma barra invertida encontrada em uma cadeia de caracteres

o prximo caractere combinado com a barra invertida para formar um caractere de escape (um nico caractere) o caractere de escape \n significa nova linha, este um caractere no imprimvel.

Primeiro programa C

Alm do caractere de nova linha, existem alguns outros caracteres de escape que so frequentemente utilizados nos formatos de sada
\n nova linha: posiciona o cursor de tela no incio da prxima linha \t tabulao: move o cursor de tela para a prxima parada de tabulao \r retorno de carro (retrocesso): posiciona o cursor de tela no incio da linha atual, no avana para a prxima linha \a alerta: aciona o aviso sonoro do sistema \ aspas simples: imprime um caractere de aspas simples

\ aspas duplas: imprime um caractere de aspas duplas


\\ barra invertida: imprime um caractere de barra invertida \

Primeiro programa C
printf(Bem-vindo ao Curso de TP-1!\n");

Este um comando

Todos os comandos e todas as declaraes em C so terminados pelo caractere ponto-e-vrgula (;) cuidado! as diretivas de pr-processamento (como #include, por exemplo) no terminam com um ponto-e-vrgula. a funo printf chamada, ou invocada, fazendo com que a cadeia de caracteres passada com argumento seja impressa na tela.

Primeiro programa C

Considerando um exemplo simples que imprime uma linha de texto


/* primeiro programa */ #include <stdio.h>

1. 2.

3.
4. 5. 6.

/* a funcao main inicia o programa */


int main(){ printf(Bem-vindo ao Curso de TP-1!\n"); /* indica que o programa terminou com sucesso */

7.
8.

return 0;
}

Sada da funo

Primeiro programa C
linha

return 0;
uma das vrias maneiras utilizada para sair de uma funo. Quando o comando return utilizado no fim de main o valor zero indica que o programa terminou com sucesso. A chave direita } indica o fim da funo main.

Nas prximas aulas ser discutido as funes em detalhes e as razes de se incluir esta linha se tornaro claras. Por enquanto simplesmente inclua este comando em cada programa.

Primeiro programa C

Erro comum de programao 2


Omitir

o ponto-e-vrgula no final de uma instruo.

Erro de sintaxe
A

sintaxe de uma linguagem de programao especifica as regras da criao de um programa adequado nessa linguagem. Um erro de sintaxe ocorre quando o compilador encontra um cdigo que viola as regras da linguagem. O compilador normalmente emite uma mensagem de erro para ajudar o programador a localizar e corrigir o cdigo incorreto.

Primeiro programa C

Erro de sintaxe (continuao)


Erros

de sintaxe tambm so chamados erros de compilao, erros em tempo de compilao, porque o compilador os detecta durante a fase de compilao. No ser possvel executar seu programa at voc corrigir todos os erros de sintaxe nele. Alguns erros de compilao no so erros de sintaxe, podem ser erro de linkedio. No encontram os arquivos para montar o arquivo executvel.

Referncias
37

W. Celes, R. Cerqueira e J.L. Rangel, Introduo a Estruturas de Dados - com tcnicas de programao em C, Ed. Campus, 2004 A. Kelley, A Book on C, Benjamin Cummings, 1995
Notas de aulas do curso presencial de Tcnicas de Programao1- UNIRIO - Desenvolvidos pelas professoras: Geiza Maria Hamazaki da Silva e Adriana C. F Alvim primeiro semestre de 2011.

You might also like