Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
REVISO DE C-ANSI
Nesta aula, alguns conceitos bsicos do padro C-ANSI vistos nas disciplinas anteriores
sero apresentados novamente. Basicamente, a aula tratar de tipos de dados, operadores,
comandos e funes.
Alm disso, possvel alterar a faixa de valores que os tipos aceitam atravs de alguns
modificadores, sendo estes: signed, unsigned, long, short.
Vale lembrar que o tipo void informa ao compilador que a varivel ou funo no
possui/retorna tipo algum.
importante salientar que o tamanho em bits pode ser diferente, dependendo do sistema
operacional e/ou compilador utilizado.
Para ter certeza do tamanho exato do tipo de dado utilizado, basta utilizar o operador
sizeof, conforme ilustra o Programa 1.
int main(void)
{
double dnum = 0;
int num = 0;
short int snum = 0;
char c = 0;
printf("tam: %d %d %d %d\n", sizeof dnum, sizeof num, sizeof snum, sizeof c);
system("PAUSE");
return 0;
}
Programa 1 Utilizando sizeof.
Operadores
As tabelas abaixo apresentam os operadores de C.
Tabela 2 Operadores Aritmticos de C (retirado de SCHILDT, H. C., "C: Completo e Total").
Tabela 3 Operadores Lgicos e Relacionais de C (retirado de SCHILDT, H. C., "C: Completo e Total")
Tabela 4 Operadores bit a bit de C (retirado de SCHILDT, H. C., "C: Completo e Total")
muito importante lembrar a precedncia desses operadores para evitar possveis erros de
execuo. A Tabela 6 apresenta o resumo das precedncias.
Tabela 6 Resumo das Precedncias (retirado de SCHILDT, H. C., "C: Completo e Total")
Comandos de Controle
Podem ser de dois tipos bsicos. Comandos de seleo (if e switch) e de iterao
(while, for e do-while). Existem tambm os comandos de salto e desvio, sendo estes: break,
continue, goto e return.
if (expresso) comando;
else comando;
switch(expresso)
{
case constante01: sequncia de comandos
break;
case constante02: sequncia de comandos
break;
(...)
default: sequncia de comandos
}
O loop se repete enquanto a condio for verdadeira. Nos laos for, a avaliao
condicional sempre ser realizada no topo do lao, enquanto o incremento ser realizado no final.
Vale lembrar que possvel criar loops for sem corpo (comandos), bem como possvel criar loops
for sem inicializao, condio ou incremento (ou sem todos).
while(condio) comando(s);
O loop while se repete enquanto a condio for verdadeira. Como nos laos for, a
condio avaliada no incio do lao.
do
{
comando(s);
} while(condio);
O comando de desvio break: O comando break, alm de seu uso inerente no comando
switch, faz com que o programa automaticamente saia de um loop, passando para a primeira
expresso aps o loop.
O comando de desvio continue: O comando continue faz com que o programa passe
automaticamente para a prxima iterao do loop.
O comando de desvio return: O comando return utilizado para retornar uma chamada
funo (retornando o valor da expresso que o sucede).
Funes
Funes so blocos de cdigo utilizados para facilitar a construo de programas.
tipo_de_retorno nome_da_funo(parmetros)
{
comandos;
}
Na maioria dos casos, a utilizao de funes reduz o tamanho do programa gerado (em
casos em que vrias chamadas a funo so necessrias).
Uma anlise mais profunda sobre funes ser feita na prxima aula.
Lembrando que:
l
R
A
Onde R a resistncia, l o comprimento, A rea da seo do fio e a resistividade do
material. Considere a resistividade do cobre como 1.710-8 m.