Stoa :: C/C++ :: Blog :: Os laços while e do ... while - Aspectos básicos - parte 1

outubro 03, 2007

user icon

O que são os laços while e do ... while?

A palavra while em inglês significa enquanto e a expressão do ... while significa faça ... enquanto. O laço while é uma estrutura de controle de fluxo que permite que um conjunto de instruções seja executado enquanto uma condição estiver satisfeita. É também comum que seja dito que os laços while e do ... while são instruções de loop (comumente traduzidos para o português como laço). O laço do ... while é, assim como o laço while, uma estrutura de controle de fluxo, que será executado uma vez e depois será executado enquanto uma condição for verdadeira. Portanto a diferença entre o laço while e o laço do ... while é que o laço do ... while é sempre executado ao menos uma vez, enquanto que o laço while pode não ser executado nenhuma vez, caso a condição de controle de sua execução não seja satisfeita na primeira passagem do processador por esse laço. A sintaxe do laço while é:

 

while ( condição de execução )

{

/* Instruções a serem executadas */

}

 

A sintaxe do laço do ... while é:

 

do

{

/* Instruções que serão executadas ao menos uma vez */

}

while ( condição de execução );

 

O laço while e utilizado quando um determinado conjunto de instruções deve ser executado um número indeterminado de vezes, mas somente até uma certa condição ocorrer. O laço do ... while é utilizado quando há um conjunto de instruções a ser executado um número indeterminado de vezes, mas no caso em que esse conjunto de instruções deve ser executado ao menos uma vez, necessariamente.

 

O que é fluxo? O que é controle de fluxo? O que é loop?

Estas questões foram respondidas em "O laço for" - Aspectos básicos - parte 1.

 

Como é a sintaxe da instrução while? E da instrução do ... while?

A sintaxe da instrução while é:

 

while ( condição de execução )

{

/* Instruções */

}

 

A condição de execução é a expressão lógica que será avaliada pelo computador para determinar se as instruções do bloco serão executadas ou não. Se a expressão for verdadeira, o bloco é executado. Se a expressão for falsa, o bloco não é executado. Por exemplo, o laço a seguir nunca é executado:

 

while ( 0 > 1 )

{

printf("\nEu lhe devo R$1.000,00.");

}

 

A sintaxe do laço do ... while é:

 

do

{

/* Instruções */

}

while ( condição de execução );

 

Note que a instrução while, que fica após o bloco de instruções, tem um ponto-e-vírgula após os parênteses de sua condição de execução. É muito comum esquecer desse ponto-e-vírgula, portanto se ocorrer um erro nessa linha de um programa seu, verifique se esqueceu do ponto-e-vírgula após o laço do ... while!

A condição de execução do laço do ... while tem a mesma função que a condição de execução do laço while: o laço será executado enquanto essa condição for verdadeira. A diferença é que, no laço do ... while, a condição de execução é testada após a execução do bloco de instruções, de modo que mesmo que a condição nunca seja satisfeita, o bloco de instruções será executado ao menos uma vez. Por exemplo, o bloco abaixo ser'executado exatamente uma vez:

 

do

{

printf("\nAlberto esqueceu de pagar sua divida.");

}

while ( 0 > 1 )

 

 

Palavras-chave: laço, laço while, while

Postado por Renato Callado Borges em C/C++

Você deve entrar no sistema para escrever um comentário.

Termo de Responsabilidade

Todo o conteúdo desta página é de inteira responsabilidade do usuário. O Stoa, assim como a Universidade de São Paulo, não necessariamente corroboram as opiniões aqui contidas.