







Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila de c
Tipologia: Notas de estudo
1 / 13
Esta página não é visível na pré-visualização
Não perca as partes importantes!








A linguagem de Programação C foi desenvolvida na AT&T Laboratories por Dennis Ritchie em 1972. Surgiu da necessidade de uma linguagem de programação que fosse razoavelmente fácil de aprender, de baixo e alto nível simultaneamente e, principalmente, independente do hardware. Foi inicialmente utilizada no desenvolvimento do sistema operacional UNIX.
Evolução da linguagem
A extensa variedade atual de linguagens/compiladores, disponíveis para desenvolvimento de software, engloba praticamente todos os aspectos possíveis do
ciclo de construção de programas, tanto em termos de facilidades de programação (ambiente, depurador, otimizador de código, etc.) quanto em componentes prontos para as tarefas mais comuns. O simples fato de que a maioria das novas ferramentas é voltada para aplicações específicas e em ambientes específicos, possibilita que uma linguagem antiga (bem projetada) continue mantendo seu espaço através das seguintes vantagens:
Com todas estas vantagens, alguém pode ser tentado a começar o uso de C imediatamente sem mais considerações. Deve-se alertar que a linguagem C possui seus problemas e alguns destes, curiosamente, advêm justamente das vantagens apresentadas pelos defensores de C:
a) Velocidade: um programador mediano pode facilmente desenvolver um programa em C que seja mais lento que um programa feito por um novato em um ambiente mais moderno, como o Visual Studio , por exemplo. Um programa em C somente será mais rápido se for bem projetado e levando-se em consideração as habilidades algorítmicas do programador, seu conhecimento da linguagem e o seu conhecimento do hardware e do sistema operacional onde o programa será utilizado.
b) Flexibilidade: novamente uma característica que depende muito do conhecimento do programador. Caso este não conheça muito bem as nuances da linguagem poderá desenvolver um programa que não funcione corretamente e o que é pior: difícil de depurar.
c) Portabilidade: mesmo utilizando ANSI-C (C padrão) não há garantias que um programa funcione corretamente em plataformas diferentes, visto que existem diferenças significativas na implementação dos compiladores.
C é uma linguagem de programação de médio nível, pois possui estruturas de controle e de dados inerentes a linguagens de alto nível e facilidades de programação de hardware, característica de linguagens de baixo nível (ex: assembly). É sensível ao caso, ou seja, diferencia as letras minúsculas das maiúsculas. Escrever contador em C é diferente de Contador ou cOntador. Convencionou-se que os nomes de funções e variáveis em C sejam escritas em minúsculas enquanto os nomes de constantes em maiúsculas.
Linha 8: return 0; Retorna o valor 0 para indicar que o programa finalizou.
Linha 9: } Uma chave fechada indica o fim de um bloco. Em nosso exemplo, estamos finalizando a função principal.
Ao ser executado, este programa apresenta uma única mensagem.
Meu primeiro programa
No programa anterior a única informação que não faz parte dos comandos da linguagem C é a frase mostrada na tela. Esta frase não muda, sempre é mostrada da mesma forma. Os dados de um programa cujos valores não mudam são chamados de constantes.
Exemplos de constantes
Existem dados que variam durante a execução de um programa. Estes elementos chamam-se de variáveis e podem conter qualquer valor de um determinado tipo de dados. Os tipos de dados definem que elemento pode ser inserido dentro de uma variável e também qual o tamanho desta variável. A linguagem C tem 4 tipos de dados básicos:
Estes tipos podem se alterados quanto ao tamanho ou faixa de valores pelos modificadores de dados short, long, signed, unsigned.
Para que uma variável possa ser usada em um programa ela deve ser criada. A declaração de variáveis é o processo pelo qual a variável é criada, fornecendo no ato um nome e um tipo para a variável. Este processo resulta na alocação (reserva) de um espaço de memória referente ao tamanho do tipo definido.
Sintaxe:
onde:
Exemplos
int idade, qtde; float valor_comprado; char email; double nota1, nota2;
Após a declaração destas variáveis teremos espaços reservados em memória para cada uma delas. Neste espaço podemos realizar operações de leitura e escrita, de acordo com a necessidade do algoritmo.
Função para impressão de dados formatados na saída padrão ( stdout - tela) definida no arquivo cabeçalho stdio.h.
Sintaxe:
printf ("<texto para impressão>", , <expressão>, ...);
<texto para impressão> é o texto que será impresso na tela. Este texto pode ser composto de caracteres que serão exibidos na tela ou ações que serão executadas, como, por exemplo, pular uma linha ou emitir um bip no alto-falante.
este argumento é opcional e indica um valor que será impresso dentro do <texto para impressão>. Pode ser uma variável ou constante.
<expressão> este argumento é opcional e indica um valor que será impresso dentro do <texto para impressão>. Pode ser uma expressão aritmética ou lógica ou ainda uma chamada a outra função.
Exemplos:
printf("O valor da variável idade é %d", idade);
printf("Depois deste texto serão puladas duas linhas\n\n");
Para imprimir o conteúdo de uma variável dentro do texto é necessário inserir neste mesmo texto no local de impressão um % seguido do tipo a ser mostrado. As opções disponíveis para impressão de variáveis são:
Código Tipo da Impressão %c caractere %o número na base octal %x número na base hexadecimal %d número na base decimal %e número em notação científica %f número float %l número long int %lf número double %u número sem sinal %s string %p endereço %% sinal de %
Estes códigos de impressão podem ser usados também para alterar o tamanho do campo e a forma de impressão do resultado. Para especificar o tamanho mínimo deve-se colocar a quantidade de casas do campo entre o % e o símbolo do tipo correspondente. Como exemplo, suponha que a variável var tem o valor igual a oito.
printf ("Valor: %6d", var);
Imprime uma variável inteira com no mínimo 6 casas, alinhadas a direita. Se a variável possuir menos de 6 dígitos o número será completado com espaços em branco a esquerda.
Valor: 8
printf ("Valor: %-6d", var);
Imprime uma variável inteira com no mínimo 6 casas, alinhadas a esquerda. Se a variável num possuir menos de 6 dígitos o número será completado com espaços em branco a direita.
Valor: 8
printf ("Valor: %4.2f", var);
Imprime uma variável float com 4 dígitos sendo 2 decimais. Se não for especificado o número de casas decimais serão impressas 6 casas decimais.
Valor: 8.
printf ("Valor: %06d", var);
Este comando imprimirá o valor da variável alinhado a direita com zeros a esquerda conforme a saída indicada abaixo:
Valor: 000008
Além de valores de variáveis, podemos especificar, dentro do texto para impressão, caracteres especiais que representam determinadas ações, conforme a tabela abaixo:
scanf ("%c", &letra);
Este comando aguarda a digitação de um caractere do teclado, que é colocado na variável letra.
scanf ("%f", &preco);
Este comando aguarda a digitação de um valor numérico do teclado. Este valor digitado é colocado na variável preco. As casas decimais devem ser digitadas após um ponto e não uma vírgula.
Os tipos que podem ser utilizados no scanf são semelhantes aos do printf como indica a tabela abaixo:
Código Tipo da Variável %c caractere %o inteiro na base octal %x inteiro na base hexadecimal %d inteiro na base decimal %e número em notação científica %f número float %l inteiro longo %lf número double %s string %u inteiro sem sinal
Função para leitura de strings da entrada padrão ( stdin - teclado) definida no arquivo cabeçalho stdio.h.
Sintaxe: gets (var);
é a variável que receberá a string.
Uma string em linguagem C é entendida como um conjunto de caracteres. Para armazenar uma string em memória, é preciso criar (declarar) um vetor de caracteres.
Exemplo:
#include<stdio.h> int main() { char teste[10]; gets(teste); printf("A string digitada foi: %s", teste); return 0; }
Neste exemplo, a variável teste foi declarada como sendo do tipo char (caractere) e contendo 10 letras.
Os operadores aritméticos são usados para desenvolver operações matemáticas.
Operador Ação
O operador “/” (divisão) quando aplicado a variáveis inteiras, nos fornece o resultado da divisão inteira; quando aplicado a variáveis em ponto flutuante nos fornece o resultado da divisão "real". O operador ”%” fornece o resto da divisão de dois inteiros.
Os operadores relacionais do C realizam comparações entre variáveis.
Operador Ação
Maior do que = Maior ou igual a < Menor do que <= Menor ou igual a == Igual a != Diferente de && and (e)
Em certas expressões com tipos de dados misturados é possível realizar a conversão automática de tipos.
Exemplo: int valor; valor = (int) 3.141592;
A variável valor terá como conteúdo o número 3.