|
| Esta página estará em permanente construção até o final do semestre... |
| Julho |
| Agosto |
=), comando de
repetição (while) e funções de
entrada/saída (scanf e printf).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)if-else).if-else para
implementação de multiway branches ("encruzilhadas").
Identação de sequências de comandos
if-else. (Ainda não vimos programas
com comandos if-else encadeados.)/ e %.do-while. Outra solução do problema
acima, agora com do-while.for.i++, ++i) e
decremento (i--, --i).&&) e
"ou" (||). Outra solução do problema acima,
agora usando o operador lógico &&.||.if-else).a += b,
a -= b, a *= b,
a /= b, etc#define).#include e #define).int potencia(int base, int expoente) { ... }.potencia): Dados
dois números inteiros
x e y e dois números inteiros positivos
a e b, calcule o valor da expressão
xa + yb + (x - y)a - b.potencia. Outro exemplo: Função recursiva
que devolve o fatorial de um inteiro não negativo.char: constantes tipo
char ('A'), leitura/impressão de
chars via scanf/printf
com "%c".<ctype.h>.scanf) e impressão (printf) dos
vários tipos de números inteiros:
signed char e unsigned char: "%c"short: "%hd"int: "%d"long: "%ld"long long: "%lld"unsigned short: "%hu"unsigned: "%u"unsigned long: "%lu"unsigned long long: "%llu"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).scanf para ler algum dado numérico e depois usa
getchar para ler caracteres: O scanf não
consome todos os caracteres digitados, ele consome apenas os
caracteres que fazem parte do dado numérico que ele
pegou. Quaisquer caracteres digitados imediatamente depois desse
dado numérico (como por exemplo o '\n' correspondente
à tecla ENTER) serão lidos pelas chamadas subsequentes à função
getchar.
| Setembro |
void.getchar:
wc
do Unix/Linux.
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, sendo um bit de sinal, 15 de expoente e 64 de
significante
valor_absoluto. Solução modificada, que usa a função
fabs de <math.h>.)? expressão1 : expressão2.
float valor_absoluto(float x) { return (x > 0) ? x : -x; }sqrt(x) da biblioteca
matemática da linguagem C
(#include <math.h>),
escreva uma função que recebe as coordenadas cartesianas de
dois pontos no plano e devolve a distância entre esses
pontos.potencia(b, n), que devolve
bn.
mdc, que usa o algoritmo de Euclides para
calcular o máximo divisor comum de dois inteiros
dados. Escreva uma versão recursiva da função
mdc.| Outubro |
mov ri,[rj]mov [ri],rjbp (base
pointer). Endereçamento indireto com
deslocamento. Exemplos de instruções do CM16/22 com esse
modo de endereçamento:
mov r0,[bp+8]mov [bp-6],r1sp (stack
pointer). Instruções do CM16/22 que usam a pilha de
execução:
push ri (empilha palavra
contida em ri)pop ri (desempilha
palavra e a coloca em ri)call addr (chamada de
subrotina/procedimento/função)ret (retorno de
subrotina/procedimento/função)push) e depois
restaurar (pop) o conteúdo de algum registrador.int *p;), uso do operador
"endereço de" para inicializar ponteiros
(p = &i;),
uso do operador unário * ("dereferência") para obter
o valor apontado (*p é a "coisa apontada por
p").void troca(int *p1, int *p2),
que recebe os endereços de duas variáveis inteiras e troca os
valores dessas variáveis.switch. int busca(float x, float v[], int n);x no
vetor v ou devolve -1 se x não
aparece no vetor. O número de elementos do vetor é
n."CCM0118").strlen (da
biblioteca <string.h>), que devolve o comprimento
de uma string dada."%s".fopen e fclose);fscanf,
fgetc e getc);fprintf,
fputc e putc).'+'
ou por um '-' e por espaços em branco. Ela devolve o
int correspondente. (Este é o exemplo
atoi da seção 3.5 do K&R, que
apresenta uma implementação da função atoi definida em
<stdlib.h>. 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.) | Novembro |
static para mudar o modo de alocação de
uma variável local.static para reduzir a visibilidade de
uma variável global ou de uma função.
malloc e free.malloc).soma devolve uma
"matriz" alocada dinamicamente pela própria função.)| Dezembro |