Академический Документы
Профессиональный Документы
Культура Документы
Sumrio
Variveis:
Tipos de variveis; Nome da varivel; Palavras reservadas; A funo printf(); A funo scanf(); Variveis locais; Variveis globais;
Constantes:
Constantes Hexadecimais e Octais; Constantes de barra invertida;
2/53
Sumrio
Operadores:
Operador de atribuio; Converso de tipos em atribuio; Operadores Aritmticos; Operadores Relacionais; Operadores Lgicos; Operadores bit a bit.
3/53
Variveis
So espaos de memria reservados que guardam valores durante a execuo de um programa; Todas as variveis em C devem ser declaradas, antes de serem usadas; Uma declarao de varivel em C consiste no nome de um tipo, seguido do nome da varivel, seguido de ponto-e-vrgula. Ex: tipo_da_variavel lista_de_variaveis; int num;
Tipo da Varivel Nome da Varivel
Prof. Leonardo Barreto Campos 4/53
Tipos de Variveis
O tipo de uma varivel informa a quantidade de memria, em bytes, que a varivel ocupar e a forma como um valor dever ser armazenado; H cinco tipos bsicos de dados em C:
TIPO
char int float double void
BIT
8 16 32 64 0
BYTES
1 2 4 8 0
ESCALAS
-128 a 127 -32768 a 32767 3.4E-38 a 3.4E+38 1.7E-308 a 1.7E+308 Nenhum valor
5/53
Tipos de Variveis
Exceto o void, os tipos de dados bsicos podem ter vrios modificadores precedendo-os; Um modificador usado para alterar o significado de um tipo bsico para adapt-lo mais precisamente s necessidades de diversas situaes, veja:
Tipo Bits 16 16 16 16 32 Incio -32.768 0 -32.768 -32.768 -2.147.483.648 Fim 32.767 65.535 32.767 32.767 2.147.483.647
6/53
Nome da Varivel
O nome de uma varivel pode ser de uma letra at palavras com no mximo 32 caracteres; Obrigatoriamente deve comear com uma letra ou undercore (_). O restante pode ser letras de A a Z, maisculas, minsculas, nmeros e o underscore; Ex: a; num; essa_e_uma_variavel; tambem_essa; Cuidados:
O nome de uma varivel no pode ser igual a uma palavra reservada; O nome de uma varivel no pode ser igual a de uma funo declarada pelo programador ou pelas bibliotecas do C.
7/53
Palavras reservadas
Eis algumas palavras reservadas da linguagem C:
auto break case char const continue default asm interrupt double else ebun extern float for goto pascal near int long register return short signed sizeof far _cs struct switch typedef union unsigned void volatile huge _ds
8/53
Nome da Varivel
Em C, letras maisculas e minsculas so tratadas diferentemente. int variavel; int Variavel; int VaRiAVeL; int VARIAVEL; ou int variavel, Variavel, VaRiAVeL, VARIAVEL;
9/53
Exemplos de Variveis
#include <stdio.h> /* Exemplo da varivel Char */ int main() { %c indica que printf() deve colocar um caracter na tela. char Ch; Ch=D; printf(%c, Ch); return 0; }
10/53
Exemplos de Variveis
#include <stdio.h> /* Exemplo da varivel Inteiro */ int main() { %d indica que printf() deve colocar um inteiro na tela. int num; num=10; printf(%d, num); return 0; }
11/53
A funo printf()
A funo printf() tem a seguinte forma geral: printf(string_de_controle, lista_de_argumentos) Teremos, na string de controle, uma descrio de tudo que a funo vai colocar na tela. Isto feito usando-se os cdigos de controle, veja alguns exemplos: Cdigo %d %f %c %s %% Significado Inteiro Float Caractere String Coloca um % na tela
12/53
A funo scanf()
O formato geral da funo scanf() : scanf(string_de_controle, lista_de_argumentos); #include <stdio.h> /* Exemplo da funo scanf() */ int main() { int num; printf(Digite um nmero: ); scanf(%d, &num); printf(%d, num); return 0; }
Prof. Leonardo Barreto Campos 13/53
Exemplos de Variveis
#include <stdio.h> /* Exemplo da varivel String */ int main() { Funo para leitura de String (Char) char nome[20]; printf(Digite seu nome: ); gets (nome); printf(\n\nSeu nome : %s, nome); return 0; }
Prof. Leonardo Barreto Campos 14/53
Variveis Locais
So variveis declaradas dentro de uma funo; S podem ser referenciadas por comandos que esto dentro do bloco no qual as variveis forma declaradas; #include <stdio.h> int main() Incio do bloco { int x; int y; x = 10; y = 20; Fim do bloco }
Prof. Leonardo Barreto Campos 15/53
Variveis Locais
As variveis tambm podem ser declaradas dentro de qualquer outro bloco de cdigo, veja: #include <stdio.h> int main() { int x; scanf(%d, &x); if (x == 1) { Criao da varivel char s[30]; printf(Entre com o nome); gets(s); /* Faz alguma coisa*/ } Morte da varivel }
Prof. Leonardo Barreto Campos 16/53
Variveis Globais
So variveis reconhecidas pelo programa inteiro e podem ser usadas por qualquer bloco de cdigo; As variveis globais so criadas declarando-as fora de qualquer funo. Veja: #include <stdio.h> int num; void func1(); void func2(); int main() { num = 100; func1(); }
Declarao de uma varivel global
Utilizao da varivel
Variveis Globais
As variveis globais encontram-se armazenadas em uma regio fixa da memria, separada para esse propsito pelo compilador C; Variveis globais so teis quando o mesmo dado usado em muitas funes em seu programa; Alerta: Variveis globais ocupam memria durante todo o tempo em que seu programa estiver executando, portanto, evite usar variveis globais desnecessrias.
Prof. Leonardo Barreto Campos 18/53
Constantes
Variveis com o modificador const no podem ser modificadas por seu programa; #include <stdio.h> int main() { const int num = 100; }
Cria uma varivel inteira chamada a, com um valor inicial 10, que seu programa no pode modificar.
Prof. Leonardo Barreto Campos 19/53
10 em decimal
20/53
Exerccio da Lista
Faa um programa em C para ler uma temperatura em graus Celsius e transform-la em Farenheit. Utilize a seguinte frmula: F = ((9 * C) / 5) + 32
22/53
23/53
Operadores
24
Operadores
A linguagem C muito rica em operadores internos. Ela define quatro classes de operadores:
Aritmtico; Relacionais; Lgicos; Bit a bit. -, +, *, /, %, --, ++ >, <, >=, <=, ==, != &&, ||, ! &, |, ^, ~, >>, <<
Operador de Atribuio
A forma geral do operador de atribuio : nome_da_variavel = expressao A expresso pode ser to simples como uma nica constante ou to complexa quanto voc necessite; O destino, ou parte esquerda da atribuio, deve ser uma varivel ou um ponteiro, no uma funo ou uma constante.
26/53
i recebe a parte inteira (16 bits) de f; f converte um inteiro de 16 bits em um ponto flutuante; coloca os bits menos significativos de i em ch; f converte o inteiro de 8 bits guardado em ch em um ponto flutuante;
Prof. Leonardo Barreto Campos 27/53
A regra bsica que a quantidade apropriada de bits significativos seja ignorada, veja um exemplo: Inteiro
178 23986
0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0
Char
1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0
28/53
Atribuies mltiplas
Em C permitido que voc atribua o mesmo valor a muitas variveis usando atribuies mltiplas em um nico comando, veja: Exemplo 1: int x, y, z; x = y = z = 0; Exemplo 2: int i; char ch; float f; f = ch = i = 72;
Prof. Leonardo Barreto Campos 30/53
Operadores Aritmticos
A tabela abaixo lista os operadores aritmticos de C:
Operador + * / % -++ Adio Multiplicao Diviso Mdulo da diviso (resto) Decremento Incremento Ao Subtrao, tambm menos unrio
31/53
Operadores Aritmticos
C possui operadores unrio, binrio e ternrio:
Os unrios agem sobre uma varivel apenas modificando ou no seu valor. Ex: o operador (-1, -3000, etc); Os binrios usam duas variveis e retornam um terceiro valor, sem alterar as variveis originais. Ex: os operadores + e O ternrio usado para substituir certas sentenas de forma if-then-else. Ex: o operador ?
32/53
Operadores Aritmticos
O operador / (diviso) quando aplicado a variveis inteiras ou caracter, nos fornece o resultado da diviso inteira, ou seja, o resto truncado; int x = 5, y = 2; printf(%d, x/y);
Mostra na tela o nmero 2
O operador % (mdulo) quando aplicado a variveis inteiras ou caracter, nos fornece o resto de uma diviso inteira; int x = 5, y = 2; printf(%d, x%y);
Imprime na tela o resto da diviso, portanto, o nmero 1
33/53
Operadores Aritmticos
O operador / (diviso) quando aplicado a variveis em ponto flutuante nos fornece o resultado da diviso real. float x = 5, y = 2; printf(%f, x/y);
Mostra na tela o nmero 2.500000
Alerta: O operador % (mdulo) no pode ser usado nos tipos em ponto flutuante (float e double).
34/53
Operadores Aritmticos
Outros operadores aritmticos definidos em C so os operadores de:
Incremento: ++ Decremento: --
O operador ++ soma 1 ao seu operando, e subtrai 1. Incremento Decremento x = x + 1; x = x 1; x++; x--; Ambos os operadores de incremento ou decremento podem ser utilizados como prefixo ou sufixo do operando. x = x + 1; /* Equivale a x++ e a ++x */
Prof. Leonardo Barreto Campos 35/53
Operadores Aritmticos
Existe uma diferena quando os operadores de incremento e decremento so usados em uma expresso, veja: Ex1: x = 10; Executa o incremento antes de usar o valor do operando para atualizar y. Resultado: X = 11 e y = ++x;
Y = 11
36/53
Operadores Aritmticos
A precedncia dos operadores aritmticos a seguinte:
Mais alta ++, -- (menos unrio) *, /, % Mais baixa +, -
Operadores do mesmo nvel de precedncia so avaliados pelo compilador da esquerda para a direita; Obviamente, parnteses podem ser usados para alterar a ordem de avaliao.
37/53
Operadores Aritmticos
Exerccio: Qual o resultado das variveis x, y e z depois da seguinte seqncia de operaes: int x, y, z; x = y = 10; z = (x++); x = -x; y++; x = x + y (z--);
x 10 11 -11 -11 -10 y 10 10 10 11 11 z 10 10 10 9
38/53
Exerccio
Qual o resultado das variveis x, y e z depois da seguinte seqncia de operaes: int x, y, z; x = y = 10; z = x++; x = -x; y++; x = x + y z--;
39/53
40/53
Operadores Relacionais
No termo operadores relacionais, relacional refere-se s relaes que os valores podem ter uns com os outros; Os operadores relacionais do C realizam comparaes entre variveis. So eles:
Operador > >= < <= == != Ao Maior que Maior ou igual a Menor que Menor ou igual a Igual a Diferente de
41/53
Operadores Relacionais
Os operadores relacionais retornam verdadeiro (1) ou falso (0). Em C, verdadeiro qualquer valor diferente de zero. Os operadores relacionais tem precedncia menor do que os operadores aritmticos, veja: int a = 10, b = 1, c = 12; a > b + c; O resultado da expresso acima : Falso
Prof. Leonardo Barreto Campos 42/53
Operadores Relacionais
43/53
Operadores Relacionais
44/53
Operadores Lgicos
No termo operador lgico, lgico refere-se s maneiras como as relaes podem ser conectadas; Os operadores lgicos definidos por C so os seguintes:
Operador && || ! Ao And (E) Or (Ou) Not (No)
45/53
Operadores Lgicos
A tabela da verdade dos operadores lgicos so mostrados a seguir, usando 1s e 0s:
p 0 0 1 1 q 0 1 0 1 p&&q 0 0 0 1 p||q 0 1 1 1 !p 1 1 0 0
46/53
47/53
48/53
0 1 0 1
49/53
Aps complemento de 1
uma
51/53
Bibliografia
SCHILDT H. C Completo e Total, Makron Books. SP, 1997. MIZRAHI, V. V. Treinamento em Linguagem C++ Mdulo 1, Makron Books, SP, 1995. FORBELLONE, A. L. V. Lgica de Programao: A construo de algoritmos e estruturas de dados, Prentice Hall, SP, 2005.
53/53