Leitura de dados
a. Deve ser feita com o comando scanf,
sendo que o mesmo JÁ atribui o conteúdo digitado para a variável (se usada a passagem
correta de parâmetros). Não se faz a atribuição desse valor através de comandos de
atraibuição.
b. A passagem de parâmetros mencionada acima
deve ser feita com ponteiro (&) para variáveis numéricas e sem ponteiro para cadeias de caracteres.
Testes
a. Em C o resultado de um teste é TRUE se for diferente
de zero ou nulo. Então muito cuidado com o que deve ser testado quando o valor de interesse for zero.
b. Quando o teste for para a terminação de um laço de
repetição deve ser tomado um cuidado extra para não parar um passo antes ou um passo depois do
necessário.
b. Quando o teste for para a terminação de um laço de
repetição e envolver mais de uma condição, deve ser tomado um cuidado extra para saber qual das
condições implicou na parada do laço.
Tratamento de
caracteres e strings
a. Não é
possível ler o caracter '\0' a partir do teclado. Ele é
inserido automaticamente ao se ler um string
b. Comparação
de strings é feita com strcmp
c. Comparação
de caracteres é feita como para variáveis numéricas
Troca de elementos em
estruturas
a. A troca de duas estruturas como um todo pode gerar erros em ponteiros, devendo ser evitada em alguns casos. Neles se deve trocar campo por campo das estruturas.
b. vetores de estruturas
são acessados na forma VAR[indice].CAMPO
c. Estruturas devem ter
nomes (struct nome { campos }; )
Controle de laços
com arquivos
a) feof(pont) é
uma função que retorna 0 enquanto não for fim
de arquivo
b) não se controla
a leitura de arquivos através de comandos for (teria que
saber o tamanho dele antecipadamente)