В този урок ще научим за цикъла C ++ for и неговата работа с помощта на някои примери.
При компютърното програмиране циклите се използват за повтаряне на блок от код.
Да приемем например, че искаме да покажем съобщение 100 пъти. След това вместо да напишем изявлението за печат 100 пъти, можем да използваме цикъл.
Това беше само прост пример; можем да постигнем много по-голяма ефективност и изтънченост в нашите програми, като използваме ефективно цикли.
В C ++ има 3 вида цикли.
for
цикълwhile
цикълdo… while
цикъл
Този урок се фокусира върху for
цикъла C ++ . Ще научим за другия тип цикли в предстоящите уроци.
C ++ за цикъл
Синтаксисът на for-loop е:
for (initialization; condition; update) ( // body of-loop )
Тук,
initialization
- инициализира променливи и се изпълнява само веднъжcondition
- iftrue
, тялото наfor
цикъла се изпълнява
iffalse
, цикълът for се прекратяваupdate
- актуализира стойността на инициализираните променливи и отново проверява състоянието
За да научите повече за conditions
, разгледайте нашия урок за релационни и логически оператори на C ++.
Блок-схема на Loop в C ++
![](https://cdn.wiki-base.com/7425629/c_for_loop_with_examples.png.webp)
Пример 1: Печат на числа от 1 до 5
#include using namespace std; int main() ( for (int i = 1; i <= 5; ++i) ( cout << i << " "; ) return 0; )
Изход
1 2 3 4 5
Ето как работи тази програма
Повторение | Променлива | i <= 5 | Действие |
---|---|---|---|
1-ви | i = 1 | true | 1 се отпечатва. i се увеличава до 2 . |
2-ри | i = 2 | true | 2 се отпечатва. i се увеличава до 3 . |
3-ти | i = 3 | true | 3 се отпечатва. i се увеличава до 4 . |
4-ти | i = 4 | true | 4 се отпечатва. i се увеличава до 5 . |
5-ти | i = 5 | true | 5 се отпечатва. i се увеличава до 6 . |
6-то | i = 6 | false | Цикълът е прекратен |
Пример 2: Показване на текст 5 пъти
// C++ Program to display a text 5 times #include using namespace std; int main() ( for (int i = 1; i <= 5; ++i) ( cout << "Hello World! " << endl; ) return 0; )
Изход
Здравей свят! Здравей свят! Здравей свят! Здравей свят! Здравей свят!
Ето как работи тази програма
Повторение | Променлива | i <= 5 | Действие |
---|---|---|---|
1-ви | i = 1 | true | Здравей свят! се отпечатва и i се увеличава до 2 . |
2-ри | i = 2 | true | Здравей свят! се отпечатва и i се увеличава до 3 . |
3-ти | i = 3 | true | Здравей свят! се отпечатва и i се увеличава до 4 . |
4-ти | i = 4 | true | Здравей свят! се отпечатва и i се увеличава до 5 . |
5-ти | i = 5 | true | Здравей свят! се отпечатва и i се увеличава до 6 . |
6-то | i = 6 | false | Цикълът е прекратен |
Пример 3: Намерете сумата от първите n Естествени числа
// C++ program to find the sum of first n natural numbers // positive integers such as 1,2,3,… n are known as natural numbers #include using namespace std; int main() ( int num, sum; sum = 0; cout <> num; for (int count = 1; count <= num; ++count) ( sum += count; ) cout << "Sum = " << sum << endl; return 0; )
Изход
Въведете положително цяло число: 10 Сума = 55
В горния пример имаме две променливи num и sum. Променливата сума се присвоява с 0, а променливата num се присвоява със стойността, предоставена от потребителя.
Имайте предвид, че сме използвали for
цикъл.
for(int count = 1; count <= num; ++count)
Тук,
int count = 1
: инициализира променливата за броенеcount <= num
: изпълнява цикъла, стига броят да е по-малък или равен на num++count
: увеличаване на променливата за броене с 1 във всяка итерация
When count becomes 11
, the condition
is false
and sum will be equal to 0 + 1 + 2 +… + 10
.
Ranged Based for Loop
In C++11, a new range-based for
loop was introduced to work with collections such as arrays and vectors. Its syntax is:
for (variable : collection) ( // body of loop )
Here, for every value in the collection, the for loop is executed and the value is assigned to the variable.
Example 4: Range Based for Loop
#include using namespace std; int main() ( int num_array() = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); for (int n : num_array) ( cout << n << " "; ) return 0; )
Output
1 2 3 4 5 6 7 8 9 10
In the above program, we have declared and initialized an int
array named num_array. It has 10 items.
Here, we have used a range-based for
loop to access all the items in the array.
C++ Infinite for loop
If the condition
in a for
loop is always true
, it runs forever (until memory is full). For example,
// infinite for loop for(int i = 1; i> 0; i++) ( // block of code )
В горната програма, condition
винаги е, true
което ще стартира кода за безкрайно време.
Вижте тези примери, за да научите повече:
- Програма C ++ за изчисляване на сумата на естествените числа
- Програма C ++ за намиране на факториал
- Програма C ++ за генериране на таблица за умножение
В следващия урок ще научим за while
и do… while
цикъл.