Nessa aula vamos rever rapidamente os assuntos principais que podem cair na prova.
Os tipos são int, char, float e double. Para ler, scanf; para escrever, printf. Os formatos são %d para int, %f para float e %lf para double.
Os operadores principais são + - / * % ++ – += -=. = é atribuição. Os operadores têm precedência, e para calcular como uma expressão vai ser calculada é necessário colocar os parênteses obedecendo a ordem de precedência. Por exemplo, a expressão
a += - b * 2 / c + 4 * c * b / 4 * -- d
é equivalente a
a += ((((- b) * 2 )/ c) + ((4 * (c * b)) / 4 )* (-- d))
Uma função pode ser usada no meio do código, como
a = quadrado(b*c - 2/a);
Para definir uma função você define o tipo dela, o nome e os parâmetros. Dentro dela você pode declarar variáveis, e terá que retornar um valor com return.
float quadrado(float x) { return x * x; }
As condicionais de C são if, switch e ? :. if pode não ter else:
if (x == 1) { print("x é 1\n"); }pode ter um else
if (x == 1) { print("x é 1\n"); } else { printf("x não é 1\n"); }ou pode ter uma sequência de else ifs
if (x == 1) { print("x é 1\n"); } else if (x > 1) { printf("x é maior que 1\n"); } else { printf("x é menor que 1\n"); }
Switch gira em torno do valor de uma expressão
switch(a%3) { case 0: printf("é divisível"); break; case 1: printf("o resto é 1"); break; case 2: printf("o resto é 2"); breal; default: printf("isso nunca acontece"); }Sem os breaks o switch executa tudo o que está abaixo do caso certo.
Não precisam se preocupar com o operador ? : .
C tem 3 laços:
while (<condicao>) { <bloco de codigo>; }
do { <bloco de codigo>; } while (<condicao>)
e
for (<inicializa>; <testa>; <atualiza>) { <bloco de codigo>; }
Para saber como um programa se comporta a melhor coisa a fazer é um teste de mesa: rodar o programa vc mesmo e seguir os seus passos. Ver um exemplo nas notas do dia 13.
Um vetor é uma sequência de variáveis guardadas na memória de uma função que podem ser acessadas por outras funções. Se declara:
int nome[tamanho];a não ser como parâmetros de funções, onde o tamanho pode ser omitido:
int funcao(int vetor[], int n) {
Um vetor v de 5 elementos tem os seguintes valores:
v[0] v[1] v[2] v[3] v[1]
Acessar os elementos fora do limite de um vetor corrompe a memória, e pode ter resultados diferentes dependendo do computador e compilador.
Alguma dúvida?
1 FOOTNOTE DEFINITION NOT FOUND: 4
Date: 2010-08-29 16:54:16 BRT
HTML generated by org-mode 6.21b in emacs 23