Escolar Documentos
Profissional Documentos
Cultura Documentos
nosso caso, especialmente, ser de grande utilidade o conhecimento da linguagem Pascal, uma vez que
ela e C se assemelham em muitos aspectos.
Nome do tipo
int
unsigned int
__int8
__int16
Bytes
*
*
1
2
__int32
__int64
char
unsigned char
short
1
1
2
unsigned short
long
2
4
unsigned long
enum
float
double
long double
4
*
4
8
10
Outros Nomes
signed, signed int
unsigned
char, signed char
short, short int,
signed short int
signed, signed int
signed char
short int,
signed short int
unsigned short int
long int,
signed long int
unsigned long int
Faixa de Valores
Dependente do Sistema
Dependente do Sistema
128 at 127
32,768 at 32,767
2,147,483,648 at
2,147,483,647
9,223,372,036,854,775,808 at
9,223,372,036,854,775,807
128 at 127
0 at 255
32,768 to 32,767
0 at 65,535
2,147,483,648 at
2,147,483,647
0 at 4,294,967,295
mesmo de int
3.4E +/- 38 (7 digits)
1.7E +/- 308 (15 digits)
1.2E +/- 4932 (19 digits)
Obs:
- Signed e unsigned so modificadores que podem ser aplicados a qualquer tipo integral.
- Os tipos int e unsigned int possuem o tamanho da palavra do sistema: 2 bytes (o
mesmo que short e unsigned short) no MS-DOS e verses 16-bits do Windows, e 4
bytes em SO de 32-bits.
Todas as variveis devem ser declaradas antes de serem utilizadas. Na declarao
so fornecidos o(s) nome(s) da(s) varivel(is) e o tipo de dados a que pertence(m). Na
declarao primeiro especificado o tipo de dados e depois fornecida a lista de variveis.
Por exemplo, para declarar as variveis maior, menor e medio, do tipo inteiro, utiliza-se a
seguinte declarao:
int maior, menor, medio;
obs: as declaraes de variveis, como qualquer declarao em C, terminam com ponto-evrgula. Em C, o ponto-e-vrgula um terminador de comandos, diferentemente de Pascal,
onde funciona como um delimitador de comandos. Por isso todo comando finalizado por
ponto-e-vrgula, mesmo antes da palavra-chave
else, ou do smbolo
equivalente ao end do Pascal, o }
2.2 Nomes de identificadores
Os identificadores (de variveis tipos, etc.) podem comear com qualquer letra do
alfabeto ou o caractere de sublinhar ( _ ). Em seguida, poder haver uma letra, um nmero
ou caractere de sublinhar. Em C, ao contrrio do que ocorre em Pascal, letras maisculas
so diferentes das correspondentes minsculas no nome de identificadores. Por exemplo,
Soma, SOMA e soma podem ser nomes de trs variveis distintas.
No permitida a utilizao das palavras-chave de C como nomes de variveis. Os
nomes de variveis no podem tambm coincidir com nomes de funes.
As variveis podem ser globais ou locais. As globais so declaradas fora de qualquer
funo e podem ser referenciadas em qualquer parte do programa. As locais so utilizadas
somente no interior da funo onde foram declaradas.
Deve-se chamar ateno, a fim de evitar equvocos, para o fato de que as variveis
declaradas dentro na funo main( ) no so globais.
2.3 Palavras-chave de C
C tem 28 palavras-chave, que no podem ser utilizadas como nomes de variveis ou
funes.
auto
break
case
char
continue
default
do
double
else
entry
extern
float
for
goto
if
int
long
register
return
sizeof
short
static
struct
switch
typedef
union
unsigned
while
2.4 Funes em C
Um programa C um conjunto de blocos ou mdulos denominados funes. Para
escrever um programa, deve-se criar as funes, para depois junt-las. Uma funo uma
subrotina formada por uma ou mais declaraes que executa uma tarefa bem definida.
Cada funo tem um nome, um tipo associado e uma lista de argumentos. O tipo
associado funo indica o tipo de valor que a funo retorna. Caso no haja um tipo
especificado, assumido o tipo inteiro (int). Para indicar uma funo que no retorna
nenhum valor (semelhante a uma procedure de Pascal) associa-se a palavra void funo.
A funo main( ) especial por ser a primeira a ser chamada quando um programa
executado. Logo, qualquer programa C deve ter no mnimo uma funo: main( ). A funo
main( ) pode estar localizada em qualquer parte do programa. Contudo, deve-se escolher
um padro a ser adotado, por questo de clareza. Por exemplo, pode-se adotar o prtica de
colocar a funo main( ) sempre no final do programa, semelhante ao corpo principal do
programa Pascal.
Funes sero discutidas com maiores detalhes na seo 4.
2.5 Comentrios
Os comentrios de C podem ser colocados em qualquer local do programa e esto
entre a marca inicial ( /* ) e a marca final (*/), como por exemplo:
/* Isto e um comentario */
// Isto um comentrio de linha (encerra-se no fim da linha)
3 Estruturas de controle de C
3.1 Estruturas condicionais
A declarao if
A forma geral da declarao if
if (condio de teste)
declarao1
else declarao2
onde declarao1 e declarao2 so declaraes normais (terminadas por ponto-e-vrgula).
A declarao else opcional. No lugar das declaraes simples, pode haver blocos de
declaraes. A forma geral de if com blocos de declaraes :
if (condio de teste)
{
/* declaracoes do bloco1 */
}
else
{
/* declaraes do bloco 2 */
}
A declarao break utilizada em cada case faz com que o fluxo do programa saia da
declarao switch. Caso no seja includa a declarao break, todas as declaraes na e
abaixo da coincidncia sero executadas.
3.2 Estruturas de repetio
A estrutura for
A estrutura for usada, em geral, quando se deseja executar declaraes um certo
nmero (previamente conhecido) de vezes. A forma geral de for :
for ( inicializao; condio; incremento)
declarao;
Para a repetio de um bloco, a forma geral :
for ( inicializao; condio; incremento)
{
declarao1;
declarao2;
.
.
declarao n;
}
possvel tambm que partes da definio da estrutura for seja omitida, como nos
dois exemplos a seguir exemplo:
for ( x = o; x != 123; )
{
x = getnum( ); // leia um nmero via teclado
.
.
}
x = 0;
for ( ; x < 10; )
{
printf ( "%d\n", x ) ;
++x;
}
A estrutura while
while outro tipo de estrutura de repetio da linguagem C. A forma geral da
declarao :
while (<expresso>)
declarao;
onde declarao pode ser uma nica declarao ou ou um bloco de declaraes que devem
ser repetidos. A condio pode ser qualquer expresso em que a verdade qualquer valor
diferente de zero. A declarao executada enquanto a condio verdadeira.
A estrutura do-while
Ao contrrio das estruturas for e while, que testam a condio do lao no incio, a
estrutura do-while verifica a condio no final. Isto significa que ser executada pelo menos
uma vez. A forma geral :
do
{
declaraes;
} while (<expresso>);
As chaves no so necessrias quando existe apenas uma declarao. No entanto,
elas so normalmente utilizadas para melhorar a leitura da construo do-while.
Controles adicionais:
A declarao break
Quando a declarao break encontrada dentro de um lao, este imediatamente
encerrado e o controle do programa reassume na declarao seguinte ao lao.
normalmente utilizada em laos onde condies especiais podem provocar encerramento
imediato.
A funo exit( )
Uma outra maneira de encerrar a execuo de um lao o emprego da funo
exit( ), que encerra a execuo do programa. Esta funo possui uso restrito. Geralmente
usada quando uma condio imperativa para a execuo no satisfeita, como, por
exemplo: uma aplicao grfica onde uma placa de funes grficas coloridas deve estar
presente no sistema e, no estando, inviabiliza sua execuo.
A declarao continue
A declarao continue fora a iterao seguinte do lao a ser executada. Nas
estruturas while e do-while, uma declarao continue far com que o controle v
diretamente para a condio para, em seguida, continuar com o processo de repetio. No
caso do for, o trecho de incremento da malha executado, a condio verificada e,
dependendo desta verificao, o lao continua.
4 Funes
As funes so blocos de construo, onde ocorrem todas as atividades do
programa. Depois que uma funo foi escrita e depurada, poder ser utilizada quantas vezes
for necessrio. Este um dos aspectos mais importantes da programao modular.
A forma geral das funes :
<tipo de retorno> <nome da funo> (lista de parmetros)
{
corpo da funo
}
Em geral, funes retornam valores, o que pode ser especificado pelo comando
return. Caso a funo no retorne nenhum valor (semelhante a uma procedure Pascal), o
tipo de retorno que ser associado ser void. Caso o tipo de retorno no seja especificado,
ficar definido por default o tipo inteiro, porm, as tcnicas de programao estruturada,
visando ao aspecto de legibilidade do cdigo, aconselham a declarao explcita, mesmo no
caso de inteiros.
N! = N * (N-1)!