Loop: ជាភាពដំណើរការដែលៗទៅវិញទៅមករហូតទាល់តែគ្រប់លក្ខខណ្ឌ។
Loop ត្រូវបានគេបែងចែកជា៣ប្រភេទដូចជា៖
1. While Loop
2. Do-While Loop
3. For Loop
I. While Loop
While Loop ជា loop ដែលផ្ទៀងផ្ទាត់លក្ខខណ្ឌជាមុន ទើបវាដំណើរការកូដដែលមាននៅក្នុងវា។
Syntax
while (លក្ខខណ្ឌ) {
// code block to be executed
increment & decrement
}
Example
int i = 0;
while (i < 10) {
cout << i << "\n";
i++;
}
II. Do-While Loop
Do-While Loop ជា loop ដែលដំណើរការកូដដំណាក់កាលទី១ចំនួនម្ដងសិនទើបធ្វើការផ្ទៀងផ្ទាត់លក្ខខណ្ឌតាមក្រោយ។
Syntax
do {
// code block to be executed
}
while (លក្ខខណ្ឌ);
Example
int i = 0;
do {
cout << i << "\n";
i++;
}
while (i < 5);
III. For Loop
For Loop ជា loop មួយដែលមានលក្ខណៈពិសេសជាង Loop ទាំងពីរខាងលើព្រោះនៅក្នុង (Expression) មាន 3 statements ដូចជា Initialization, Condition, និង Increment។
Syntax
for ( Initialization ; Condition ; Increment ) {
// code block to be executed
}
- Initialization ៖ ជាកន្លែងកំណត់តម្លៃចាប់ផ្តើមនៃ Loop ហើយ statement នេះ execute តែម្តងគត់នៃដំណើរការនៃ Loop។
- Condition ៖ ជាកន្លែងសម្រាប់ដាក់លក្ខខណ្ឌប្រៀបធៀប។
- Increment ៖ ជាកន្លែងកំណត់ការកើតថយនៃជំហ៊ានបន្ទាប់។
ឧទាហរណ៍ខាងក្រោមនឹងបោះពុម្ពលេខពី ០ ដល់លេខ 5៖
Example
for ( int i = 0 ; i < 6 ; i++ ) {
cout << i << "\n";
}
A. Nested For Loop
Nested For Loop គឺសំដៅទៅលើ Loop ពីរឫច្រើនជាន់នៃ For Loop។
Syntax
for ( Initialization ; Condition ; Increment ) {
for ( Initialization ; Condition ; Increment ) {
// code block to be executed( for 2 )
}
// code block to be executed ( for 1 )
B. Jumping statement
Jumping statement ជា statement មួយដែលប្រើដើម្បី execute រំលងទៅកាន់ statement ផ្សេងមួយទៀតដោយគ្មានលក្ខខណ្ឌ
i. Break Statement
Break Statement ៖ ជា Statement មួយប្រើសំរាប់ចាកចេញពី Switch Statement ឫពី Loop។
Example
for (int i = 0; i < 10; i++) {
if (i == 4) {
break;
}
cout << i << "\n";
}
ii.Continue Statement
Continue Statement ៖ ជា statement មួយប្រើសម្រាប់ចាកចេញពីរំលងមួយជុំនៃ Loop។
Example
for (int i = 0; i < 10; i++) {
if (i == 4) {
continue;
}
cout << i << "\n";
}
iii. Goto Statement
Goto Statement ៖ ជា statement មួយប្រើសម្រាប់ execute ទៅកាន់បណ្តុំកូដណាមួួដែលយើងបានកំណត់។
Syntax 1 | Syntax 2 |
goto label; //block of statements label: ; | label: ; //block of statements goto label; |