Chan Lee 2023. 12. 10. 19:12

Syntax

// syntax

while (expression)
	statement;
    
// or

while (expression) {
	statement(s);
}

์ค‘์š”ํ•œ ์ ์€ infinite loop์ด ๋˜์ง€ ์•Š๋„๋ก ์‹ ๊ฒฝ์“ฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

Example Codes

// Example 1

#include <iostream>

using namespace std;

int main(){
    int i {1};
    
    while (i <= 5) {
        cout << i << endl;
        i++;
    }
}

/* 
Output:
1
2
3
4
5
*/

i++๋ฅผ ํ†ตํ•ด loop 1๋ฒˆ๋‹น i๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค๋ฉด,

i๋ฅผ ์ดˆ๊ธฐํ™”๋•Œ์˜ ๊ฐ’ 1์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ์„ ๊ฒƒ์ด๊ณ ,

while๋ฌธ์˜ ์กฐ๊ฑด์—์„œ ์˜์›ํžˆ ๋ฒ—์–ด๋‚  ์ˆ˜๊ฐ€ ์—†์œผ๋‹ˆ

1์„ ๋ฌดํ•œ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

// Example 2
// while loop ๋‚ด๋ถ€์—์„œ if๋ฌธ ์ž‘์„ฑ

#include <iostream>

using namespace std;

int main(){
    int i {1};            
    while (i <= 10) {
    	if (i % 2 == 0)
        	cout << i << endl;
        i++;
    }
}

/* 
Output:
2
4
6
8
10
*/

 

// Example 3
// while loop for vector

#include <iostream>

using namespace std;

int main(){
    vector<int> my_nums {10, 100, 1000};
    int i = 0;
    
    while (i < my_nums.size()){
        cout << my_nums[i] << endl;
        i++;
    }
}

/*
Output
10
100
1000
*/

 

// Example 4
// using boolean for while loop

#include <iostream>
using namespace std;

int main(){
    bool done {false};
    int num {0};
    
    cout << "Enter a number between 1 and 5: ";
    cin >> num;
    
    while (num <= 1 || num >= 5) {
        cout << "Out of range.\nEnter a number between 1 and 5 again: ";
        cin >> num;
    }
    
    cout << "You entered " << num << ", which is in between 1 and 5." << endl;
    cout << "Thank you!" << endl;
}

/*
Output
Enter a number between 1 and 5 again: 5
Out of range.
Enter a number between 1 and 5 again: 100
Out of range.
Enter a number between 1 and 5 again: 3
You entered 3, which is in between 1 and 5.
Thank you!
*/

 

// Example 5
// using boolean and if in while loop
#include <iostream>

using namespace std;

int main(){
    int num {};
    cout << "Enter a number in between 1 and 5: ";
    cin >> num;
    
    bool done = false;
    while (!done){
        if (num <= 1 || num >= 5) {
            cout << "\nYou entered " << num << endl;
            cout << "Out of range. Please re-enter a number between 1-5: ";
            cin >> num;
        }else{
            cout << "\nYou entered " << num << endl;
            cout << "Thank you for entering a valid number." << endl;
            done = true;
        }
    }
}

/*
 Output:
 Enter a number in between 1 and 5: 10
 
 You entered 10
 Out of range. Please re-enter a number between 1-5: 1
 
 You entered 1
 Out of range. Please re-enter a number between 1-5: 5
 
 You entered 5
 Out of range. Please re-enter a number between 1-5: -5
 
 You entered -5
 Out of range. Please re-enter a number between 1-5: 3

 You entered 3
 Thank you for entering a valid number.
 */