|
Esta página estará em permanente construção até o final do semestre... |
Agosto |
=
), comando de
repetição (while
) e funções de
entrada/saída (scanf
e printf
).if
-else
)./*
... */
)
no código-fonte./
e %
.for
.for
.i++
, ++i
) e
decremento (i--
, --i
).&&
) e
"ou" (||
).a += b
,
a -= b
, a *= b
,
a /= b
, etcif
-else
para
implementação de multiway branches ("encruzilhadas").
Identação de seqüências de comandos
if
-else
.if
-else
).#define
).#include
e #define
).i = j = 0;
).int
s.char
(8 bits)short int
ou simplesmente
short
(16 bits)int
(16 bits ou 32 bits, dependendo do
compilador usado)long int
ou simplesmente
long
(32 bits)long long int
ou simplesmente
long long
(64 bits)unsigned char
(8 bits)unsigned short int
ou simplesmente
unsigned short
(16 bits)unsigned int
ou simplesmente
unsigned
(16 bits ou 32 bits, dependendo
do compilador usado)unsigned long int
ou simplesmente
unsigned long
(32 bits)unsigned long long int
ou
simplesmente
unsigned long long
(64 bits)Setembro |
a
é bissexto se
(a % 4 == 0 && a % 100 != 0) || (a % 400 == 0)
).int potencia(int base, int expoente) { ... }
.goto
, cujo uso é não
recomendável e só se justifica em casos muito raros. (Nesta
disciplina goto
s são estritamente proibidos!)float
.float
(continuação): constantes e variáveis
float
, aritmética com números do tipo
float
, leitura de números do tipo float
("%f"
), impressão de expressões do tipo
float
("%f"
), conversão de tipos
(casting).float
em C): 32 bits, sendo
um bit de sinal, 8 de expoente e 23 de significante.double
em C): 64 bits, sendo
um bit de sinal, 11 de expoente e 52 de significante.long double
em C): 80
bits.Outubro |
sqrt(x)
da biblioteca
matemática da linguagem C
(#include <math.h>
),
escreva uma função que recebe dois pontos no plano através
de suas coordenadas cartesianas e devolve a distância entre
os pontos.int *p;
), uso do operador
"endereço de" para inicializar ponteiros
(p = &i;
),
uso do operador "dereferência" (*p
) para obter o
valor apontado.void troca(int *p1, int *p2)
,
que recebe os endereços de duas variáveis inteiras e troca os
valores dessas variáveis.char
: constantes tipo
char
('A'
), leitura e impressão de
char
s com "%c"
.<ctype.h>
. void inverte_ordem(int n, int v[]);
v
com n
elementos
e inverte a ordem dos elementos do vetor. int busca(float x, int n, float v[]);
x
ocorre no
vetor v
ou devolve -1 se x
não
aparece no vetor. O número de elementos do vetor é
n
."MAC0115"
).strlen
(da
biblioteca <string.h>
), que devolve o comprimento
de uma string dada."%s"
.int
correspondente. (Este é o exemplo atoi
da seção 2.7
do K&R. Ele
mostra uma "implementação ingênua" da função atoi
definida em <stdlib.h>
.)squeeze
da seção 2.8
do K&R.)scanf
:
%d
, %f
, %s
e as
demais especificações de conversão (exceto a especificação
%c
) pulam os brancos (espaços, tabs e new
lines) que aparecerem antes do dado que se deseja
ler.%c
,
que pega o próximo caractere mesmo, sem pular nenhum
branco.scanf
é o
número de campos lidos.scanf
:
scanf("%d/%d/%d", &dia, &mes, &ano);
scanf("%d %c", &n, &c); /* note o espaço entre o %d e o %c */
printf("Digite um número: ");
scanf("%d", &n);
printf("Digite um caractere: ");
scanf(" %c", &c); /* note o espaço antes do %c */
getchar
e putchar
.programa < arquivo
) e de
saída (linha de comando:
programa > arquivo
).
Combinação de teclas usada para indicar "fim de arquivo" pelo
teclado: contrl-d no Unix/Linux, control-Z no Windows).getline
da seção 1.9 do K&R.)Novembro |
binsearch
da seção
3.4 do K&R.) switch
.switch
: programa que lê a entrada
padrão e conta dígitos, espaços em branco outros caracteres. (Este
exemplo está na seção 3.4 do K&R.)
if
-else
no
lugar do switch
.atoi
, que converte uma
string para número inteiro. Além de aceitar números
inteiros com sinal, esta versão pula os espaços em branco que
aparecerem antes do número. (Este é o exemplo atoi
da
seção 3.5
do K&R. Ele
mostra um uso do operador ternário
(condição) ?
valor1 :
valor2
e mostra também como deve se escrever um laço for
cujo corpo é vazio.)fopen
e fclose
);fscanf
,
fgetc
e fgets
);fprintf
e
fputc
).i++, j--
). Exemplo de uso:
função que inverte a ordem dos caracteres em uma string
dada. (Este é o exemplo reverse
da seção 3.5 do
K&R.)do
-while
. Programa que soma seqüência
de inteiros não nulos terminada por zero, reimplementado com
do
-while
.itoa
da seção 3.6 do
K&R. Ele
mostra um uso de do
-while
.)trim
da seção 3.6
do
K&R. Ele
ilustra o uso de break
.)double
:
double
em vez de
float
.double
: assimetria
entre a leitura ("%lf
") e a
escrita ("%f
").static
para
evitar que uma matriz muito grande seja alocada na pilha de
execução, que normalmente não tem espaço para itens muito
grandes.Dezembro |
static
para fazer com que
a visibilidade de uma variável global fique restrita ao
arquivo fonte que contém a definição da variável..h
) para separar a
interface (arquivo stack.h
) e a
implementação (arquivo stack.c
) da
pilha..h
e .c
? Comentários sobre essa
questão.struct
s).malloc
e
free
de <stdlib.h>
).