ebook img

C: a linguagem de programação PDF

212 Pages·1986·4.52 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview C: a linguagem de programação

TlTULOS DE INTERESSE CORRELATO C C: O Livro de Respostas — C.L Tondo e S.E. Gimpel DO BASIC AO C — R.J. Traister MANUAL DE LINGUAGEM C — L Hancock e M. Krieger LINGUAGEM C: Guia de Referência — F. Cabral C AVANÇADO: Técnicas e Truques — G.E. Sobelman e D.E. Krekelberg DEPURANDO EM C — R Ward A LINGUAGEM C E O PC BIOS — F. Cabral C: Quick Reference — A.C. Plantz C: A Linguagem de Programação Padrão ANSI — B.W. Kernighan e D.M. Ritchie Solicite nosso catálogo completo. Procure nossas publicações nas boas livrarias ou comunique-se diretamente com: EDITORA CAMPUS LTDA. Qualidade internacional a serviço do autor e do leitor nacional. Rua Barão de Itapagipe, 55 Rio Comprido Tel. PABX (021) 293-6443 Telex (021) 32606 EDCP BR 20261 Rio de Janeiro RJ Brasil Endereço Telegráfico: CAMPUSRIO A LINGUAGEM DE PROGRAMAÇÃO A LINGUAGEM DE PROGRAMAÇÃO <Ç TRADUÇÃO INTEGRAL E AUTORIZADA 00 ORIGINAL 'ED I?*, Eletrônica Digital S/A Porto Alegre Editora Campus Ltda. Do original: The C Programming Language. Original edition in english language published by Prentice-Hall, Inc. Copyright © 1978. AH Rights Reserved. © 1986, Editora Campus Ltda. 6? Reimpressão, 1989. Todos os direitos reservados e protegidos peia Lei 5988 de 14/12/73. Nenhuma parte deste livro, sem autorização prévia por escrito da editora, poderá ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrônicos, mecânicos, fotográficos, gravação ou quaisquer outros. Todo o esforço foi feito para fornecer a mais completa e adequada informação. Contudo a editora e o(s) autor(es) não assumem responsabilidade pelos resultados e uso da informação fornecida. Recomendamos aos leitores testar a informação antes de sua efetiva utilização. Capa Otávio Studart Tradução Pedro Sérgio Nicoletti Infocon — Assessoria e Consultoria em Informática e Teleinformática Ltda. com apoio da Edisa Projeto Gráfico, Composição e Revisão Editora Campus Ltda. Qualidade internacional a serviço do autor e do leitor nacional. Rua Barão de Itapagipe 55 Rio Comprido Telefone: (021) 293 6443 Telex: (021) 32606 EDCP BR 20261 Rio de Janeiro RJ Brasil Endereço Telegráfico: CAMPUSRIO ISBN 85-7001-410-4 (Edição original: ISBN 0-13-110163-3, Prentice-Hall, Inc., New Jersey, USA.) Ficha Catalográfica CIP-Brasil. Catalogação-na-fonte. Sindicato Nacional dos Editores de Livros, RJ. Kernighán, Brian W. K47c C: a linguagem de programação / Brian W. Kernighán, Dennis M. Ritchie; tradução sob a responsabili­ dade da EDISA - Eletrônica Digital S.A. — Rio de Janeiro: Campus; Porto Alegre: Edisa, 1986. Tradução de: The C Programming Language. Apêndice. ISBN 85-7001-410-4 1. C (Linguagem de programação para computadores). I. Ritchie, Dennis M. II. Título. 86-1123 CDD —001.6424 CDU — 80G.92C À 1? EDIÇÃO BRASILEIRA Empresas inovadoras que chamam a si a missão de desbravar novos mercados, com tecnologia avançada, enfrentam sempre dois grandes desafios. O primeiro é intrínseco ao pioneirismo. Elas têm que acreditar em seus produtos e correr os riscos e as incertezas que acompanham todas as inovações. O segundo desafio está em implantar, nas suas áreas de atuação, uma nova cultura tecnológica que venha a se constituir no ambiente propício para a evolução mercadológica de seus produtos. Em conseqüência, cria-se um processo sinérgico onde há um crescimento cultural tanto das empresas como das comunidades com as quais elas interagem. Tendo a ED1SA assumido a vanguarda no mercado brasileiro de supermicros basea­ dos em sistemas operacionais de padrão internacional com o lançamento da linha ED-600 em 1984, é naturd que por isso também assumisse responsabilidades junto à comunidade nacional de informática. Foi dentro deste espírito que surgiu a iniciativa de oferecer aos técnicos brasileiros uma edição em português do clássico “THE C PROGRAMMING LANGUAGE”, de BRIAN W. KERNIGHAN e DENNIS M. RITCHIE. Com esta edição, mais do que simplesmente preencher uma lacuna existente na bi­ bliografia em português de informática, está sendo dado um forte impulso para que se evolua no esforço comum de criar uma avançada tecnologia nacional. Associadas à EDISA neste trabalho estão a INFOCON, uma das empresas pioneiras no Brasil na pesquisa e desenvolvimento de softwares em linguagem C, que realizou a tra­ dução, e a Editora CAMPUS, que mais uma vez diz presente quando chamada a colaborar com a área de informática. A todos os nossos agradecimentos. EDISA — Eletrônica Digital S/A C é uma linguagem de programação de finalidade geral que permite economia de ex­ pressão, modernos fluxos de controle e estruturas de dados e um rico conjunto de ope- radores. C não é uma linguagem de “muito alto nível”^ nem “grande” e nem específica para uma área de aplicação particular. Mas, sua falta de restrições e sua generalidade tor- nam-na mais conveniente e eficaz para muitas tarefas do que linguagens supostamente mais poderosas. C foi originalmente projetada para ser implementada no sistema operacional UNIX* no PDP-11 da DEC (Digital Equipment Corporation), por Dennis Ritchie. O sistema ope­ racional, o compilador C e essencialmente todos os programas de aplicação do UNIX (in­ cluindo todo o software usado para preparar a presente tradução) são escritos em C. Com­ piladores de produção tambe'm existem para várias outras máquinas, incluindo o IBM Sys- tem/370, Honeywelí 6000, e o Interdata 8/32. C, entretanto, não é ligada a nenhum hard­ ware ou sistema particular, e é fácil escrever programas que rodarão sem mudanças em qualquer máquina que aceite a linguagem C. Este livro propõe-se a auxiliar o leitor a aprender como programar em C. Ele con­ tei uma introdução através de exemplos para que usuários novatos possam ser iniciados o mais cedo possível, capítulos separados para cada uma das características principais, e um manual de referência. A maioria do tratamento é baseada na leitura, escrita e revisão de exemplos, ao invés de meras definições de regras. Na maior parte, os exemplos são pro­ gramas reais completos, ao invés de fragmentos isolados. Todos os exemplos foram testa­ dos diretamente a partir do texto, que existe em forma legível por máquina**. Apesar de mostrar como fazer uso efetivo da linguagem, também tentamos, onde possível, ilustrar algoritmos úteis e princípios de bom estilo e bom projeto. O livro não é um manual introdutório de programação; ele presume alguma familia­ ridade com conceitos básicos de programação tais como variáveis, comandos de atribui­ ção, laços, e funções. No entanto, um programador novato deve ser capaz de lê-lo e apren­ der a linguagem, embora o contato com um colega com mais conhecimento poderá ser útil. Em nossa experiência, C tem provado ser uma linguagem agradável, expressiva, e versátil para uma grande gama de programas. Sua aprendizagem é fácil e ela responde bem à medida que a experiência com ela cresce. Esperamos que este livro o ajude a usá-la bem. * UNIX é uma marca registrada dos Bell Laboratories. O sistema operacional UNIX é disponível sob licença da Western Electric, Greensboro, N.C. * * Isto não se aplica à presente tradução. (N. do T.) As críticas construtivas e sugestões de amigos e colegas acrescentaram muito a este livro e ao nosso prazer em escrevê-lo. Em particular, Mike Bianchi, Jim Blue, Stu Feldman, Doug Mcllroy, Bill Roome, Bob Rosin, e Larry Rosler leram múltiplas versões com cui­ dado. Nós também devemos muito a Al Aho, Steve Boume, Dan Dvorak, Chuck Haley, Debbie Haley, Marion Harris, Rick Holt, Steve Johnson, John Mashey, Bob Mitze, Ralph Muha, Peter Nelson, Elliot Pinson, Bill Plauger, Jerry Spivack, Ken Thompson e Peter Weinberger por comentários úteis em vários estágios do trabalho e a Mike Lesk e Joe Ossanna pela assistência incalculável na impressão da versão em inglês. Brian W. Kernighan Dennis M. Ritchie C é uma linguagem de programação de finalidade geral. Ela é estreitamente associa­ da ao sistema operacional UNIX já que foi desenvolvida neste sistema, e já que UNIX está escrito em C. A linguagem, entretanto, não é atada a um sistema operacional ou a uma máquina particulares, e, embora tenha sido chamada “linguagem de programação de soft­ ware básico” devido à sua utilidade no desenvolvimento de sistemas operacionais, ela tem sido usada, igualmente, para escrever grandes programas numéricos, de processamento de texto, e bancos de dados. C é uma linguagem de relativo “baixo nível”. Esta caracterização não a desmerece; isto simplesmente significa que C manipula o mesmo tipo de objetos que a maioria dos computadores, tais como caracteres, números, e endereços. Estes podem ser combinados e manipulados com os operadores aritméticos e lógicos usuais implementados pelas má­ quinas atuais. C não provê operações para manipular diretamente objetos compostos tais como ca­ deias de caracteres, conjuntos, listas, ou arranjos considerados como um todo. Não há equivalente, por exemplo, para operações do PL/1 que manipulam um arranjo ou uma ca­ deia por completo. A linguagem não define nenhuma facilidade para alocação de memória outra que a definição estática e a disciplina de pilha fornecidas pelas variáveis locais de funções; não há monte ou coleta de lixo como encontrados no Algol 68. Finalmente, C não provê facilidades de entrada e saída: não há comandos READ ou WRITE, nem méto­ dos de acesso a arquivos. Todos esses mecanismos devem ser fornecidos por funções expli­ citamente chamadas. De forma semelhante, C oferece somente construções simples de fluxo de controle: testes, laços, agrupamentos e subprogramas, mas não multiprogramação, operações para­ lelas, sincronização, ou co-rotinas. Embora a falta de algumas destas facilidades possa parecer uma grave deficiência (“Você quer dizer que eu tenho que chamar uma função para comparar duas cadeias de caracteres?”), a manutenção da linguagem em dimensões modestas tem trazido benefícios reais. Desde que C é relativamente pequena, ela pode ser descrita em pouco espaço, e aprendida rapidamente. Um compilador C pode ser simples e compacto. Compiladores são também facilmente escritos; usando a tecnologia atual, pode-se esperar um prazo de dois meses pára escrever um compilador para uma máquina nova, e verificar que 80% do código do novo compilador são comuns aos já existentes. Isto provê um alto grau de mobi­ lidade de linguagem. Como os tipos de dados e estruturas de controle providos por C são suportados diretamente pela maioria dos computadores existentes, o ambiente de supor­

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.