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.