Escolar Documentos
Profissional Documentos
Cultura Documentos
linguagem C
Sumrio
1. ESTRUTURA DE UM PROGRAMA C..............................................................2
A.
SINTAXE BSICA........................................................................................ 2
B.
OPERADORES............................................................................................ 2
2. VARIVEIS E CONSTANTES........................................................................7
3. TIPOS PRIMITIVOS..................................................................................... 7
A.
B.
4. ESTRUTURAS DE DECISO.........................................................................9
5. ESTRUTURAS DE REPETIO....................................................................10
A.
FOR ()...................................................................................................... 10
B.
WHILE ().................................................................................................. 11
C.
DO {} WHILE ()......................................................................................... 11
6. FUNES................................................................................................ 13
7. PASSAGEM DE PARMETROS POR VALOR..................................................14
8. PASSAGEM DE PARMETRO POR REFERNCIA...........................................15
ANEXO I TABELA ASCII.........................................................................17
ANEXO II MSCARAS DE DADOS..............................................................18
ANEXO III MODIFICADORES PARA MSCARAS DE DADOS.......................19
ANEXO IV CARACTERES NO IMPRIMVEIS...............................................20
1. ESTRUTURA DE UM PROGRAMA C
a. SINTAXE BSICA
b. OPERADORES
Operadores relacionais
Operadores de bits
Operadores de endereos
Segue abaixo as tabelas correspondentes a cada grupo de
operadores.
Operador de atribuio
Operador
=
Descrio
Exemplo
atribui valor a uma varivel x = 1; x = y;
x = y = 1;
Perceba que o operador = pode ser usado mais de uma vez em
uma mesma linha. Por exemplo, se voc quer atribuir o valor 1
as variveis x e y, voc pode escrever apenas:
x=y=1;
ao invs de:
y=1;
x=y;
Operadores aritmticos
Operado
r
+
*
/
%
\
Descrio
Soma
Subtrao
Multiplicao
Diviso
Resto da diviso
Diviso inteira
Descrio
incrementa x em 1
decrementa x em 1
Equivalncia
x=x+1
x=x1
Operadores compostos
Operador
x+=y
Descrio
Equivalncia
Soma o valor de x a y e atribui a x = x + y
x
x-=y
Subtrai o valor y em x e atribui a x = x - y
x
x*=y
Multiplica x por y e atribui o x = x* y
resultado a x
x/=y
Divide o valor de x por y e x = x / y
atribui o resultado a x
x%=y
Pega o resto da diviso de x por x = x % y
y e atribui a x
x\=y
Pega a parte inteira da diviso de x = x \ y
x por y e atribui a x
A tabela acima mostra apenas a combinao do operador =
com os operadores aritmticos, mas todos os outros operadores
pode ser combinados com o =, com exceo dos unrios.
Operadores lgicos
Operado
Descrio
r
&&
e lgico
||
ou lgico
!
no lgico
^
ou exclusivo
Os operadores lgicos so utilizados em sentenas e podem
resultar em verdadeiro ou falso.
Operadores relacionais
Operado
r
>
<
>=
<=
==
!=
Descrio
Maior que
Menor que
maior ou igual que
menor ou igual que
igual
diferente
Operadores de bits
Operado
r
Descrio
Inverte os bits de um
~
valor. ) 0 passa a ser 1 e
1 passa a ser 0.
e lgico entre duas
&
sequncias binrias
ou lgico entre duas
|
sequencias binrias
Desloca n bits para a
>>
direita
Desloca n bits para a
<<
esquerda
ou exclusivo entre duas
^
sequencias binrias
Os operadores de bit so bastante usados em tcnicas de
criptografia e compactao de arquivos. Estes operadores
fazem uma combinao bit a bit gerando um resultado baseado
no operador utilizado.
Ex:
Sabe-se que o decimal 4 representado em binrio por
00000100. Ao se fazer ~a os bits sero invertidos passando a
ficar 11111011 que em decimal equivale a 251.
Se operarmos com o operador & dois nmeros decimais
teremos:
(12) 00001100
&
(10) 00001010
------------------(08) 00001000
Operadores de endereos
Operador
Descrio
&
*
2.
VARIVEIS E CONSTANTES
PRECISO
1 byte
4 bytes
4 bytes
Double
8 bytes
ESCOPO
-127 a 127
-2.147.483.648 a 2.147.483.647
6 dgitos de preciso (incluindo casas
decimais)
10 dgitos de preciso (incluindo casas
decimais)
Obs: C no tem um tipo para lgico. Para testar verdadeiro ou falso
podemos usar um tipo inteiro ou char, sempre que o valor da varivel
assumir 0 ser falso, qualquer outro valor ser verdadeiro.
a. MODIFICADORES DE TIPO
PRECIS
O
1 byte
1 byte
4 bytes
4 bytes
2 bytes
4 bytes
10 bytes
ESCOPO
0 a 254
-127 a 127
0 a 4.294.967.295
-2.147.483.648 a 2.147.483.647
-32.768 a 32.767
-2.147.483.648 a 2.147.483.647
10 dgitos de preciso
return 0;
}
O cdigo anterior declara a varivel de nome carac como
sendo do tipo char com um modificador unsigned. Com este
modificador a varivel carac assumir valores apenas entre 0 e
254. O objetivo deste pequeno problema mostrar na tela uma
tabela ASCII, como esta varia de 0 a 254, um tipo unsigned
char foi utilizado. Note que carac utilizado em um loop for
variando de 0 a 254 e ao mesmo tempo utilizado no printf
para exibir tanto o cdigo como o caractere relacionado. Isto
possvel porque em C um tipo char pode receber tambm um
valor numrico que representa o cdigo ASCII do caractere.
Por exemplo, se for atribudo o valor 65 a uma varivel do tipo
char, e um printf for solicitado para imprimir a varivel na tela
com uma mscara do tipo %c, ser exibida a letra A, pois este
o caractere referente ao cdigo 65 na tabela ASCII.
4. ESTRUTURAS DE DECISO
5. ESTRUTURAS DE REPETIO
a. FOR ()
#include <stdio.h>
int main()
{
int i=0;
do
printf(%d\n,i);
while(i++<10);
return 0;
}
6. FUNES
bloco de cdigo;
return <valor processado>
}
Ex: (programa que implementa uma funo para calcular o y de uma
funo do segundo grau)
#include <stdio.h>
float grau2(float a, float b, float c, float x)
{
float y;
y = a*x*x+b*x+c;
return(y);
}
int main()
{
float x, y;
for(x=-5;x<=5;x+=.01)
{
y = grau2(0.5,1,2,x);
printf(x=%.2f, y=%.2f\n,x,y);
}
return 0;
}
7. PASSAGEM DE PARMETROS POR VALOR
num1 *= num2;
num2 += num1;
}
int main()
{
int n1,n2;
n1 = 2;
n2 = 1;
printf(%d, %d\n,n1,n2);
func(n1,n2);
printf(%d, %d\n,n1,n2);
return 0;
}
A diferena do exemplo citado agora para o anterior que no
usamos mais os operadores de endereo, e tambm, tanto no
primeiro com no segundo printf, sero exibidas as mesmas
sequencias, ou seja: 2,1.
descrio
mostra um nmero inteiro
mostra um caracter
mostra um nmero decimal
mostra um nmero inteiro
mostra um nmero inteiro longo
mostra um nmero exponencial (nmero cientfico)
mostra um nmero exponencial (nmero cientfico)
mostra um nmero inteiro em formato octal
mostra um nmero inteiro em formato hexadecimal
mostra um nmero inteiro em formato hexadecimal
mostra uma cadeia de caracteres (string)
Caracterer
Significado
\cx
\f
\n
\r
\s
\S
\t
\v