Vous êtes sur la page 1sur 19

APOSTILA TURBO C

CONCEITOS DE ALGORITMOS

Podemos utilizar a seguinte definição para algoritmo: Algoritmo são passos ordenados em
conjunto, que soluciona um problema. Primeiramente, precisamos entender o que é uma ação.
Entende-se por ação um evento que acorre num período de tempo finito, estabelecendo um efeito
intencionado e bem definido.

Quando consideramos um evento como uma seqüência de subações, falamos de um processo


seqüencial. Para descrever um evento usaremos inicialmente a forma de relato de um observador.

Por exemplo:

1) Fazer suco de laranja. 2) Trocar pneu


pegar uma jarra no armário tirar o pneu furado
pegar as laranjas na cesta colocar o pneu cheio
espremer as laranjas

Um algoritmo é a descrição de um comportamento, expresso em termos de eventos bem definidos


e finitos de ações “primitivas”, os quais podem ser executados. Um algoritmo é, em outras
palavras, uma norma executável para estabelecer um certo efeito desejado, que na prática será um
conjunto de comandos que, quando executados, resultam na solução de um certo tipo de
problema.

No cotidiano encontramos constantemente algoritmos, instruções para uso, receitas de cozinha,


indicações de montagem, etc.

Vamos agora ao computador: trata-se de uma máquina capaz de seguir uma certa espécie de
algoritmo, chamado programa. Ele possui uma memória, capaz de armazenar dados, e uma
unidade aritmética, que é capaz de modificar os dados que estão na memória. Além disso,
comunica-se com o mundo exterior através de operações de entrada e saída.

Outro exemplo:

3) Calcular a média
obter quatro notas
calcular a média
mostrar a média

Refinando:
obter N1, N2, N3, N4
média é calculada somando-se as quatro notas e dividindo por quatro
mostrar a média calculada

REFINAMENTOS: Reduzem a complexidade do algoritmo e o torna mais legível. Técnica utilizada


para que o algoritmo fique completo e possa ser entendido por outra pessoa. Exemplo: Como
trocar um pneu furado
DOCUMENTAÇÃO: Comentários colocados junto ao algoritmo com a finalidade de esclarecer os
comandos utilizados no algoritmo. Utilizaremos símbolos especiais para escrever comentário (
{comentário} ).

ITENS FUNDAMENTAIS
A partir de agora veremos um conjunto particular de regras e convenções para o desenvolvimento
de algoritmos.

CONSTANTES:
Valores que não se modificam ao longo da execução do algoritmo.
Uma constante pode ser um valor numérico, um valor lógico ou literal.
Constante numérica: valor numérico com ou sem parte fracionária

Exemplos:
a) 10
2
b) 7,8*10
c) 3,14
d) –0,38

VARIÁVEIS:
Uma variável na matemática é a representação simbólica dos elementos de um certo conjunto.
Nos algoritmos, a cada variável corresponde uma posição de memória e o seu conteúdo pode
variar durante a execução do algoritmo.
As variáveis são identificadas por um nome ou identificador.

Formação de identificadores:

Um identificador é formado por 1 ou mais caracteres, sendo que o primeiro deve, obrigatoriamente,
ser uma letra e os seguintes letras ou dígitos. Não são permitidos símbolos especiais com exceção
do sublinhado ( _ ).

Exemplos de identificadores válidos: Exemplos de identificadores não válidos:


a) A a) 5B
b) NOTA b) E(13)
c) X5 c) A*B
d) A32B d) X-Y
e) TOT_NOTA
Declaração de variáveis:

Usamos declarar variáveis em um algoritmo para que seja reservado área na memória para
armazenar a informação. Além disso, indicamos o tipo de informação que a variável irá conter.

TIPOS BÁSICOS: numérico, lógico e literal

Sintaxe:
DECLARE lista-de-identificadores TIPO
onde:
DECLARE: palavra-chave
Lista-de-identificadores: variáveis que serão utilizadas no algoritmo
TIPO: qual o conteúdo que a variável terá

Obs.: Palavra-chave tem um significado próprio, independente do algoritmo. Não pode ser
usada como identificador e sempre aparecerá sublinhada.

COMENTÁRIOS: É um texto, ou simplesmente uma frase, que aparece sempre delimitado por
chaves {comentário}, com o objetivo de explicar o algoritmo.

Exemplo:
declare NOTA numérico {Declaração de variáveis}

EXPRESSÕES ARITMÉTICAS:
Formadas por operadores aritméticos e operandos que são constantes e/ou variáveis do tipo
numérico.

Operações básicas: Exemplos:


Adição: (+) a) X + Y
Subtração: (-) b) 2 * NOTA
Multiplicação: (*) c) A * B + C
Divisão: (/) d) SOMA / N

EXPRESSÕES LÓGICAS:
Alguma ação durante a execução do algoritmo pode estar sujeita a uma condição. Esta condição é
representada por uma expressão lógica.
Os operadores são lógicos e os operandos são relações, constantes e/ou variáveis do tipo lógico.

RELAÇÕES:
Comparação realizada entre dois valores do mesmo tipo básico.

Operadores relacionais:
= (igual a)
<> ou ≠ (diferente de)
> (maior que)
< (menor que)
>= ou ≥ (maior ou igual a)
<= ou ≤ (menor ou igual a)

O resultado é sempre um valor lógico (Falso ou Verdadeiro)


Operadores lógicos: Conectivos que também são operadores em expressões lógicas.
e (é verdadeiro ⇔ ambas as proposições são verdadeiras)
ou (é verdadeiro ⇔ pelo menos uma das proposições é verdadeira)

Exemplos:
a) A + B = 0 e C <> 1
b) TESTE ou A * B > 1

Observe o uso da tabela verdade:

P Q peq p q p ou q
V V V V V V
V F F V F V
F V F F V V
F F F F F F

Onde p e q: são proposições.

V: verdadeiro F: falso

INTRODUÇÃO À LINGUAGEM C

DEFINIÇÕES BÁSICAS

Programa - Conjunto de instruções distribuídas de maneira lógica, com a finalidade de


executar satisfatoriamente determinada tarefa.
Linguagem de Programação - Conjunto de instruções possíveis utilizadas pelo homem
para se comunicar com a máquina.
Compilador - Programa que traduz programas em linguagem de alto nível para
linguagem de máquina.
Erro de compilação - Erro no programa em linguagem de alto nível que é detectado
pelo compilador.
Erro de execução - Erro cometido em um programa que não é detectado até que o
programa seja executado.
Variável - Símbolo que representa uma posição de memória.
Tempo de compilação : Os eventos ocorrem enquanto seu programa esta sendo
compilado.
Tempo de execução: Os eventos ocorrem quando seu programa esta sendo executado.
Biblioteca: É um arquivo contendo as funções padrão que seu programa poderá
usar.
Código fonte: É o texto de um programa que o usuário pode ler, comumente
chamado de programa.
Um programa de computador nada mais é que a codificação de um algoritmo numa
linguagem de programação. Linguagens como C, Pascal, BASIC, ALGOL, Clipper, COBOL, etc.,
são chamadas de procedurais, devido ao fato das instruções serem executadas de forma seqüencial,
enquanto que as linguagens baseadas no conceito de eventos como C++, Visual BASIC, Visual
Objects, utilizam outra estratégia de programação (Programação Orientada ao Objeto), a ser vista
em outro módulo do curso.

Simulação ou Teste de Mesa


Por melhor que seja o conhecimento do Analista/Programador, este só poderá ter
certeza que sua “estratégia” foi bem sucedida após testar o programa num computador.
Bons programadores tem poucas surpresas quando testam seus programas, fazendo
normalmente umas poucas correções para que o programa funcione de maneira adequada.
Programadores iniciantes criam uma estratégia (algoritmo) muitas vezes ineficiente
e normalmente “correm” para o computador visando testar o programa e acabam por perder
um tempo enorme. Não é raro ouvirmos de iniciantes a frase “Nunca conseguirei fazer um
programa ...”. Certamente, não conseguirá mesmo, caso não tenha uma estratégia definida.
Imagine uma “tarefa” muito simples, como por exemplo fritar um ovo. Caso você
não soubesse “operar” o fogão provavelmente não conseguiria acendê-lo. Se nunca tivesse
visto alguém quebrar um ovo, provavelmente não conseguiria fazê-lo sem perder parte de
seu conteúdo. A fritura seria algo desastroso, caso você desconhecesse a utilidade do óleo.
E o sabor seria frustrante, caso o tempero utilizado fosse açúcar.
O Programador iniciante que não simula seu algoritmo, se compara ao cozinheiro
desastrado descrito acima. E como simular?
Basta “agirmos” como se fossemos o próprio computador, ou seja devemos “fingir”
que nosso raciocíneo é baseado no conteúdo de variáveis. De fato, usualmente antes de
tomarmos alguma decisão analisamos uma série de fatores (as tais variáveis dos
programas). Desta forma, caso fizermos uma análise apurada sobre os conteúdos das
variáveis, poderemos “descobrir” a função de cada programa.
Primeiramente vamos resolver o problema como aprendemos no primeiro grau.
Supondo M = 120 e N = 28.
Dividendo = 120 28 8
Divisor = 28 8 4  MDC
Quociente = 4 3 2
Resto = 8 4 0

Simulação:
M N K Impresso Instruções Comentários
120 28 Declarações e Leituras

8 Enquanto n <> 0 Cálculo do Resto


k=m-m/n*n
28 8 m = n; n = k Novos Divisor e Dividendos

4 Enquanto n <> 0 Voltando ao Teste


k=m-m/n*n Cálculo do Resto
4 0 m = n; n = k Novos Divisor e Dividendos

Enquanto n <> 0 N é Zero

4 Achou MDC!

Observação Final: Obviamente caso você se sinta seguro a resolver diretamente o


problema na linguagem diretamente no computador, faça isto. Porém se surgirem
dificuldades, não se esqueça de fazer o algoritmo e a simulação. Lembre-se do cozinheiro
desastrado, que se tivesse consultado uma simples receita (todo algoritmo não passa de uma
receita sofisticada), poderia ao menos fritar o ovo!

Linguagem C
Desenvolvida nos laboratórios Bell na década de 70, a partir da Linguagem B
(criada no final dos anos 60 por Ken Thompson), que foi reformulada por Brian Kernighan
e Dennis M. Ritchie e posteriormente renomeada para C.
Podendo ser considerada como uma linguagem de médio nível, pois possui
instruções que a tornam ora uma linguagem de alto nível e estruturada como o Pascal, se
assim se fizer necessário, ora uma linguagem de baixo nível pois possui instruções tão
próximas da máquina, que só o Assembler possui.
De fato com a linguagem C podemos construir programas organizados e concisos
(como o Pascal), ocupando pouco espaço de memória com alta velocidade de execução
(como o Assembler). Infelizmente, dada toda a flexibilidade da linguagem, também
poderemos escrever programas desorganizados e difíceis de serem compreendidos (como
usualmente são os programas em BASIC).
Devemos lembrar que a linguagem C foi desenvolvida a partir da necessidade de se
escrever programas que utilizassem recursos próprios da linguagem de máquina de uma
forma mais simples e portável que o assembler.
Uma análise superficial dos programas escritos em C e Clipper (Aula 01 -
Algoritmos Estruturados), nos permite perceber que a linguagem C supera em muito em
dificuldade o programa análogo em Clipper. Ora, então porque não desenvolvermos
programas somente em Clipper?
A inúmeras razões para a escolha da linguagem C como a predileta para os
desenvolvedores “profissionais”. As características da Linguagem C servirão para mostrar
o porquê de sua ampla utilização.

Características da Linguagem C
• Portabilidade entre máquinas e sistemas operacionais.
• Dados compostos em forma estruturada.
• Programas Estruturados.
• Total interação com o Sistema Operacional.
• Código compacto e rápido, quando comparado ao código de outras linguagem de
complexidade análoga.

Aplicações Escritas em C

• Atualmente, nos USA, C é a linguagem mais utilizada pelos programadores, por


permitir, dadas suas características, a escrita de programas típicos do Assembler,
BASIC, COBOL e Clipper, sempre com maior eficiência e portabilidade, como
podemos constatar pelos exemplos abaixo relacionados:
• Sistema Operacional: UNIX (Sistema Operacional executável em micro
computadores e em mainframes).
• Montadores: Clipper (O utilitário de banco de dados mais usado no Brasil).
• Planilhas: 1,2,3 e Excel (A planilha eletrônica com maior volume de vendas
mundial).
• Banco de Dados: dBase III, IV e Access (o gerenciador de base de dados mais
utilizado no mundo).
• InfoStar: O Editor de Texto mais utilizado nos USA no Sistema Operacional UNIX.
• Utilitários: FormTool (Editor de formulário mais vendido no mundo).
• Aplicações Gráficas: Efeitos Especiais de filmes com Star Trek e Star War.
• Linguagens como o Power Builder e o Visual Basic, respectivamente as linguagens
mais utilizadas nos EUA e no Brasil.
• No Brasil utilizada por empresas especializadas na elaboração de vinhetas e outros
efeitos especiais.
• C comparado a outras linguagens

Devemos entender Nível Alto como sendo a capacidade da linguagem em


compreender instruções escritas em “dialetos” próximos do inglês (Ada e Pascal, por
exemplo) e Nível Baixo para aquelas linguagens que se aproximam do assembly, que é a
linguagem própria da máquina, compostas por instruções binárias e outras
incompreensíveis para o ser humano não treinado para este propósito. Infelizmente, quanto
mais clara uma linguagem for para o humano (simplicidade >) mais obscura o será para a
máquina (velocidade <).
FUNÇÃO main()

A linguagem C assim como Pascal é uma linguagem


estruturada.
Uma linguagem é chamada estruturada quando é formada
por blocos chamados de funções. Um programa em C é formado
por uma coleção de funções. Em um programa bem escrito cada
função executa apenas uma tarefa. Cada função tem um nome e
uma lista de argumentos que a mesma receberá.
A execução do programa escrito em C sempre começa pela
função principal main( ).

EXEMPLO - 1

void main( )
{
int idade;
clrscr( );
printf (“ Digite sua idade “);
scanf (“ %d”,&idade );
printf ( “Sua idade é %d”,idade );
getch( );
}

Estudando cada linha:

void main ( )  especifica o nome e o tipo da função


( nesse caso void )
{  inicio da função main
int idade  declara uma variável de nome idade
e tipo inteiro
clrscr( )  função predefinida para limpar a tela
printf (“ Digite sua idade “)  imprime a mensagem entre
aspas na tela
scanf (“ %d”,&idade )  lê via teclado um valor que e
colocado em idade
getch ( )  função predefinida , espera uma tecla
ser pressionada
}  fim da função main
OPERADORES
C é uma linguagem rica em operadores. Alguns são mais usados do que outros como é o
caso do operador de atribuição e dos operadores aritméticos, a seguir mostramos tabelas
contendo os operadores aritméticos, relacionais e lógicos.

OPERADORES MATEMÁTICOS

OPERADOR ACAO
- subtração
+ adição
* multiplicação
/ divisão
% resto da divisão
-- decremento
++ incremento

OPERADORES LOGICOS

OPERADOR ACAO
&& and
|| or
! not

OPERADORES RELACIONAIS

OPERADOR ACAO
> maior que
< menor que
>= maior ou igual
<= menor ou igual
== igual a
!= diferente de

VARIÁVEIS
Uma variável é um espaço de memória reservado para armazenar um certo tipo de dado e
tendo um nome para referenciar o seu conteúdo.
Duas variáveis globais não podem ter o mesmo nome, uma variável local pode ter o
mesmo nome de uma variável local de outra função.
DECLARANDO VARIAVEIS

tipo lista_variaveis;

TABELA CONTENDO OS TIPOS E TAMANHOS DE VARIAVEIS VÁLIDAS EM C

TIPO EXTENSAO DO BIT ESCALA


char 8 -128 a 127
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
long int 32 -2147483648 a 147483648
float 32 3.4E-38 a 3.4E+38
double 64 1.7E-308 a 1.7E+308

INICIALIZANDO VARIAVEIS

Inicializar uma variável significa atribuir um primeiro valor a essa variável.


Variáveis globais são sempre inicializadas com zero. Exemplo:
int k = 5;
char op = ‘f’;
float num = 21.5;
char nome[20] = “Fernanda”;

FUNÇÕES DE ESCRITA E LEITURA DE TELA

FUNÇAO printf( )

- Função predefinida no arquivo STDIO.H, e serve para imprimirmos um


determinado dado na tela.
- Sintaxe
printf(“string de controle”,variável);
- Exemplo:
int k=25;
printf(“%i”,k);

FUNCAO scanf( )

- Função predefinida no arquivo STDIO.H, e serve pra se ler um determinado dado


via teclado.
- Sintaxe
scanf(“string de controle”,&variável);
- Exemplo:
char op;
scanf(“%c”,&op);

TABELA CONTENDO CODIGOS DE FORMATAÇÃO PARA PRINTF E SCANF

CODIGO PRINTF SCANF


%d imprime um inteiro decimal lê um inteiro decimal
%f ponto decimal flutuante lê um numero com ponto flutuante
%s string de caracteres lê uma string de caracteres
%c um único caractere lê um único caractere
%i decimal lê um inteiro decimal
%p imprime um ponteiro lê um ponteiro
%e notação cientifica lê um numero com ponto flutuante

TABELA CONTENDO FUNÇOES DE LEITURA VIA TECLADO

FUNCAO OPERACAO
getchar ( ) lê um caractere; espera por <enter>
getche ( ) lê um caractere com eco; não espera por <enter>
getch ( ) lê um caractere sem eco; não espera por <enter>
putchar ( ) imprime um caractere na tela
gets ( ) lê uma string via teclado
puts ( ) imprime uma string na tela

Observemos o Quadro de Operadores Especiais suportados por printf()

Código Significado
\b Retrocesso (BackSpace)
\f Salto de Página (Form Feed)
\n Linha Nova (Line Feed)
\r Retorno do Carro (cr)
\t Tabulação Horizontal (TAB)
\’ Caracter com apóstrofo
\0 Caracter Nulo ou Fim de String (Seqüência)
\x Representação de byte na base hexadecimal
Exemplo: printf(“\x41”); causa a impressão da letra A na tela.

COMANDOS DE DECISÃO
Os comandos de decisão permitem determinar qual é a ação a ser tomada com base no resultado
de uma expressão condicional.
COMANDO IF-ELSE

O comando if instrui o computador a tomar uma decisão simples.


Forma geral:

if ( condição ) comando;
else comando;

Exemplo:

/* programa do numero magico */

#include <stdio.h>
#include <conio.h>

void main( )
{
int magico, entrada;
magico = random(20); //gera um numero entre 0 e 20
clrscr( );
printf( “Adivinhe o numero: ”);
scanf(“%d”,&entrada);
if (entrada == magico) printf (“ == Você acertou ==”);
else printf (“ Você não acertou pressione qualquer tecla );
getch( );
}

COMANDO SWITCH CASE

O comando switch pode ser usado no caso de alternativas múltiplas.


Forma geral:

switch( variável )
{
case constante1: seqüência de comandos; break;
case constante2: seqüência de comandos; break;
case constante3: seqüência de comandos; break;
.
.
default: seqüência de comandos;
}

O comando switch ao avaliar a expressão entre parênteses, desviamos


para o rótulo case cujo valor coincida com o valor da expressão. O
comando break serve para sairmos do bloco mais interno ao qual o
break aparece. O comando break garante a execução de apenas uma
chamada dentro do switch.

Exemplo:

#include <stdio.h>
void main ( )
{
char opção;
clrscr( );
printf(“A - imprime a letra f”);
printf(“B - imprime a letra g”);
printf(“C - imprime a letra h”);
opção = getch( );
switch(opção)
{
case ‘a’: printf(“f”);break;
case ‘b’: printf(“g”);break;
case ‘c’: printf(“h”);break;
}
}

LAÇOS

Laços são comandos da linguagem C úteis sempre que uma ou mais instruções devam ser
repetidas enquanto uma certa condição estiver sendo satisfeita.

LAÇO WHILE

Um laço while é apropriado em situações em que o laço pode ser terminado inesperadamente,
por condições desenvolvidas dentro do laço.

Forma geral

while ( expressão de teste) comando;

Exemplo:

void imprime(char op)


{
int k=0;
while ( k != 50 )
{
if (op==’p’)
if (k%2==0) printf(“%i”,k);
if (op==’i’)
if (k%2!=0) printf(“%ik);
k++;
}
}

LAÇO DO WHILE

Este laço é bastante similar ao laço while e é utilizado em situações em que é necessário
executar o corpo do laço pelo menos uma vez e depois avaliar a expressão de teste.

Forma geral

do
{
comando ou bloco de comandos;

}
while(expressão de teste);

Exemplo:

void main( )
{
char op;
int sair = 0;
do
{
op = getche( );
switch(op)
{
case ‘s’: somatorio( );break;
case ‘f’ : fibonacci( );break;
case ‘q’: sair = 1;
}
}while(sair!=1);
}

LAÇO FOR

O laço for é geralmente usado quando queremos repetir algo um


número fixo de vezes. Isto significa que utilizamos um laço for quando
sabemos de antemão o número de vezes a repetir.
Forma geral :
for ( inicialização; condição; incremento ) comando;

Exemplo:

/* programa que imprime os números de 1 a 100 */


#include <stdio.h>
#include <conio.h>
void main ( )
{
int x;
for ( x=1;x<=100;x++)
printf ( “%d”,x);
getch( );
}

Exemplo2:

void main( )
{
float num;
for (num=1;num<20;num++) raiz(num);
}
void raiz( float n)
{
printf(“\nn = %f raiz quadrada = %f”,n,sqrt(n));
}

FUNÇÕES

Um programa em C é formado por um conjunto de funções.

- Declarando uma função:


tipo identificador(lista de parâmetros)
{
declaração de variáveis locais;
comando ou bloco de comandos;
}

Exemplo:

void quadrado(int p)
{
int k;
k = p*p;
printf(“%i”,p);
}
void main( )
{
int k=25;
quadrado(k);
getch( );
}

COMANDO return

Serve para retornarmos um valor calculado dentro de uma função


quando chamada de alguma parte do programa.

Exemplo:

float calc_sin(float arg)


{
float val;
val = sin(arg);
return(val);
}
void main( )
{
float valor;
valor = calc_sin(50);
printf(“%f”,valor);
}

FUNÇÕES RECURSIVAS

Uma função é dita recursiva quando se é definida dentro dela mesma.


Isto é, uma função e´ recursiva quando dentro dela está presente uma
instrução de chamada a ela própria.

// imprime uma frase invertida. Usa recursao


#include <stdio.h>
#include <conio.h>
void inverte( )
void main( )
{
clrscr( );
scanf( “%c”,’\n’);
inverte( );
getch();
}
void inverte ( )
{
char ch;
if ((ch=getche( )) != ‘\r’ ) inverte( );
scanf(“%c”,ch)
}

Atribuição (=) versus comparação (==)

Um erro comum e difícil de detectar provém do facto de uma atribuição ser considerada
uma expressão em C e além disso qualquer expressão ter um valor lógico (TRUE ou
FALSE). Assim a seguinte instrução é sintacticamente correcta mas frequentemente não é
isso o que o programador pretende:
if (a = b) { ... };
Na instrução de cima o valor de b é atribuído a a e o if é avaliado como verdadeiro se esse
valor for diferente de 0. O que geralmente se pretende numa instrução como aquela será
comparar o valor de a com o valor de b:
if (a == b) { ... };

break e continue

As instruções break e continue permitem-nos controlar melhor a forma de execução dos


ciclos:

break - termina imediatamente a execução de um ciclo ou da instrução switch


continue - salta imediatamente para a avaliação da expressão de controle do ciclo

No exemplo seguinte pretende-se ler uma série de inteiros do teclado e fazer qualquer coisa
com eles. No entanto se o valor lido for 0 terminamos a leitura, se o valor for negativo
escrevemos uma mensagem de erro e terminamos o ciclo, e se for maior do que 100
ignoramos esse valor e passamos à leitura do seguinte.

while (scanf("%d", &value) && value != 0)


{
if (value < 0)
{
printf("Valor ilegal\n");
break;
}
if (value > 100)
continue;
...;
/* processar value */
...;
}

A função scanf() lê valores do teclado e coloca-os em variáveis. Retorna o número de


caracteres lidos se tiver sucesso e 0 no caso contrário. Assim, se houver uma leitura, ela
retorna um valor diferente de 0, que é interpretado como TRUE.

Include
Esta diretiva de compilação serve para especificar arquivos com definições de tipo, macro
substituições e protótipos de funções que serão usadas no programa. Como C tem uma
grande variedade destas funções e definições, é comum que elas estejam agrupadas em
arquivos diferentes de acordo com a natureza das tarefas que executam.

A forma geral para esta diretiva é a seguinte:

#include <nome do arquivo>

ou

#include "nome do arquivo"

A diferença entre estas duas formas está no local onde o compilador vai procurar o arquivo
no momento da compilação. No primeiro formato, o arquivo é procurado no diretório já
definido pelo TURBO C como sendo aquele que contem os "header files", isto é, os
arquivos com extensão .h que contém definições de tipos, dados e funções já prontas que
vem com o TURBO C. O segundo formato é usado quando queremos que o TURBO
busque o arquivo especificado no diretório atual do disco. Esta forma é usada normalmente
quando queremos incorporar arquivos por nós criados e salvos no diretório atual.

Aqui estão alguns arquivos já prontos e usados com maior frequência:

stdio.h rotinas padrão de entrada e saída definidas


pelos criadores da linguagem C.

alloc.h funções para gerenciamento de memória

float.h funções para tratar números de ponto


flutuante

math.h funções matémáticas

stddef.h vários tipos de dados e macro substituições

stdlib.h várias rotinas muito usadas, conversão,


sort, etc..

string.h rotinas p/ manipular strings e memória

Vous aimerez peut-être aussi