Prof. Brauliro Gonçalves Leal
2021
Introdução à Programação
CCMP0041Conteúdo
5.Linguagem de Programação C
5.1 Breve histórico
5.2 Características básicas 5.3 C padrão ANSI
Breve História da Linguagem C
A Linguagem C foi criada por Dennis Ritchie, em 1972, para a produção do sistema operacional UNIX. Ela é classificada como Linguagem de Terceira Geração.
Por ser uma linguagem poderosa e flexível, programadores em todos os lugares começaram a usá-la para escrever todos os tipos de programas. Logo, começaram a surgir diferentes versões de C, em resposta a este problema, o American National Standards Institute (ANSI) estabeleceu uma definição padrão para C, que ficou conhecida como ANSI Standard C.
O GNU Compiler Collection (chamado usualmente GCC) é um conjunto de compiladores de linguagens de programação, sendo uma das ferramentas essenciais para manter o software livre, pois permite compilar o código–fonte em binários executáveis para as várias plataformas de hardware e sistemas operacionais, como UNIX, Linux, Windows e Mac OS. Ele é distribuído pela Free Software Foundation (FSF) sob os termos da GNU GPL (https://gcc.gnu.org/).
Breve História da Linguagem C
O GCC é frequentemente eleito o compilador preferido para desenvolver software que necessita de ser executado em vários tipos de hardware. Ao usar os compiladores do projeto GCC, o mesmo analisador gramatical é usado em todas as plataformas, fazendo com que o se o código compila numa, muito provavelmente compilará em todas.
A "Linguagem C" e a "Biblioteca Padrão C" são duas entidades separadas mas que trabalham juntas. É necessário aprender a programar em C, por outro lado é preciso aprender a usar a Biblioteca Padrão C. Ambas são padrão ANSI.
A Linguagem C é definida pelas regras gramaticais (léxico, sintaxe e semântica), declarações, tipos de dados, criação de variáveis, operações e operadores, delimitadores, caracteres especiais, comandos, estruturas condicional e de repetição, manipulação de apontadores, criação de funções e estrutura modular, dentre outros.
● O Léxico é o conjunto de palavras existente à disposição da linguagem.
● A Sintaxe é a forma de dispor as palavras nos comandos e de dispor os comandos no programa, incluindo a sua relação lógica e também suas combinações para fins de resolução de problemas.
Breve História da Linguagem C
A Linguagem C é uma linguagem de programação compilada de propósito geral, estruturada, imperativa, procedural, padronizada pela Organização Internacional para Padronização (ISO).
A Biblioteca Padrão da Linguagem C (também conhecida como glibc) é uma biblioteca de funções padronizada da Linguagem C, que fornece um conjunto básico de operações matemáticas, manipulação de cadeias de caracteres, conversão de tipos de dados, tempo e fuso horário, sistema de arquivos, tratamento de erros, dentre outras.
Ela consiste de 24 cabeçalhos, cada um contendo uma ou mais declarações de funções, tipos de dados e macros. Ela é uma caixa de ferramentas prontas para uso.
Breve História da Linguagem C
Atualmente, existem muitas linguagens para a programação de computadores, Mesmo assim, há várias razões pelas quais muitos profissionais de computação preferem usar C:
● é uma linguagem poderosa e flexível. O que os programadores podem realizar com C é limitado apenas pela sua imaginação. A linguagem em si não coloca restrições ao programador. Ela é usada para projetos tão diversos como sistemas operacionais, processadores de texto, gráficos, planilhas, e até compiladores para outras linguagens.
● é uma linguagem popular, como resultado uma grande variedade de compiladores C e muitos acessórios úteis estão disponíveis.
● é uma linguagem portável, isto é, um programa C escrito em sistema de computador pode ser compilado e executado em outro sistema com pouca ou nenhuma modificação. A portabilidade é reforçada pelo padrão ANSI C.
● é modular, ou seja, código C pode (e deve) ser escritos em rotinas chamadas funções.
Estas funções podem ser reutilizadas em outras aplicações ou programas. Passando pedaços de informação para as funções, pode-se criar um código reutilizáveis. Como estas características mostram, C é uma excelente escolha para a sua primeira linguagem de programação.
Ciclo de Desenvolvimento de Programas C
O Compilador GNU C gera programas executaveis em três etapas.
Partindo do programa–fonte escrito em C, que, didaticamente, será nomeado
arquivo.c, seguem as etapas:
Preprocessamento – são incluídos os cabeçalhos da biblioteca padrão, ampliando
o arquivo.c original
Compilação – o arquivo.c ampliando é traduzido para o seu equivalente em
código de máquina, e é gerado o código objeto de nome arquivo.o
Linkedição – os binários da Biblioteca Padrão são incluídos no código objeto arquivo.o, produzindo o programa executável arquivo.exe (Windows) ou arquivo
Ciclo de Desenvolvimento de Programas C
Editar É usado um editor para escrever o programa-fonte. Os programas-fonte C têm a extensão .c. Por exemplo, prog.c.
Compilar
Se o compilador não encontrar erro no programa, ele produz um arquivo objeto com extensão .obj (Windows) ou extensão .o (Linux) com o mesmo nome do arquivo do programa-fonte. Por exemplo,
prog.c compila para prog.obj ou prog.o. Se o compilador
encontrar erros, ele os informa e interrompe o processo.
Ligar
Se não ocorrer erro, o linker produz um programa executável e grava um arquivo com o mesmo nome do programa-fonte, com extensão .exe (Windows) ou sem extensão (Linux). Por exemplo,
prog.c dará origem ao arquivo prog.exe ou prog. Se o compilador
encontrar erros, ele os informa e interrompe o processo.
Executar
O Sistema Operacional carrega o programa executável. Pode-se testá-lo e determinar se ele funciona corretamente. Se não, fazer as modificações necessárias no programa-fonte e recomeçar com o processo.
Processo de Desenvolvimento de Programas
O programa executável é um arquivo binário, um programa completo e autossuficiente, podendo ser executado quando carregado na memória RAM pelo Sistema Operacional.
Processo de Desenvolvimento de Programas
O Sistema Operacional carrega um programa executável na memória RAM e organiza sua memória de trabalho criando quatro regiões logicamente distintas. Embora o layout físico destas regiões de memória difere entre os tipos de CPU e implementação da Linguagem C, a descrição a seguir mostra conceitualmente como programas C utilizam a memória.
Processo de Desenvolvimento de Programas
Manutenção – correção de erros e adição de recursos solicitados.
Erro - incompatibilidade entre as expectativas razoáveis de comportamento de um programa (geralmente expressa como uma exigência ou um guia do usuário) e o que ele realmente faz.
Teste - procura sistemática por erros em um programa.
Etapa Tempo (%) Atividade
Requisitos 10 especificação detalhada do programa, pode incluir o desenvolvimento de um protótipo e entrevistas com usuários
Projeto 20 proposição e criação de algoritmos, tipos de dados, objetos e outras estruturas necessárias para a implementação do programa
Codificação 20 codificação do projeto em uma linguagem de programação
Integração
e Teste 50
verificação e teste do programa, utilizando dados realistas e testes de campo visando a garantia de qualidade do software
Ciclo de Desenvolvimento de Programas C
O kernel do Linux na sua versão 3.3 passa de 15 milhões
de linhas de código em Linguagem C.
O que isso significa, em termos de esforços, no ciclo
desenvolvimento do Linux?
Corvo
O Corvo é uma ave de médio a grande porte, vivem em bandos com estrutura hierárquica bem definida. O corvo simboliza a astúcia, a criatividade, a sabedoria, a fertilidade, a esperança. São conhecidos pela sua capacidade de fabricar e utilizar pequenos instrumentos; em testes específicos de inteligência animal, costumam atingir altas pontuações.