- Entrou
- Set 23, 2006
- Mensagens
- 1,690
- Gostos Recebidos
- 0
A sintaxe do for é a seguinte:
O for funciona assim:
1. Primeiro, faz o que se pede na iniciação:
Sublinho que só se sai do for quando o teste for false! Ou seja, quando a variável c for 'Z'. De seguida estão vários exemplos do for.
Aproveito para deixar um pequeno reparo:
Mas em compiladores como o gcc a coisa já não é assim... Nesses, o scoop da variável é o do for! O que por acaso até é standard C++...
Programa de exemplo:for( <inicialização> ; <teste> ; <incremento> )
<instrução>
É claro que em vez de um char podia-se ter um utilizado um int, ou qualquer outra coisa. Usei o char neste exemplo para mostar esta potencialidade do C++.#include <iostream>
using namespace std;
// programa que escreve o alfabeto
int main()
{
for( char c = 'A'; c <= 'Z' ; ++c ) {
cout<<' '<< c;
if( (c - 'A' + 1) % 4 == 0 ) cout<<endl; /* esta parte serve para mudar de linha
de 4 em 4 caractéres */
}
return 0;
}
O for funciona assim:
1. Primeiro, faz o que se pede na iniciação:
2. faz o teste, se for true, realiza as instruções, se for false sai do for:char c = 'A';
3. Realiza o incremento:cout<<' '<< c;
if( (c - 'A' + 1) % 4 == 0 ) cout<<endl;
4. Volta ao ponto 2
Sublinho que só se sai do for quando o teste for false! Ou seja, quando a variável c for 'Z'. De seguida estão vários exemplos do for.
Por vezes utiliza-se mesmo um for forever:#include <iostream>
using namespace std;
// programa que pede um caracter e um numeroe escreve esse caracter n vezes
int main()
{
int num; char c;
cout<<"introduza um numero:"; cin>>num;
cout<<"introduza um caracter:"; cin>>c;
cout<<endl;
int i; // não é obrigatório daclarar a variável dentro do for
for( i = 0; i < num; ++i )
cout<<c;
cout<<endl;
i = 2; num += 2; // não são obrigatórios os campos do for
for( ; i < num; ++i )
cout<<c;
cin.get();
}
Não sei que mais dizer sobre o for, penso que com o que foi escrito se pode apreender o conceito do for.// não experimentar este programa
int main()
{
for( ; ; ) // forever!
;
/* pode-se dar o caso de se ter um for sem nenhuma instrução específica
nesse caso utiliza-se o ';' como se mostra no exemplo. Põe-se na linha seguinte
para mostrar que é mesmo essa a intenção do for */
}
Aproveito para deixar um pequeno reparo:
Pois, isso irá depender do compilador. O Visual C++, por exemplo, faz com que aquela variável a esteja acessível no resto do scoop da função main, não dando erro a instrução a=2;// programa de exemplo sobre o scoop do for
int main()
{
for( int a = 0 ; ... ; ... ) { // os pontos significam qualquer coisa
....
}
a = 2; // já está fora do scoop do for, dará erro?
}
Mas em compiladores como o gcc a coisa já não é assim... Nesses, o scoop da variável é o do for! O que por acaso até é standard C++...