|
Esta página estará em permanente construção até o final do semestre... |
Agosto |
enquanto
.enquanto
para resolver esse problema. Veremos
uma solução na próxima aula.)=
), comando de
repetição (while
) e funções de
entrada/saída (scanf
e printf
).if
-else
)./
e %
.for
.for
.i++
, ++i
) e
decremento (i--
, --i
).do
-while
. Outra solução do problema
anterior, agora com do
-while
.&&
) e
"ou" (||
). printf("%4d", &n); /* usar algo assim no EP1 */
).a += b
,
a -= b
, a *= b
,
a /= b
, etcif
-else
para
implementação de multiway branches ("encruzilhadas").
Identação de sequências de comandos
if
-else
.if
-else
).#define
).#include
e #define
).if
ou
de um while
, o inteiro 0 é interpretado como
condição falsa e qualquer outro valor é interpretado como
condição verdadeira. if (var != 0) ...
podemos
escrever if (var) ...
if (var == 0) ...
podemos
escrever if (!var) ...
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)int
s.Setembro |
scanf
) e impressão (printf
) dos
vários tipos de números inteiros:
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"
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.float
.
Leitura de números do tipo float
:
scanf("%f", ...)
.
Impressão de expressões do tipo float
:
printf("%f", ...)
.float
(continuação): constantes e variáveis
float
, aritmética com números do tipo
float
. Conversões de tipos: conversões automáticas
(implícitas) e conversões forçadas (explícitas) ou casts.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.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.void
.int *p;
), uso do operador
"endereço de" para inicializar ponteiros
(p = &i;
),
uso do operador "dereferência" ou "coisa apontada por"
(*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.Outubro |
char
: constantes tipo
char
('A'
), leitura e impressão de
char
s com "%c"
.<ctype.h>
." %c"
(com um espaço antes do
%c
) no scanf
. Solução correta deste problema
"resolvido" na aula anterior: Dados n > 0 e uma sequência
de n caracteres representando um texto, determinar a
frequência relativa de vogais no texto. void imprime(int n) { printf("%d", n); }
printf
com
"%d"
. Suponha que os char
s são
codificados conforme o padrão ASCII.
void inverte_ordem(int n, float v[]);
v
com n
elementos
e inverte a ordem dos elementos do vetor.i++, j--
). Exemplo de uso: a
função inverte_ordem
do item acima. 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
.Novembro |
"MAC0115"
).strcpy
(da
biblioteca <string.h>
), que copia uma
string para outra.strlen
(da
biblioteca <string.h>
), que devolve o comprimento
de uma string dada.strcmp
(da
biblioteca <string.h>
)."%s"
.fopen
e fclose
).fscanf
).fprintf
).stdin
),
a saída padrão (stdout
) e a saída de erro padrão
(stderr
).
scanf(...)
é o mesmo que
fscanf(stdin, ...)
.printf(...)
é o mesmo que
fprintf(stdout, ...)
.fgets
).
scanf
e fscanf
com
"%s"
lêem campos delimitados por espaços
em branco ("palavras").fgets
lê linhas de texto que podem conter
espaços em branco.tiraletra
, que recebe uma
string s
e um caractere c
e
remove de s
todas as ocorrências de
c
.inverte
, que recebe uma
string s
e inverte a ordem dos caracteres dessa
string. int aparece(char palavra[], int posicao, char frase[]);
palavra
dada aparece na
posicao
especificada de uma frase
dada,
e 0 caso contrário. int busca_linear(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
. int busca_binaria(float x, int n, float v[]);
x
ocorre no e
vetor ordenado v
ou devolve -1 se x
não
aparece no vetor. O número de elementos do vetor é
n
.Dezembro |