Comando If
O comando if permite executar um comando (ou conjunto de comandos entre { e }) se uma dada condição for satisfeita.
if (<condição>) <comando>;
If com um bloco de comendos entre { e }.
if (<condição>)
{
<sequencia-de-comandos>
}
Comando If - Else
if (<condição>) <comando1>; else <comando2>;
if (<condição>)
{
<sequencia-de-comandos1>
}
else
{
<sequencia-de-comandos2>
}
Exemplo:
main() {
int x = 0;
printf("Digite x: ");
scanf("%d", &x);
if (x == 0)
printf("x == 0");
else
printf("x != 0");
int y = 0;
printf("\nDigite y: ");
scanf("%d", &y);
if (y == 0)
{
printf("y == 0");
}
else
{
printf("y != 0");
}
printf("\nFIM");
}
Comando Condicional
O comando condicional ? oferece uma alternativa ao if-else em algumas situações. Este comando permite avaliar uma condição, que caso seja verdadeira retorna o valor da primeira expressão e se for falsa retorna o valor da segunda expressão.
<condição> ? <expressão1> : <expressão2>;
Exemplo:
main() {
int x = -1;
printf("Digite x: ");
scanf("%d", &x);
int y = x == -1 ? 0 : x;
printf("Valor de y: %d", y);
}
Exemplo:
main() {
int x = 0;
printf("Digite x: ");
scanf("%d", &x);
printf( (x == 0) ? "x == 0" : "x != 0" );
int y = 0;
printf("\nDigite y: ");
scanf("%d", &y);
printf( (y == 0) ? "y == 0" : "y != 0" );
printf("\nFIM");
}
Comando Switch
O comando switch serve associar conjuntos de comandos a certos valores resultantes de uma expressão. Funciona como um substituto ao if para casos em que um comando ou conjunto de comandos é executado para cada valor resultante de uma expressão. Um exemplo de uso do switch é o tratamento de menus. Para cada opção de menu, uma ação deve ser executada. A opção de menu é avaliada na expressão e de acordo com seu valor, a ação correspondente é executada.
switch( <expressao> ) {
case constante1 : Sequencia de instrucoes 1
case constante2 : Sequencia de instrucoes 2
...
case constante n : Sequencia de instrucoes n
default : Sequencia de comando x
}
Exemplo:
main() {
int mes;
printf("Digite o numero do mes: ");
scanf("%d", &mes);
switch (mes) {
case 1: printf("Janeiro"); break;
case 2: printf("Fevereiro"); break;
case 3: printf("Março"); break;
case 4: printf("Abril"); break;
case 5: printf("Maio"); break;
case 6: printf("Junho"); break;
case 7: printf("Julho"); break;
case 8: printf("Agosto"); break;
case 9: printf("Setembro"); break;
case 10: printf("Outubro"); break;
case 11: printf("Novembro"); break;
case 12: printf("Dezembro"); break;
default: printf("Mes inexistente");
}
}
Comando For
O comando for permite executar um comando (ou bloco de comandos quando usamos { }) repetidas vezes. Antes da primeira iteração ocorrer, os comandos iniciais são executados e a condição de entrada é testada. Se a condição for verdadeira (valor 1), a primeira iteração é executada. Quando chega-se ao final da primeira iteração, executamos os comandos pós-iteração. Em seguida, a condição de entrada é checada novamente e se for verdadeira, a segunda iteração é executada. Esse processo continua até a condição ser falsa.
for ( <comandos-iniciais>; <condição-entrada>; <comandos-pós-iteração> ) <comando>
Comando While
O comando while permite executar um comando (ou bloco de comandos quando usamos { }) repetidas vezes. A primeira iteração acontece se a condição de entrada no laço é verdadeira (valor 1) fazendo com que o comando dentro do while seja executado. Em seguida, checa-se novamente a condição de entrada no laço e, caso seja verdadeira, a segunda iteração é executada. Este processo se repete até que a condição de entrada seja falsa (valor 0).
while ( <condição-entrada> ) <comando>
Comando Do While
O comando do while permite executar um comando (ou bloco de comandos quando usamos { }) repetidas vezes. A primeira iteração sempre acontece, já que a condição de permanência é testada apenas no final das iterações. Logo, caso a condição seja verdadeira, a segunda iteração é executada. Este processo se repete até a condição do laço ser falsa (valor 0).
do <comando> while ( <condição-permanência> )
Comandos Break e Continue
O comando break faz com que o laço corrente seja encerrado, levando ao próximo comando após o laço. Já o continue, pula a iteração corrente, passando para a próxima, mas antes testando as condições de entrada do laço.
main() {
long res = 1, num;
scanf("%d", &num);
while (num > 1)
res *= num--;
printf("%d", res);
}
main() {
long contador = 1, termo = 3, soma = 3;
printf("%d\n", termo);
do {
termo *= 3;
soma += termo;
contador++;
printf("%d\n", termo);
}
while (contador != 20);
printf("%d\n", soma);
}