Criada no início da década de 70 por Dennis Ritchie, no AT&T Bell Labs. A linguagem C tinha o objetivo de implementar o sistema operacional UNIX, que anteriormente era escrito em Assembly.
Características:
- Portabilidade;
- Procedures;
- Compilado;
- Compacto;
- Rápido;
- Construções Simples;
- Modularização;
- Adição de Bibliotecas;
- Desenv. de Softwares e Sistemas;
- Ponteiros;
- Estruturas de Variáveis;
- Registros;
- etc.
Organização
Composto por Dados (variáveis inicializadas antes do programa) e Funções (partes de código organizadas em módulos).
Obrigatório o uso da função especial ou principal:
main () {
}
Funcionamento
Arquivo Fonte Principal –argumento–> Compilador –> Unidade de Compilação <–Definições (#include)
Ambiente
A IDE ou Ambiente Integrado de Desenvolvimento mais famoso é o DEV-C++.
1. Estrutura Básica
[tipo de dado] main () {
[corpo do programa]
}
Programa em C
//Essas duas // representam um comentário ou /* para várias linhas */
#include <stdio.h> //inclusão da biblioteca Standard I/O
int main (){ //tipo de variável int (inteira) e função main (principal)
printf (“programa em C”); //imprime na tela o texto programa em C
return(0); //retorna o valor 0 para a função main
} //finaliza a função
Bibliotecas Básicas
<stdio.h> Standard I/O (printf e scanf)
<stdlib.h> Standard Library functions (aloc de memória, controle de processos, ordenação, conversões, system(), etc)
<string.h> Manipulação de Strings (strcmp, strlen, strcpy, strcat, etc)
<ctype.h> Funções de teste e tratamento de caracteres
<conio.h> Manipulação de caractere (cores, fundo, etc)
<math.h> Funções matemáticas
Tipos de Dados (+ comuns)
int (inteiro)
armazena valores numéricos inteiros (de 16, 32 ou 64bits – dependente do processador e/ou SO)
char (caracteres)
ocupa 1 byte (8bits) e geralmente armazenado em código ASCII
float (casas decimais ou números reais)
também conhecido com ponto flutuante e ocupa 4bytes com (6 dígitos de precisão)
double (dobro do float)
pontos flutuantes com dupla precisão e ocupa 8bytes (10 dígitos de precisão)
OBS: signed (positivos e negativos) e unsigned (zero e positivos); e long e short delimitam o tamanho de alocação de memória

2. Variáveis
É um espaço reservado na memória para armazenar um tipo de dado determinado.
Devem receber nome para tornar-se possível sua modificação e referenciação. E serem declaradas antes do seu uso.
2.1 Tipos
Locais: funciona apenas dentro da função que foi declarada
Globais: utilizadas em qualquer função
2.2 Declaração
Uma variável [tipo de dado] [nome da variável];
Ex: int idade;
Mais de uma [tipo de dado] [nome da variável1], [nome da variável2], [nome da variável3];
Ex: float nota1, nota2, nota3;
Inicializando na Declaração
Ex: int idade=25; ou float nota1=8.5, nota2=9.2, nota3=7.8;
Zerando variáveis na inicialização
Ex: int numero=0; char letra=’ ‘; float resultado=0;
2.3 Nomes
O C é Case Sensitive (ou seja, int numero; é diferente de int NuMeRo;).
Deve-se iniciar com letra, podendo ser utilizados números e underline em sequência.
OBS: Cuidado com as palavras reservadas abaixo










[Fonte: Photobucket]