Escolar Documentos
Profissional Documentos
Cultura Documentos
A B A && B A || B !A
F F F F V
F V F V V
V F F V F
V V V V F
Estrutura de Controle Simples
Explicao:
comando pode ser um nico comando, um bloco deles (inicializado
por { e finalizado por }) ou nada. O else opcional. Lembre-se de
que apenas o cdigo associado ao if ou ao else ser executado,
nunca ambos.
Estrutura de Controle Composta
int main()
{
float x = y =10.0;
float z = 0;
if (x > y) // composta
z = x+y;
else
z = x/y;
printf(\n z = %6.2f, z);
}
Estrutura de Controle de Seleo
Aninhada
// forma geral da sentena int main()
if (expresso) {
comando; float x =20.0;
else if (expresso) float y =10.0;
comando; float z = 0;
else if (expresso) if (x >= y)
comando; z = x-y;
... else if (x != 0 && y>0)
else z = y/x;
comando; else
z = x+y;
printf(\nz = %6.2f, z);
}
Estrutura de Controle de Escolha
Mltipla
switch (expresso)
{
case constante_1: comandos
break;
case constante_2: comandos
break;
...
case constante_n: comandos
break;
default: seqncia de comandos
}
Estrutura de Controle de Escolha
Mltipla
int main() switch (opcao)
{ {
int opcao, x = y = 10; case 1:
printf("\n 1 - adio"); printf("\n x + y = %d\n", x+y);
printf("\n 2 - subtrao"); break;
printf("\n 3 - diviso"); case 2:
printf("\n 4 - multiplicao"); printf("\n x y = %d\n", x - y);
printf("\n Digite a opo desejada:"); break;
scanf("%d", &opcao); case 3:
printf("\n x/y = %d\n", x/y);
break;
case 4:
printf("\n x*y = %d\n", x*y);
break;
default :
printf("Opcao Invalida\n");
}
return (0);
}
Estrutura de Controle de Fluxo
Continuando
Comando de Lao Enquanto: Sintaxe
int main()
{
int a;
printf("Digite um numero: ");
scanf("%d", &a);
if (a > 0)
printf("O valor e positivo.");
else
printf("O valor e negativo.");
return (0);
}
Exerccio 2
int main()
{
char opcao = b;
switch (opcao)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
printf("1. Vogais\n");
break;
default :
printf("2. Consoantes\n");
}
return (0);
}
Exerccio 3
Finalizando
Tabela Verdade
A B A && B A || B !A
F F F F V
F V F V V
V F F V F
V V V V F
Estrutura de Controle de Seleo
Aninhada
// forma geral da sentena int main()
if (expresso) {
comando; float x =20.0;
else if (expresso) float y =10.0;
comando; float z = 0;
else if (expresso) if (x >= y)
comando; z = x-y;
... else if (x != 0 && y>0)
else z = y/x;
comando; else
z = x+y;
printf(\nz = %6.2f, z);
}
Estrutura de Controle de Escolha
Mltipla
int main() switch (opcao)
{ {
int opcao, x = y = 10; case 1:
printf("\n 1 - adio"); printf("\n x + y = %d\n", x+y);
printf("\n 2 - subtrao"); break;
printf("\n 3 - diviso"); case 2:
printf("\n 4 - multiplicao"); printf("\n x y = %d\n", x - y);
printf("\n Digite a opo desejada:"); break;
scanf("%d", &opcao); case 3:
printf("\n x/y = %d\n", x/y);
break;
case 4:
printf("\n x*y = %d\n", x*y);
break;
default :
printf("Opcao Invalida\n");
}
return (0);
}
Comando de Lao Enquanto (while)
int main() Estado X Y
{ Valores iniciais 1 5
int X, Y; Final do primeiro teste 1<5 3 6
Final do segundo teste 3<6 5 7
X = 1; Final do terceiro teste 5<7 7 8
Y = 5; Final do quarto teste 7<8 9 9
while (X < Y) Quinto teste 9<9 falso,
{ portanto sai do loop while e vai
X = X + 2; para o prximo comando.
Y = Y + 1;
} // Fim enquanto
printf(X = %d e Y =
%d\n, X, Y);
}// Fim main
Comando de lao Faa-enquanto (do-
while)
int main() X Y Estado
{ 1 5 Valores iniciais
int X, Y; 3 6 Primeiro teste 3 < 6
5 7 Segundo teste 5 < 7
X = 1; 7 8 Terceiro teste 7 < 8
Y = 5; 9 9 Quarto teste 9<9 falso,
do portanto sai do loop do-
{ while e vai para o prximo
X = X + 2; comando.
Y = Y + 1;
} while( X < Y);
printf(X = %d e Y = %d\n,
X, Y);
}// Fim main
Comando de Lao Para (for)
int main() Estado i X Y
{ Valores iniciais 0 1 5
int X, Y, i; Primeiro lao 1 3 6
Segundo lao 2 5 7
X = 1; Terceiro lao 3 7 8
Y = 5; Quarto lao 9 9
for (i = 0; i<4; i++)
{
X = X + 2;
Y = Y + 1;
} // Fim para
printf(X=%d e Y= %d\n, X, Y);
}// Fim main