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); }