·
O sistema operacional UNIX,
os seus programas de aplicação e o próprio compilador C, são escritos em C.
·
Compiladores C existem
hoje para quase todas as máquinas.
·
Muitas idéias do C
originam-se da linguagem BCPL.
·
A influência do BCPL no
C procede indiretamente da linguagem B, escrita para o primeiro sistema UNIX no
PDP-7.
·
De relativo "baixo
nível" ou "médio nível".
·
Manipula: caracteres,
números, e endereços.
·
Operadores: lógicos e
aritméticos.
·
Não provê: operações para
manipular diretamente: cadeias de caracteres, conjuntos, listas, arranjos, etc.
·
Não provê alocação
dinâmica de memória nem coletor de lixo.
·
Não provê comandos de
E/S.
·
Vejamos o nosso primeiro
programa...
·
Exemplo: Programa para
imprimir a cadeia "Meu primeiro programa"
/*
UFPB/CCT/DSC/Introducao a Programacao - 2001.1
Este programa imprime uma cadeia de caracteres na saida padrao
retirado do livro: C, a linguagem de programacao
*/
#include <stdio.h>
#include <conio.h>
void main() {
clrscr(); /* comando para limpar a tela */
printf("Meu primeiro programa...\n");
}
onde:
/* ... */ =>
Notação C para comentários.
#include <stdio.h>
=> Diz ao compilador para incluir informações
sobre a biblioteca padrão de entrada/saída.
#include <conio.h>
=> Diz ao compilador para incluir informações
sobre a biblioteca de entrada/saída na console (terminal de ativação do
programa).
void main( ) {...}
=> Definição da função main( ), obrigatória em
todo o programa e é por onde a execução do programa inicia.
printf(...) => Comando de chamada
à função printf(), para execução de impressão da cadeia de caracteres.
"..." =>
Representação da cadeia de caracteres.
\n
= Notação C para o caractere de nova linha.
Este tipo de caractere (\n) é chamado de seqüência de escape.
Dentre as seqüências de escape que a linguagem C provê, tem-se:
\t => |
tab (tabulação) |
\b => |
backspace (retrocesso) |
\" => |
" (aspa) |
\\ => |
\ (contra-barra) |
o
Estas restrições valem
para nomes de variáveis e constantes simbólicas.
o
Podem ser compostos de
letras e dígitos; o primeiro caractere deve ser letra.
o As letras maiúsculas e minúsculas são distintas, de modo que: mediaAritmetica e MediaAritmetica são nomes distintos.
o
Tamanho máximo para nomes
internos: 31 caracteres
o
Cuidado com as palavras
reservadas!!
o
Tipos básicos de dados
em C:
Tipo |
Tamanho |
Capacidade |
char |
Um único byte |
capaz de conter um caractere no conjunto de caracteres locais |
int |
16 bits |
Um inteiro, variando de –32.768 -> 32.767 |
float |
32 bits |
Ponto flutuante com precisão simples (6 dígitos de precisão) |
double |
64 bits |
Ponto flutuante com precisão dupla (10 dígitos de precisão) |
o Existem modificadores que podem ser aplicados a estes tipos básicos, quais sejam: short, long, signed e unsigned
§ long aplica-se a inteiros e a reais de dupla precisão.
Tipo |
Tamanho |
Capacidade |
unsigned char |
Um único byte |
0 -> 255 |
signed char |
Um único byte |
-128
-> 127 |
short
int |
16 bits |
O mesmo que int |
long int |
32 bits |
- |
signed
int |
16 bits |
O mesmo que int |
unsigned
int |
16 bits |
0 ->
65.535 |
long
double |
128 bits |
Dez dígitos de precisão |
o
Constantes numéricas: 123,
1236767878L (int); 123.8 (double); 123.8F (float); 0x15 (hexadecimal); 07
(octal)
o
Constantes de caractere:
um inteiro escrito como caractere entre aspas simples. Exemplo, ‘x’; ‘\n’; ‘\0’
o
Expressão constante:
expressão contendo apenas constantes. Exemplo,
#define MAXLINHA 100
o
Constantes do tipo
cadeia de caracteres: podem conter 0 (zero) ou mais caracteres delimitados por
aspas duplas. Exemplo, "Engenharia Elétrica"; "" (cadeia
vazia).
o
Forma geral:
tipo <lista de 1 ou mais variáveis>
o
Exemplo:
char ch, nome[50];
int idade,
incr;
·
Exemplo:
const char prompt[] =
"mensagem...";