Linguagem de Programação C++
Universidade Federal de Santa Catarina
Departamento de Engenharia Elétrica, CTC
Prof. Eduardo Augusto Bezerra
"Esse material foi adaptado a partir de um website não identificado."
Utilizado para executar uma instrução ou bloco de instruções, se uma determinada condição for satisfeita. Formato da instrução:
if (condição) comandos
onde condição é a expressão a ser avaliada. Se a condição for verdadeira (true), os comandos são executados. Se for falsa (false), os comandos são ignorados (não são executados) e o programa continua seu fluxo logo após o término do bloco do comando condicional.
Por exemplo:
if (x == 100)
cout << "x eh 100";
else
cout << "x nao eh 100";
apresenta na tela x eh 100 se x for ighal a 100, caso contrário, apresenta na telax nao eh 100.
O uso de laços objetiva repetir a execução de comandos um determinado número de vezes.
while (expressão) comandos
// contagem regressiva com while #include <iostream> using namespace std; int main () { int n; cout << "Entre com um valor inicial para a contagem > "; cin >> n; while (n>0) { cout << n << ", "; --n; } cout << "FIM!"; return 0; } |
Entre com um valor inicial para a contagem > 8 |
do comandos while (condição);
// apresenta valores #include <iostream> using namespace std; int main () { unsigned long n; do { cout << "Entre com um numero (0 para encerrar): "; cin >> n; cout << "Entrou com: " << n << "\n"; } while (n != 0); return 0; } |
Entre com um numero (0 para encerrar): 12345 |
for (inicialização; condição; incremento) comandos;
// contagem regressiva #include <iostream> using namespace std; int main () { for (int n=10; n>0; n--) { cout << n << ", "; } cout << "FIRE!"; return 0; } |
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE! |
for ( n=0, i=100 ; n!=i ; n++, i-- ) { // instruções a serem executadas... }
// exemplo de uso de break #include <iostream> using namespace std; int main () { int n; for (n=10; n>0; n--) { cout << n << ", "; if (n==3) { cout << "lançamento abortado!"; break; } } return 0; } |
10, 9, 8, 7, 6, 5, 4, 3, lançamento abortado! |
// exemplo de continue #include <iostream> using namespace std; int main () { for (int n=10; n>0; n--) { if (n==5) continue; cout << n << ", "; } cout << "FIRE!"; return 0; } |
10, 9, 8, 7, 6, 4, 3, 2, 1, FIRE! |
// exemplo de laço com goto #include <iostream> using namespace std; int main () { int n=10; repeticao: cout << n << ", "; n--; if (n>0) goto repeticao; cout << "FIRE!"; return 0; } |
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE! |
void exit (int código de saída);
O objetivo da instrução switch é verificar qual o valor constante foi o resultado do processamento de uma determinada expressão. O funcionamento do switch é similiar ao de diversas instruções if e else if encadeadas. O formato da instrução é o seguinte:
switch (expressão) {
case constante1:
bloco de instruções 1
break;
case constante2:
bloco de instruções 2
break;
.
.
.
default:
bloco de instruções default
}
Ambos fragmentos de código são equivalentes:
Exemplo de switch |
if-else equivalente |
switch (x) { case 1: cout << "x eh 1"; break; case 2: cout << "x eh 2"; break; default: cout << "valor de x eh desconhecido"; } |
if (x == 1) { cout << "x eh 1"; } else if (x == 2) { cout << "x eh 2"; } else { cout << "valor de x eh desconhecido"; } |
A instrução switch não aceita como argumento uma espressão que necessite ser processada para descobrir o valor resultante. Assim, a instrução switch não aceita variáveis (case (n*2):) ou intervalos (case (1..3):) como argumentos, uma vez que não são constantes válidas.
Para esses casos, usar if e else if encadeados.