#include using namespace std;
int main() {
int s = 0, n;
cout<<"n=";
cin>>n;
for (int i = 1; i <= n; i++) {
s += i;
}
cout<}
Bu siklda i ning qiymati sikl boshlanishidan avval 1 ga teng qiymatni qabul qiladi. Yana bitta iteratsiya qilish uchun bajarilishi kerak bo’lgan shart i<=n, agar shart rost bo’lsa, yana bitta iteratsiya bajariladi, iteratsiya oxirida i ning qiymati birga oshiriladi(i++). Keyingi har bir iteratsiyada for siklining ikkinchi va uchinchi qismlari bajariladi, 1-qismi boshqa bajarilmaydi. Eng oxirgi iteratsiyadan oxirida i ning qiymati oshirilgach n+1 ga teng bo’ladi va keyingi iteratsiyada shart yolg’on qiymat qabul qilganligi sababli (n+1<=n yolg’on qiymat qabul qiladi) sikl aylanishi tugaydi.
Sikl o’zgaruvchisi i haqiqiy son ham bo’la oladi. Masalan 1 dan 10 gacha sonlarni 0.01 qadam bilan chiqarish uchun ya’ni 1, 1.01, 1.02, 1.03, …, 10 sonlarini chiqarish uchun quyidagicha sikl yoziladi.
for (double x = 1; x <= 10; x += 0.01) {
cout< }
x sikl parametri bu safar haqiqiy qiymatni qabul qiladi va har bir iteratsiya oxirida qiymati 0.01 ga oshiriladi.
for siklining uchta qismidan istalgan qismini yozmaslik mumkin:
double x = 1;
for (; x <= 10; x += 0.01) {
cout< }
bu kod avvalgi yozilgani bilan bir xil, faqat x=1 dastlabki qiymatni o’zlashtirish for ichida yozilmadi.
double x = 1;
for (; ; x += 0.01) {
cout< }
Bu kod qismida x ning qiymati 1 dan boshlab 0.01 qadam bilan oshirib boriladi, lekin to’xtash sharti yozilmadi, shuning uchun cheksiz sikl hosil bo’ladi.
double x = 1;
for (; ;) {
cout< }
Bu holatda esa x ning qiymati iteratsiya oxirida o’zgartirilmadi shuning uchun cheksiz ko’p marta x ning dastlabki qiymati 1 chirariladi.
break operatori.
break operatori siklni uning bajarilish sharti rost qiymat qabul qilishiga qaramasdan to’xtatish uchun qo’llaniladi. Yuqoridagi x ning qiymati 1 dan 100 gacha 0.01 qadam bilan oshirib boradigan misolda