Академический Документы
Профессиональный Документы
Культура Документы
Reviso de C
Professor: Felipe Pontes Guimares 1 Semestre 2013
Que veremos?
Conceitos Compilador de C
Processo Etapas Funo
Reviso de C
Variveis e Constantes Operadores Atribuies Entrada e Sada Estruturas condicionais Estruturas de Repetio
Compiladores
Codeblocks (Windows)
http://www.codeblocks.org/downloads
Anjuta (Linux)
apt-get install build-essentials anjuta
GCC (Linux)
apt-get install build-essentials Utiliza editor de texto Linux (Gedit, Kedit, nano, vi...) Para compilar, no terminal digite
gcc -o <arquivo_binrio a ser gerado> <arquivo_fonte>
Conceitos
Programao de Computadores
Sintaxe Semntica
Conceitos
Compiladores
Interpretadores Erros
Sintaxe Lgica
Algoritmo
Reviso de C
Linguagens de Programao Compiladas
Conjunto de regras sintticas e semnticas que definem um programa O conjunto de palavras e smbolos compostos com essa regra formam o cdigo-fonte Para executar o programa, o compilador converte o cdigo-fonte em cdigo binrio (ou de mquina) que o processador capaz de eecutar
Compilando
Linguagens
Linguagem C
Criada em 1972 nos EUA
Linguagem de Alto nvel Compilada Estruturada Possui instrues muito prximas s de linguagens de baixo nvel
Palavras Reservadas
32 palavras so reservadas pelo padro ANSI para a linguagem C
Comentrios
Comentrios de linha
// Qualquer coisa entre o // e o final da linha ser o comentrio
Comentrios de bloco
/* <trecho comentado> */ Qualquer coisa entre o /* e o */ ser o comentrio. Pode se extender por diversas linhas
Comentrios
Variveis e Constantes
Suponha que:
a=3 b=a/2 c = b + 3.1
Variveis e Constantes
Constantes
Valor fixo
Armazenado na memria Seu tipo determinado pela sintaxe da constante
Variveis
Espao de memria para armazenar um dado
Possui um nome e um tipo
Nome: Identifica o espao de memria Tipo: Determina a natureza do dado (inteiro, float, string, etc)
Declarao de Variveis
Variveis devem ser explicitamente declaradas
Variveis s armazenam valores do mesmo tipo com que elas foram declaradas
Cuidado!
Nada de POG
(Programao Orientada a Gambiarras)
Declarao de Variveis
Variveis devem ser inicializadas
int a = 5, b = 10; float c = 5.3;
Operadores
Operadores Aritmticos
+-*/%
Operador %
O operador % (mdulo) se aplica a inteiros e retorna o resto da diviso
Operadores Atribuio
Operador de atribuio
= Atribui o valor da expresso no lado direito varivel no lado esquerdo a = b + 1;
COMANDO PERIGOSO!!!!
Operadores Atribuio
Notao compacta para atribuies
Quando a mesma varivel aparece dos dois lados, h uma notao compacta
Nota: Em geral, mais claro utilizar a notao comum. Facilita a leitura do cdigo.
Incrementos
Muitas vezes as variveis incrementam ou decrementam em uma unidade (no for por exemplo) Existe uma notao simples e prtica para esses casos
i++; i - -; - - i; ++i;
A diferena entre colocar o ++ ou o - - antes ou depois da varivel diz respeito ao momento do incremento.
++i: primeiro incremente o valor de i em uma unidade, depois utiliza o valor com o incremento. i++: primeiro utiliza o valor original de i depois o incremente em uma unidade.
Incrementos
Operadores Relacionais
< ; <= ; == ; >= ; > ; !=
Resultado ser 0 (Falso) ou 1 (Verdadeiro) Booleanos no existem em C
Operadores Lgicos
&& ; || ; !
A avaliao da esquerda para a direita Pra quando o resultado j for conhecido
Imprimindo na tela
printf( <formato> , <valores>)
printf(%d %g, 33, 5.3) 33 5.3 printf(Inteiro: %d Real: %g, 33, 5.3) Inteiro = 33 Real = 5.3
%c Char %d int %u unsigned int %f float %e double ou float (notao cientfica) %g double ou float no formato mais apropriado (comum ou cientfico) %s cadeia de caracteres (string)
Caracteres Especiais
No podemos usar quebra de linha ou numa string comum.
printf (isto um abre aspas a); ERRO!
Entrada do teclado
Funo scanf
Captura valores fornecidos do teclado scanf( <formato>, <endereos das variveis>);
O endereo das variveis acessvel utilizando o caractere & antes do nome. Endereo da varivel i &i
Especificao de formato
Igual da funo printf
Deciso
If
Se expr for diferente de 0 (Falso), executa Bloco 1. Se expr for diferente de 0 (Falso), executa Bloco 1. Seno, executa Bloco 2
Identao
Identao a arte de explicitar blocos de cdigo Sempre que se inicia um novo bloco de cdigo bom aumentar a distncia da borda para que fique claro onde ele comea e onde acaba
if (expr) {
Comando; Comando; if (expr) { Comando; Comando;}}
Identao
Identao a arte de explicitar blocos de cdigo Sempre que se inicia um novo bloco de cdigo bom aumentar a distncia da borda para que fique claro onde ele comea e onde acaba
if (expr) {
if (expr) {
Comando; Comando; if (expr) { Comando; Comando;}} } Comando; Comando; if (expr) { Comando; Comando; }
Blocos de Cdigo
Declaraes de Variveis:
s podem ocorrer no incio do corpo da funo ou do bloco
Escopo:
S vlida dentro do bloco onde foi declarada Depois do trmino, ela deixa de existir (aquele espao de memria liberado)
Laos
While
Executado o bloco de comandos enquanto expr for verdadeira
For
Forma compacta para exprimir laos
Equivale a:
Ateno!
Do While
Parece com o while, mas executa o teste depois do bloco, no antes dele!
COMANDO PERIGOSO!!!!
Comando Break
Termina a execuo de um lao
COMANDO PERIGOSO!!!!
Comando Continue
Termina a iterao atual e vai para o prximo valor
Comando Continue
Cuidado para no criar loops infinitos!
Comando switch
Similar a vrios IFs encadeados
O valor de expr ser avaliado. Se for op1, executa o Bloco 1, se for op2 o Bloco 2, etc. Se no for nenhum dos valores listados cai para o default Nota: expr deve ser inteiro ou char No esquea do break; seno ele vai executar todos os blocos subsequentes.
Comando switch
Comando switch
Neste programa, o que aconteceria com a entrada
12 + 3
DVIDAS?