Pernyataan for dapat dipakai sebagai alternatip dari pernyataan while. Pernyataan for ini meskipun formatnya lebih komplek dari pernyataan while namun lebih variatif applikasinya.
Format dari pernyataan for adalah :
for (ekpresi_l; ekpresi_2; ekpresi_3)
{
pernyataan;
.
.
.
}
- ekpresi_l dipakai untuk inisialisasi dari variabel yang dipakai untuk mengkontrol ulangan eksekusi dari blok pernyataan yang ada didalam pernyataan for.
- ekpresi_2 dipakai untuk menyatakan suatu kondisi, eksekusi dari blok pernyataan yang ada didalam pernyataan-for akan diulang bila evaluasinya menghasilkan true
- ekpresi_3 dipakai untuk menambah/mengurangi nilai variabel yang dipakai untuk mengkontrol eksekusi dari blok pernyataan yang ada didalam pernyataan for.
Ekpresi_1, ekpresi_2 dan ekpresi_3 adalah opsional sehingga penyataan for yang paling sederhana adalah:
for ( ; ; ; )
{
pernyataan;
.
.
.
}
Pada pernyataan for di atas tidak ada inisialisasi, tidak ada kondisi dan tidak ada penambahan / pengurangan dari variabel yang dipakai untuk mengkontrol ulangan eksekusi sehingga eksekusi dari blok pernyataan didalamnya akan diulang terus. Berikut ini adalah contoh program yang memakai pernyataan for yang sederhana.
//C5_3.CPP
#include <iostream.h>
main ()
{
int ctr;
for (ctr=l; ctr <= 10; ctr++)
{
cout << ctr << “\n”;
}
return 0;
}
Pernyataan while yang ekivalen dengan pemyatan for di atas adalah:
ctr = 1
while (ctr <= 10)
{
cout << ctr << “\n”;
ctr++;
}
Perhatikan bahwa ekpresij, ekpresi_2 dan ekpresi_3 dipisahkan dengan titik koma bukan dengan operator koma. Disini letak keunggulan dari pernyataan for ini karena kita dapat memakai pemisah operator koma untuk menulis lebih dari satu ekpresi pada lokasi ekpresij. ekpresij. atau ekpresij. Misalnya format, berikut ini adalah sah:
for (ekpresi_l; ekpresi_2a, ekpresi_2b, ekpresi_2c; ekpresi_3)
{
pernyataan;
.
.
.
}
Contoh program berikut ini memakai konsep di atas untuk memperoleh hasil hitungan dari bilangan bulat 2 yang dipangkatkan mulai dari nol sampai pangkat tertentu.
//C6_3.cpp
#include <iostream.h>
main ()
{
int n, p , val;
cout << “Input pangkat dari 2 yang terbesar : “;
cin >> n;
cout << “\nPangkat” << “\t” << “Nilai”-
for (p=0, val=l; p <= n; p++)
cout << “\n” << p << “\t” << val;
val *= 2;
}
return 0;
}
Pernyataan for dapat bersusun artinya dalam suatu pernyataan for boleh ada pernyataan for yang lain. Pernyataan for yang lebih dalam akan dieksekusi lebih dulu dari pernyataan for yang luar. Contoh program berikut ini mempunyai dua pernyataan for, pernyataan for yang luar memakai variabel kontrol y sedangkan pernyataan for yang dalam memakai vanabel kontrol x. Hasil eksekusi program ini menunjukkan bahwa pernyataan for yang dalam akan dieksekusi selengkapnya pada setiap penambahan variabel y.
//C7_3.CPP
#include <iostream.h>
main()
{
int x, y;
for(y=l;y<=4;y++)
{
for(x=1;x <=3;x++)
cout << “y” << y << “x” << x << “\t”;
cout << “\n”;
}
return 0;
}
Output dari program ini adalah :
ylxl ylx2 ylx3
y2xl y2x2 y2x3
y3xl y3x2 y3x3
y4xl y4x2 y4x3