• Nenhum resultado encontrado

3123 CouC++

N/A
N/A
Protected

Academic year: 2021

Share "3123 CouC++"

Copied!
97
0
0

Texto

(1)

9

Linguagem C

(2)

10

Prefácio

Esta Apostila foi planejada para

um curso de programação em Linguagem C , e

o

objetivo

principal

é

de

apresentá-la

claramente, mostrando assim a criação de

vários programas, explicando exatamente o

que ocorre em cada “passo”.

Por que C ? Porque é popular,

disponível na maioria dos sistemas de

computação e relativamente fácil de aprender,

até mesmo como primeira linguagem de

programação.

Ao aluno interessado haverá a

oportunidade de criar novos programas e de

desenvolver

mais

idéias

a

partir

das

apresentadas.

Para os exemplos contidos na

apostila, foi utilizado o compilador Turbo C++

do Borland para computadores IBM-PC e

sistema operac. MS-DOS, mas podem ser

processados

em

qualquer

compilador

compatível com o MS-DOS ou UNIX.

(3)

11

Capítulo 1

Introdução

Origem da Linguagem C

Linguagem de Médio Nível e Estruturada

Interpretadores e Compiladores

Modelo de um programa em C

Compilação Separada

Compilando um programa em C

Mapa de Memória de C

(4)

12

Origem

Foi inventada e implementada inicialmente pôr Dennis M. Ritchie e Ken Thompson em um DEC PDP-11 utilizando o sistema operacional UNIX, em 1972. Linguagem C com BCPL B C padrão formado pelo ANSI Desenvolveu a Linguagem C (década de 70) Linguagem antiga, mas

ainda em uso na Europa. Originou a Linguagem B.

ANSI : Padrão que define um conjunto completo de funções de E/S

que pode ser utilizado para ler e escrever qualquer tipo de dado.

Linguagem de Médio Nível

Para computadores, é uma linguagem de nível médio. Não significa que é menos poderosa ou menos desenvolvida. Linguagem C combina elementos de linguagem de alto nível com funcionalidade de linguagem Assembly.

Permite a manipulação de bits, bytes e endereços. Bit: Sinônimo de dígito binário; 0 ou 1.

Byte: Caractere de 8 bits

Endereço: Nele estão contidas as memórias do computador.

Linguagem C tem velocidade de “Linguagem de Máquina” É muito utilizada em editores, compiladores, gerenciadores de banco de dados, etc...

(5)

13 Nível mais alto: Ada , Modula-2 , Pascal , Cobol , Fortran , Basic. Médio Nível: CCCC , Forth , Macro-assembler.

Nível mais baixo: Assembler.

Um código em C é muito portável !

OBS: Portabilidade significa que é possível adaptar um software

escrito para um tipo de computador a outro. Exemplo:

Programa para um Compilador Programa p/ Apple Mac Intosh C um IBM-PC

Palavras-Chaves: A Linguagem C possui apenas 32

palavras-chaves. Se formos comparar, a linguagem Basic (p/ IBM-PC) contém 159 palavras-chaves !

Linguagem Estruturada

A característica especial de uma linguagem estruturada é de, através da criação de sub-rotinas, com o uso de variáveis locais, processar eventos que não causem nenhum efeito inesperado nas outras partes do programa. Por exemplo, em uma linguagem estruturada, o uso do goto é proibido.

Linguagem não estruturada: Fortran, Basic, Cobol. Linguagem estruturada: Pascal, C ,Modula-2, Ada.

(6)

14

Obs: O termo “Linguagem estruturada em blocos” não é

rigorosamente aplicável em C.

Linguagem C é simplesmente referida como Linguagem Estruturada.

Linguagens estruturadas tendem a ser modernas, pois os programadores a consideram mais fáceis.

Função = Sub-rotina isolada

Permite definir e codificar separadamente as tarefas de um programa.

Após ter sido criada (a função), permite ser utilizada em várias situações, sem criar efeitos inesperados em outras partes do programa.

Outro meio de estruturar o código em C é criando-se um “bloco de código”. Este bloco é escrito no programa entre chaves: { } Isto faz com que o programador conceitue a verdadeira natureza da rotina.

A linguagem C propõe ao usuário planejar programas estruturados e modulares. O resultado é um programa mais legível e documentado.

Linguagem para Programadores

Nem todas linguagens de computadores são para programadores !!!

Por exemplo: Linguagem Basic foi criada para os usuários que não precisam, necessariamente, ser programadores e assim resolverem problemas relativamente simples em seus computadores. A linguagem C foi criada, influênciada e testada por programadores profissionais. Ela proporciona:

(7)

15 • Poucas restrições e reclamações;

• Funções isoladas; • Estruturas de bloco;

• Conjunto compacto de palavras-chaves.

É possível tornar um código escrito, compilá-lo e rodá-lo em outra máquina com pouca ou nenhuma modificação.

Esta portabilidade economiza tempo e dinheiro !

Interpretadores e Compiladores

Os termos, interpretadores e compiladores referem-se a maneira como um programa é executado.

Exemplo: Basic - normalmente é interpretada C - compilada

Interpretadores e compiladores são simplesmente programas sofisticados que operam sobre o código-fonte do seu programa.

Interpretador: Lê o código-fonte de seu programa uma linha por vez,

para depois finalizar (RUN).

Compiladores: Lê o programa inteiro de uma só vez e o converte em

um código-objeto, com isso o programa é executado diretamente.

Palavras-Chaves de C:

auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile

(8)

16

O compilador, se não houver erros, gera um programa em disco com o sufixo “ .Obj “ com as instruções já traduzidas. Este programa não pode ser executado até que seje criado um “ produto final “ em disco com o sufixo “ .Exe “, produto este feito por um programa chamado “ Linkeditor “.

Com isso a velocidade de execução do programa pode ser de 20 vezes mais rápida do que quando o programa é interpretado.

Mais vantagens:

• Se o programa já foi compilado e linkeditado, não será mais necessária a presença do compilador.

Programas .Exe não podem ser alterados, com isso o código fonte estará protegido.

Obs:

Linkeditor: Une funções compiladas separadamente em um

programa. Combina as funções da Biblioteca C padrão com o código escrito pelo programador. A saída do linkeditor é um programa executável.

Tempo de compilação: Refere-se ao tempo durante o qual o

compilador lê os arquivos-fonte e gera o código-objeto. Um erro em tempo de compilação é um erro de sintaxe descoberto durante a compilação.

Sintaxe: São regras a serem seguidas ao digitar comandos. Para

evitar um erro no programa, é indispensável a atenção quanto à sintaxe de C. O compilador avisará ao usuário, no caso de um erro.

Tempo de execução: Tempo durante o qual um programa “ roda “.

(9)

17

Modelo de programa C

Em muitos compiladores é acrescidas diversas palavras-chaves para explorar melhor os processadores 8088/8086.

As mais comuns são:

asm _cs _ds _es _ss cdecl far huge interrupt near pascal

Todas palavras-chaves em C são minúsculas, “else” é uma palavra-chave, mas ELSE não !

A palavra-chave não pode ser utilizada como uma variável ou nome de uma função.

A única função que sempre deve estar presente é: main ( )

É a primeira função a ser chamada quando a execução do programa começa, embora não seja tecnicamente parte da linguagem C.

A função main( ) não é utilizada como variável.

A Biblioteca e a Linkedição

Todo compilador C vem com uma biblioteca C padrão de funções para realizar tarefas necessárias mais comuns, definidas pelo padrão ANSI C. No entanto é provável que um compilador tenha outras funções adicionais, como por exemplo: gráfica.

Se o programador usa uma função (determinada função) várias vezes e sua biblioteca padrão não contém esta função, é possível colocá-la em uma biblioteca. Assim sempre que necessário ela será utilizada. E quando esta função for chamada, uma vez memorizada pelo compilador C, o linkeditor combinará o código-escrito com o código-objeto já encontrado na biblioteca. Este processo é chamado de Linkedição.

(10)

18 Alguns compiladores C tem seu próprio linkeditor, enquanto outros usam o linkeditor padrão fornecido pelo sistema operacional.

Compilação Separada

Para programas longos, é permitido que um programa esteja contido em vários arquivos e que cada arquivo seje compilado separadamente. Com isso podemos mudar o código de um arquivo, sem recompilar o programa todo.

Compilando um Programa em C

Para compilarmos um programa em C, devemos:

• Criar o programa ;

• Compilar o programa ;

• Linkeditar o programa com funções necessárias da biblioteca.

Para alguns compiladores é necessário usar um editor separado para criar o programa.

Os compiladores só aceitam arquivos de texto padrão para o editor.

Mapa de memória de C

Pilha Heap > 4 regiões da memória Variáveis Globais Código do Programa

Obs: Acima temos um mapa conceitual.

(11)

19

Pilha: Guarda o estado atual da CPU.

Heap: Memória livre, a disposição do programa C.

Variáveis Globais: São criadas e acessadas independentemente. Código do Programa: O compilador gera o código.

Código-fonte: É o programa que pode ser lido; é a “entrada” para o

compilador C.

Código-objeto: Traduz o código-fonte em linguagem de máquina; é a

(12)

20

Capítulo 2

Elementos

Básicos de

C

A função main ( )

Comentários

A função printf ( )

Códigos de caracteres de Escape

Strings

Comandos de formato printf

Exercícios

(13)

21

A função main ( )

Um programa em C é constituído de:

Título: main ( ) , parte principal de qualquer programa C.

Corpo do Programa: é iniciado por uma chave “ { “, e

terminado por outra chave “} “ .

Uma função, que necessariamente estará presente é denominada de main ( ), que é a primeira função a ser chamada quando o programa é executado.

main ( ) ✎ Contém um esboço do que o programa faz; inicia a

execução do programa.

main ( ) ➧ primeira função a ser executada { ➧ inicia o “corpo” da função

} ➧ termina a função

Os parênteses “( )” após o nome indicam que esta é uma função. Toda função deve ser iniciada por uma “chave de abertura” e encerrada por uma “chave de fechamento”.

Devemos nos preocupar com o layout do programa, pois se um programa for bem organizado, conseqüentemente será mais simples de se ler e entender.

Nome da função { instrução; instrução; { instrução; } instrução; }

(14)

22 Quando é aberta uma chave “{“, deslocamos o código de programa à direita desta, e quando fechamos uma chave “}”, deslocamos para a esquerda.

Obs: Letra minúscula ➧ para formação escrita de variáveis,

funções e comandos.

Letra maiúscula ➧ para constantes.

Comentários

Todo programa deve conter comentários como guia de explicação, e em C, é iniciado com o par de caracteres : /* ; e finalizado pelo par: */ .

O comentário pode ser colocado em qualquer lugar do programa, menos no meio de uma palavra-chave ou entre outro comentário, e sempre são delimitados pelo chamados símbolos de comentários.

/* ➧

barra-asterísco

*/ ➧

asterísco-barra

Comentários são úteis também para identificar o propósito ou nome de um programa.

Exemplo correto: Exemplo incorreto: /* Primeiro programa em C */ swi/*isso não funciona*/tch main ( )

{ ou printf (“Programando em C “);

} /*este progr./*não funciona*/

(15)

23 Como o compilador ignora caracteres contidos em símbolos de comentários e espaços, os comentários podem ser escritos em várias linhas. /* Exemplo de comentário em várias linhas */

Muitos programadores inserem um grande comentário descritivo ao início dos códigos. Isto também ocorre quando é desenvolvido programas em partes separadas por pessoas distintas e depois unidos num produto final.

A função printf ( )

É uma função de E/S que não faz parte do padrão de linguagem C, ela é providenciada pelo compilador C pois todos os sistemas tem uma versão de printf ( ). Esta função escreve na tela um texto entre aspas duplas. Pertence a uma biblioteca do compilador e deve ser linkeditada em nossos programas.

Função é uma coleção de comandos identificada por nome. Utilizar o nome de uma função em um comando é chamar a função e executar suas instruções; ou seja, os parênteses em printf ( ) indicam que estamos utilizando uma função e no interior desses parênteses estão as informações passadas pelo programa main ( ) à função printf( ). Esta informação é chamada de argumento de printf ( ). O controle, então, é passado para a função printf que imprimirá na tela do monitor de vídeo, e quando encerra a execução desta, o controle é transferido novamente para o programa.

(16)

24 A sintaxe para a função printf ( ) é:

printf ( “ expressão de controle “, lista de argumentos)

A expressão de controle pode conter caracteres que serão, por sua vez, demonstrados na tela do computador e comandos de formato ( códigos de formatação ) que indicam a forma em que os argumentos devem ser impressos.

A função printf( ) pode ter um único ou vários argumentos.

Obs: Os argumentos são separados por vírgula ( , ).

Exemplo:

/* primeiro exemplo */ main( )

{

printf(“O resultado do jogo foi %d x 0”,2); }

Na primeira linha do programa temos um comentário sugerindo um título ou nome do programa. Todo comentário fica a critério do programador, sendo assim não é obrigatório o uso deste. A função main( ) a seguir inicia a parte executável.

A chave de abertura é utilizada para que o compilador possa “ler” as instruções.

Em seguida a função printf( ) passa a ter o controle. O texto a ser impresso está compreendido entre aspas duplas “ ” e o código de formatação “%d” indica que será impresso um número decimal. Este número decimal é o 2 que se encontra na lista de argumentos.

A linha de instrução é finalizada por um ponto-vírgula “ ; “ fato este fundamental para concluir uma linha de instrução.

A chave de fechamento encerra o corpo do programa e o texto impresso no monitor de vídeo será:

O resultado do jogo foi 2 x 0

(17)

25 A tabela abaixo demonstra os códigos de C para caracteres que não podem ser inseridos diretamente através do teclado. A função printf( ) aceita todos eles.

Os caracteres de escape começam com uma barra invertida “ \ “ seguida por uma letra que seleciona um código de controle.

Código de escape

Significado

\a alarme ou alerta (beep)

\b retrocesso, retorna o cursor de uma

coluna.

\n nova linha, muda de linha

\t tabulação horizontal no vídeo ou

impressora.

\f limpa a tela do vídeo ou passa para

a próxima página da impressora.

\v tabulação vertical no vídeo ou na

impressora.

\r retorno do cursor, fica na primeira

posição da linha.

\o nulo, fim de uma string.

\N valor octal , imprime na base octal

( onde N é uma constante octal ).

\xN valor hexadecimal, imprime na base

hexadecimal(onde N é uma cte.hexa)

\” aspas ( “ ).

\\ barra invertida ( \ ). \? ponto de interrogação. \’ apóstrofo ( ‘ ).

Obs: Como a barra invertida “ \ “ tem uso especial na linguagem C,

devemos associar duas barras invertidas “ \\ “ para representar uma. Exemplo:

(18)

26 .

main ( ) {

printf (“\n\tisto é um teste.”); }

O programa acima “pula” uma linha (\n), posiciona o cursor na próxima coluna de tabulação (\t) e escreve no monitor de vídeo como segue abaixo.

1º coluna

2º linha > Isto é um teste

Strings

Strings é uma das mais úteis e importantes formas de dados

em C. Armazena e manipula textos como palavras e sentenças.

Atenção: Não deve-se confundir string com caractere. Um único

caractere estará envolvido por aspas simples. Exemplo: ‘ a ‘ Uma string é envolvida por aspas duplas.

Exemplo: “ o “ , “ teste “ ou “ o teste “.

Sempre que o compilador encontrar qualquer coisa entre aspas duplas, ele reconhecerá que trata-se de uma string constante. Cada caractere de uma string ocupa 1 byte de memória. As strings consistem em dois tipos:

Constantes ➧ caracteres que são impressos na tela.

Comandos de Formato ➧ são códigos de formatação.

(19)

27 A tabela abaixo mostra os códigos para impressão formatada de texto.

Códigos printf( ) Formato

%c ... %c ... %c ... %c ... caractere %d %d %d

%d ou %i ..%i ..%i ..%i ............ inteiros decimais com sinal. %u ...

%u ... %u ...

%u ... inteiros decimais sem sinal. %o ... %o ... %o ... %o ... octal . %x %x %x %x ou %X ...%X ...%X ...%X ... hexadecimal . %e %e %e %e ou %E ...%E ...%E ...%E ... notação científica . %f %f %f

%f ou %F...%F...%F...%F............ ponto flutuante decimal. %g ...

%g ... %g ...

%g ... usa %e ou %f, o que for mais curto. %G ...

%G ... %G ...

%G ... usa %E ou %F o que for mais curto. %s ... %s ... %s ... %s ... strings de caractere. %% ... %% ... %% ... %% ... ... ... ... escreve o símbolo % (porcentagem). %ld ... %ld ... %ld ... %ld ... decimal longo. %lf ... %lf ... %lf ...

%lf ... ponto flutuante longo (DOUBLE).

Um comando de formato começa com um símbolo percentual (%), e é seguido pelo código de formato. A ordem da combinação sempre será da esquerda para a direita.

Exemplo: . .

printf(“Estamos %s\na linguagem %c.”,”aprendendo”,’C’);

. .

Será impresso no vídeo o seguinte texto:

Estamos aprendendo a linguagem C.

A função printf imprimirá inicialmente a palavra “Estamos”; logo após receberá a instrução que deverá ser impresso

(20)

28 uma string de caractere. Nesta string será localizado o conjunto de caracteres envolvidos por aspas duplas após o término do texto a ser impresso.

Um código de escape “\n” comanda o cursor para a próxima linha, quando então será impresso a continuação da sentença “a linguagem” precedida de um caractere “C” identificado por um outro comando de formato (%c).

Lembre-se: Os argumentos, no caso “aprendendo” e “C” são

separados por vírgula.

Ponto flutuante decimal: Quando deseja-se imprimir um número com casas decimais , utilizamos o comando de formato “%f”.

Exemplo: Desejamos imprimir apenas com 3 casas decimais o número 87,3466798.

Então digitamos:

printf (“O número é %.3f”, 87.3466798); A saída será: 87.347

Obs: O computador arredonda o número !

Exemplo:

O número 156,55479832 pode ser arredondado para: ... 156,5547983 ou ... 156,554798 ou ... 156,55480 ou ... 156,5549 ou ... 156,555 ou ... 156,6 ou ... 157

Exercícios

(21)

29 1- Comente resumidamente a origem da Linguagem C. ________________________________________________________ ________________________________________________________ _____________________________________________________ 2 - O que vem a ser “Interpretadores e Compiladores “ ?

________________________________________________________ ________________________________________________________ ________________________________________________________ ____________________________________________________ 3 - Cite 4 caracteres de escape e seus significados.

________________________________________________________ ________________________________________________________ _____________________________________________________

4 - Para que servem os comentários ?

________________________________________________________ ______________________________________________________

5 - Porque os programadores costumam utilizar comentários ?

________________________________________________________ ______________________________________________________ 6 - O que é uma função ?

________________________________________________________ ______________________________________________________ 7 - O que faz um Linkeditor ?

________________________________________________________ ________________________________________________________ _____________________________________________________ _______________________________________________________

8 - Quando utilizamos %.f ? Cite um exemplo :

________________________________________________________ ______________________________________________________

(22)

30 9 - O que é string e quais os tipos ?

________________________________________________________ ________________________________________________________ _____________________________________________________ 10 - Qual a sintaxe da função printf ( ) ?

________________________________________________________ ______________________________________________________ 11 - Explique a função main ( ) :

________________________________________________________ ______________________________________________________ 12 - Esboce o Mapa conceitual da memória C :

13 - O que faz a Biblioteca C ?

________________________________________________________ ________________________________________________________ _____________________________________________________ 14 - Cite 4 comandos de formato printf e explique sua forma de formatação:

________________________________________________________ ________________________________________________________ ________________________________________________________ ____________________________________________________

15 - O que falta para a linha do programa abaixo ser executada com sucesso ?

.

(23)

31 . ________________________________________________________ ________________________________________________________ _____________________________________________________ 16 - Faça um programa que imprima seus dados pessoais, como o nome, RG, idade, endereço, utilizando todas as funções e comandos vistos até este capítulo.

________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ __________________________________________________

17 - Analise o programa abaixo e descreva, em ordem, o que será impresso no vídeo:

.

main ( ) /*programa teste*/ {

printf(“O número %.2f é o %s\n de um %cálculo do produto\t\”%d x 15,6789\”\n\?”,376.2936,”resultado”,’C’,24);

________________________________________________________ ________________________________________________________ ________________________________________________________ ____________________________________________________

18 - Elabore um programa que imprima o nº10 em octal e o nº538 em hexadecimal: ________________________________________________________ ________________________________________________________ ________________________________________________________ ____________________________________________________

(24)

32

Capítulo 3

Iniciação

de

Variáveis

Constantes

Tipos de Constantes

Variáveis

Tipos de Variáveis

Significado das Variáveis Básicas

Variáveis Globais e Locais

Exercícios

(25)

33

Constantes

Constantes referem-se a valores fixos que o programa não pode alterar. A maneira como cada constante é representada depende do seu tipo.

Ou seja:

➧ Constantes inteiras são descritas como números sem componentes fracionários.

Exemplo: 20 e -150

➧ Constantes em ponto flutuante requerem o ponto decimal seguida pela parte fracionária do número.

Exemplo: 3.141592

Obs: Em C utilizamos o “ponto” antes da parte fracionária. É

proibido, neste caso, o uso da vírgula !

➧ Constantes de caractere são envolvidas por aspas simples ‘ ‘. Exemplo: 'a' e '+'

➧ Uma constante cadeia de caracteres é envolvida pos aspas duplas “ “

Exemplo: "linguagem C"

Dependendo de como deseja-se o resultado através do dado obtido, teremos duas formas de digitar o mesmo programa.

Exemplo:

. .

main( ) {

printf("O resultado obtido e:%d.",5); }

✎ No exemplo acima a constante 5,será impressa no formato decimal.

Ou ...

(26)

34 . . main( ) {

printf("O resultado obtido é 5"); }

✎Imprimirá também, além do texto o número 5.

Embora o 2ºexemplo é mais simples, não devemos dispensar o intuito do 1º exemplo, pois se nos defrontarmos com um programa que exija através da entrada de dados(teclado) um certo dado é necessário que este seja encontrado pelo comando de formato para que seja possível a sua impressão.

Tipos de Constantes

Existem três tipos de constantes em C: literais, simbólicas e objeto.

Uma constante literal é um valor digitado diretamente em um comando ou expressão de um programa.

Exemplo : pi=3.1415;

MAX=0xff; /*hexadecimal*/ distancia=4.3E+09;

ch='h';

Constantes simbólicas são aquelas, que através de

“diretivas”, fazem com que o compilador signifique/traduza algo.

Exemplo: # define PI 3.14159

Uma diretiva #define tem três partes: a palavra-chave #define, um nome e um valor.

Sendo assim, se considerarmos o exemplo de diretiva acima, o programa poderá utilizar PI em vários locais do programa.

(27)

35 Exemplo: int i, j ;

i= PI; j= PI*3;

✎ A diretiva #define não “define” um objeto. Ela define um nome simbólico para um valor literal. Quando o compilador encontra um nome simbólico tal como PI, ele substitui esse símbolo por 3.14159 exatamente como se fosse digitado o número diretamente.

Obs: Diretivas, serão tópicos de assunto que serão vistos em

capítulos posteriores.

A constante-objeto, também conhecida por constantes tipificadas, é um agrupamento de constante literal com variável. Ou seja, assim como as variáveis, elas ocupam espaço de memória, mas, da mesma forma que as constantes, seus valores não podem ser modificados. Exemplo: . . main( ) { int resultado = 200; resultado = valor; printf("conta = %d\n",resultado); printf("resposta = %d\n",valor); }

Veremos, então, na tela do monitor de vídeo: conta = 200

resposta = 200

Obs: int - variável a ser vista posteriormente.

(28)

36

As Variáveis são o aspecto fundamental de qualquer linguagem de computador. Uma variável é uma posição de memória, com um nome para referenciar o seu conteúdo, que é usada para guardar um valor que pode ser modificado pelo programa.

A forma geral para declarar uma variável é: Nome de um tipo de variável nome da variável ;

Em C, o nome de uma variável não tem nenhuma relação com seu tipo.

Tipos de Variáveis

Tipo Tamanho escala/abrangência

Bit / Bytes char 8 1 -128 a 127 unsigned char 8 1 0 a 255 signed char 8 1 -128 a 127 int 16 2 -32768 a 32767 unsigned int 16 2 0 a 65535 signed int 16 2 o mesmo que int

long 32 4 -2147483648 a 2147483647 unsigned long int 32 4 0 a 4294967295 float 32 4 3,4E-38 a 3,4E+38 double 64 8 1,7E-308 a 1,7E+308 long double 80 10 3,4E-4932 a 3,4E+4932

Podemos observar na tabela acima, que na linguagem C existem 4 tipos de variáveis básicas: char , int , float e double .

(29)

37 Estes tipos básicos podem estar acompanhados por

“modificadores de tipo” : signed , unsigned e long .

O uso importante de signed é modificar char ou int nas implementações em que esse tipo não tem sinal.

Algumas implementações podem permitir que unsigned seja aplicado aos tipos de ponto flutuante.

Significado das Variáveis Básicas

Vejamos então o siginificado das Variáveis básicas:

char - É uma palavra-chave (ou variável) que indica caracteres

ASCII .

int - Valores inteiros na faixa de -32768 à 32767 .

float - Dígitos de precisão (c/casas decimais) na faixa de 3,4E-38

à 3,4E+38 .

double - Dígitos de precisão na faixa de 1,7E-308 à 1,7E+308 .

Exemplo de programa: . . main( ) { int quantidade; char empresa; float tempo; quantidade=5; empresa='B'; tempo=13.456;

printf("A fabricação de %d terminais de vídeo”,quantidade); printf(“\nna empresa %c gasta apenas %.2f minutos de hora”, empresa,tempo);

}

O programa possui três variáveis: int , char e float. E a elas é dado um nome.

(30)

38 Posteriormente associamos a variável um valor, seja em números ou caracteres.

A variável int aceita apenas números inteiros, no exemplo a ela foi associado o nº 5. A variável float acatará números com ponto flutuante (c/casa decimal).

Já a variável tipo char armazenará caracteres ASCII. Se for único caractere, este deverá ser envolvido em aspas simples. Mas no caso de uma cadeia de caractere (mais de um caractere) este deverá ser identificado através de uma matriz e estar contido entre chaves e aspas duplas (exemplo posterior).

Por fim após nomearmos as variáveis e a elas associarmos valores, a execução do programa resultará em:

A fabricação de 5 terminais de vídeo

na empresa B gasta apenas 13.46 minutos de hora.

O número 5 é impresso pelo comando de formato %d pois trata-se de número decimal; um único caractere B é expresso por %c e o tempo identificado com apenas 2 casas decimais e arredondado. Exemplo de programa: . . main( ) { int x=30;

char y[12]={“900 pessoas”}; char z=’Z’;

printf(“No dia %d haviam %s\n”,x,y);

printf(“no teatro para assistir a peça %c.”,z); }

Observe neste exemplo que é possível em uma linha de instrução associarmos ao mesmo tempo o nome e o valor à variável. A variável char y terá como atribuição uma cadeia de caracteres que serão impressos através do comando de formato %c.

Porque a matriz [12] ?

Utilizando a palavra-chave “char” podemos declarar uma string (cadeia de caracteres) que são, em C, terminadas em “nulo”. Isto quer dizer que terminam com um byte zero, também chamado de “caractere nulo”. A linguagem C acrescenta esse byte

(31)

39 automaticamente às strings literais, mas a responsabilidade sempre existirá ao programador para garantir que as strings estejam corretamente terminados.

Exemplo: char string[12]={“Linguagem C”};

O conjunto entre aspas duplas contém 11 caracteres (strings literais ). Sendo assim, ao declararmos o array=12 (array significa tabela, leque) estamos garantindo o byte zero (caractere nulo).

Nada impede de declararmos arrays maiores, o importante é garantirmos pelo menos um caractere adicional, chamado de “caractere nulo” ao array.

Podemos concluir então, que a utilização de array em C significa a criação de matrizes.

O resultado do programa será: No dia 30 haviam 900 pessoas no teatro para assistir a peça Z.

Nota: ASCII ➧ A tabela ASCII tem 256 códigos. Dispõe de

números de 0 a 127(decimal) cobrindo letras, dígitos de 0 a 9, caracteres de pontuação e caracteres de controle como salto de linha, tabulação, etc...

Os computadores IBM usam 128 caracteres adicionais com códigos de 128 a 255 que consistem em símbolos de línguas estrangeiras e caracteres gráficos.

No fim da apostila temos a tabela ASCII !!!

A forma de representar um caractere de código acima de 127 decimal é:

\xdd

... onde dd representa o código de caractere em notação hexadecimal; e pode ser usado na expressão de controle de printf( ) como qualquer outro caractere. O exemplo a seguir mostra a possibilidade de imprimirmos caracteres gráficos, utilizando a tabela ASCII.

(32)

40 . . main( ) {

printf(“\xe1 \xe8 \xfo \xf6 \xe3 “); }

Resultado:

β φ ≡ ÷ π

Variáveis Globais e Locais

Quando uma variável for utilizada pelo programa, deve-se defini-las, para isto basta indicar deve-seu tipo e nome.

Exemplo: int a, b; double despesas; main( ) { int d, e; . . }

As variáveis a, b e despesas são variáveis globais pois são válidas para todo o programa em virtude de terem sido declaradas fora da função main( ).

As variáveis d e e são consideradas locais a função main( ), pois foram declaradas dentro da mesma.

Exercícios

1 - O que é uma Constante Literal ? Cite um exemplo:

________________________________________________________ ________________________________________________________ _____________________________________________________

(33)

41 2 - Qual a forma geral para declarar uma Variável ?

________________________________________________________ ______________________________________________________ 3 - Verifique se o programa abaixo funciona corretamente. Descreva, se houver, os erros e a solução para os mesmos.

. .

main( ); {

printf(“O placar foi de %c x %% , 5 , 2 ); }

________________________________________________________ ________________________________________________________ ________________________________________________________ ____________________________________________________ 4 - Qual o procedimento para, através da palavra-chave “char”, declararmos uma string.

________________________________________________________ ________________________________________________________ _____________________________________________________ 5 - Faça um programa, consultando a tabela ASCII, de forma que resulte após a compilação o seguinte desenho gráfico:

_________________________________________________ _______________________________________________ 6 - Cite 4 variáveis básicas em C explicando seu significado e tamanho em C.

________________________________________________________ ________________________________________________________ _____________________________________________________ 7 - Faça um programa utilizando 3 variáveis básicas.

________________________________________________________ ________________________________________________________

(34)

42 ________________________________________________________ ________________________________________________________ ___________________________________________________

8 - Escreva um programa que declare 3 variáveis inteiras e atribua os valores 6, 14 e 53 a elas ; 3 variáveis caracteres e atribua a elas as letras x, y e z ; finalmente imprima na tela:

As variáveis inteiras contém os números 6, 14 e 53. As variáveis caracteres contém os valores x, y e z.

________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ___________________________________________________

9 - Qual a forma de se representar um caracter de código acima de 127 decimal ?

_______________________________________________________ 10 - O programa abaixo está correto ? Porque ?

. main( ) {

char a[19]={“Compilar e Linkeditar”} printf(“Em C é necessário %s”,a); }

_______________________________________________________ ________________________________________________________

_____________________________________________________

11 - Qual tipo de variável utilizamos para números com casa decimal ________________________________________________________ ______________________________________________________ 12 - Qual a abrangência da variável long double ?

________________________________________________________ ______________________________________________________ 13 - Cite 2 modificadores de tipo e explique um deles.

(35)

43 ________________________________________________________ ______________________________________________________ 14 - O que são variáveis Globais e Locais ?

________________________________________________________ ________________________________________________________ _____________________________________________________ 15 - O que são constantes simbólicas ?

________________________________________________________ ________________________________________________________ _____________________________________________________ 16 - Assinale V (verdadeiro) ou F (falso) :

( ) Uma constante possui valor fixo e alterável.

( ) Constante-objeto é um agrupamento de constante literal com variável.

( ) Uma variável é uma posição de memória que é usada para guardar um valor que não pode ser modificado pelo programa.

Capítulo 4

(36)

44

Operadores

Definição de Operadores

Operadores de Atribuição

Operadores Aritméticos

Operador Unário

Operadores de Incremento e Decremento

Operadores Aritméticos de Atribuição

Operador Vírgula

Precedência dos Operadores em C

Exercícios

Definição de Operadores

A linguagem C dá mais ênfase aos operadores que a maioria das outras linguagens de computador; com isso dizemos que C é rica em Operadores Internos. Tendo um pouco mais de 40 tipos de operadores, alguns são mais usados que outros, como por exemplo os Operadores Aritméticos.

O que fazem os Operadores ? Trabalham sobre seus operandos de modo precisamente definido. A linguagem C define quatro tipos de operadores: Aritméticos, Relacionais, Lógicos e Bit a

(37)

45

bit. A linguagem C possui também alguns operadores especiais para

tarefas particulares.

Operador de Atribuição

É possível utilizar um operador de atribuição dentro de qualquer expressão válida em C. Isso não é possível em certas linguagens de computação, tais como: Pascal, Basic e Fortan, que tratam os operadores de atribuição como um caso especial de comando.

A forma geral do operador de atribuição é:

Nome da Variável = Expressão

Devemos memorizar que, o sinal de igual( = ) não tem a mesma interpretação dada em matemática. Ou seja, o sinal “ = “ em C, somente representará a atribuição da expressão à direita ao nome da variável à esquerda.

Exemplo: PI = 3.1415 ;

Kilo = 1000 ;

A linguagem C aceita várias atribuições (atribuições múltiplas) na mesma instrução; ou seja, em um único comando.

Exemplo: x = y = z = 80 ;

Em programas profissionais, valores são atribuídos à variáveis usando esse método.

(38)

46 . main( ) { int x ; x = y = 30 ;

printf(“O resultado foi %d”,y); }

Operadores Aritméticos

Representam as operações aritméticas básicas como a

soma, subtração, multiplicação e divisão .

+ ... soma

- ... subtração

* ... multiplicação

/ ... divisão

% ... módulo de divisão (resto)

Obs: O operador módulo “ % “ não pode ser usado nos tipos em

ponto flutuante. Exemplo de programa: . main( ) { int x , y ; float b,c; float a = 5.13 ; b= x = 10 ; c= y = 4 ;

printf(“\n X + Y = %d “, x + y);/* soma */ printf(“\n A - Y = %.2f”, a - y );/*subtração */ printf(“\n Y x A = %.2f”, y * a );/* multiplicação */

(39)

47

printf(“\n ou X\xf6Y = %.1f”, b/c ); /* divisão */

} Resultado: X + Y = 14 A - Y = 1.13 Y x A = 20.52 X ÷ Y = 2 e o resto = 2 ou X ÷ Y = 2.5

Quanto a análise do programa, podemos afirmar que o uso de float e o comando de formato printf %.f deve-se ao fato de usarmos números com ponto flutuante.

No caso de um número puramente inteiro, o uso de int satisfaz a condição.

O sinal de “ = “ envolvido por aspas duplas significa em C apenas um caractere a ser impresso. Utilizamos \xf6, código este em hexa, para imprimirmos o caractere ÷ .

Nas últimas duas linhas de instrução, é possível observarmos os dois exemplos de respostas utilizando desta vez variáveis diferentes, mas com o mesmo valor. O fato de usarmos variáveis diferentes refere-se ao fato de não podermos imprimir um resultado de divisão com ponto flutuante utilizando variáveis do tipo int .

Obs: Se o nome de uma variável for dada em letras minúsculas ou

maiúsculas,devemos respeitar o nome desta sempre na forma original . Exemplo:

. .

int ABC = 123; /*letras maiúsculas*/ .

.

printf(“Os números são %d”, ABC); .

.

...ou .

.

(40)

48 .

.

printf(“O resultado é %d”,Valor); .

.

O não cumprimento desta norma em C, acarretará erro ao compilarmos o programa !

Operador Unário

Indica a troca do sinal algébrico do valor, ou seja é um operador que multiplica o seu operando por -1 .

Exemplo: resultado_A= -3 ;

resultado_B= - resultado_A ;

Desta forma obteremos com resultado B o número 3, porque: (-3) x (-1) = 3 .

Como o próprio nome diz, este tipo de operador necessita de apenas um operando, com isso atribui a “negação aritmética”.

Operadores de Incremento e Decremento

A linguagem C dispõem de dois operadores não encontrados em outras linguagens; são eles:

Operador de incremento... + + ...adiciona 1 ao seu operando

Operador de decremento... - - ...subtrai 1 ao seu operando

Este é um dos fatores, em que podemos em C, comprimir comandos de programa. Em outras palavras:

Exemplo: x = x + 1 ; x = x - 1 ;

....é o mesmo que ....é o mesmo que + + x ; - - x ;

(41)

49 Os operadores de incremento trabalham de dois modos. O primeiro modo é chamado pré-fixado, em que o operador aparece antes do nome da variável( como no exemplo acima ). O segundo modo é o pós-fixado em que o operador aparece após o nome da variável.

Exemplo: x = x + 1 ; x = x - 1 ;

....é o mesmo que ....é o mesmo que x + + ; x - - ;

Porém existe uma diferença quando esses operadores são usados em uma expressão ! Quando preceder (pré-fixado) o seu operando, C executa o incremento ou decremento antes de usar o valor do operando. Se o operador estiver após (pós-fixado) o seu operando, C usará o valor do operando antes de incrementá-lo ou decrementá-lo.

1ºexemplo: (pré-fixado) a = 6 ; b = + + a ; printf (“ a = %d, b = %d “, a , b ); Imprimirá: a = 7 , b = 7 2ºexemplo: (pós-fixado) a = 6 ; b = a + + ; printf(“ a = %d , b = %d “, a , b ); Imprimirá: a = 7 , b = 6

(42)

50 A análise vale também para o operador de decremento(--)

Exemplo:

main( ) /*pós-fixado*/ {

int a = 0 ;

printf(“%d é um número nulo \n”,a ); printf(“%d indica vazio \n”,a- - );

printf(“%d é um número negativo.”,a); } Imprimirá: 0 é um número nulo 0 indica vazio -1 é um número negativo. Exemplo: main( ) /*pré-fixado*/ { int a = 0 ;

printf(“%d é um número nulo \n”, a );

printf(“%d é um número negativo \n”,- - a);

printf(“%d é um nºdecrescente em relação ao ao zero”,a ); }

Imprimirá:

0 é um número nulo

-1 é um número negativo

-1 é um nºdecrescente em relação ao zero

Obs: Se as duas linhas abaixo são equivalentes, pergunta-se por

que não preferir uma a outra ?

x = x + 1 ; /*funciona, mas não é o ideal*/

(43)

51 A maioria dos compiladores C produzem o código-objeto muito mais rápido e eficiente para as operações se incremento e/ou decremento. Por essa razão, devemos usar os operadores de incremento e decremento sempre que possível !

Precedência

Devemos atentar quanto a precedência dos operadores. Todo compilador C tem um “calculador de expressões” próprio que disseca as expressões do código-fonte e constrói instruções no código compilado para calcular resultados das expressões.

O “calculador de expressões” obedece rigorosamente as regras de ordem de precedência e avaliação.

Na ausência de parênteses, uma expressão é calculada usando um conjunto de regras padrão.

Exemplo:

conta = a + b * h ;

1º passo: calcula-se “ b * h “e em seguida....

2º passo: ...soma-se com “ a “ e atribui o resultado à variável “conta”. Em C, multiplicação e divisão são efetuadas antes da soma e subtração. Porém, caso desejamos, dependendo da finalidade da expressão matemática, somar-se ou subtrair-se antes da multiplicação ou divisão, será necessário o uso dos parênteses.

Exemplo:

conta = ( a + b ) * h ;

Alguns parênteses, embora tecnicamente desnecessários, tornam as intenções do programador perfeitamente claras.

Exemplo:

conta = ( ( a * b ) / c ) + ( d - e ) ;

Primeiramente “a” é multiplicado por “b”, porque esta sub-expressão está no interior dos parênteses aninhados. O resultado é dividido por “c”, enquanto que “e” é subtraído de “d” independentemente. Finalizando, a soma é efetuada, atribuindo-se o resultado à variável “conta”.

(44)

52

Operadores

Aritméticos

de

Atribuição

São eles:

+= , -= , *= , /=

e

%=

Forma geral:

Nome da variável Op.aritmético Expressão ; de atribuição

As expressões com estes operadores são mais compactas e normalmente produzem um código de máquina mais eficiente.

Exemplos:

a+=3 ; /* equivale a: a=a+3 */ b- = 2 ;/* equivale a: b=b- 2 */ c *=4;/* equivale a: c=c×4*/ d/=1;/* equivale a: d=d÷1*/ e%=5;/* equivale a: e=e%5*/ Exemplo de programa: . main( ); { int a=2; int b=3; printf(“valor = %d\n”,a); a+=b;/*equivale a: a=2+3*/ printf(“valor = %d\n”,a); a+=b;/*equivale a: a=5+3*/ printf(“valor = %d\n”,a);

(45)

53 } Imprimirá: valor = 2 valor = 5 valor = 8

Operadores Relacionais

Utilizamos para fazer comparações de valores relativos de operadores inteiros ou de ponto flutuante. Os operadores relacionais em C são:

Operador Ação > maior que

>= maior ou igual que < menor que

<= menor ou igual que = = igualdade

! = diferente

A idéia de verdadeiro e falso acompanha os conceitos dos operadores lógicos e relacionais. Em C, “verdadeiro” é qualquer valor diferente de zero. E “falso” equivale a zero. As expressões que usam operadores relacionais ou lógicos devolvem zero para “falso” e 1 (um) para “verdadeiro”.

Podemos criar “laços” em um programa C utilizando os operadores relacionais.

Exemplo de diagrama:

se a>2

(46)

54

vai para “e” e

se a==1

vai para “f”

f

se a <1

vai para “g”

g

Conclusão

do

programa

O operador relacional de igualdade (= =) é representado por dois sinais de igual. Um erro comum é o ato de usar um único sinal de igual como operador. Neste caso o compilador não acusará erro, pois como em C toda expressão tem um valor verdadeiro ou falso, este não seria um erro de programa e sim do programador.

Exemplo: .

main( ); {

int a=10;

printf(“\nO número é igual a 100 ? %d”,a==100); a=50;

printf(“\nO número é igual a 50 ?%d”,a==50); printf(“\n0...falso e 1...verdadeiro”); } Imprimirá: O número é igual a 100? 0 O número é igual a 50? 1 0...falso e 1...verdadeiro

(47)

55

O Operador Vírgula

É usado para encadear várias expressões. O operador vírgula tem o mesmo significado da expressão: “faça isso e isso”.

Exemplo:

a = ( b = 2 , b + 1 );

Primeiramente é atribuído o valor 2 à “b”, em seguida soma-se 2 à 1 e concluindo, é atribuído 3 à variável “a”. Pelo fato do operador vírgula ter uma precedência menor que o operador de atribuição (=), é necessário o uso de parênteses.

Precedência dos Operadores em C

Operadores em ordem de precedência:... + + , - - maior * , / , %

+ , -

> , >= , < , <= = = , != = , += , - = , * = , / = , %=

,

(vírgula) menor

(48)

56

Exercícios

1 - Quais os operadores aritméticos básicos em C ?

________________________________________________________ ________________________________________________________ _____________________________________________________ 2 - Rescreva a seguinte instrução usando operador de incremento. soma = soma +1 ;

_______________________________________________________ 3 - Os operadores relacionais são usados para: ( assinale o correto )

a) trocar valores lógicos por variáveis ; b) distinguir diferentes tipos de variáveis ; c) representar operações aritméticas ou d) comparar valores .

4 - A forma geral do operador de atribuição é:

________________________________________________________ ______________________________________________________ 5 - Qual a função do “calculador de expressões” em C ?

________________________________________________________ ________________________________________________________ _____________________________________________________

(49)

57 6 - Qual a forma geral do Operador Aritmético de Atribuição ?

________________________________________________________ ______________________________________________________ 7 - O que entende-se por “verdadeiro” e “falso” em C ?

________________________________________________________ ________________________________________________________ _____________________________________________________

8 - Qual será o valor de y ? x = 5 ;

y = x ==5;

________________________________________________________ ______________________________________________________ 9 - Como funcionam os Operadores de Incremento e Decremento ? ________________________________________________________ ________________________________________________________ ________________________________________________________ ____________________________________________________ 10 - Faça um programa utilizando o Operador de Incremento pré-fixado . ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ _________________________________________________

11 - O programa abaixo utiliza que operador ?

main ( ) {

int x=2 ;

(50)

58 }

a) Operador de Incremento b) Operador Unário

c) Operador Aritmético pré-fixado d) Operador de decremento pós-fixado

12 - O sinal de igual “ = “ em C, significa:

________________________________________________________ ______________________________________________________ 13 - Descreva a equivalência: j /= 2 ____________________ x += y ____________________ h %=10 ____________________ c*3.1415 ___________________ M - =12 ____________________

14 - Escreva um programa que contenha 4 variáveis e imprima sua média aritmética. (Utilizar variáveis do tipo int e float).

________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ _________________________________________________

15 - Analise e descreva o que o programa imprime: main ( )

{

float x , y, A ; x = 3.5 ; y = 6.5;

(51)

59 printf (“ valor1 = %.2f \n”, x+y);

x*=y ;

printf (“ valor2 = %.3f \n”,x); y - =x ;

printf (“ valor3 = %.2f \n”,y); A=x+y;

printf (“ valor 4 é igual a 6,3 ? %.d”,A==6.3); printf (“\n 0...falso e 1...verdadeiro”); } Imprimirá: ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ___________________________________________________

16 - Cite o motivo de usarmos o operador vírgula .

________________________________________________________ ________________________________________________________ _____________________________________________________ 17 - Demonstre a precedência dos operadores em C .

________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ __________________________________________________

18 - Qual o resultado impresso ? main ( ); { int a , b ; float c ; a = ((20*1*3) + 4) + (16/2); b = (6/2+4) - 3*1.5; c = a/b ; printf (“ O resultado é %.2f”, c+=3);

(52)

60 } ________________________________________________________ ________________________________________________________ ________________________________________________________ ____________________________________________________

19 - O programa abaixo possui erros de execução. Demonstre-os: main ( );

int a = b = 20 ,

printf (“%d equivale a %d”,a,b);

printf (“Com incremento fica %d, ++a) printf (“*pré-fixado*”); } Correções se necessárias: _____________________________ _____________________________ _____________________________ _____________________________ Imprimirá então: _____________________________________ _____________________________________ _____________________________________

20 - O que representa x+++y ? Porque ? a) x++ + y b) x + ++y c) x + y d) x - y

(53)

61

Capítulo 5

Pré-processador

de C

Diretivas do pré-processador

Tipos de diretivas

A diretiva #include

(54)

62

A diretiva #define

Exercícios

Neste capítulo , aprenderemos

sobre o pré-processador de C com o

intuito de podermos, desde já, digitarmos

programas

completos

em

C

no

microcomputador.

(55)

63

Diretivas do pré-processador

O pré-processador faz parte do compilador, sendo assim podemos considerá-lo como uma linguagem “dentro” da linguagem C. É possível incluirmos diversas instruções do compilador no código-fonte de um programa em C. O pré-processador é executado automaticamente antes da compilação por instruções chamadas de :

Diretivas , que embora não sejam parte da linguagem de

programação C, expandem o escopo do ambiente de programação em C, tendo a finalidade de alterar o código-fonte na sua forma de texto.

Ao digitarmos uma linha de programa, solicitamos ao compilador codificar para instruções em linguagem de máquina para serem executadas pelo processador. Mas o compilador solicitado somente terá êxito se instruirmos ele com uma linguagem. Esta linguagem ou instruções são as diretivas .

Então, podemos definir que diretivas do pré-processador são instruções para o compilador, antes do processo de compilação ser iniciado. E as linhas normais de um programa são instruções para o microcomputador.

ANSI ➧ Padrão que define um conjunto completo de funções de

E/S

(56)

64

TIPOS: Segundo o padrão ANSI , o pré-processador de C contém

as diretivas:

# include

# define

# if

# ifdef

# ifndef

# undef

# else

# endif

# elif

# line

# error

# pragma

Alguns critérios são adotados para o correto uso das diretivas.

• Todas as diretivas começam com o símbolo escopo “ # “.

• Cada diretiva deve estar na sua própria linha.

• As diretivas, por convenção, aparecem no início do programa ( antes de main( ) ) ou antes de uma função particular .

• Mas nada impede que sejam colocadas em qualquer parte do programa, desde que corretamente.

A diretiva #include

Sabemos que diretivas são, de certo modo, minilinguagens embutidas em C.

(57)

65 A diretiva #include instrui o compilador a ler outro programa, chamado de arquivo-fonte, adicionado àquele que contém a diretiva #include.

O nome de um arquivo-fonte, quando associado à uma diretiva, deve estar sempre envolvido por aspas duplas ( “ “ )ou símbolos de maior e menor ( > e < ) .

Sua forma geral é : # include “nome do arquivo-fonte” ou

# include <nome do arquivo-fonte>

Esta linha de instrução, vista em sua forma geral, é chamada de “arquivo-cabeçalho” e é compilada para as rotinas de arquivos em disco da biblioteca. Ou seja, o arquivo será localizado de forma definida pelo fabricante do compilador ( caso em que o nome do arquivo-fonte esteje envolvido por chaves angulares ). Se o nome do arquivo-fonte estiver entre aspas, a busca do arquivo será no diretório atual e se não for encontrado a busca é repetida como se o nome do arquivo estiver envolvido por chaves angulares.

Os arquivo-fontes são criados pelo fabricante e variam conforme a versão do software.

Um programador pode criar um programa de rotina contendo, por exemplo, várias fórmulas e colocá-lo em uma diretiva. Assim não haverá a necessidade de reescrever este programa para utilizá-lo em outro programa.

Exemplo:

/* prog.1 */ / * prog.2 * / main( ) #include <prog.1> { main( )

. { . .

Referências

Documentos relacionados

A responsabilidade pela coordenação do processo de seleção no campus ficará a cargo do servidor de referência, o qual deverá encaminhar à PRAEC, via Sistema Eletrônico

vidro de Cranberry 1 mês Não houve alterações significativas no tratamento de infecção urinária Salo et al., 2011 Crianças entre 1 à 16 anos de idade 5ml/kg/peso ou 300ml de

Quando eu digo, “Eu sou um cristão,” Eu não falo com orgulho humano Eu estou confessando que tropeço e necessito que Deus seja o meu guia Quando eu digo, “Eu sou um cristão,”

Origem do direito tributário; origens das receitas públicas e sua classificação atual: o sistema constitucional brasileiro consoante reforma tributária do ano de

Processo de se examinar, em conjunto, os recursos disponíveis para verificar quais são as forças e as fraquezas da organização.

E) CRIE NO SEU CADERNO UM TÍTULO PARA ESSA HISTÓRIA EM QUADRINHOS.. 3- QUE TAL JUNTAR AS SÍLABAS ABAIXO PARA FORMAR O NOME DE CINCO SUGESTÕES DE PRESENTE PARA O DIA

Não diga “amém” para tudo e, quando for dizer, saiba que o nosso Deus, que é o nosso Rei e o único que é Fiel, vai fazer com que assim seja feita a vontade d’Ele em nós e

Capital. Interessada: PJ de Buíque/PE. Interessada: PJDC – Promoção e Defesa dos Direitos Humanos da Pessoa Idosa. Interessada: PJDC – Promoção e Defesa dos Direitos Humanos da