Buscar

Introducao Linguagem C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

LPE01 – Introdução à Linguagem C: 
características, bibliotecas e estrutura 
básica
Linguagem de Programação Estruturada
Linguagem de Programação
Programar = estruturar dados + construir algoritmos + ling. de programação (LP).
LP:
 Técnica de notação: conjunto de símbolos e palavras chave regidos por regras
→ sintaxe;
expressão do raciocínio algorítmico;
Semântica → significado.
Sintaxe:
é um conjunto de regras que define a forma de uma linguagem, estabelecendo
como são compostas as suas estruturas básicas (palavras).
Semântica:
descreve o significado de construções sintáticas válidas.
Linguagens de Alto e Baixo níveis
 É uma linguagem de Nível Alto pois a linguagem apresenta a capacidade de
compreender instruções escritas em “dialetos” próximos à linguagem humana (mais
comumente o inglês).
 Nasceu em 1972 projetada por Dennis M. Ritchie e Brian W. Kernigham;
 É derivada da linguagem ALGOL 68 e baseada na linguagem B;
 A linguagem C é de propósito geral, sendo adequada à programação estruturada.
 É mais utilizada para escrever compiladores, analisadores léxicos, bancos de dados, editores
de texto, etc..
 Nasceu da necessidade de escrever programas que utilizem os recursos internos da máquina
de uma forma mais fácil que a linguagem de montagem Assembly.
 Influenciou outras linguagens como: C++, JAVA, JavaScript e Jscript.
Compilação e Interpretação: necessidade
1. Para que um programa possa ser executado ele precisa estar em uma
linguagem que o computador possa entender. Logo, as linguagens de
programação de alto nível não podem ser automaticamente
compreendidas pois o computador entende apenas a linguagem de
máquina (0 e 1).
2. É necessário então transformar ou traduzir o código do programa em
binário, para isso são utilizadas diferentes estratégias:
1. Compilar
2. interpretar.
Linguagem Interpretada e Linguagem Compilada
o Interpretador:
o Lê o código fonte do programa uma linha por vez executando essa linha em
seguida (a função específica contida nessa linha);
o um programa interpretado necessita ter instalado o seu interpretador e toda as
vezes que o programa for executado a interpretador executará linha a linha de
novo.
o necessita do código fonte para ser executado.
o Compilador:
o O código fonte é executado diretamente o código é traduzido e é gerado um
programa executável;
o Para executar o programa não é preciso compilá-lo novamente, a não ser que o
código tenha sido modificado.
Linguagem C: características
 Portabilidade: é possível adaptar um software escrito para um tipo de
computador a outro (conversão), entre máquinas/arquiteturas e sistemas
operacionais (MAC ou PC; Linux ou Windows);
Modularidade: um programa em C é dividido/organizado em vários blocos
de código programáveis distintos (funções) que não estão interligados mas
quando compilados tornam-se um único programa.
É uma linguagem estruturada pois permite a compartimentalização do código
e dos dados. Ou seja, a habilidade de seccionar e esconder do resto do
programa todas as informações necessárias para se realizar uma tarefa
específica por meio de sub rotinas. Assim, pode-se apenas usar a função sem
saber como ela faz para resolver o problema (modularização).
Linguagem C: características
Possui vários recursos para controlar a memória da máquina e permite a
chamada de rotinas em Assembly ao processador.
É uma linguagem imperativa, ou seja, pode-se usar funções que modificam
o estado do programa, basta chama-las.
 Total interação com o Sistema Operacional (SO);
Código compacto e rápido (geração de código eficiente), quando
comparado ao código de outras linguagem de complexidade análoga;
Possui recursos de baixo nível.
Linguagem C: visão geral
o Durante a execução do programa os dados são armazenados na memória.
o As localizações de memória em que esses dados são armazenados se
denominam estruturas de dados (ED).
o As ED são organizadas conforme os tipos de dados disponíveis na
linguagem de programação.
o Antes de executar um programa, o computador carrega seu código
executável para a memória.
o Da área de memória que é reservada para o programa, uma parte é usada
para armazenar as instruções a serem executadas e a outra é destinada ao
armazenamento dos dados desse programa.
Ambiente de Desenvolvimento
DevC++
DevC++: características
Dev C++: 
Universidade CEUMA
Dev C++:
Busca no código fonte 
ou projeto um 
determinado trecho
Configuração da barra 
de ferramentas
Executa, compila e 
recompila
Dev C++: Criar e salvar um novo arquivo fonte
Dev C++: Compilar e executar um arquivo fonte
Dev C++: Compilar e executar um arquivo fonte
Visão geral e bibliotecas
Linguagem C
1ª - Linguagem C é case sensitive
o É case sensitive, isto significa que a linguagem
diferencia a grafia das palavras maiúsculas e
minúsculas. Ou seja, as escritas abaixo são 3
elementos distintos e apenas a grafada toda em
minúscula é reconhecida como uma palavra
reservada para sinalizar um comando.
o Case sensitive também vale para os nomes dos
identificadores (variáveis, funções etc.) e também
para os comandos.
o Comandos como if e for, somente são
reconhecidos como tais, se forem escritos em
minúsculo (palavras reservadas).
IF if If
Na Linguagem CNo VisuAlg
o Não é case sensitive, logo tanto
os comandos (palavras
reservadas) quanto os
identificadores podem ser
grafados, no mesmo programa,
em minúsculo ou maiúsculo
que sinalizarão o mesmo
elemento e serão reconhecidos
sem erros pelo interpretador.
o As grafias, abaixo, sinalizam um
único elemento.
SE Se se
1ª - Linguagem C é case sensitive
o É case sensitive:
o Deve-se estar atento à grafia de das
palavras em maiúsculo ou minúsculo.
o A falta de cuidado e atenção nisto,
leva a dois tipos de problemas:
o erros no hora de debugar/compilar
pois a palavra reservada do
comando não é reconhecida;
o erros durante a execução quando os
identificadores podem sinalizar
elementos diferentes.
Na Linguagem CNo VisuAlg
o Não é case sensitive:
oNão há preocupação com a
grafia de maiúsculo ou
minúsculo.
o Não leva a erros no
interpretador ou na execução
em relação a isto.
o Pode deixar o código com um
aspecto de desorganização.
2ª - Linguagem C tem palavras reservadas
o Exemplos: break, case, if, for, while,
continue, return, const ...
Na Linguagem CNo VisuAlg
o Exemplos: interrompa, caso, se,
para, enquanto...
o As palavras reservadas ou palavras chave são aquelas que:
o têm um significado especial para a linguagem;
o são responsáveis por realizar ações bem específicas da linguagem ou servem como
delimitadores (marcadores).
o não podem ser utilizadas pelo programador para outras finalidades.
o É uma diretiva de pré-processador C e é verificada antes do programa ser
compilado.
2ª - Linguagem C tem palavras reservadas: muitas mais...
o São palavras reservadas: as funções contidas nas bibliotecas, os tipos de
dados, modificadores de tipo etc.
3ª - Linguagem C utiliza bibliotecas
o Para se referir a uma biblioteca no programa de forma que as funções nela
existentes possam ser reconhecidas e incorporadas no executável, é
necessário identifica-las no programa.
o Sintaxes:
A biblioteca procurada pelo pré-processador pertence ao próprio sistema, as 
bibliotecas padrão ANSI do C.
O pré-processador procurará pela biblioteca no mesmo diretório onde se 
encontra o programa.
3ª - Linguagem C utiliza bibliotecas: mais algumas ...
o stdio.h (standard Input Output) - operações em arquivo, entrada e saída,
tratamento de erros etc.;
o stdlib.h – conversão de strings, geração de valores aleatórios, gerenciamento
de memória dinâmica, pesquisa e ordenação, aritmética de inteiro etc.;
o math.h - para funções trigonométricas, hiperbólicas, exponenciais,
logarítmicas, de potência, de arredondamento, valor absoluto etc.;
o string.h – cópia, concatenação, comparação, busca etc.;
o time.h – manipulação do tempo,conversão etc.;
o ctype.h – para verificação de valores (números, letras, espaço em branco
etc.) informados pelo usuário, conversão maiúsculo/minúsculo.
Biblioteca: math.h
Biblioteca: ctype.h
Há funções para modificar o estado da letra (maiúsculas e minúsculas), verificar se o que foi digitado é um 
ponto, vírgula, número, espaço, ctrl, etc.
 toupper() - esta função recebe um argumento que deve ser um caractere e retorna o
caractere correspondente em formato maiúsculo, se o caractere já for maiúsculo, a
função não o modifica.
 tolower() - esta função recebe um argumento que deve ser um caractere e retorna o
caractere correspondente em formato minúsculo, se o caractere já for minúsculo, a
função não o modifica.
 isalnum() - verifica se o caractere ou inteiro passado como parâmetro é alfanumérico.
Isso inclui todos os números e as letras do alfabeto, tanto maiúsculas quanto
minúsculas.
 isalpha() - verifica se o caractere ou inteiro passado como parâmetro é alfabético. Isso
inclui todas as letras do alfabeto, tanto maiúsculas quanto minúsculas.
 isdigit() - verifica se o caractere ou inteiro passado como parâmetro é um digito. Isso
inclui todos os números.
Biblioteca: ctype.h
 ispunct() - verifica se o caractere ou inteiro passado como parâmetro é uma pontuação.
Isso inclui qualquer tipo de pontuação como . , ? ! ^ ' { } ~ : ;. Porém, não é capaz de
verificar se uma letra é acentuada.
 isspace() - verifica se o caractere ou inteiro passado como parâmetro é um espaço em
branco.
 islower() - verifica se o caractere ou inteiro passado como parâmetro é uma letra
minúscula.
 isupper() - verifica se o caractere ou inteiro passado como parâmetro é uma letra
maiúscula.
 iscntrl() - verifica se o caractere ou inteiro passado como parâmetro é um caracter de
comando. Isso inclui CTRL, ALT, ENTER, BACKSPACE, etc.
 isxdigit() - verifica se o caractere ou inteiro passado como parâmetro é compatível com
um número hexadecimal. Isso inclui todos os número (0 - 9) e qualquer letra entre A e F
(não importa se minúsculo ou maiúsculo).
Características, Estrutura básica e algumas funções
Linguagem C
4ª - Linguagem C utiliza delimitadores para bloco de código
o Os blocos de comandos/instruções de uma função devem ser delimitados
quanto ao seu início e fim. Desta forma, o escopo (área de
atuação/pertencimento) da função estará delimitado.
o Na função, as chaves servem para indicar o início e fim do seu bloco de
código (conjunto de instruções ou comandos) e são obrigatórias para toda e
qualquer função.
o São utilizados como delimitadores de bloco de instruções os símbolos de
chaves { }.
o As chaves são utilizadas também como delimitadores nas estruturas
condicionais e de repetição e em outras situações que serão apresentadas
mais adiante. Serão apresentados exemplos mais adiante.
5ª - Linguagem C utiliza delimitadores para instruções
o Cada instrução, ao seu final, deve ser delimitada pelo símbolo de
ponto-e-vírgula ;
o Isto torna possível que seja descrita mais de uma instrução por linha de
código. Isto, embora, seja uma flexibilidade, deve ser utilizado de forma
equilibrada para não comprometer a clareza e organização do código.
6ª - Linguagem C tem uma estrutura básica e modular
o É organizada em módulos, sendo que o módulo básico é chamado de
função e tem um nome/identificador;
o A função main() é o módulo principal e é obrigatório, pois é a partir
dele que se começa a executar o programa;
o Por ser uma função é necessário utilizar as chaves para delimitar o
escopo de atuação da função principal.
7ª - Linguagem C permite colocar comentários
o Comentar um código significa que o texto ou expressão serão ignorados pelo
interpretador ou compilador, não sendo portanto executado embora, faça
parte do programa.
o Em geral, utiliza-se a ação de comentar para:
Adicionar um texto que esclareça algum comportamento do código, 
ajudando na debugação do código.
Ignorar uma parte do código, sem que seja necessário apaga-lo.
o Os delimitadores de comentário são dois:
 Para comentar uma linha utilizam-se duas barras horizontais seguidas: //
 Para comentar um bloco de linhas utilizam-se no início da posição a ser 
comentada /* e na posição final o */.
Linguagem C: estrutura básica
No VisuAlg Na Linguagem C
Linguagem C: organização do código
o Organizar o código é uma necessidade e há um conjunto de regras de boa
práticas de programação. Algumas delas são gerais para qualquer LP e outras
dependem de características da LP. Por exemplo, deve-se:
1) identar o código, ou seja, organizar o código de modo que este fique com
uma estética que auxilia a sua clareza, leitura, interpretação e,
consequentemente, ajude na manutenção. No que consiste? É o espaçamento
(ou uso do recuo/tabulação) antes de uma instrução, com o objetivo de
sinalizar a hierarquia entre as instruções do código. Serão apresentados alguns
exemplos mais adiante.
2) Adicionar comentários quando necessário para esclarecimento de alguma
informação importante, mas evitar o excesso deles;
3) Evitar o uso exagerado de muitas instruções na mesma linha.

Continue navegando