A Universidade Federal de Uberlândia Faculdade de Computação
Por: ElvioGewehr • 7/7/2022 • Trabalho acadêmico • 26.482 Palavras (106 Páginas) • 128 Visualizações
UFU – Universidade Federal de Uberlândia
Faculdade de Computação
Apostila de Linguagem C
(Conceitos Básicos)
Prof. Luiz Gustavo Almeida Martins
UFU – Universidade Federal de Uberlândia Faculdade de Computação
LINGUAGEM C – Conceitos Básicos
1. INTRODUÇÃO
1.1. HISTÓRICO
A Linguagem C, criada em 1970 por Dennis Ritchie, é uma evolução da Linguagem B que, por sua
vez, foi uma adaptação feita, a partir da Linguagem BCPL, por Ken Thompson. Ela é
estreitamente associada ao sistema operacional UNIX, já que as versões atuais do próprio
sistema foram desenvolvidas utilizando-se esta linguagem.
Devido ao crescente uso e interesse da comunidade de computação pela linguagem, em 1983, o
American National Standards Institute (ANSI), estabeleceu um comitê para prover uma definição
moderna e abrangente da linguagem C. O resultado desta comissão foi uma padronização
denominada ANSI-C em 1988. A maior contribuição deste trabalho foi a incorporação de uma
biblioteca padrão, presentes em todas as variações/versões da linguagem, que fornece funções
de acesso ao sistema operacional, entrada e saída formatada, alocação de memória, manipulação
de strings (cadeias de caracteres), etc.
1.2. CONCEITOS BÁSICOS
A filosofia básica da linguagem C é que os programadores devem estar cientes do que estão
fazendo, ou seja, supõe-se que eles saibam o que estão mandando o computador fazer, e
explicitem completamente as suas instruções. Assim, ela alia a elegância e a flexibilidade das
linguagens de alto nível (ex: suporte ao conceito de tipo de dados) com o poderio das
linguagens de baixo nível (ex: manipulação de bits, bytes e endereços).
O C é uma linguagem de programação de finalidade geral, utilizada no desenvolvimento de
diversos tipos de aplicação, como processadores de texto, sistemas operacionais, sistemas de
comunicação, programas para solução de problemas de engenharia, física, química e outras
ciências, etc.
O código-fonte de um programa C pode ser escrito em qualquer editor de texto que seja capaz
de gerar arquivos em código ASCII (sem formatação). Como o ambiente de programação
utilizado (Turbo C) é para o sistema operacional DOS, estes arquivos devem ter um nome de no
máximo 8 caracteres e a extensão “c” (exemplo: NONAME.C).
Após a implementação, o programa-fonte (um ou mais arquivos-fonte) é submetido aos
processos de compilação e linkedição para gerar o programa executável (com extensão “exe”).
Durante o processo de compilação, cada arquivo-fonte é compilado separadamente,
produzindo um arquivo de código-objeto com a extensão “obj”. Estes arquivos-objeto contêm
instruções em linguagem de máquina (códigos binários) entendidas somente pelos
microprocessadores. Na linkedição, todos os arquivos-objetos pertencentes ao projeto, bem
como as bibliotecas declaradas nos códigos-fonte são processadas em conjunto, visando a
produção do arquivo executável correspondente.
Normalmente, tanto o arquivo-objeto quanto o arquivo executável possuem o mesmo nome do
arquivo-fonte. Entretanto, quando desejado, o usuário poderá definir diferentes nomes para cada
tipo de arquivo.
1.3. CARACTERÍSTICAS GERAIS
Prof. Luiz Gustavo Almeida Martins Pág.: 1/82
A linguagem C possui as seguintes características:
UFU – Universidade Federal de Uberlândia Faculdade de Computação
• Alta portabilidade inerente da padronização ANSI, ou seja, é possível tomar um códigofonte escrito para uma máquina, compilá-lo e rodá-lo em outra com pouca ou nenhuma
alteração;
• Gera programas formados basicamente por funções, o que facilita a modularização e
a passagem de parâmetros entre os módulos;
• Inicia a execução a partir da função main(), necessária em todos os programas;
• Uso de chaves ({ }) para agrupar comandos pertencentes a uma estrutura lógica (ex: ifelse, do-while, for, etc.) ou a uma função;
• Uso do ponto e vírgula (;) ao final de cada comando;
• É “case sensitive”, ou seja, o compilador difere maiúsculas de minúsculas. Assim, se
declarar uma variável de nome idade, esta será diferente de Idade, IDADE, etc. Além
disso, todos os comandos da linguagem devem ser escritos em minúsculo.
1.4. ESTRUTURA BÁSICA DE UM PROGRAMA C
Diretivas
Declarações de variáveis/constantes globais;
Prototipação de funções;
tipo_dado main(lista_parametros) /* Função Principal e Obrigatória */
{
Declarações de variáveis/constantes locais;
...